From ee9481af15474f18951e1267d1f8a8acf79bf860 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Sat, 2 Mar 2024 12:53:24 -0800 Subject: [PATCH 01/33] Initial auth runtime --- packages/celest_auth/.gitignore | 7 + packages/celest_auth/CHANGELOG.md | 3 + packages/celest_auth/Makefile | 17 + packages/celest_auth/README.md | 1 + packages/celest_auth/analysis_options.yaml | 13 + packages/celest_auth/android/.gitignore | 8 + packages/celest_auth/android/build.gradle | 69 + .../celest_auth/android/consumer-rules.pro | 5 + packages/celest_auth/android/settings.gradle | 6 + .../android/src/main/AndroidManifest.xml | 3 + .../dev/celest/celest_auth/CelestAuth.kt | 79 + packages/celest_auth/example/.gitignore | 43 + packages/celest_auth/example/.metadata | 45 + packages/celest_auth/example/README.md | 3 + .../celest_auth/example/analysis_options.yaml | 1 + .../celest_auth/example/android/.gitignore | 13 + .../example/android/app/build.gradle | 74 + .../android/app/src/debug/AndroidManifest.xml | 7 + .../android/app/src/main/AndroidManifest.xml | 44 + .../celest_auth_example/MainActivity.kt | 5 + .../res/drawable-v21/launch_background.xml | 12 + .../main/res/drawable/launch_background.xml | 12 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 544 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 442 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 721 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 1031 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 1443 bytes .../app/src/main/res/values-night/styles.xml | 18 + .../app/src/main/res/values/styles.xml | 18 + .../app/src/profile/AndroidManifest.xml | 7 + .../celest_auth/example/android/build.gradle | 18 + .../example/android/gradle.properties | 3 + .../gradle/wrapper/gradle-wrapper.properties | 5 + .../example/android/settings.gradle | 26 + packages/celest_auth/example/ios/.gitignore | 34 + .../ios/Flutter/AppFrameworkInfo.plist | 26 + .../example/ios/Flutter/Debug.xcconfig | 2 + .../example/ios/Flutter/Release.xcconfig | 2 + packages/celest_auth/example/ios/Podfile | 44 + .../ios/Runner.xcodeproj/project.pbxproj | 619 + .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 98 + .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../example/ios/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 122 + .../Icon-App-1024x1024@1x.png | Bin 0 -> 10932 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 295 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 450 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 282 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 462 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 704 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 586 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 1674 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 762 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 1226 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 1418 bytes .../LaunchImage.imageset/Contents.json | 23 + .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/README.md | 5 + .../Runner/Base.lproj/LaunchScreen.storyboard | 37 + .../ios/Runner/Base.lproj/Main.storyboard | 26 + .../celest_auth/example/ios/Runner/Info.plist | 49 + .../ios/Runner/Runner-Bridging-Header.h | 1 + .../example/ios/RunnerTests/RunnerTests.swift | 12 + packages/celest_auth/example/lib/main.dart | 20 + packages/celest_auth/example/linux/.gitignore | 1 + .../celest_auth/example/linux/CMakeLists.txt | 145 + .../example/linux/flutter/CMakeLists.txt | 88 + .../flutter/generated_plugin_registrant.cc | 11 + .../flutter/generated_plugin_registrant.h | 15 + .../linux/flutter/generated_plugins.cmake | 24 + packages/celest_auth/example/linux/main.cc | 6 + .../example/linux/my_application.cc | 124 + .../example/linux/my_application.h | 18 + packages/celest_auth/example/macos/.gitignore | 7 + .../macos/Flutter/Flutter-Debug.xcconfig | 2 + .../macos/Flutter/Flutter-Release.xcconfig | 2 + .../Flutter/GeneratedPluginRegistrant.swift | 10 + packages/celest_auth/example/macos/Podfile | 43 + .../macos/Runner.xcodeproj/project.pbxproj | 705 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 98 + .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../example/macos/Runner/AppDelegate.swift | 9 + .../AppIcon.appiconset/Contents.json | 68 + .../AppIcon.appiconset/app_icon_1024.png | Bin 0 -> 102994 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 0 -> 5680 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 0 -> 520 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 0 -> 14142 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 0 -> 1066 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 0 -> 36406 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 0 -> 2218 bytes .../macos/Runner/Base.lproj/MainMenu.xib | 343 + .../macos/Runner/Configs/AppInfo.xcconfig | 14 + .../macos/Runner/Configs/Debug.xcconfig | 2 + .../macos/Runner/Configs/Release.xcconfig | 2 + .../macos/Runner/Configs/Warnings.xcconfig | 13 + .../macos/Runner/DebugProfile.entitlements | 12 + .../example/macos/Runner/Info.plist | 32 + .../macos/Runner/MainFlutterWindow.swift | 15 + .../example/macos/Runner/Release.entitlements | 8 + .../macos/RunnerTests/RunnerTests.swift | 12 + packages/celest_auth/example/pubspec.yaml | 29 + packages/celest_auth/example/web/favicon.png | Bin 0 -> 917 bytes .../example/web/icons/Icon-192.png | Bin 0 -> 5292 bytes .../example/web/icons/Icon-512.png | Bin 0 -> 8252 bytes .../example/web/icons/Icon-maskable-192.png | Bin 0 -> 5594 bytes .../example/web/icons/Icon-maskable-512.png | Bin 0 -> 20998 bytes packages/celest_auth/example/web/index.html | 59 + .../celest_auth/example/web/manifest.json | 35 + .../celest_auth/example/windows/.gitignore | 17 + .../example/windows/CMakeLists.txt | 108 + .../example/windows/flutter/CMakeLists.txt | 109 + .../flutter/generated_plugin_registrant.cc | 11 + .../flutter/generated_plugin_registrant.h | 15 + .../windows/flutter/generated_plugins.cmake | 24 + .../example/windows/runner/CMakeLists.txt | 40 + .../example/windows/runner/Runner.rc | 121 + .../example/windows/runner/flutter_window.cpp | 71 + .../example/windows/runner/flutter_window.h | 33 + .../example/windows/runner/main.cpp | 43 + .../example/windows/runner/resource.h | 16 + .../windows/runner/resources/app_icon.ico | Bin 0 -> 33772 bytes .../windows/runner/runner.exe.manifest | 20 + .../example/windows/runner/utils.cpp | 65 + .../example/windows/runner/utils.h | 19 + .../example/windows/runner/win32_window.cpp | 288 + .../example/windows/runner/win32_window.h | 102 + .../ffigen.authentication_services.yaml | 59 + packages/celest_auth/ffigen.foundation.yaml | 38 + packages/celest_auth/ffigen.uikit.yaml | 41 + packages/celest_auth/jnigen.yaml | 68 + packages/celest_auth/lib/celest_auth.dart | 4 + .../lib/src/client/auth_client.android.dart | 123 + .../lib/src/client/auth_client.dart | 10 + .../lib/src/client/auth_client.darwin.dart | 67 + .../lib/src/client/auth_client.native.dart | 98 + .../lib/src/client/auth_client.web.dart | 20 + .../src/client/auth_client_platform.vm.dart | 28 + .../src/client/auth_client_platform.web.dart | 20 + .../lib/src/client/base64_raw_url.dart | 39 + .../passkeys/passkey_client.android.dart | 188 + .../src/client/passkeys/passkey_client.dart | 19 + .../passkeys/passkey_client.darwin.dart | 23 + .../client/passkeys/passkey_client.web.dart | 244 + .../passkeys/passkey_client_platform.vm.dart | 26 + .../passkeys/passkey_client_platform.web.dart | 20 + .../client/passkeys/passkey_exception.dart | 13 + .../src/client/passkeys/passkey_models.dart | 610 + .../src/client/social/oauth_parameters.dart | 278 + .../src/client/social/oauth_parameters.g.dart | 385 + .../platform/android/jni_bindings.ffi.dart | 28827 ++++++++++++++++ .../lib/src/platform/android/jni_helpers.dart | 16 + .../darwin/authentication_services.ffi.dart | 24748 +++++++++++++ .../darwin/authentication_services.yaml | 366 + .../src/platform/darwin/foundation.ffi.dart | 12531 +++++++ .../lib/src/platform/darwin/foundation.yaml | 80 + .../lib/src/platform/darwin/uikit.ffi.dart | 8880 +++++ packages/celest_auth/pubspec.yaml | 39 + .../passkeys/passkey_client_web_test.dart | 32 + .../celest_core/lib/src/util/globals.dart | 3 + 172 files changed, 82764 insertions(+) create mode 100644 packages/celest_auth/.gitignore create mode 100644 packages/celest_auth/CHANGELOG.md create mode 100644 packages/celest_auth/Makefile create mode 100644 packages/celest_auth/README.md create mode 100644 packages/celest_auth/analysis_options.yaml create mode 100644 packages/celest_auth/android/.gitignore create mode 100644 packages/celest_auth/android/build.gradle create mode 100644 packages/celest_auth/android/consumer-rules.pro create mode 100644 packages/celest_auth/android/settings.gradle create mode 100644 packages/celest_auth/android/src/main/AndroidManifest.xml create mode 100644 packages/celest_auth/android/src/main/kotlin/dev/celest/celest_auth/CelestAuth.kt create mode 100644 packages/celest_auth/example/.gitignore create mode 100644 packages/celest_auth/example/.metadata create mode 100644 packages/celest_auth/example/README.md create mode 100644 packages/celest_auth/example/analysis_options.yaml create mode 100644 packages/celest_auth/example/android/.gitignore create mode 100644 packages/celest_auth/example/android/app/build.gradle create mode 100644 packages/celest_auth/example/android/app/src/debug/AndroidManifest.xml create mode 100644 packages/celest_auth/example/android/app/src/main/AndroidManifest.xml create mode 100644 packages/celest_auth/example/android/app/src/main/kotlin/dev/celest/celest_auth_example/MainActivity.kt create mode 100644 packages/celest_auth/example/android/app/src/main/res/drawable-v21/launch_background.xml create mode 100644 packages/celest_auth/example/android/app/src/main/res/drawable/launch_background.xml create mode 100644 packages/celest_auth/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 packages/celest_auth/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 packages/celest_auth/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 packages/celest_auth/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 packages/celest_auth/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 packages/celest_auth/example/android/app/src/main/res/values-night/styles.xml create mode 100644 packages/celest_auth/example/android/app/src/main/res/values/styles.xml create mode 100644 packages/celest_auth/example/android/app/src/profile/AndroidManifest.xml create mode 100644 packages/celest_auth/example/android/build.gradle create mode 100644 packages/celest_auth/example/android/gradle.properties create mode 100644 packages/celest_auth/example/android/gradle/wrapper/gradle-wrapper.properties create mode 100644 packages/celest_auth/example/android/settings.gradle create mode 100644 packages/celest_auth/example/ios/.gitignore create mode 100644 packages/celest_auth/example/ios/Flutter/AppFrameworkInfo.plist create mode 100644 packages/celest_auth/example/ios/Flutter/Debug.xcconfig create mode 100644 packages/celest_auth/example/ios/Flutter/Release.xcconfig create mode 100644 packages/celest_auth/example/ios/Podfile create mode 100644 packages/celest_auth/example/ios/Runner.xcodeproj/project.pbxproj create mode 100644 packages/celest_auth/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 packages/celest_auth/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 packages/celest_auth/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 packages/celest_auth/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 packages/celest_auth/example/ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 packages/celest_auth/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 packages/celest_auth/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 packages/celest_auth/example/ios/Runner/AppDelegate.swift create mode 100644 packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 packages/celest_auth/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 packages/celest_auth/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 packages/celest_auth/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 packages/celest_auth/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 packages/celest_auth/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 packages/celest_auth/example/ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 packages/celest_auth/example/ios/Runner/Base.lproj/Main.storyboard create mode 100644 packages/celest_auth/example/ios/Runner/Info.plist create mode 100644 packages/celest_auth/example/ios/Runner/Runner-Bridging-Header.h create mode 100644 packages/celest_auth/example/ios/RunnerTests/RunnerTests.swift create mode 100644 packages/celest_auth/example/lib/main.dart create mode 100644 packages/celest_auth/example/linux/.gitignore create mode 100644 packages/celest_auth/example/linux/CMakeLists.txt create mode 100644 packages/celest_auth/example/linux/flutter/CMakeLists.txt create mode 100644 packages/celest_auth/example/linux/flutter/generated_plugin_registrant.cc create mode 100644 packages/celest_auth/example/linux/flutter/generated_plugin_registrant.h create mode 100644 packages/celest_auth/example/linux/flutter/generated_plugins.cmake create mode 100644 packages/celest_auth/example/linux/main.cc create mode 100644 packages/celest_auth/example/linux/my_application.cc create mode 100644 packages/celest_auth/example/linux/my_application.h create mode 100644 packages/celest_auth/example/macos/.gitignore create mode 100644 packages/celest_auth/example/macos/Flutter/Flutter-Debug.xcconfig create mode 100644 packages/celest_auth/example/macos/Flutter/Flutter-Release.xcconfig create mode 100644 packages/celest_auth/example/macos/Flutter/GeneratedPluginRegistrant.swift create mode 100644 packages/celest_auth/example/macos/Podfile create mode 100644 packages/celest_auth/example/macos/Runner.xcodeproj/project.pbxproj create mode 100644 packages/celest_auth/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 packages/celest_auth/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 packages/celest_auth/example/macos/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 packages/celest_auth/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 packages/celest_auth/example/macos/Runner/AppDelegate.swift create mode 100644 packages/celest_auth/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 packages/celest_auth/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png create mode 100644 packages/celest_auth/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png create mode 100644 packages/celest_auth/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png create mode 100644 packages/celest_auth/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png create mode 100644 packages/celest_auth/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png create mode 100644 packages/celest_auth/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png create mode 100644 packages/celest_auth/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png create mode 100644 packages/celest_auth/example/macos/Runner/Base.lproj/MainMenu.xib create mode 100644 packages/celest_auth/example/macos/Runner/Configs/AppInfo.xcconfig create mode 100644 packages/celest_auth/example/macos/Runner/Configs/Debug.xcconfig create mode 100644 packages/celest_auth/example/macos/Runner/Configs/Release.xcconfig create mode 100644 packages/celest_auth/example/macos/Runner/Configs/Warnings.xcconfig create mode 100644 packages/celest_auth/example/macos/Runner/DebugProfile.entitlements create mode 100644 packages/celest_auth/example/macos/Runner/Info.plist create mode 100644 packages/celest_auth/example/macos/Runner/MainFlutterWindow.swift create mode 100644 packages/celest_auth/example/macos/Runner/Release.entitlements create mode 100644 packages/celest_auth/example/macos/RunnerTests/RunnerTests.swift create mode 100644 packages/celest_auth/example/pubspec.yaml create mode 100644 packages/celest_auth/example/web/favicon.png create mode 100644 packages/celest_auth/example/web/icons/Icon-192.png create mode 100644 packages/celest_auth/example/web/icons/Icon-512.png create mode 100644 packages/celest_auth/example/web/icons/Icon-maskable-192.png create mode 100644 packages/celest_auth/example/web/icons/Icon-maskable-512.png create mode 100644 packages/celest_auth/example/web/index.html create mode 100644 packages/celest_auth/example/web/manifest.json create mode 100644 packages/celest_auth/example/windows/.gitignore create mode 100644 packages/celest_auth/example/windows/CMakeLists.txt create mode 100644 packages/celest_auth/example/windows/flutter/CMakeLists.txt create mode 100644 packages/celest_auth/example/windows/flutter/generated_plugin_registrant.cc create mode 100644 packages/celest_auth/example/windows/flutter/generated_plugin_registrant.h create mode 100644 packages/celest_auth/example/windows/flutter/generated_plugins.cmake create mode 100644 packages/celest_auth/example/windows/runner/CMakeLists.txt create mode 100644 packages/celest_auth/example/windows/runner/Runner.rc create mode 100644 packages/celest_auth/example/windows/runner/flutter_window.cpp create mode 100644 packages/celest_auth/example/windows/runner/flutter_window.h create mode 100644 packages/celest_auth/example/windows/runner/main.cpp create mode 100644 packages/celest_auth/example/windows/runner/resource.h create mode 100644 packages/celest_auth/example/windows/runner/resources/app_icon.ico create mode 100644 packages/celest_auth/example/windows/runner/runner.exe.manifest create mode 100644 packages/celest_auth/example/windows/runner/utils.cpp create mode 100644 packages/celest_auth/example/windows/runner/utils.h create mode 100644 packages/celest_auth/example/windows/runner/win32_window.cpp create mode 100644 packages/celest_auth/example/windows/runner/win32_window.h create mode 100644 packages/celest_auth/ffigen.authentication_services.yaml create mode 100644 packages/celest_auth/ffigen.foundation.yaml create mode 100644 packages/celest_auth/ffigen.uikit.yaml create mode 100644 packages/celest_auth/jnigen.yaml create mode 100644 packages/celest_auth/lib/celest_auth.dart create mode 100644 packages/celest_auth/lib/src/client/auth_client.android.dart create mode 100644 packages/celest_auth/lib/src/client/auth_client.dart create mode 100644 packages/celest_auth/lib/src/client/auth_client.darwin.dart create mode 100644 packages/celest_auth/lib/src/client/auth_client.native.dart create mode 100644 packages/celest_auth/lib/src/client/auth_client.web.dart create mode 100644 packages/celest_auth/lib/src/client/auth_client_platform.vm.dart create mode 100644 packages/celest_auth/lib/src/client/auth_client_platform.web.dart create mode 100644 packages/celest_auth/lib/src/client/base64_raw_url.dart create mode 100644 packages/celest_auth/lib/src/client/passkeys/passkey_client.android.dart create mode 100644 packages/celest_auth/lib/src/client/passkeys/passkey_client.dart create mode 100644 packages/celest_auth/lib/src/client/passkeys/passkey_client.darwin.dart create mode 100644 packages/celest_auth/lib/src/client/passkeys/passkey_client.web.dart create mode 100644 packages/celest_auth/lib/src/client/passkeys/passkey_client_platform.vm.dart create mode 100644 packages/celest_auth/lib/src/client/passkeys/passkey_client_platform.web.dart create mode 100644 packages/celest_auth/lib/src/client/passkeys/passkey_exception.dart create mode 100644 packages/celest_auth/lib/src/client/passkeys/passkey_models.dart create mode 100644 packages/celest_auth/lib/src/client/social/oauth_parameters.dart create mode 100644 packages/celest_auth/lib/src/client/social/oauth_parameters.g.dart create mode 100644 packages/celest_auth/lib/src/platform/android/jni_bindings.ffi.dart create mode 100644 packages/celest_auth/lib/src/platform/android/jni_helpers.dart create mode 100644 packages/celest_auth/lib/src/platform/darwin/authentication_services.ffi.dart create mode 100644 packages/celest_auth/lib/src/platform/darwin/authentication_services.yaml create mode 100644 packages/celest_auth/lib/src/platform/darwin/foundation.ffi.dart create mode 100644 packages/celest_auth/lib/src/platform/darwin/foundation.yaml create mode 100644 packages/celest_auth/lib/src/platform/darwin/uikit.ffi.dart create mode 100644 packages/celest_auth/pubspec.yaml create mode 100644 packages/celest_auth/test/client/passkeys/passkey_client_web_test.dart diff --git a/packages/celest_auth/.gitignore b/packages/celest_auth/.gitignore new file mode 100644 index 00000000..3cceda55 --- /dev/null +++ b/packages/celest_auth/.gitignore @@ -0,0 +1,7 @@ +# https://dart.dev/guides/libraries/private-files +# Created by `dart pub` +.dart_tool/ + +# Avoid committing pubspec.lock for library packages; see +# https://dart.dev/guides/libraries/private-files#pubspeclock. +pubspec.lock diff --git a/packages/celest_auth/CHANGELOG.md b/packages/celest_auth/CHANGELOG.md new file mode 100644 index 00000000..0e1034b4 --- /dev/null +++ b/packages/celest_auth/CHANGELOG.md @@ -0,0 +1,3 @@ +## 0.3.0 + +- Initial version. diff --git a/packages/celest_auth/Makefile b/packages/celest_auth/Makefile new file mode 100644 index 00000000..d7c51339 --- /dev/null +++ b/packages/celest_auth/Makefile @@ -0,0 +1,17 @@ +FOUNDATION_SYMBOLS=lib/src/platform/darwin/foundation.yaml +FOUNDATION_URI=package:celest_auth/src/platform/darwin/foundation.ffi.dart + +ffi: + @echo "Generating FFI bindings..." + dart run ffigen --config=ffigen.foundation.yaml + @echo "Removing 'instancetype' from FFI bindings..." + @yq -i "del(.files.\"${FOUNDATION_URI}\".symbols.\"c:@T@instancetype\")" ${FOUNDATION_SYMBOLS} + dart run ffigen --config=ffigen.authentication_services.yaml + dart run ffigen --config=ffigen.uikit.yaml + + @echo "Generating JNI bindings..." + @pushd example + flutter pub get + flutter build apk + @popd + dart run jnigen --config=jnigen.yaml diff --git a/packages/celest_auth/README.md b/packages/celest_auth/README.md new file mode 100644 index 00000000..06c29c6e --- /dev/null +++ b/packages/celest_auth/README.md @@ -0,0 +1 @@ +# Celest Auth diff --git a/packages/celest_auth/analysis_options.yaml b/packages/celest_auth/analysis_options.yaml new file mode 100644 index 00000000..0db01dc0 --- /dev/null +++ b/packages/celest_auth/analysis_options.yaml @@ -0,0 +1,13 @@ +include: package:lints/recommended.yaml + +analyzer: + language: + strict-casts: true + strict-inference: true + strict-raw-types: true + errors: + # To prevent issues publishing. + depend_on_referenced_packages: error + public_member_api_docs: ignore # TODO + exclude: + - lib/src/platform/**/*.ffi.dart diff --git a/packages/celest_auth/android/.gitignore b/packages/celest_auth/android/.gitignore new file mode 100644 index 00000000..167e46c9 --- /dev/null +++ b/packages/celest_auth/android/.gitignore @@ -0,0 +1,8 @@ +*.iml +.gradle +local.properties +.idea/ +.DS_Store +build +captures +.cxx \ No newline at end of file diff --git a/packages/celest_auth/android/build.gradle b/packages/celest_auth/android/build.gradle new file mode 100644 index 00000000..ad9b3ee3 --- /dev/null +++ b/packages/celest_auth/android/build.gradle @@ -0,0 +1,69 @@ +group 'dev.celest.celest_auth' +version '1.0-SNAPSHOT' + +buildscript { + ext.kotlin_version = '1.7.21' + repositories { + google() + mavenCentral() + } + + dependencies { + classpath 'com.android.tools.build:gradle:7.4.2' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + } +} + +rootProject.allprojects { + repositories { + google() + mavenCentral() + } +} + +apply plugin: 'com.android.library' +apply plugin: 'kotlin-android' + +android { + // Conditional for compatibility with AGP <4.2. + if (project.android.hasProperty("namespace")) { + namespace 'dev.celest.celest_auth' + } + + compileSdk 31 + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = '1.8' + } + + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + } + + defaultConfig { + minSdkVersion 21 + consumerProguardFiles 'consumer-rules.pro' + } + + buildTypes { + release { + minifyEnabled false + } + } +} + +dependencies { + implementation "androidx.browser:browser:1.7.0" + + implementation "androidx.credentials:credentials:1.3.0-alpha01" + implementation "androidx.credentials:credentials-play-services-auth:1.3.0-alpha01" + implementation "com.google.android.libraries.identity.googleid:googleid:1.1.0" + implementation "androidx.biometric:biometric:1.2.0-alpha05" + implementation "com.google.android.gms:play-services-auth:21.0.0" + implementation "com.google.android.gms:play-services-fido:20.1.0" +} diff --git a/packages/celest_auth/android/consumer-rules.pro b/packages/celest_auth/android/consumer-rules.pro new file mode 100644 index 00000000..c255f910 --- /dev/null +++ b/packages/celest_auth/android/consumer-rules.pro @@ -0,0 +1,5 @@ +-keep class dev.celest.celest_auth.** { *; } +-if class androidx.credentials.CredentialManager +-keep class androidx.credentials.playservices.** { + *; +} \ No newline at end of file diff --git a/packages/celest_auth/android/settings.gradle b/packages/celest_auth/android/settings.gradle new file mode 100644 index 00000000..cbbebcb5 --- /dev/null +++ b/packages/celest_auth/android/settings.gradle @@ -0,0 +1,6 @@ +rootProject.name = 'celest_auth' +dependencyResolutionManagement { + repositories { + google() + } +} diff --git a/packages/celest_auth/android/src/main/AndroidManifest.xml b/packages/celest_auth/android/src/main/AndroidManifest.xml new file mode 100644 index 00000000..9ed95bc9 --- /dev/null +++ b/packages/celest_auth/android/src/main/AndroidManifest.xml @@ -0,0 +1,3 @@ + + \ No newline at end of file diff --git a/packages/celest_auth/android/src/main/kotlin/dev/celest/celest_auth/CelestAuth.kt b/packages/celest_auth/android/src/main/kotlin/dev/celest/celest_auth/CelestAuth.kt new file mode 100644 index 00000000..ecee1ae9 --- /dev/null +++ b/packages/celest_auth/android/src/main/kotlin/dev/celest/celest_auth/CelestAuth.kt @@ -0,0 +1,79 @@ +package dev.celest.celest_auth + +import android.content.BroadcastReceiver +import android.content.Context +import android.content.Intent +import android.net.Uri +import androidx.annotation.Keep +import androidx.credentials.CredentialManager +import androidx.credentials.CustomCredential +import androidx.credentials.GetCredentialRequest +import androidx.credentials.GetCredentialResponse +import androidx.credentials.exceptions.GetCredentialException +import com.google.android.gms.tasks.OnSuccessListener +import com.google.android.libraries.identity.googleid.GetGoogleIdOption +import com.google.android.libraries.identity.googleid.GoogleIdTokenCredential +import kotlinx.coroutines.coroutineScope + +@Keep +class CelestAuthListener: BroadcastReceiver() { + override fun onReceive(context: Context, intent: Intent?) { + TODO("Not yet implemented") + } +} + +@Keep +class CelestAuth { + private lateinit var context: Context + private lateinit var credentialManager: CredentialManager + + fun init(context: Context) { + this.context = context + credentialManager = CredentialManager.create(context) + } + + fun signInWithCustomTabs( + uri: Uri, + onSuccess: () -> Unit, + onError: (Exception) -> Unit, + ) { + + } + + // Adapted from: https://developer.android.com/training/sign-in/credential-manager + suspend fun signInWithGoogle( + clientId: String, + nonce: String + ) { + // TODO: GetSignInWithGoogleOption? + val googleIdOption = GetGoogleIdOption.Builder() + .setFilterByAuthorizedAccounts(true) + .setAutoSelectEnabled(true) + .setServerClientId(clientId) + .setNonce(nonce) + .build() + val request = GetCredentialRequest.Builder() + .addCredentialOption(googleIdOption) + .build() + coroutineScope { + try { + val result = credentialManager.getCredential(context, request) + } catch (e: GetCredentialException) { + TODO() + } + } + } + + fun handleSignIn(result: GetCredentialResponse) { + when (val credential = result.credential) { + is CustomCredential -> { + if (credential.type == GoogleIdTokenCredential.TYPE_GOOGLE_ID_TOKEN_CREDENTIAL) { + // Use googleIdTokenCredential and extract id to validate and + // authenticate on your server. + val googleIdTokenCredential = GoogleIdTokenCredential + .createFrom(credential.data) + } + } + } + } +} \ No newline at end of file diff --git a/packages/celest_auth/example/.gitignore b/packages/celest_auth/example/.gitignore new file mode 100644 index 00000000..29a3a501 --- /dev/null +++ b/packages/celest_auth/example/.gitignore @@ -0,0 +1,43 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.pub-cache/ +.pub/ +/build/ + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release diff --git a/packages/celest_auth/example/.metadata b/packages/celest_auth/example/.metadata new file mode 100644 index 00000000..bae49f35 --- /dev/null +++ b/packages/celest_auth/example/.metadata @@ -0,0 +1,45 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled and should not be manually edited. + +version: + revision: "7482962148e8d758338d8a28f589f317e1e42ba4" + channel: "stable" + +project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: 7482962148e8d758338d8a28f589f317e1e42ba4 + base_revision: 7482962148e8d758338d8a28f589f317e1e42ba4 + - platform: android + create_revision: 7482962148e8d758338d8a28f589f317e1e42ba4 + base_revision: 7482962148e8d758338d8a28f589f317e1e42ba4 + - platform: ios + create_revision: 7482962148e8d758338d8a28f589f317e1e42ba4 + base_revision: 7482962148e8d758338d8a28f589f317e1e42ba4 + - platform: linux + create_revision: 7482962148e8d758338d8a28f589f317e1e42ba4 + base_revision: 7482962148e8d758338d8a28f589f317e1e42ba4 + - platform: macos + create_revision: 7482962148e8d758338d8a28f589f317e1e42ba4 + base_revision: 7482962148e8d758338d8a28f589f317e1e42ba4 + - platform: web + create_revision: 7482962148e8d758338d8a28f589f317e1e42ba4 + base_revision: 7482962148e8d758338d8a28f589f317e1e42ba4 + - platform: windows + create_revision: 7482962148e8d758338d8a28f589f317e1e42ba4 + base_revision: 7482962148e8d758338d8a28f589f317e1e42ba4 + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/packages/celest_auth/example/README.md b/packages/celest_auth/example/README.md new file mode 100644 index 00000000..b61b3d43 --- /dev/null +++ b/packages/celest_auth/example/README.md @@ -0,0 +1,3 @@ +# celest_auth_example + +A new Flutter project. diff --git a/packages/celest_auth/example/analysis_options.yaml b/packages/celest_auth/example/analysis_options.yaml new file mode 100644 index 00000000..f9b30346 --- /dev/null +++ b/packages/celest_auth/example/analysis_options.yaml @@ -0,0 +1 @@ +include: package:flutter_lints/flutter.yaml diff --git a/packages/celest_auth/example/android/.gitignore b/packages/celest_auth/example/android/.gitignore new file mode 100644 index 00000000..6f568019 --- /dev/null +++ b/packages/celest_auth/example/android/.gitignore @@ -0,0 +1,13 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java + +# Remember to never publicly share your keystore. +# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +key.properties +**/*.keystore +**/*.jks diff --git a/packages/celest_auth/example/android/app/build.gradle b/packages/celest_auth/example/android/app/build.gradle new file mode 100644 index 00000000..81d5ad3c --- /dev/null +++ b/packages/celest_auth/example/android/app/build.gradle @@ -0,0 +1,74 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + +def localProperties = new Properties() +def localPropertiesFile = rootProject.file('local.properties') +if (localPropertiesFile.exists()) { + localPropertiesFile.withReader('UTF-8') { reader -> + localProperties.load(reader) + } +} + +def flutterVersionCode = localProperties.getProperty('flutter.versionCode') +if (flutterVersionCode == null) { + flutterVersionCode = '1' +} + +def flutterVersionName = localProperties.getProperty('flutter.versionName') +if (flutterVersionName == null) { + flutterVersionName = '1.0' +} + +android { + namespace "dev.celest.celest_auth_example" + compileSdk flutter.compileSdkVersion + ndkVersion flutter.ndkVersion + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = '1.8' + } + + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + } + + defaultConfig { + applicationId "dev.celest.celest_auth_example" + minSdkVersion 21 + targetSdkVersion flutter.targetSdkVersion + versionCode flutterVersionCode.toInteger() + versionName flutterVersionName + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig signingConfigs.debug + } + } +} + +flutter { + source '../..' +} + +dependencies { + // These dependencies are only present so that `jnigen` will work. + // Applications should not include these. + implementation "androidx.browser:browser:1.7.0" + implementation "androidx.credentials:credentials:1.3.0-alpha01" + implementation "androidx.credentials:credentials-play-services-auth:1.3.0-alpha01" + implementation "com.google.android.libraries.identity.googleid:googleid:1.1.0" + implementation "androidx.biometric:biometric:1.2.0-alpha05" + implementation "com.google.android.gms:play-services-auth:21.0.0" + implementation "com.google.android.gms:play-services-fido:20.1.0" +} diff --git a/packages/celest_auth/example/android/app/src/debug/AndroidManifest.xml b/packages/celest_auth/example/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 00000000..399f6981 --- /dev/null +++ b/packages/celest_auth/example/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/packages/celest_auth/example/android/app/src/main/AndroidManifest.xml b/packages/celest_auth/example/android/app/src/main/AndroidManifest.xml new file mode 100644 index 00000000..846826fa --- /dev/null +++ b/packages/celest_auth/example/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/celest_auth/example/android/app/src/main/kotlin/dev/celest/celest_auth_example/MainActivity.kt b/packages/celest_auth/example/android/app/src/main/kotlin/dev/celest/celest_auth_example/MainActivity.kt new file mode 100644 index 00000000..11dce1ff --- /dev/null +++ b/packages/celest_auth/example/android/app/src/main/kotlin/dev/celest/celest_auth_example/MainActivity.kt @@ -0,0 +1,5 @@ +package dev.celest.celest_auth_example + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() diff --git a/packages/celest_auth/example/android/app/src/main/res/drawable-v21/launch_background.xml b/packages/celest_auth/example/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 00000000..f74085f3 --- /dev/null +++ b/packages/celest_auth/example/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/packages/celest_auth/example/android/app/src/main/res/drawable/launch_background.xml b/packages/celest_auth/example/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 00000000..304732f8 --- /dev/null +++ b/packages/celest_auth/example/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/packages/celest_auth/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/packages/celest_auth/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db77bb4b7b0906d62b1847e87f15cdcacf6a4f29 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/packages/celest_auth/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..17987b79bb8a35cc66c3c1fd44f5a5526c1b78be GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/packages/celest_auth/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f1c8d34e7a88e3f88bea192c3a370d44689c3c GIT binary patch literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/packages/celest_auth/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6372eebdb28e45604e46eeda8dd24651419bc0 GIT binary patch literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/android/app/src/main/res/values-night/styles.xml b/packages/celest_auth/example/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 00000000..06952be7 --- /dev/null +++ b/packages/celest_auth/example/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/packages/celest_auth/example/android/app/src/main/res/values/styles.xml b/packages/celest_auth/example/android/app/src/main/res/values/styles.xml new file mode 100644 index 00000000..cb1ef880 --- /dev/null +++ b/packages/celest_auth/example/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/packages/celest_auth/example/android/app/src/profile/AndroidManifest.xml b/packages/celest_auth/example/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 00000000..399f6981 --- /dev/null +++ b/packages/celest_auth/example/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/packages/celest_auth/example/android/build.gradle b/packages/celest_auth/example/android/build.gradle new file mode 100644 index 00000000..bc157bd1 --- /dev/null +++ b/packages/celest_auth/example/android/build.gradle @@ -0,0 +1,18 @@ +allprojects { + repositories { + google() + mavenCentral() + } +} + +rootProject.buildDir = '../build' +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" +} +subprojects { + project.evaluationDependsOn(':app') +} + +tasks.register("clean", Delete) { + delete rootProject.buildDir +} diff --git a/packages/celest_auth/example/android/gradle.properties b/packages/celest_auth/example/android/gradle.properties new file mode 100644 index 00000000..598d13fe --- /dev/null +++ b/packages/celest_auth/example/android/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.jvmargs=-Xmx4G +android.useAndroidX=true +android.enableJetifier=true diff --git a/packages/celest_auth/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/celest_auth/example/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000..e1ca574e --- /dev/null +++ b/packages/celest_auth/example/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip diff --git a/packages/celest_auth/example/android/settings.gradle b/packages/celest_auth/example/android/settings.gradle new file mode 100644 index 00000000..1d6d19b7 --- /dev/null +++ b/packages/celest_auth/example/android/settings.gradle @@ -0,0 +1,26 @@ +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() + + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") + + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} + +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version "7.3.0" apply false + id "org.jetbrains.kotlin.android" version "1.7.10" apply false +} + +include ":app" diff --git a/packages/celest_auth/example/ios/.gitignore b/packages/celest_auth/example/ios/.gitignore new file mode 100644 index 00000000..7a7f9873 --- /dev/null +++ b/packages/celest_auth/example/ios/.gitignore @@ -0,0 +1,34 @@ +**/dgph +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/ephemeral/ +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 diff --git a/packages/celest_auth/example/ios/Flutter/AppFrameworkInfo.plist b/packages/celest_auth/example/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 00000000..7c569640 --- /dev/null +++ b/packages/celest_auth/example/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 12.0 + + diff --git a/packages/celest_auth/example/ios/Flutter/Debug.xcconfig b/packages/celest_auth/example/ios/Flutter/Debug.xcconfig new file mode 100644 index 00000000..ec97fc6f --- /dev/null +++ b/packages/celest_auth/example/ios/Flutter/Debug.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include "Generated.xcconfig" diff --git a/packages/celest_auth/example/ios/Flutter/Release.xcconfig b/packages/celest_auth/example/ios/Flutter/Release.xcconfig new file mode 100644 index 00000000..c4855bfe --- /dev/null +++ b/packages/celest_auth/example/ios/Flutter/Release.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +#include "Generated.xcconfig" diff --git a/packages/celest_auth/example/ios/Podfile b/packages/celest_auth/example/ios/Podfile new file mode 100644 index 00000000..d97f17e2 --- /dev/null +++ b/packages/celest_auth/example/ios/Podfile @@ -0,0 +1,44 @@ +# Uncomment this line to define a global platform for your project +# platform :ios, '12.0' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do + inherit! :search_paths + end +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_ios_build_settings(target) + end +end diff --git a/packages/celest_auth/example/ios/Runner.xcodeproj/project.pbxproj b/packages/celest_auth/example/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 00000000..9663f5ac --- /dev/null +++ b/packages/celest_auth/example/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,619 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 97C146E61CF9000F007C117D /* Project object */; + proxyType = 1; + remoteGlobalIDString = 97C146ED1CF9000F007C117D; + remoteInfo = Runner; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 9705A1C41CF9048500538489 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 331C8082294A63A400263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C807B294A618700263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + 331C8082294A63A400263BE5 /* RunnerTests */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + 331C8081294A63A400263BE5 /* RunnerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 97C146F01CF9000F007C117D /* Runner */ = { + isa = PBXGroup; + children = ( + 97C146FA1CF9000F007C117D /* Main.storyboard */, + 97C146FD1CF9000F007C117D /* Assets.xcassets */, + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, + 97C147021CF9000F007C117D /* Info.plist */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, + ); + path = Runner; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C8080294A63A400263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 331C807D294A63A400263BE5 /* Sources */, + 331C807F294A63A400263BE5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 331C8086294A63A400263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Runner; + productName = Runner; + productReference = 97C146EE1CF9000F007C117D /* Runner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97C146E61CF9000F007C117D /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1510; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C8080294A63A400263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 97C146ED1CF9000F007C117D; + }; + 97C146ED1CF9000F007C117D = { + CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 1100; + }; + }; + }; + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97C146E51CF9000F007C117D; + productRefGroup = 97C146EF1CF9000F007C117D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97C146ED1CF9000F007C117D /* Runner */, + 331C8080294A63A400263BE5 /* RunnerTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C807F294A63A400263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C807D294A63A400263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C8086294A63A400263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 97C146ED1CF9000F007C117D /* Runner */; + targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 97C146FA1CF9000F007C117D /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C146FB1CF9000F007C117D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Profile; + }; + 249021D4217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 3N6FCLHNUW; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = dev.celest.celestAuthExample; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 331C8088294A63A400263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = dev.celest.celestAuthExample.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Debug; + }; + 331C8089294A63A400263BE5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = dev.celest.celestAuthExample.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Release; + }; + 331C808A294A63A400263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = dev.celest.celestAuthExample.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Profile; + }; + 97C147031CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 97C147041CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 97C147061CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 3N6FCLHNUW; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = dev.celest.celestAuthExample; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 97C147071CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 3N6FCLHNUW; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = dev.celest.celestAuthExample; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C8088294A63A400263BE5 /* Debug */, + 331C8089294A63A400263BE5 /* Release */, + 331C808A294A63A400263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147031CF9000F007C117D /* Debug */, + 97C147041CF9000F007C117D /* Release */, + 249021D3217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147061CF9000F007C117D /* Debug */, + 97C147071CF9000F007C117D /* Release */, + 249021D4217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97C146E61CF9000F007C117D /* Project object */; +} diff --git a/packages/celest_auth/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/packages/celest_auth/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/packages/celest_auth/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/packages/celest_auth/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/celest_auth/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/packages/celest_auth/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/packages/celest_auth/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/packages/celest_auth/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..f9b0d7c5 --- /dev/null +++ b/packages/celest_auth/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/packages/celest_auth/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/celest_auth/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 00000000..8e3ca5df --- /dev/null +++ b/packages/celest_auth/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/celest_auth/example/ios/Runner.xcworkspace/contents.xcworkspacedata b/packages/celest_auth/example/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..1d526a16 --- /dev/null +++ b/packages/celest_auth/example/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/packages/celest_auth/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/celest_auth/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/packages/celest_auth/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/packages/celest_auth/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/packages/celest_auth/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..f9b0d7c5 --- /dev/null +++ b/packages/celest_auth/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/packages/celest_auth/example/ios/Runner/AppDelegate.swift b/packages/celest_auth/example/ios/Runner/AppDelegate.swift new file mode 100644 index 00000000..70693e4a --- /dev/null +++ b/packages/celest_auth/example/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import UIKit +import Flutter + +@UIApplicationMain +@objc class AppDelegate: FlutterAppDelegate { + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + GeneratedPluginRegistrant.register(with: self) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } +} diff --git a/packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..d36b1fab --- /dev/null +++ b/packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "images" : [ + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@3x.png", + "scale" : "3x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@1x.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@1x.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@1x.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "Icon-App-83.5x83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "Icon-App-1024x1024@1x.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9ada4725e9b0ddb1deab583e5b5102493aa332 GIT binary patch literal 10932 zcmeHN2~<R zh`|8`A_PQ1nSu(UMFx?8j8PC!!VDphaL#`F42fd#7Vlc`zIE4n%Y~eiz4y1j|NDpi z?<@|pSJ-HM`qifhf@m%MamgwK83`XpBA<+azdF#2QsT{X@z0A9Bq>~TVErigKH1~P zRX-!h-f0NJ4Mh++{D}J+K>~~rq}d%o%+4dogzXp7RxX4C>Km5XEI|PAFDmo;DFm6G zzjVoB`@qW98Yl0Kvc-9w09^PrsobmG*Eju^=3f?0o-t$U)TL1B3;sZ^!++3&bGZ!o-*6w?;oOhf z=A+Qb$scV5!RbG+&2S}BQ6YH!FKb0``VVX~T$dzzeSZ$&9=X$3)_7Z{SspSYJ!lGE z7yig_41zpQ)%5dr4ff0rh$@ky3-JLRk&DK)NEIHecf9c*?Z1bUB4%pZjQ7hD!A0r-@NF(^WKdr(LXj|=UE7?gBYGgGQV zidf2`ZT@pzXf7}!NH4q(0IMcxsUGDih(0{kRSez&z?CFA0RVXsVFw3^u=^KMtt95q z43q$b*6#uQDLoiCAF_{RFc{!H^moH_cmll#Fc^KXi{9GDl{>%+3qyfOE5;Zq|6#Hb zp^#1G+z^AXfRKaa9HK;%b3Ux~U@q?xg<2DXP%6k!3E)PA<#4$ui8eDy5|9hA5&{?v z(-;*1%(1~-NTQ`Is1_MGdQ{+i*ccd96ab$R$T3=% zw_KuNF@vI!A>>Y_2pl9L{9h1-C6H8<)J4gKI6{WzGBi<@u3P6hNsXG=bRq5c+z;Gc3VUCe;LIIFDmQAGy+=mRyF++u=drBWV8-^>0yE9N&*05XHZpPlE zxu@?8(ZNy7rm?|<+UNe0Vs6&o?l`Pt>P&WaL~M&#Eh%`rg@Mbb)J&@DA-wheQ>hRV z<(XhigZAT z>=M;URcdCaiO3d^?H<^EiEMDV+7HsTiOhoaMX%P65E<(5xMPJKxf!0u>U~uVqnPN7T!X!o@_gs3Ct1 zlZ_$5QXP4{Aj645wG_SNT&6m|O6~Tsl$q?nK*)(`{J4b=(yb^nOATtF1_aS978$x3 zx>Q@s4i3~IT*+l{@dx~Hst21fR*+5}S1@cf>&8*uLw-0^zK(+OpW?cS-YG1QBZ5q! zgTAgivzoF#`cSz&HL>Ti!!v#?36I1*l^mkrx7Y|K6L#n!-~5=d3;K<;Zqi|gpNUn_ z_^GaQDEQ*jfzh;`j&KXb66fWEk1K7vxQIMQ_#Wu_%3 z4Oeb7FJ`8I>Px;^S?)}2+4D_83gHEq>8qSQY0PVP?o)zAv3K~;R$fnwTmI-=ZLK`= zTm+0h*e+Yfr(IlH3i7gUclNH^!MU>id$Jw>O?2i0Cila#v|twub21@e{S2v}8Z13( zNDrTXZVgris|qYm<0NU(tAPouG!QF4ZNpZPkX~{tVf8xY690JqY1NVdiTtW+NqyRP zZ&;T0ikb8V{wxmFhlLTQ&?OP7 z;(z*<+?J2~z*6asSe7h`$8~Se(@t(#%?BGLVs$p``;CyvcT?7Y!{tIPva$LxCQ&4W z6v#F*);|RXvI%qnoOY&i4S*EL&h%hP3O zLsrFZhv&Hu5tF$Lx!8(hs&?!Kx5&L(fdu}UI5d*wn~A`nPUhG&Rv z2#ixiJdhSF-K2tpVL=)5UkXRuPAFrEW}7mW=uAmtVQ&pGE-&az6@#-(Te^n*lrH^m@X-ftVcwO_#7{WI)5v(?>uC9GG{lcGXYJ~Q8q zbMFl7;t+kV;|;KkBW2!P_o%Czhw&Q(nXlxK9ak&6r5t_KH8#1Mr-*0}2h8R9XNkr zto5-b7P_auqTJb(TJlmJ9xreA=6d=d)CVbYP-r4$hDn5|TIhB>SReMfh&OVLkMk-T zYf%$taLF0OqYF?V{+6Xkn>iX@TuqQ?&cN6UjC9YF&%q{Ut3zv{U2)~$>-3;Dp)*(? zg*$mu8^i=-e#acaj*T$pNowo{xiGEk$%DusaQiS!KjJH96XZ-hXv+jk%ard#fu=@Q z$AM)YWvE^{%tDfK%nD49=PI|wYu}lYVbB#a7wtN^Nml@CE@{Gv7+jo{_V?I*jkdLD zJE|jfdrmVbkfS>rN*+`#l%ZUi5_bMS<>=MBDNlpiSb_tAF|Zy`K7kcp@|d?yaTmB^ zo?(vg;B$vxS|SszusORgDg-*Uitzdi{dUV+glA~R8V(?`3GZIl^egW{a919!j#>f` znL1o_^-b`}xnU0+~KIFLQ)$Q6#ym%)(GYC`^XM*{g zv3AM5$+TtDRs%`2TyR^$(hqE7Y1b&`Jd6dS6B#hDVbJlUXcG3y*439D8MrK!2D~6gn>UD4Imctb z+IvAt0iaW73Iq$K?4}H`7wq6YkTMm`tcktXgK0lKPmh=>h+l}Y+pDtvHnG>uqBA)l zAH6BV4F}v$(o$8Gfo*PB>IuaY1*^*`OTx4|hM8jZ?B6HY;F6p4{`OcZZ(us-RVwDx zUzJrCQlp@mz1ZFiSZ*$yX3c_#h9J;yBE$2g%xjmGF4ca z&yL`nGVs!Zxsh^j6i%$a*I3ZD2SoNT`{D%mU=LKaEwbN(_J5%i-6Va?@*>=3(dQy` zOv%$_9lcy9+(t>qohkuU4r_P=R^6ME+wFu&LA9tw9RA?azGhjrVJKy&8=*qZT5Dr8g--d+S8zAyJ$1HlW3Olryt`yE zFIph~Z6oF&o64rw{>lgZISC6p^CBer9C5G6yq%?8tC+)7*d+ib^?fU!JRFxynRLEZ zj;?PwtS}Ao#9whV@KEmwQgM0TVP{hs>dg(1*DiMUOKHdQGIqa0`yZnHk9mtbPfoLx zo;^V6pKUJ!5#n`w2D&381#5#_t}AlTGEgDz$^;u;-vxDN?^#5!zN9ngytY@oTv!nc zp1Xn8uR$1Z;7vY`-<*?DfPHB;x|GUi_fI9@I9SVRv1)qETbNU_8{5U|(>Du84qP#7 z*l9Y$SgA&wGbj>R1YeT9vYjZuC@|{rajTL0f%N@>3$DFU=`lSPl=Iv;EjuGjBa$Gw zHD-;%YOE@<-!7-Mn`0WuO3oWuL6tB2cpPw~Nvuj|KM@))ixuDK`9;jGMe2d)7gHin zS<>k@!x;!TJEc#HdL#RF(`|4W+H88d4V%zlh(7#{q2d0OQX9*FW^`^_<3r$kabWAB z$9BONo5}*(%kx zOXi-yM_cmB3>inPpI~)duvZykJ@^^aWzQ=eQ&STUa}2uT@lV&WoRzkUoE`rR0)`=l zFT%f|LA9fCw>`enm$p7W^E@U7RNBtsh{_-7vVz3DtB*y#*~(L9+x9*wn8VjWw|Q~q zKFsj1Yl>;}%MG3=PY`$g$_mnyhuV&~O~u~)968$0b2!Jkd;2MtAP#ZDYw9hmK_+M$ zb3pxyYC&|CuAbtiG8HZjj?MZJBFbt`ryf+c1dXFuC z0*ZQhBzNBd*}s6K_G}(|Z_9NDV162#y%WSNe|FTDDhx)K!c(mMJh@h87@8(^YdK$&d*^WQe8Z53 z(|@MRJ$Lk-&ii74MPIs80WsOFZ(NX23oR-?As+*aq6b?~62@fSVmM-_*cb1RzZ)`5$agEiL`-E9s7{GM2?(KNPgK1(+c*|-FKoy}X(D_b#etO|YR z(BGZ)0Ntfv-7R4GHoXp?l5g#*={S1{u-QzxCGng*oWr~@X-5f~RA14b8~B+pLKvr4 zfgL|7I>jlak9>D4=(i(cqYf7#318!OSR=^`xxvI!bBlS??`xxWeg?+|>MxaIdH1U~#1tHu zB{QMR?EGRmQ_l4p6YXJ{o(hh-7Tdm>TAX380TZZZyVkqHNzjUn*_|cb?T? zt;d2s-?B#Mc>T-gvBmQZx(y_cfkXZO~{N zT6rP7SD6g~n9QJ)8F*8uHxTLCAZ{l1Y&?6v)BOJZ)=R-pY=Y=&1}jE7fQ>USS}xP#exo57uND0i*rEk@$;nLvRB@u~s^dwRf?G?_enN@$t* zbL%JO=rV(3Ju8#GqUpeE3l_Wu1lN9Y{D4uaUe`g>zlj$1ER$6S6@{m1!~V|bYkhZA z%CvrDRTkHuajMU8;&RZ&itnC~iYLW4DVkP<$}>#&(`UO>!n)Po;Mt(SY8Yb`AS9lt znbX^i?Oe9r_o=?})IHKHoQGKXsps_SE{hwrg?6dMI|^+$CeC&z@*LuF+P`7LfZ*yr+KN8B4{Nzv<`A(wyR@!|gw{zB6Ha ziwPAYh)oJ(nlqSknu(8g9N&1hu0$vFK$W#mp%>X~AU1ay+EKWcFdif{% z#4!4aoVVJ;ULmkQf!ke2}3hqxLK>eq|-d7Ly7-J9zMpT`?dxo6HdfJA|t)?qPEVBDv z{y_b?4^|YA4%WW0VZd8C(ZgQzRI5(I^)=Ub`Y#MHc@nv0w-DaJAqsbEHDWG8Ia6ju zo-iyr*sq((gEwCC&^TYBWt4_@|81?=B-?#P6NMff(*^re zYqvDuO`K@`mjm_Jd;mW_tP`3$cS?R$jR1ZN09$YO%_iBqh5ftzSpMQQtxKFU=FYmP zeY^jph+g<4>YO;U^O>-NFLn~-RqlHvnZl2yd2A{Yc1G@Ga$d+Q&(f^tnPf+Z7serIU};17+2DU_f4Z z@GaPFut27d?!YiD+QP@)T=77cR9~MK@bd~pY%X(h%L={{OIb8IQmf-!xmZkm8A0Ga zQSWONI17_ru5wpHg3jI@i9D+_Y|pCqVuHJNdHUauTD=R$JcD2K_liQisqG$(sm=k9;L* z!L?*4B~ql7uioSX$zWJ?;q-SWXRFhz2Jt4%fOHA=Bwf|RzhwqdXGr78y$J)LR7&3T zE1WWz*>GPWKZ0%|@%6=fyx)5rzUpI;bCj>3RKzNG_1w$fIFCZ&UR0(7S?g}`&Pg$M zf`SLsz8wK82Vyj7;RyKmY{a8G{2BHG%w!^T|Njr!h9TO2LaP^_f22Q1=l$QiU84ao zHe_#{S6;qrC6w~7{y(hs-?-j?lbOfgH^E=XcSgnwW*eEz{_Z<_xN#0001NP)t-s|Ns9~ z#rXRE|M&d=0au&!`~QyF`q}dRnBDt}*!qXo`c{v z{Djr|@Adh0(D_%#_&mM$D6{kE_x{oE{l@J5@%H*?%=t~i_`ufYOPkAEn!pfkr2$fs z652Tz0001XNklqeeKN4RM4i{jKqmiC$?+xN>3Apn^ z0QfuZLym_5b<*QdmkHjHlj811{If)dl(Z2K0A+ekGtrFJb?g|wt#k#pV-#A~bK=OT ts8>{%cPtyC${m|1#B1A6#u!Q;umknL1chzTM$P~L002ovPDHLkV1lTfnu!1a literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..797d452e458972bab9d994556c8305db4c827017 GIT binary patch literal 406 zcmV;H0crk;P))>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed2d933e1120817fe9182483a228007b18ab6ae GIT binary patch literal 450 zcmV;z0X_bSP)iGWQ_5NJQ_~rNh*z)}eT%KUb z`7gNk0#AwF^#0T0?hIa^`~Ck;!}#m+_uT050aTR(J!bU#|IzRL%^UsMS#KsYnTF*!YeDOytlP4VhV?b} z%rz_<=#CPc)tU1MZTq~*2=8~iZ!lSa<{9b@2Jl;?IEV8)=fG217*|@)CCYgFze-x? zIFODUIA>nWKpE+bn~n7;-89sa>#DR>TSlqWk*!2hSN6D~Qb#VqbP~4Fk&m`@1$JGr zXPIdeRE&b2Thd#{MtDK$px*d3-Wx``>!oimf%|A-&-q*6KAH)e$3|6JV%HX{Hig)k suLT-RhftRq8b9;(V=235Wa|I=027H2wCDra;{X5v07*qoM6N<$f;9x^2LJ#7 literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..4cd7b0099ca80c806f8fe495613e8d6c69460d76 GIT binary patch literal 282 zcmV+#0p(^bcu7P-R4C8Q z&e;xxFbF_Vrezo%_kH*OKhshZ6BFpG-Y1e10`QXJKbND7AMQ&cMj60B5TNObaZxYybcN07*qoM6N<$g3m;S%K!iX literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fe730945a01f64a61e2235dbe3f45b08f7729182 GIT binary patch literal 462 zcmV;<0WtoGP)-}iV`2<;=$?g5M=KQbZ{F&YRNy7Nn@%_*5{gvDM0aKI4?ESmw z{NnZg)A0R`+4?NF_RZexyVB&^^ZvN!{I28tr{Vje;QNTz`dG&Jz0~Ek&f2;*Z7>B|cg}xYpxEFY+0YrKLF;^Q+-HreN0P{&i zK~zY`?b7ECf-n?@;d<&orQ*Q7KoR%4|C>{W^h6@&01>0SKS`dn{Q}GT%Qj_{PLZ_& zs`MFI#j-(>?bvdZ!8^xTwlY{qA)T4QLbY@j(!YJ7aXJervHy6HaG_2SB`6CC{He}f zHVw(fJWApwPq!6VY7r1w-Fs)@ox~N+q|w~e;JI~C4Vf^@d>Wvj=fl`^u9x9wd9 zR%3*Q+)t%S!MU_`id^@&Y{y7-r98lZX0?YrHlfmwb?#}^1b{8g&KzmkE(L>Z&)179 zp<)v6Y}pRl100G2FL_t(o!|l{-Q-VMg#&MKg7c{O0 z2wJImOS3Gy*Z2Qifdv~JYOp;v+U)a|nLoc7hNH;I$;lzDt$}rkaFw1mYK5_0Q(Sut zvbEloxON7$+HSOgC9Z8ltuC&0OSF!-mXv5caV>#bc3@hBPX@I$58-z}(ZZE!t-aOG zpjNkbau@>yEzH(5Yj4kZiMH32XI!4~gVXNnjAvRx;Sdg^`>2DpUEwoMhTs_st8pKG z(%SHyHdU&v%f36~uERh!bd`!T2dw;z6PrOTQ7Vt*#9F2uHlUVnb#ev_o^fh}Dzmq} zWtlk35}k=?xj28uO|5>>$yXadTUE@@IPpgH`gJ~Ro4>jd1IF|(+IX>8M4Ps{PNvmI zNj4D+XgN83gPt_Gm}`Ybv{;+&yu-C(Grdiahmo~BjG-l&mWM+{e5M1sm&=xduwgM9 z`8OEh`=F3r`^E{n_;%9weN{cf2%7=VzC@cYj+lg>+3|D|_1C@{hcU(DyQG_BvBWe? zvTv``=%b1zrol#=R`JB)>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..502f463a9bc882b461c96aadf492d1729e49e725 GIT binary patch literal 586 zcmV-Q0=4~#P)+}#`wDE{8-2Mebf5<{{PqV{TgVcv*r8?UZ3{-|G?_}T*&y;@cqf{ z{Q*~+qr%%p!1pS*_Uicl#q9lc(D`!D`LN62sNwq{oYw(Wmhk)k<@f$!$@ng~_5)Ru z0Z)trIA5^j{DIW^c+vT2%lW+2<(RtE2wR;4O@)Tm`Xr*?A(qYoM}7i5Yxw>D(&6ou zxz!_Xr~yNF+waPe00049Nkl*;a!v6h%{rlvIH#gW3s8p;bFr=l}mRqpW2h zw=OA%hdyL~z+UHOzl0eKhEr$YYOL-c-%Y<)=j?(bzDweB7{b+%_ypvm_cG{SvM=DK zhv{K@m>#Bw>2W$eUI#iU)Wdgs8Y3U+A$Gd&{+j)d)BmGKx+43U_!tik_YlN)>$7G! zhkE!s;%oku3;IwG3U^2kw?z+HM)jB{@zFhK8P#KMSytSthr+4!c(5c%+^UBn`0X*2 zy3(k600_CSZj?O$Qu%&$;|TGUJrptR(HzyIx>5E(2r{eA(<6t3e3I0B)7d6s7?Z5J zZ!rtKvA{MiEBm&KFtoifx>5P^Z=vl)95XJn()aS5%ad(s?4-=Tkis9IGu{`Fy8r+H07*qoM6N<$f20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0ec303439225b78712f49115768196d8d76f6790 GIT binary patch literal 862 zcmV-k1EKthP)20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..e9f5fea27c705180eb716271f41b582e76dcbd90 GIT binary patch literal 1674 zcmV;526g#~P){YQnis^a@{&-nmRmq)<&%Mztj67_#M}W?l>kYSliK<%xAp;0j{!}J0!o7b zE>q9${Lb$D&h7k=+4=!ek^n+`0zq>LL1O?lVyea53S5x`Nqqo2YyeuIrQrJj9XjOp z{;T5qbj3}&1vg1VK~#9!?b~^C5-}JC@Pyrv-6dSEqJqT}#j9#dJ@GzT@B8}x zU&J@bBI>f6w6en+CeI)3^kC*U?}X%OD8$Fd$H&LV$H&LV$H&LV#|K5~mLYf|VqzOc zkc7qL~0sOYuM{tG`rYEDV{DWY`Z8&)kW*hc2VkBuY+^Yx&92j&StN}Wp=LD zxoGxXw6f&8sB^u})h@b@z0RBeD`K7RMR9deyL(ZJu#39Z>rT)^>v}Khq8U-IbIvT> z?4pV9qGj=2)TNH3d)=De<+^w;>S7m_eFKTvzeaBeir45xY!^m!FmxnljbSS_3o=g( z->^wC9%qkR{kbGnW8MfFew_o9h3(r55Is`L$8KI@d+*%{=Nx+FXJ98L0PjFIu;rGnnfY zn1R5Qnp<{Jq0M1vX=X&F8gtLmcWv$1*M@4ZfF^9``()#hGTeKeP`1!iED ztNE(TN}M5}3Bbc*d=FIv`DNv&@|C6yYj{sSqUj5oo$#*0$7pu|Dd2TLI>t5%I zIa4Dvr(iayb+5x=j*Vum9&irk)xV1`t509lnPO0%skL8_1c#Xbamh(2@f?4yUI zhhuT5<#8RJhGz4%b$`PJwKPAudsm|at?u;*hGgnA zU1;9gnxVBC)wA(BsB`AW54N{|qmikJR*%x0c`{LGsSfa|NK61pYH(r-UQ4_JXd!Rsz)=k zL{GMc5{h138)fF5CzHEDM>+FqY)$pdN3}Ml+riTgJOLN0F*Vh?{9ESR{SVVg>*>=# zix;VJHPtvFFCRY$Ks*F;VX~%*r9F)W`PmPE9F!(&s#x07n2<}?S{(ygpXgX-&B&OM zONY&BRQ(#%0%jeQs?oJ4P!p*R98>qCy5p8w>_gpuh39NcOlp)(wOoz0sY-Qz55eB~ z7OC-fKBaD1sE3$l-6QgBJO!n?QOTza`!S_YK z_v-lm^7{VO^8Q@M_^8F)09Ki6%=s?2_5eupee(w1FB%aqSweusQ-T+CH0Xt{` zFjMvW{@C&TB)k25()nh~_yJ9coBRL(0oO@HK~z}7?bm5j;y@69;bvlHb2tf!$ReA~x{22wTq550 z?f?Hnw(;m3ip30;QzdV~7pi!wyMYhDtXW#cO7T>|f=bdFhu+F!zMZ2UFj;GUKX7tI z;hv3{q~!*pMj75WP_c}>6)IWvg5_yyg<9Op()eD1hWC19M@?_9_MHec{Z8n3FaF{8 z;u`Mw0ly(uE>*CgQYv{be6ab2LWhlaH1^iLIM{olnag$78^Fd}%dR7;JECQ+hmk|o z!u2&!3MqPfP5ChDSkFSH8F2WVOEf0(E_M(JL17G}Y+fg0_IuW%WQ zG(mG&u?|->YSdk0;8rc{yw2@2Z&GA}z{Wb91Ooz9VhA{b2DYE7RmG zjL}?eq#iX%3#k;JWMx_{^2nNax`xPhByFiDX+a7uTGU|otOvIAUy|dEKkXOm-`aWS z27pUzD{a)Ct<6p{{3)+lq@i`t@%>-wT4r?*S}k)58e09WZYP0{{R3FC5Sl00039P)t-s|Ns9~ z#rP?<_5oL$Q^olD{r_0T`27C={r>*`|Nj71npVa5OTzc(_WfbW_({R{p56NV{r*M2 z_xt?)2V0#0NsfV0u>{42ctGP(8vQj-Btk1n|O0ZD=YLwd&R{Ko41Gr9H= zY@z@@bOAMB5Ltl$E>bJJ{>JP30ZxkmI%?eW{k`b?Wy<&gOo;dS`~CR$Vwb@XWtR|N zi~t=w02?-0&j0TD{>bb6sNwsK*!p?V`RMQUl(*DVjk-9Cx+-z1KXab|Ka2oXhX5f% z`$|e!000AhNklrxs)5QTeTVRiEmz~MKK1WAjCw(c-JK6eox;2O)?`? zTG`AHia671e^vgmp!llKp|=5sVHk#C7=~epA~VAf-~%aPC=%Qw01h8mnSZ|p?hz91 z7p83F3%LVu9;S$tSI$C^%^yud1dfTM_6p2|+5Ejp$bd`GDvbR|xit>i!ZD&F>@CJrPmu*UjD&?DfZs=$@e3FQA(vNiU+$A*%a} z?`XcG2jDxJ_ZQ#Md`H{4Lpf6QBDp81_KWZ6Tk#yCy1)32zO#3<7>b`eT7UyYH1eGz z;O(rH$=QR*L%%ZcBpc=eGua?N55nD^K(8<#gl2+pN_j~b2MHs4#mcLmv%DkspS-3< zpI1F=^9siI0s-;IN_IrA;5xm~3?3!StX}pUv0vkxMaqm+zxrg7X7(I&*N~&dEd0kD z-FRV|g=|QuUsuh>-xCI}vD2imzYIOIdcCVV=$Bz@*u0+Bs<|L^)32nN*=wu3n%Ynw z@1|eLG>!8ruU1pFXUfb`j>(=Gy~?Rn4QJ-c3%3T|(Frd!bI`9u&zAnyFYTqlG#&J7 zAkD(jpw|oZLNiA>;>hgp1KX7-wxC~31II47gc zHcehD6Uxlf%+M^^uN5Wc*G%^;>D5qT{>=uxUhX%WJu^Z*(_Wq9y}npFO{Hhb>s6<9 zNi0pHXWFaVZnb)1+RS&F)xOv6&aeILcI)`k#0YE+?e)5&#r7J#c`3Z7x!LpTc01dx zrdC3{Z;joZ^KN&))zB_i)I9fWedoN>Zl-6_Iz+^G&*ak2jpF07*qoM6N<$f;w%0(f|Me literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/packages/celest_auth/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0467bf12aa4d28f374bb26596605a46dcbb3e7c8 GIT binary patch literal 1418 zcmV;51$Fv~P)q zKfU)WzW*n(@|xWGCA9ScMt*e9`2kdxPQ&&>|-UCa7_51w+ zLUsW@ZzZSW0y$)Hp~e9%PvP|a03ks1`~K?q{u;6NC8*{AOqIUq{CL&;p56Lf$oQGq z^={4hPQv)y=I|4n+?>7Fim=dxt1 z2H+Dm+1+fh+IF>G0SjJMkQQre1x4|G*Z==(Ot&kCnUrL4I(rf(ucITwmuHf^hXiJT zkdTm&kdTm&kdTm&kdP`esgWG0BcWCVkVZ&2dUwN`cgM8QJb`Z7Z~e<&Yj2(}>Tmf` zm1{eLgw!b{bXkjWbF%dTkTZEJWyWOb##Lfw4EK2}<0d6%>AGS{po>WCOy&f$Tay_> z?NBlkpo@s-O;0V%Y_Xa-G#_O08q5LR*~F%&)}{}r&L%Sbs8AS4t7Y0NEx*{soY=0MZExqA5XHQkqi#4gW3 zqODM^iyZl;dvf)-bOXtOru(s)Uc7~BFx{w-FK;2{`VA?(g&@3z&bfLFyctOH!cVsF z7IL=fo-qBndRUm;kAdXR4e6>k-z|21AaN%ubeVrHl*<|s&Ax@W-t?LR(P-24A5=>a z*R9#QvjzF8n%@1Nw@?CG@6(%>+-0ASK~jEmCV|&a*7-GKT72W<(TbSjf)&Eme6nGE z>Gkj4Sq&2e+-G%|+NM8OOm5zVl9{Z8Dd8A5z3y8mZ=4Bv4%>as_{9cN#bm~;h>62( zdqY93Zy}v&c4n($Vv!UybR8ocs7#zbfX1IY-*w~)p}XyZ-SFC~4w>BvMVr`dFbelV{lLL0bx7@*ZZdebr3`sP;? zVImji)kG)(6Juv0lz@q`F!k1FE;CQ(D0iG$wchPbKZQELlsZ#~rt8#90Y_Xh&3U-< z{s<&cCV_1`^TD^ia9!*mQDq& zn2{r`j};V|uV%_wsP!zB?m%;FeaRe+X47K0e+KE!8C{gAWF8)lCd1u1%~|M!XNRvw zvtqy3iz0WSpWdhn6$hP8PaRBmp)q`#PCA`Vd#Tc$@f1tAcM>f_I@bC)hkI9|o(Iqv zo}Piadq!j76}004RBio<`)70k^`K1NK)q>w?p^C6J2ZC!+UppiK6&y3Kmbv&O!oYF z34$0Z;QO!JOY#!`qyGH<3Pd}Pt@q*A0V=3SVtWKRR8d8Z&@)3qLPA19LPA19LPEUC YUoZo%k(ykuW&i*H07*qoM6N<$f+CH{y8r+H literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/packages/celest_auth/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json new file mode 100644 index 00000000..0bedcf2f --- /dev/null +++ b/packages/celest_auth/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "LaunchImage.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/packages/celest_auth/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/packages/celest_auth/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/packages/celest_auth/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/packages/celest_auth/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/packages/celest_auth/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 00000000..89c2725b --- /dev/null +++ b/packages/celest_auth/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/packages/celest_auth/example/ios/Runner/Base.lproj/LaunchScreen.storyboard b/packages/celest_auth/example/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 00000000..f2e259c7 --- /dev/null +++ b/packages/celest_auth/example/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/celest_auth/example/ios/Runner/Base.lproj/Main.storyboard b/packages/celest_auth/example/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 00000000..f3c28516 --- /dev/null +++ b/packages/celest_auth/example/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/celest_auth/example/ios/Runner/Info.plist b/packages/celest_auth/example/ios/Runner/Info.plist new file mode 100644 index 00000000..6658322f --- /dev/null +++ b/packages/celest_auth/example/ios/Runner/Info.plist @@ -0,0 +1,49 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Celest Auth Example + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + celest_auth_example + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + CADisableMinimumFrameDurationOnPhone + + UIApplicationSupportsIndirectInputEvents + + + diff --git a/packages/celest_auth/example/ios/Runner/Runner-Bridging-Header.h b/packages/celest_auth/example/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 00000000..308a2a56 --- /dev/null +++ b/packages/celest_auth/example/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/packages/celest_auth/example/ios/RunnerTests/RunnerTests.swift b/packages/celest_auth/example/ios/RunnerTests/RunnerTests.swift new file mode 100644 index 00000000..86a7c3b1 --- /dev/null +++ b/packages/celest_auth/example/ios/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import Flutter +import UIKit +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/packages/celest_auth/example/lib/main.dart b/packages/celest_auth/example/lib/main.dart new file mode 100644 index 00000000..a7256585 --- /dev/null +++ b/packages/celest_auth/example/lib/main.dart @@ -0,0 +1,20 @@ +import 'package:flutter/material.dart'; + +void main() { + runApp(const MainApp()); +} + +class MainApp extends StatelessWidget { + const MainApp({super.key}); + + @override + Widget build(BuildContext context) { + return const MaterialApp( + home: Scaffold( + body: Center( + child: Text('Hello World!'), + ), + ), + ); + } +} diff --git a/packages/celest_auth/example/linux/.gitignore b/packages/celest_auth/example/linux/.gitignore new file mode 100644 index 00000000..d3896c98 --- /dev/null +++ b/packages/celest_auth/example/linux/.gitignore @@ -0,0 +1 @@ +flutter/ephemeral diff --git a/packages/celest_auth/example/linux/CMakeLists.txt b/packages/celest_auth/example/linux/CMakeLists.txt new file mode 100644 index 00000000..148d87b4 --- /dev/null +++ b/packages/celest_auth/example/linux/CMakeLists.txt @@ -0,0 +1,145 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.10) +project(runner LANGUAGES CXX) + +# The name of the executable created for the application. Change this to change +# the on-disk name of your application. +set(BINARY_NAME "celest_auth_example") +# The unique GTK application identifier for this application. See: +# https://wiki.gnome.org/HowDoI/ChooseApplicationID +set(APPLICATION_ID "dev.celest.celest_auth_example") + +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(SET CMP0063 NEW) + +# Load bundled libraries from the lib/ directory relative to the binary. +set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") + +# Root filesystem for cross-building. +if(FLUTTER_TARGET_PLATFORM_SYSROOT) + set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) + set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +endif() + +# Define build configuration options. +if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") +endif() + +# Compilation settings that should be applied to most targets. +# +# Be cautious about adding new options here, as plugins use this function by +# default. In most cases, you should add new options to specific targets instead +# of modifying this function. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_14) + target_compile_options(${TARGET} PRIVATE -Wall -Werror) + target_compile_options(${TARGET} PRIVATE "$<$>:-O3>") + target_compile_definitions(${TARGET} PRIVATE "$<$>:NDEBUG>") +endfunction() + +# Flutter library and tool build rules. +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# System-level dependencies. +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) + +add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}") + +# Define the application target. To change its name, change BINARY_NAME above, +# not the value here, or `flutter run` will no longer work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} + "main.cc" + "my_application.cc" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add dependency libraries. Add any application-specific dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter) +target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK) + +# Run the Flutter tool portions of the build. This must not be removed. +add_dependencies(${BINARY_NAME} flutter_assemble) + +# Only the install-generated bundle's copy of the executable will launch +# correctly, since the resources must in the right relative locations. To avoid +# people trying to run the unbundled copy, put it in a subdirectory instead of +# the default top-level location. +set_target_properties(${BINARY_NAME} + PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run" +) + + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# By default, "installing" just makes a relocatable bundle in the build +# directory. +set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle") +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +# Start with a clean build bundle directory every time. +install(CODE " + file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\") + " COMPONENT Runtime) + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES}) + install(FILES "${bundled_library}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endforeach(bundled_library) + +# Copy the native assets provided by the build.dart from all packages. +set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/linux/") +install(DIRECTORY "${NATIVE_ASSETS_DIR}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +if(NOT CMAKE_BUILD_TYPE MATCHES "Debug") + install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() diff --git a/packages/celest_auth/example/linux/flutter/CMakeLists.txt b/packages/celest_auth/example/linux/flutter/CMakeLists.txt new file mode 100644 index 00000000..d5bd0164 --- /dev/null +++ b/packages/celest_auth/example/linux/flutter/CMakeLists.txt @@ -0,0 +1,88 @@ +# This file controls Flutter-level build steps. It should not be edited. +cmake_minimum_required(VERSION 3.10) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. + +# Serves the same purpose as list(TRANSFORM ... PREPEND ...), +# which isn't available in 3.10. +function(list_prepend LIST_NAME PREFIX) + set(NEW_LIST "") + foreach(element ${${LIST_NAME}}) + list(APPEND NEW_LIST "${PREFIX}${element}") + endforeach(element) + set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE) +endfunction() + +# === Flutter Library === +# System-level dependencies. +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) +pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0) +pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0) + +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/lib/libapp.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "fl_basic_message_channel.h" + "fl_binary_codec.h" + "fl_binary_messenger.h" + "fl_dart_project.h" + "fl_engine.h" + "fl_json_message_codec.h" + "fl_json_method_codec.h" + "fl_message_codec.h" + "fl_method_call.h" + "fl_method_channel.h" + "fl_method_codec.h" + "fl_method_response.h" + "fl_plugin_registrar.h" + "fl_plugin_registry.h" + "fl_standard_message_codec.h" + "fl_standard_method_codec.h" + "fl_string_codec.h" + "fl_value.h" + "fl_view.h" + "flutter_linux.h" +) +list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}") +target_link_libraries(flutter INTERFACE + PkgConfig::GTK + PkgConfig::GLIB + PkgConfig::GIO +) +add_dependencies(flutter flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CMAKE_CURRENT_BINARY_DIR}/_phony_ + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh" + ${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE} + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} +) diff --git a/packages/celest_auth/example/linux/flutter/generated_plugin_registrant.cc b/packages/celest_auth/example/linux/flutter/generated_plugin_registrant.cc new file mode 100644 index 00000000..e71a16d2 --- /dev/null +++ b/packages/celest_auth/example/linux/flutter/generated_plugin_registrant.cc @@ -0,0 +1,11 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + + +void fl_register_plugins(FlPluginRegistry* registry) { +} diff --git a/packages/celest_auth/example/linux/flutter/generated_plugin_registrant.h b/packages/celest_auth/example/linux/flutter/generated_plugin_registrant.h new file mode 100644 index 00000000..e0f0a47b --- /dev/null +++ b/packages/celest_auth/example/linux/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void fl_register_plugins(FlPluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/celest_auth/example/linux/flutter/generated_plugins.cmake b/packages/celest_auth/example/linux/flutter/generated_plugins.cmake new file mode 100644 index 00000000..be1ee3e5 --- /dev/null +++ b/packages/celest_auth/example/linux/flutter/generated_plugins.cmake @@ -0,0 +1,24 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST + jni +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/celest_auth/example/linux/main.cc b/packages/celest_auth/example/linux/main.cc new file mode 100644 index 00000000..e7c5c543 --- /dev/null +++ b/packages/celest_auth/example/linux/main.cc @@ -0,0 +1,6 @@ +#include "my_application.h" + +int main(int argc, char** argv) { + g_autoptr(MyApplication) app = my_application_new(); + return g_application_run(G_APPLICATION(app), argc, argv); +} diff --git a/packages/celest_auth/example/linux/my_application.cc b/packages/celest_auth/example/linux/my_application.cc new file mode 100644 index 00000000..23cb9f34 --- /dev/null +++ b/packages/celest_auth/example/linux/my_application.cc @@ -0,0 +1,124 @@ +#include "my_application.h" + +#include +#ifdef GDK_WINDOWING_X11 +#include +#endif + +#include "flutter/generated_plugin_registrant.h" + +struct _MyApplication { + GtkApplication parent_instance; + char** dart_entrypoint_arguments; +}; + +G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION) + +// Implements GApplication::activate. +static void my_application_activate(GApplication* application) { + MyApplication* self = MY_APPLICATION(application); + GtkWindow* window = + GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application))); + + // Use a header bar when running in GNOME as this is the common style used + // by applications and is the setup most users will be using (e.g. Ubuntu + // desktop). + // If running on X and not using GNOME then just use a traditional title bar + // in case the window manager does more exotic layout, e.g. tiling. + // If running on Wayland assume the header bar will work (may need changing + // if future cases occur). + gboolean use_header_bar = TRUE; +#ifdef GDK_WINDOWING_X11 + GdkScreen* screen = gtk_window_get_screen(window); + if (GDK_IS_X11_SCREEN(screen)) { + const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen); + if (g_strcmp0(wm_name, "GNOME Shell") != 0) { + use_header_bar = FALSE; + } + } +#endif + if (use_header_bar) { + GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new()); + gtk_widget_show(GTK_WIDGET(header_bar)); + gtk_header_bar_set_title(header_bar, "celest_auth_example"); + gtk_header_bar_set_show_close_button(header_bar, TRUE); + gtk_window_set_titlebar(window, GTK_WIDGET(header_bar)); + } else { + gtk_window_set_title(window, "celest_auth_example"); + } + + gtk_window_set_default_size(window, 1280, 720); + gtk_widget_show(GTK_WIDGET(window)); + + g_autoptr(FlDartProject) project = fl_dart_project_new(); + fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments); + + FlView* view = fl_view_new(project); + gtk_widget_show(GTK_WIDGET(view)); + gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view)); + + fl_register_plugins(FL_PLUGIN_REGISTRY(view)); + + gtk_widget_grab_focus(GTK_WIDGET(view)); +} + +// Implements GApplication::local_command_line. +static gboolean my_application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) { + MyApplication* self = MY_APPLICATION(application); + // Strip out the first argument as it is the binary name. + self->dart_entrypoint_arguments = g_strdupv(*arguments + 1); + + g_autoptr(GError) error = nullptr; + if (!g_application_register(application, nullptr, &error)) { + g_warning("Failed to register: %s", error->message); + *exit_status = 1; + return TRUE; + } + + g_application_activate(application); + *exit_status = 0; + + return TRUE; +} + +// Implements GApplication::startup. +static void my_application_startup(GApplication* application) { + //MyApplication* self = MY_APPLICATION(object); + + // Perform any actions required at application startup. + + G_APPLICATION_CLASS(my_application_parent_class)->startup(application); +} + +// Implements GApplication::shutdown. +static void my_application_shutdown(GApplication* application) { + //MyApplication* self = MY_APPLICATION(object); + + // Perform any actions required at application shutdown. + + G_APPLICATION_CLASS(my_application_parent_class)->shutdown(application); +} + +// Implements GObject::dispose. +static void my_application_dispose(GObject* object) { + MyApplication* self = MY_APPLICATION(object); + g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev); + G_OBJECT_CLASS(my_application_parent_class)->dispose(object); +} + +static void my_application_class_init(MyApplicationClass* klass) { + G_APPLICATION_CLASS(klass)->activate = my_application_activate; + G_APPLICATION_CLASS(klass)->local_command_line = my_application_local_command_line; + G_APPLICATION_CLASS(klass)->startup = my_application_startup; + G_APPLICATION_CLASS(klass)->shutdown = my_application_shutdown; + G_OBJECT_CLASS(klass)->dispose = my_application_dispose; +} + +static void my_application_init(MyApplication* self) {} + +MyApplication* my_application_new() { + return MY_APPLICATION(g_object_new(my_application_get_type(), + "application-id", APPLICATION_ID, + "flags", G_APPLICATION_NON_UNIQUE, + nullptr)); +} diff --git a/packages/celest_auth/example/linux/my_application.h b/packages/celest_auth/example/linux/my_application.h new file mode 100644 index 00000000..72271d5e --- /dev/null +++ b/packages/celest_auth/example/linux/my_application.h @@ -0,0 +1,18 @@ +#ifndef FLUTTER_MY_APPLICATION_H_ +#define FLUTTER_MY_APPLICATION_H_ + +#include + +G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, + GtkApplication) + +/** + * my_application_new: + * + * Creates a new Flutter-based application. + * + * Returns: a new #MyApplication. + */ +MyApplication* my_application_new(); + +#endif // FLUTTER_MY_APPLICATION_H_ diff --git a/packages/celest_auth/example/macos/.gitignore b/packages/celest_auth/example/macos/.gitignore new file mode 100644 index 00000000..746adbb6 --- /dev/null +++ b/packages/celest_auth/example/macos/.gitignore @@ -0,0 +1,7 @@ +# Flutter-related +**/Flutter/ephemeral/ +**/Pods/ + +# Xcode-related +**/dgph +**/xcuserdata/ diff --git a/packages/celest_auth/example/macos/Flutter/Flutter-Debug.xcconfig b/packages/celest_auth/example/macos/Flutter/Flutter-Debug.xcconfig new file mode 100644 index 00000000..4b81f9b2 --- /dev/null +++ b/packages/celest_auth/example/macos/Flutter/Flutter-Debug.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/packages/celest_auth/example/macos/Flutter/Flutter-Release.xcconfig b/packages/celest_auth/example/macos/Flutter/Flutter-Release.xcconfig new file mode 100644 index 00000000..5caa9d15 --- /dev/null +++ b/packages/celest_auth/example/macos/Flutter/Flutter-Release.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/packages/celest_auth/example/macos/Flutter/GeneratedPluginRegistrant.swift b/packages/celest_auth/example/macos/Flutter/GeneratedPluginRegistrant.swift new file mode 100644 index 00000000..cccf817a --- /dev/null +++ b/packages/celest_auth/example/macos/Flutter/GeneratedPluginRegistrant.swift @@ -0,0 +1,10 @@ +// +// Generated file. Do not edit. +// + +import FlutterMacOS +import Foundation + + +func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { +} diff --git a/packages/celest_auth/example/macos/Podfile b/packages/celest_auth/example/macos/Podfile new file mode 100644 index 00000000..c795730d --- /dev/null +++ b/packages/celest_auth/example/macos/Podfile @@ -0,0 +1,43 @@ +platform :osx, '10.14' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_macos_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do + inherit! :search_paths + end +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_macos_build_settings(target) + end +end diff --git a/packages/celest_auth/example/macos/Runner.xcodeproj/project.pbxproj b/packages/celest_auth/example/macos/Runner.xcodeproj/project.pbxproj new file mode 100644 index 00000000..2bb55215 --- /dev/null +++ b/packages/celest_auth/example/macos/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,705 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXAggregateTarget section */ + 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; + buildPhases = ( + 33CC111E2044C6BF0003C045 /* ShellScript */, + ); + dependencies = ( + ); + name = "Flutter Assemble"; + productName = FLX; + }; +/* End PBXAggregateTarget section */ + +/* Begin PBXBuildFile section */ + 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC10EC2044A3C60003C045; + remoteInfo = Runner; + }; + 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC111A2044C6BA0003C045; + remoteInfo = FLX; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 33CC110E2044A8840003C045 /* Bundle Framework */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Bundle Framework"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; + 33CC10ED2044A3C60003C045 /* celest_auth_example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "celest_auth_example.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; + 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; + 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; + 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; + 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; + 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 331C80D2294CF70F00263BE5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10EA2044A3C60003C045 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 331C80D6294CF71000263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C80D7294CF71000263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 33BA886A226E78AF003329D5 /* Configs */ = { + isa = PBXGroup; + children = ( + 33E5194F232828860026EE4D /* AppInfo.xcconfig */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, + ); + path = Configs; + sourceTree = ""; + }; + 33CC10E42044A3C60003C045 = { + isa = PBXGroup; + children = ( + 33FAB671232836740065AC1E /* Runner */, + 33CEB47122A05771004F2AC0 /* Flutter */, + 331C80D6294CF71000263BE5 /* RunnerTests */, + 33CC10EE2044A3C60003C045 /* Products */, + D73912EC22F37F3D000D13A0 /* Frameworks */, + ); + sourceTree = ""; + }; + 33CC10EE2044A3C60003C045 /* Products */ = { + isa = PBXGroup; + children = ( + 33CC10ED2044A3C60003C045 /* celest_auth_example.app */, + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 33CC11242044D66E0003C045 /* Resources */ = { + isa = PBXGroup; + children = ( + 33CC10F22044A3C60003C045 /* Assets.xcassets */, + 33CC10F42044A3C60003C045 /* MainMenu.xib */, + 33CC10F72044A3C60003C045 /* Info.plist */, + ); + name = Resources; + path = ..; + sourceTree = ""; + }; + 33CEB47122A05771004F2AC0 /* Flutter */ = { + isa = PBXGroup; + children = ( + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, + ); + path = Flutter; + sourceTree = ""; + }; + 33FAB671232836740065AC1E /* Runner */ = { + isa = PBXGroup; + children = ( + 33CC10F02044A3C60003C045 /* AppDelegate.swift */, + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, + 33E51913231747F40026EE4D /* DebugProfile.entitlements */, + 33E51914231749380026EE4D /* Release.entitlements */, + 33CC11242044D66E0003C045 /* Resources */, + 33BA886A226E78AF003329D5 /* Configs */, + ); + path = Runner; + sourceTree = ""; + }; + D73912EC22F37F3D000D13A0 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C80D4294CF70F00263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 331C80D1294CF70F00263BE5 /* Sources */, + 331C80D2294CF70F00263BE5 /* Frameworks */, + 331C80D3294CF70F00263BE5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 331C80DA294CF71000263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 33CC10EC2044A3C60003C045 /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 33CC10E92044A3C60003C045 /* Sources */, + 33CC10EA2044A3C60003C045 /* Frameworks */, + 33CC10EB2044A3C60003C045 /* Resources */, + 33CC110E2044A8840003C045 /* Bundle Framework */, + 3399D490228B24CF009A79C7 /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + 33CC11202044C79F0003C045 /* PBXTargetDependency */, + ); + name = Runner; + productName = Runner; + productReference = 33CC10ED2044A3C60003C045 /* celest_auth_example.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 33CC10E52044A3C60003C045 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastSwiftUpdateCheck = 0920; + LastUpgradeCheck = 1510; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C80D4294CF70F00263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 33CC10EC2044A3C60003C045; + }; + 33CC10EC2044A3C60003C045 = { + CreatedOnToolsVersion = 9.2; + LastSwiftMigration = 1100; + ProvisioningStyle = Automatic; + SystemCapabilities = { + com.apple.Sandbox = { + enabled = 1; + }; + }; + }; + 33CC111A2044C6BA0003C045 = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Manual; + }; + }; + }; + buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 33CC10E42044A3C60003C045; + productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 33CC10EC2044A3C60003C045 /* Runner */, + 331C80D4294CF70F00263BE5 /* RunnerTests */, + 33CC111A2044C6BA0003C045 /* Flutter Assemble */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C80D3294CF70F00263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10EB2044A3C60003C045 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3399D490228B24CF009A79C7 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + }; + 33CC111E2044C6BF0003C045 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, + ); + inputPaths = ( + Flutter/ephemeral/tripwire, + ); + outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C80D1294CF70F00263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10E92044A3C60003C045 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C80DA294CF71000263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC10EC2044A3C60003C045 /* Runner */; + targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */; + }; + 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; + targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + 33CC10F52044A3C60003C045 /* Base */, + ); + name = MainMenu.xib; + path = Runner; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 331C80DB294CF71000263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = dev.celest.celestAuthExample.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/celest_auth_example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/celest_auth_example"; + }; + name = Debug; + }; + 331C80DC294CF71000263BE5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = dev.celest.celestAuthExample.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/celest_auth_example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/celest_auth_example"; + }; + name = Release; + }; + 331C80DD294CF71000263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = dev.celest.celestAuthExample.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/celest_auth_example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/celest_auth_example"; + }; + name = Profile; + }; + 338D0CE9231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Profile; + }; + 338D0CEA231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Profile; + }; + 338D0CEB231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Profile; + }; + 33CC10F92044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 33CC10FA2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Release; + }; + 33CC10FC2044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 33CC10FD2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + 33CC111C2044C6BA0003C045 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 33CC111D2044C6BA0003C045 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C80DB294CF71000263BE5 /* Debug */, + 331C80DC294CF71000263BE5 /* Release */, + 331C80DD294CF71000263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10F92044A3C60003C045 /* Debug */, + 33CC10FA2044A3C60003C045 /* Release */, + 338D0CE9231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10FC2044A3C60003C045 /* Debug */, + 33CC10FD2044A3C60003C045 /* Release */, + 338D0CEA231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC111C2044C6BA0003C045 /* Debug */, + 33CC111D2044C6BA0003C045 /* Release */, + 338D0CEB231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 33CC10E52044A3C60003C045 /* Project object */; +} diff --git a/packages/celest_auth/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/celest_auth/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/packages/celest_auth/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/packages/celest_auth/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/celest_auth/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 00000000..1c41355f --- /dev/null +++ b/packages/celest_auth/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/celest_auth/example/macos/Runner.xcworkspace/contents.xcworkspacedata b/packages/celest_auth/example/macos/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..1d526a16 --- /dev/null +++ b/packages/celest_auth/example/macos/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/packages/celest_auth/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/celest_auth/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/packages/celest_auth/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/packages/celest_auth/example/macos/Runner/AppDelegate.swift b/packages/celest_auth/example/macos/Runner/AppDelegate.swift new file mode 100644 index 00000000..d53ef643 --- /dev/null +++ b/packages/celest_auth/example/macos/Runner/AppDelegate.swift @@ -0,0 +1,9 @@ +import Cocoa +import FlutterMacOS + +@NSApplicationMain +class AppDelegate: FlutterAppDelegate { + override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { + return true + } +} diff --git a/packages/celest_auth/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/packages/celest_auth/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..a2ec33f1 --- /dev/null +++ b/packages/celest_auth/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images" : [ + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_16.png", + "scale" : "1x" + }, + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "2x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "1x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_64.png", + "scale" : "2x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_128.png", + "scale" : "1x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "2x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "1x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "2x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "1x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_1024.png", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/packages/celest_auth/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/packages/celest_auth/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..82b6f9d9a33e198f5747104729e1fcef999772a5 GIT binary patch literal 102994 zcmeEugo5nb1G~3xi~y`}h6XHx5j$(L*3|5S2UfkG$|UCNI>}4f?MfqZ+HW-sRW5RKHEm z^unW*Xx{AH_X3Xdvb%C(Bh6POqg==@d9j=5*}oEny_IS;M3==J`P0R!eD6s~N<36C z*%-OGYqd0AdWClO!Z!}Y1@@RkfeiQ$Ib_ z&fk%T;K9h`{`cX3Hu#?({4WgtmkR!u3ICS~|NqH^fdNz>51-9)OF{|bRLy*RBv#&1 z3Oi_gk=Y5;>`KbHf~w!`u}!&O%ou*Jzf|Sf?J&*f*K8cftMOKswn6|nb1*|!;qSrlw= zr-@X;zGRKs&T$y8ENnFU@_Z~puu(4~Ir)>rbYp{zxcF*!EPS6{(&J}qYpWeqrPWW< zfaApz%<-=KqxrqLLFeV3w0-a0rEaz9&vv^0ZfU%gt9xJ8?=byvNSb%3hF^X_n7`(fMA;C&~( zM$cQvQ|g9X)1AqFvbp^B{JEX$o;4iPi?+v(!wYrN{L}l%e#5y{j+1NMiT-8=2VrCP zmFX9=IZyAYA5c2!QO96Ea-6;v6*$#ZKM-`%JCJtrA3d~6h{u+5oaTaGE)q2b+HvdZ zvHlY&9H&QJ5|uG@wDt1h99>DdHy5hsx)bN`&G@BpxAHh$17yWDyw_jQhhjSqZ=e_k z_|r3=_|`q~uA47y;hv=6-o6z~)gO}ZM9AqDJsR$KCHKH;QIULT)(d;oKTSPDJ}Jx~G#w-(^r<{GcBC*~4bNjfwHBumoPbU}M)O za6Hc2ik)2w37Yyg!YiMq<>Aov?F2l}wTe+>h^YXcK=aesey^i)QC_p~S zp%-lS5%)I29WfywP(r4@UZ@XmTkqo51zV$|U|~Lcap##PBJ}w2b4*kt7x6`agP34^ z5fzu_8rrH+)2u*CPcr6I`gL^cI`R2WUkLDE5*PX)eJU@H3HL$~o_y8oMRoQ0WF9w| z6^HZDKKRDG2g;r8Z4bn+iJNFV(CG;K-j2>aj229gl_C6n12Jh$$h!}KVhn>*f>KcH z;^8s3t(ccVZ5<{>ZJK@Z`hn_jL{bP8Yn(XkwfRm?GlEHy=T($8Z1Mq**IM`zxN9>-yXTjfB18m_$E^JEaYn>pj`V?n#Xu;Z}#$- zw0Vw;T*&9TK$tKI7nBk9NkHzL++dZ^;<|F6KBYh2+XP-b;u`Wy{~79b%IBZa3h*3^ zF&BKfQ@Ej{7ku_#W#mNJEYYp=)bRMUXhLy2+SPMfGn;oBsiG_6KNL8{p1DjuB$UZB zA)a~BkL)7?LJXlCc}bB~j9>4s7tlnRHC5|wnycQPF_jLl!Avs2C3^lWOlHH&v`nGd zf&U!fn!JcZWha`Pl-B3XEe;(ks^`=Z5R zWyQR0u|do2`K3ec=YmWGt5Bwbu|uBW;6D8}J3{Uep7_>L6b4%(d=V4m#(I=gkn4HT zYni3cnn>@F@Wr<hFAY3Y~dW+3bte;70;G?kTn4Aw5nZ^s5|47 z4$rCHCW%9qa4)4vE%^QPMGf!ET!^LutY$G zqdT(ub5T5b+wi+OrV}z3msoy<4)`IPdHsHJggmog0K*pFYMhH!oZcgc5a)WmL?;TPSrerTVPp<#s+imF3v#!FuBNNa`#6 z!GdTCF|IIpz#(eV^mrYKThA4Bnv&vQet@%v9kuRu3EHx1-2-it@E`%9#u`)HRN#M? z7aJ{wzKczn#w^`OZ>Jb898^Xxq)0zd{3Tu7+{-sge-rQ z&0PME&wIo6W&@F|%Z8@@N3)@a_ntJ#+g{pUP7i?~3FirqU`rdf8joMG^ld?(9b7Iv z>TJgBg#)(FcW)h!_if#cWBh}f+V08GKyg|$P#KTS&%=!+0a%}O${0$i)kn9@G!}En zv)_>s?glPiLbbx)xk(lD-QbY(OP3;MSXM5E*P&_`Zks2@46n|-h$Y2L7B)iH{GAAq19h5-y0q>d^oy^y+soJu9lXxAe%jcm?=pDLFEG2kla40e!5a}mpe zdL=WlZ=@U6{>g%5a+y-lx)01V-x;wh%F{=qy#XFEAqcd+m}_!lQ)-9iiOL%&G??t| z?&NSdaLqdPdbQs%y0?uIIHY7rw1EDxtQ=DU!i{)Dkn~c$LG5{rAUYM1j5*G@oVn9~ zizz{XH(nbw%f|wI=4rw^6mNIahQpB)OQy10^}ACdLPFc2@ldVi|v@1nWLND?)53O5|fg`RZW&XpF&s3@c-R?aad!$WoH6u0B|}zt)L($E^@U- zO#^fxu9}Zw7Xl~nG1FVM6DZSR0*t!4IyUeTrnp@?)Z)*!fhd3)&s(O+3D^#m#bAem zpf#*aiG_0S^ofpm@9O7j`VfLU0+{$x!u^}3!zp=XST0N@DZTp!7LEVJgqB1g{psNr za0uVmh3_9qah14@M_pi~vAZ#jc*&aSm$hCNDsuQ-zPe&*Ii#2=2gP+DP4=DY z_Y0lUsyE6yaV9)K)!oI6+*4|spx2at*30CAx~6-5kfJzQ`fN8$!lz%hz^J6GY?mVH zbYR^JZ(Pmj6@vy-&!`$5soyy-NqB^8cCT40&R@|6s@m+ZxPs=Bu77-+Os7+bsz4nA3DrJ8#{f98ZMaj-+BD;M+Jk?pgFcZIb}m9N z{ct9T)Kye&2>l^39O4Q2@b%sY?u#&O9PO4@t0c$NUXG}(DZJ<;_oe2~e==3Z1+`Zo zFrS3ns-c}ZognVBHbg#e+1JhC(Yq7==rSJQ8J~}%94(O#_-zJKwnBXihl#hUd9B_>+T& z7eHHPRC?5ONaUiCF7w|{J`bCWS7Q&xw-Sa={j-f)n5+I=9s;E#fBQB$`DDh<^mGiF zu-m_k+)dkBvBO(VMe2O4r^sf3;sk9K!xgXJU>|t9Vm8Ty;fl5pZzw z9j|}ZD}6}t;20^qrS?YVPuPRS<39d^y0#O1o_1P{tN0?OX!lc-ICcHI@2#$cY}_CY zev|xdFcRTQ_H)1fJ7S0*SpPs8e{d+9lR~IZ^~dKx!oxz?=Dp!fD`H=LH{EeC8C&z-zK$e=!5z8NL=4zx2{hl<5z*hEmO=b-7(k5H`bA~5gT30Sjy`@-_C zKM}^so9Ti1B;DovHByJkTK87cfbF16sk-G>`Q4-txyMkyQS$d}??|Aytz^;0GxvOs zPgH>h>K+`!HABVT{sYgzy3CF5ftv6hI-NRfgu613d|d1cg^jh+SK7WHWaDX~hlIJ3 z>%WxKT0|Db1N-a4r1oPKtF--^YbP=8Nw5CNt_ZnR{N(PXI>Cm$eqi@_IRmJ9#)~ZHK_UQ8mi}w^`+4$OihUGVz!kW^qxnCFo)-RIDbA&k-Y=+*xYv5y4^VQ9S)4W5Pe?_RjAX6lS6Nz#!Hry=+PKx2|o_H_3M`}Dq{Bl_PbP(qel~P@=m}VGW*pK96 zI@fVag{DZHi}>3}<(Hv<7cVfWiaVLWr@WWxk5}GDEbB<+Aj;(c>;p1qmyAIj+R!`@#jf$ zy4`q23L-72Zs4j?W+9lQD;CYIULt%;O3jPWg2a%Zs!5OW>5h1y{Qof!p&QxNt5=T( zd5fy&7=hyq;J8%86YBOdc$BbIFxJx>dUyTh`L z-oKa=OhRK9UPVRWS`o2x53bAv+py)o)kNL6 z9W1Dlk-g6Ht@-Z^#6%`9S9`909^EMj?9R^4IxssCY-hYzei^TLq7Cj>z$AJyaU5=z zl!xiWvz0U8kY$etrcp8mL;sYqGZD!Hs-U2N{A|^oEKA482v1T%cs%G@X9M?%lX)p$ zZoC7iYTPe8yxY0Jne|s)fCRe1mU=Vb1J_&WcIyP|x4$;VSVNC`M+e#oOA`#h>pyU6 z?7FeVpk`Hsu`~T3i<_4<5fu?RkhM;@LjKo6nX>pa%8dSdgPO9~Jze;5r>Tb1Xqh5q z&SEdTXevV@PT~!O6z|oypTk7Qq+BNF5IQ(8s18c=^0@sc8Gi|3e>VKCsaZ?6=rrck zl@oF5Bd0zH?@15PxSJIRroK4Wa?1o;An;p0#%ZJ^tI=(>AJ2OY0GP$E_3(+Zz4$AQ zW)QWl<4toIJ5TeF&gNXs>_rl}glkeG#GYbHHOv-G!%dJNoIKxn)FK$5&2Zv*AFic! z@2?sY&I*PSfZ8bU#c9fdIJQa_cQijnj39-+hS@+~e*5W3bj%A}%p9N@>*tCGOk+cF zlcSzI6j%Q|2e>QG3A<86w?cx6sBtLNWF6_YR?~C)IC6_10SNoZUHrCpp6f^*+*b8` zlx4ToZZuI0XW1W)24)92S)y0QZa);^NRTX6@gh8@P?^=#2dV9s4)Q@K+gnc{6|C}& zDLHr7nDOLrsH)L@Zy{C_2UrYdZ4V{|{c8&dRG;wY`u>w%$*p>PO_}3`Y21pk?8Wtq zGwIXTulf7AO2FkPyyh2TZXM1DJv>hI`}x`OzQI*MBc#=}jaua&czSkI2!s^rOci|V zFkp*Vbiz5vWa9HPFXMi=BV&n3?1?%8#1jq?p^3wAL`jgcF)7F4l<(H^!i=l-(OTDE zxf2p71^WRIExLf?ig0FRO$h~aA23s#L zuZPLkm>mDwBeIu*C7@n@_$oSDmdWY7*wI%aL73t~`Yu7YwE-hxAATmOi0dmB9|D5a zLsR7OQcA0`vN9m0L|5?qZ|jU+cx3_-K2!K$zDbJ$UinQy<9nd5ImWW5n^&=Gg>Gsh zY0u?m1e^c~Ug39M{{5q2L~ROq#c{eG8Oy#5h_q=#AJj2Yops|1C^nv0D1=fBOdfAG z%>=vl*+_w`&M7{qE#$xJJp_t>bSh7Mpc(RAvli9kk3{KgG5K@a-Ue{IbU{`umXrR3ra5Y7xiX42+Q%N&-0#`ae_ z#$Y6Wa++OPEDw@96Zz##PFo9sADepQe|hUy!Zzc2C(L`k9&=a8XFr+!hIS>D2{pdGP1SzwyaGLiH3j--P>U#TWw90t8{8Bt%m7Upspl#=*hS zhy|(XL6HOqBW}Og^tLX7 z+`b^L{O&oqjwbxDDTg2B;Yh2(fW>%S5Pg8^u1p*EFb z`(fbUM0`afawYt%VBfD&b3MNJ39~Ldc@SAuzsMiN%E}5{uUUBc7hc1IUE~t-Y9h@e7PC|sv$xGx=hZiMXNJxz5V(np%6u{n24iWX#!8t#>Ob$in<>dw96H)oGdTHnU zSM+BPss*5)Wz@+FkooMxxXZP1{2Nz7a6BB~-A_(c&OiM)UUNoa@J8FGxtr$)`9;|O z(Q?lq1Q+!E`}d?KemgC!{nB1JJ!B>6J@XGQp9NeQvtbM2n7F%v|IS=XWPVZY(>oq$ zf=}8O_x`KOxZoGnp=y24x}k6?gl_0dTF!M!T`={`Ii{GnT1jrG9gPh)R=RZG8lIR| z{ZJ6`x8n|y+lZuy${fuEDTAf`OP!tGySLXD}ATJO5UoZv|Xo3%7O~L63+kw}v)Ci=&tWx3bQJfL@5O18CbPlkR^IcKA zy1=^Vl-K-QBP?9^R`@;czcUw;Enbbyk@vJQB>BZ4?;DM%BUf^eZE+sOy>a){qCY6Y znYy;KGpch-zf=5|p#SoAV+ie8M5(Xg-{FoLx-wZC9IutT!(9rJ8}=!$!h%!J+vE2e z(sURwqCC35v?1>C1L)swfA^sr16{yj7-zbT6Rf26-JoEt%U?+|rQ zeBuGohE?@*!zR9)1P|3>KmJSgK*fOt>N>j}LJB`>o(G#Dduvx7@DY7};W7K;Yj|8O zGF<+gTuoIKe7Rf+LQG3-V1L^|E;F*}bQ-{kuHq}| ze_NwA7~US19sAZ)@a`g*zkl*ykv2v3tPrb4Og2#?k6Lc7@1I~+ew48N&03hW^1Cx+ zfk5Lr4-n=#HYg<7ka5i>2A@ZeJ60gl)IDX!!p zzfXZQ?GrT>JEKl7$SH!otzK6=0dIlqN)c23YLB&Krf9v-{@V8p+-e2`ujFR!^M%*; ze_7(Jh$QgoqwB!HbX=S+^wqO15O_TQ0-qX8f-|&SOuo3ZE{{9Jw5{}>MhY}|GBhO& zv48s_B=9aYQfa;d>~1Z$y^oUUaDer>7ve5+Gf?rIG4GZ!hRKERlRNgg_C{W_!3tsI2TWbX8f~MY)1Q`6Wj&JJ~*;ay_0@e zzx+mE-pu8{cEcVfBqsnm=jFU?H}xj@%CAx#NO>3 z_re3Rq%d1Y7VkKy{=S73&p;4^Praw6Y59VCP6M?!Kt7{v#DG#tz?E)`K95gH_mEvb z%$<~_mQ$ad?~&T=O0i0?`YSp?E3Dj?V>n+uTRHAXn`l!pH9Mr}^D1d@mkf+;(tV45 zH_yfs^kOGLXlN*0GU;O&{=awxd?&`{JPRr$z<1HcAO2K`K}92$wC}ky&>;L?#!(`w z68avZGvb728!vgw>;8Z8I@mLtI`?^u6R>sK4E7%=y)jpmE$fH!Dj*~(dy~-2A5Cm{ zl{1AZw`jaDmfvaB?jvKwz!GC}@-Dz|bFm1OaPw(ia#?>vF7Y5oh{NVbyD~cHB1KFn z9C@f~X*Wk3>sQH9#D~rLPslAd26@AzMh=_NkH_yTNXx6-AdbAb z{Ul89YPHslD?xAGzOlQ*aMYUl6#efCT~WI zOvyiewT=~l1W(_2cEd(8rDywOwjM-7P9!8GCL-1<9KXXO=6%!9=W++*l1L~gRSxLVd8K=A7&t52ql=J&BMQu{fa6y zXO_e>d?4X)xp2V8e3xIQGbq@+vo#&n>-_WreTTW0Yr?|YRPP43cDYACMQ(3t6(?_k zfgDOAU^-pew_f5U#WxRXB30wcfDS3;k~t@b@w^GG&<5n$Ku?tT(%bQH(@UHQGN)N|nfC~7?(etU`}XB)$>KY;s=bYGY#kD%i9fz= z2nN9l?UPMKYwn9bX*^xX8Y@%LNPFU>s#Ea1DaP%bSioqRWi9JS28suTdJycYQ+tW7 zrQ@@=13`HS*dVKaVgcem-45+buD{B;mUbY$YYULhxK)T{S?EB<8^YTP$}DA{(&)@S zS#<8S96y9K2!lG^VW-+CkfXJIH;Vo6wh)N}!08bM$I7KEW{F6tqEQ?H@(U zAqfi%KCe}2NUXALo;UN&k$rU0BLNC$24T_mcNY(a@lxR`kqNQ0z%8m>`&1ro40HX} z{{3YQ;2F9JnVTvDY<4)x+88i@MtXE6TBd7POk&QfKU-F&*C`isS(T_Q@}K)=zW#K@ zbXpcAkTT-T5k}Wj$dMZl7=GvlcCMt}U`#Oon1QdPq%>9J$rKTY8#OmlnNWBYwafhx zqFnym@okL#Xw>4SeRFejBnZzY$jbO)e^&&sHBgMP%Ygfi!9_3hp17=AwLBNFTimf0 zw6BHNXw19Jg_Ud6`5n#gMpqe%9!QB^_7wAYv8nrW94A{*t8XZu0UT&`ZHfkd(F{Px zD&NbRJP#RX<=+sEeGs2`9_*J2OlECpR;4uJie-d__m*(aaGE}HIo+3P{my@;a~9Y$ zHBXVJ83#&@o6{M+pE9^lI<4meLLFN_3rwgR4IRyp)~OF0n+#ORrcJ2_On9-78bWbG zuCO0esc*n1X3@p1?lN{qWS?l7J$^jbpeel{w~51*0CM+q9@9X=>%MF(ce~om(}?td zjkUmdUR@LOn-~6LX#=@a%rvj&>DFEoQscOvvC@&ZB5jVZ-;XzAshwx$;Qf@U41W=q zOSSjQGQV8Qi3*4DngNMIM&Cxm7z*-K`~Bl(TcEUxjQ1c=?)?wF8W1g;bAR%sM#LK( z_Op?=P%)Z+J!>vpN`By0$?B~Out%P}kCriDq@}In&fa_ZyKV+nLM0E?hfxuu%ciUz z>yAk}OydbWNl7{)#112j&qmw;*Uj&B;>|;Qwfc?5wIYIHH}s6Mve@5c5r+y)jK9i( z_}@uC(98g)==AGkVN?4>o@w=7x9qhW^ zB(b5%%4cHSV?3M?k&^py)j*LK16T^Ef4tb05-h-tyrjt$5!oo4spEfXFK7r_Gfv7#x$bsR7T zs;dqxzUg9v&GjsQGKTP*=B(;)be2aN+6>IUz+Hhw-n>^|`^xu*xvjGPaDoFh2W4-n z@Wji{5Y$m>@Vt7TE_QVQN4*vcfWv5VY-dT0SV=l=8LAEq1go*f zkjukaDV=3kMAX6GAf0QOQHwP^{Z^=#Lc)sh`QB)Ftl&31jABvq?8!3bt7#8vxB z53M{4{GR4Hl~;W3r}PgXSNOt477cO62Yj(HcK&30zsmWpvAplCtpp&mC{`2Ue*Bwu zF&UX1;w%`Bs1u%RtGPFl=&sHu@Q1nT`z={;5^c^^S~^?2-?<|F9RT*KQmfgF!7=wD@hytxbD;=9L6PZrK*1<4HMObNWehA62DtTy)q5H|57 z9dePuC!1;0MMRRl!S@VJ8qG=v^~aEU+}2Qx``h1LII!y{crP2ky*R;Cb;g|r<#ryo zju#s4dE?5CTIZKc*O4^3qWflsQ(voX>(*_JP7>Q&$%zCAIBTtKC^JUi@&l6u&t0hXMXjz_y!;r@?k|OU9aD%938^TZ>V? zqJmom_6dz4DBb4Cgs_Ef@}F%+cRCR%UMa9pi<-KHN;t#O@cA%(LO1Rb=h?5jiTs93 zPLR78p+3t>z4|j=<>2i4b`ketv}9Ax#B0)hn7@bFl;rDfP8p7u9XcEb!5*PLKB(s7wQC2kzI^@ae)|DhNDmSy1bOLid%iIap@24A(q2XI!z_hkl-$1T10 z+KKugG4-}@u8(P^S3PW4x>an;XWEF-R^gB{`t8EiP{ZtAzoZ!JRuMRS__-Gg#Qa3{<;l__CgsF+nfmFNi}p z>rV!Y6B@cC>1up)KvaEQiAvQF!D>GCb+WZsGHjDeWFz?WVAHP65aIA8u6j6H35XNYlyy8>;cWe3ekr};b;$9)0G`zsc9LNsQ&D?hvuHRpBxH)r-1t9|Stc*u<}Ol&2N+wPMom}d15_TA=Aprp zjN-X3*Af$7cDWMWp##kOH|t;c2Pa9Ml4-)o~+7P;&q8teF-l}(Jt zTGKOQqJTeT!L4d}Qw~O0aanA$Vn9Rocp-MO4l*HK)t%hcp@3k0%&_*wwpKD6ThM)R z8k}&7?)YS1ZYKMiy?mn>VXiuzX7$Ixf7EW8+C4K^)m&eLYl%#T=MC;YPvD&w#$MMf zQ=>`@rh&&r!@X&v%ZlLF42L_c=5dSU^uymKVB>5O?AouR3vGv@ei%Z|GX5v1GK2R* zi!!}?+-8>J$JH^fPu@)E6(}9$d&9-j51T^n-e0Ze%Q^)lxuex$IL^XJ&K2oi`wG}QVGk2a7vC4X?+o^z zsCK*7`EUfSuQA*K@Plsi;)2GrayQOG9OYF82Hc@6aNN5ulqs1Of-(iZQdBI^U5of^ zZg2g=Xtad7$hfYu6l~KDQ}EU;oIj(3nO#u9PDz=eO3(iax7OCmgT2p_7&^3q zg7aQ;Vpng*)kb6=sd5?%j5Dm|HczSChMo8HHq_L8R;BR5<~DVyU$8*Tk5}g0eW5x7 z%d)JFZ{(Y<#OTKLBA1fwLM*fH7Q~7Sc2Ne;mVWqt-*o<;| z^1@vo_KTYaMnO$7fbLL+qh#R$9bvnpJ$RAqG+z8h|} z3F5iwG*(sCn9Qbyg@t0&G}3fE0jGq3J!JmG2K&$urx^$z95) z7h?;4vE4W=v)uZ*Eg3M^6f~|0&T)2D;f+L_?M*21-I1pnK(pT$5l#QNlT`SidYw~o z{`)G)Asv#cue)Ax1RNWiRUQ(tQ(bzd-f2U4xlJK+)ZWBxdq#fp=A>+Qc%-tl(c)`t z$e2Ng;Rjvnbu7((;v4LF9Y1?0el9hi!g>G{^37{ z`^s-03Z5jlnD%#Mix19zkU_OS|86^_x4<0(*YbPN}mi-$L?Z4K(M|2&VV*n*ZYN_UqI?eKZi3!b)i z%n3dzUPMc-dc|q}TzvPy!VqsEWCZL(-eURDRG4+;Eu!LugSSI4Fq$Ji$Dp08`pfP_C5Yx~`YKcywlMG;$F z)R5!kVml_Wv6MSpeXjG#g?kJ0t_MEgbXlUN3k|JJ%N>|2xn8yN>>4qxh!?dGI}s|Y zDTKd^JCrRSN+%w%D_uf=Tj6wIV$c*g8D96jb^Kc#>5Fe-XxKC@!pIJw0^zu;`_yeb zhUEm-G*C=F+jW%cP(**b61fTmPn2WllBr4SWNdKe*P8VabZsh0-R|?DO=0x`4_QY) zR7sthW^*BofW7{Sak&S1JdiG?e=SfL24Y#w_)xrBVhGB-13q$>mFU|wd9Xqe-o3{6 zSn@@1@&^)M$rxb>UmFuC+pkio#T;mSnroMVZJ%nZ!uImi?%KsIX#@JU2VY(`kGb1A z7+1MEG)wd@)m^R|a2rXeviv$!emwcY(O|M*xV!9%tBzarBOG<4%gI9SW;Um_gth4=gznYzOFd)y8e+3APCkL)i-OI`;@7-mCJgE`js(M} z;~ZcW{{FMVVO)W>VZ}ILouF#lWGb%Couu}TI4kubUUclW@jEn6B_^v!Ym*(T*4HF9 zWhNKi8%sS~viSdBtnrq!-Dc5(G^XmR>DFx8jhWvR%*8!m*b*R8e1+`7{%FACAK`7 zzdy8TmBh?FVZ0vtw6npnWwM~XjF2fNvV#ZlGG z?FxHkXHN>JqrBYoPo$)zNC7|XrQfcqmEXWud~{j?La6@kbHG@W{xsa~l1=%eLly8B z4gCIH05&Y;6O2uFSopNqP|<$ml$N40^ikxw0`o<~ywS1(qKqQN!@?Ykl|bE4M?P+e zo$^Vs_+x)iuw?^>>`$&lOQOUkZ5>+OLnRA)FqgpDjW&q*WAe(_mAT6IKS9;iZBl8M z<@=Y%zcQUaSBdrs27bVK`c$)h6A1GYPS$y(FLRD5Yl8E3j0KyH08#8qLrsc_qlws; znMV%Zq8k+&T2kf%6ZO^2=AE9>?a587g%-={X}IS~P*I(NeCF9_9&`)|ok0iiIun zo+^odT0&Z4k;rn7I1v87=z!zKU(%gfB$(1mrRYeO$sbqM22Kq68z9wgdg8HBxp>_< zn9o%`f?sVO=IN#5jSX&CGODWlZfQ9A)njK2O{JutYwRZ?n0G_p&*uwpE`Md$iQxrd zoQfF^b8Ou)+3BO_3_K5y*~?<(BF@1l+@?Z6;^;U>qlB)cdro;rxOS1M{Az$s^9o5sXDCg8yD<=(pKI*0e zLk>@lo#&s0)^*Q+G)g}C0IErqfa9VbL*Qe=OT@&+N8m|GJF7jd83vY#SsuEv2s{Q> z>IpoubNs>D_5?|kXGAPgF@mb_9<%hjU;S0C8idI)a=F#lPLuQJ^7OnjJlH_Sks9JD zMl1td%YsWq3YWhc;E$H1<0P$YbSTqs`JKY%(}svsifz|h8BHguL82dBl+z0^YvWk8 zGy;7Z0v5_FJ2A$P0wIr)lD?cPR%cz>kde!=W%Ta^ih+Dh4UKdf7ip?rBz@%y2&>`6 zM#q{JXvW9ZlaSk1oD!n}kSmcDa2v6T^Y-dy+#fW^y>eS8_%<7tWXUp8U@s$^{JFfKMjDAvR z$YmVB;n3ofl!ro9RNT!TpQpcycXCR}$9k5>IPWDXEenQ58os?_weccrT+Bh5sLoiH zZ_7~%t(vT)ZTEO= zb0}@KaD{&IyK_sd8b$`Qz3%UA`nSo zn``!BdCeN!#^G;lK@G2ron*0jQhbdw)%m$2;}le@z~PSLnU-z@tL)^(p%P>OO^*Ff zNRR9oQ`W+x^+EU+3BpluwK77|B3=8QyT|$V;02bn_LF&3LhLA<#}{{)jE)}CiW%VEU~9)SW+=F%7U-iYlQ&q!#N zwI2{(h|Pi&<8_fqvT*}FLN^0CxN}#|3I9G_xmVg$gbn2ZdhbmGk7Q5Q2Tm*ox8NMo zv`iaZW|ZEOMyQga5fts?&T-eCCC9pS0mj7v0SDkD=*^MxurP@89v&Z#3q{FM!a_nr zb?KzMv`BBFOew>4!ft@A&(v-kWXny-j#egKef|#!+3>26Qq0 zv!~8ev4G`7Qk>V1TaMT-&ziqoY3IJp8_S*%^1j73D|=9&;tDZH^!LYFMmME4*Wj(S zRt~Q{aLb_O;wi4u&=}OYuj}Lw*j$@z*3>4&W{)O-oi@9NqdoU!=U%d|se&h?^$Ip# z)BY+(1+cwJz!yy4%l(aLC;T!~Ci>yAtXJb~b*yr&v7f{YCU8P|N1v~H`xmGsG)g)y z4%mv=cPd`s7a*#OR7f0lpD$ueP>w8qXj0J&*7xX+U!uat5QNk>zwU$0acn5p=$88L=jn_QCSYkTV;1~(yUem#0gB`FeqY98sf=>^@ z_MCdvylv~WL%y_%y_FE1)j;{Szj1+K7Lr_y=V+U zk6Tr;>XEqlEom~QGL!a+wOf(@ZWoxE<$^qHYl*H1a~kk^BLPn785%nQb$o;Cuz0h& za9LMx^bKEbPS%e8NM33Jr|1T|ELC(iE!FUci38xW_Y7kdHid#2ie+XZhP;2!Z;ZAM zB_cXKm)VrPK!SK|PY00Phwrpd+x0_Aa;}cDQvWKrwnQrqz##_gvHX2ja?#_{f#;bz`i>C^^ zTLDy;6@HZ~XQi7rph!mz9k!m;KchA)uMd`RK4WLK7)5Rl48m#l>b(#`WPsl<0j z-sFkSF6>Nk|LKnHtZ`W_NnxZP62&w)S(aBmmjMDKzF%G;3Y?FUbo?>b5;0j8Lhtc4 zr*8d5Y9>g@FFZaViw7c16VsHcy0u7M%6>cG1=s=Dtx?xMJSKIu9b6GU8$uSzf43Y3 zYq|U+IWfH;SM~*N1v`KJo!|yfLxTFS?oHsr3qvzeVndVV^%BWmW6re_S!2;g<|Oao z+N`m#*i!)R%i1~NO-xo{qpwL0ZrL7hli;S z3L0lQ_z}z`fdK39Mg~Zd*%mBdD;&5EXa~@H(!###L`ycr7gW`f)KRuqyHL3|uyy3h zSS^td#E&Knc$?dXs*{EnPYOp^-vjAc-h4z#XkbG&REC7;0>z^^Z}i8MxGKerEY z>l?(wReOlXEsNE5!DO&ZWyxY)gG#FSZs%fXuzA~XIAPVp-%yb2XLSV{1nH6{)5opg z(dZKckn}Q4Li-e=eUDs1Psg~5zdn1>ql(*(nn6)iD*OcVkwmKL(A{fix(JhcVB&}V zVt*Xb!{gzvV}dc446>(D=SzfCu7KB`oMjv6kPzSv&B>>HLSJP|wN`H;>oRw*tl#N) z*zZ-xwM7D*AIsBfgqOjY1Mp9aq$kRa^dZU_xw~KxP;|q(m+@e+YSn~`wEJzM|Ippb zzb@%;hB7iH4op9SqmX?j!KP2chsb79(mFossBO-Zj8~L}9L%R%Bw<`^X>hjkCY5SG z7lY!8I2mB#z)1o;*3U$G)3o0A&{0}#B;(zPd2`OF`Gt~8;0Re8nIseU z_yzlf$l+*-wT~_-cYk$^wTJ@~7i@u(CZs9FVkJCru<*yK8&>g+t*!JqCN6RH%8S-P zxH8+Cy#W?!;r?cLMC(^BtAt#xPNnwboI*xWw#T|IW^@3|q&QYY6Ehxoh@^URylR|T zne-Y6ugE^7p5bkRDWIh)?JH5V^ub82l-LuVjDr7UT^g`q4dB&mBFRWGL_C?hoeL(% zo}ocH5t7|1Mda}T!^{Qt9vmA2ep4)dQSZO>?Eq8}qRp&ZJ?-`Tnw+MG(eDswP(L*X3ahC2Ad0_wD^ff9hfzb%Jd`IXx5 zae@NMzBXJDwJS?7_%!TB^E$N8pvhOHDK$7YiOelTY`6KX8hK6YyT$tk*adwN>s^Kp zwM3wGVPhwKU*Yq-*BCs}l`l#Tej(NQ>jg*S0TN%D+GcF<14Ms6J`*yMY;W<-mMN&-K>((+P}+t+#0KPGrzjP zJ~)=Bcz%-K!L5ozIWqO(LM)l_9lVOc4*S65&DKM#TqsiWNG{(EZQw!bc>qLW`=>p-gVJ;T~aN2D_- z{>SZC=_F+%hNmH6ub%Ykih0&YWB!%sd%W5 zHC2%QMP~xJgt4>%bU>%6&uaDtSD?;Usm}ari0^fcMhi_)JZgb1g5j zFl4`FQ*%ROfYI}e7RIq^&^a>jZF23{WB`T>+VIxj%~A-|m=J7Va9FxXV^%UwccSZd zuWINc-g|d6G5;95*%{e;9S(=%yngpfy+7ao|M7S|Jb0-4+^_q-uIqVS&ufU880UDH*>(c)#lt2j zzvIEN>>$Y(PeALC-D?5JfH_j+O-KWGR)TKunsRYKLgk7eu4C{iF^hqSz-bx5^{z0h ze2+u>Iq0J4?)jIo)}V!!m)%)B;a;UfoJ>VRQ*22+ncpe9f4L``?v9PH&;5j{WF?S_C>Lq>nkChZB zjF8(*v0c(lU^ZI-)_uGZnnVRosrO4`YinzI-RSS-YwjYh3M`ch#(QMNw*)~Et7Qpy z{d<3$4FUAKILq9cCZpjvKG#yD%-juhMj>7xIO&;c>_7qJ%Ae8Z^m)g!taK#YOW3B0 zKKSMOd?~G4h}lrZbtPk)n*iOC1~mDhASGZ@N{G|dF|Q^@1ljhe=>;wusA&NvY*w%~ zl+R6B^1yZiF)YN>0ms%}qz-^U-HVyiN3R9k1q4)XgDj#qY4CE0)52%evvrrOc898^ z*^)XFR?W%g0@?|6Mxo1ZBp%(XNv_RD-<#b^?-Fs+NL^EUW=iV|+Vy*F%;rBz~pN7%-698U-VMfGEVnmEz7fL1p)-5sLT zL;Iz>FCLM$p$c}g^tbkGK1G$IALq1Gd|We@&TtW!?4C7x4l*=4oF&&sr0Hu`x<5!m zhX&&Iyjr?AkNXU_5P_b^Q3U9sy#f6ZF@2C96$>1k*E-E%DjwvA{VL0PdU~suN~DZo zm{T!>sRdp`Ldpp9olrH@(J$QyGq!?#o1bUo=XP2OEuT3`XzI>s^0P{manUaE4pI%! zclQq;lbT;nx7v3tR9U)G39h?ryrxzd0xq4KX7nO?piJZbzT_CU&O=T(Vt;>jm?MgC z2vUL#*`UcMsx%w#vvjdamHhmN!(y-hr~byCA-*iCD};#l+bq;gkwQ0oN=AyOf@8ow>Pj<*A~2*dyjK}eYdN);%!t1 z6Y=|cuEv-|5BhA?n2Db@4s%y~(%Wse4&JXw=HiO48%c6LB~Z0SL1(k^9y?ax%oj~l zf7(`iAYLdPRq*ztFC z7VtAb@s{as%&Y;&WnyYl+6Wm$ru*u!MKIg_@01od-iQft0rMjIj8e7P9eKvFnx_X5 zd%pDg-|8<>T2Jdqw>AII+fe?CgP+fL(m0&U??QL8YzSjV{SFi^vW~;wN@or_(q<0Y zRt~L}#JRcHOvm$CB)T1;;7U>m%)QYBLTR)KTARw%zoDxgssu5#v{UEVIa<>{8dtkm zXgbCGp$tfue+}#SD-PgiNT{Zu^YA9;4BnM(wZ9-biRo_7pN}=aaimjYgC=;9@g%6< zxol5sT_$<8{LiJ6{l1+sV)Z_QdbsfEAEMw!5*zz6)Yop?T0DMtR_~wfta)E6_G@k# zZRP11D}$ir<`IQ`<(kGfAS?O-DzCyuzBq6dxGTNNTK?r^?zT30mLY!kQ=o~Hv*k^w zvq!LBjW=zzIi%UF@?!g9vt1CqdwV(-2LYy2=E@Z?B}JDyVkluHtzGsWuI1W5svX~K z&?UJ45$R7g>&}SFnLnmw09R2tUgmr_w6mM9C}8GvQX>nL&5R#xBqnp~Se(I>R42`T zqZe9p6G(VzNB3QD><8+y%{e%6)sZDRXTR|MI zM#eZmao-~_`N|>Yf;a;7yvd_auTG#B?Vz5D1AHx=zpVUFe7*hME z+>KH5h1In8hsVhrstc>y0Q!FHR)hzgl+*Q&5hU9BVJlNGRkXiS&06eOBV^dz3;4d5 zeYX%$62dNOprZV$px~#h1RH?_E%oD6y;J;pF%~y8M)8pQ0olYKj6 zE+hd|7oY3ot=j9ZZ))^CCPADL6Jw%)F@A{*coMApcA$7fZ{T@3;WOQ352F~q6`Mgi z$RI6$8)a`Aaxy<8Bc;{wlDA%*%(msBh*xy$L-cBJvQ8hj#FCyT^%+Phw1~PaqyDou^JR0rxDkSrmAdjeYDFDZ`E z)G3>XtpaSPDlydd$RGHg;#4|4{aP5c_Om z2u5xgnhnA)K%8iU==}AxPxZCYC)lyOlj9as#`5hZ=<6<&DB%i_XCnt5=pjh?iusH$ z>)E`@HNZcAG&RW3Ys@`Ci{;8PNzE-ZsPw$~Wa!cP$ye+X6;9ceE}ah+3VY7Mx}#0x zbqYa}eO*FceiY2jNS&2cH9Y}(;U<^^cWC5Ob&)dZedvZA9HewU3R;gRQ)}hUdf+~Q zS_^4ds*W1T#bxS?%RH&<739q*n<6o|mV;*|1s>ly-Biu<2*{!!0#{_234&9byvn0* z5=>{95Zfb{(?h_Jk#ocR$FZ78O*UTOxld~0UF!kyGM|nH%B*qf)Jy}N!uT9NGeM19 z-@=&Y0yGGo_dw!FD>juk%P$6$qJkj}TwLBoefi;N-$9LAeV|)|-ET&culW9Sb_pc_ zp{cXI0>I0Jm_i$nSvGnYeLSSj{ccVS2wyL&0x~&5v;3Itc82 z5lIAkfn~wcY-bQB$G!ufWt%qO;P%&2B_R5UKwYxMemIaFm)qF1rA zc>gEihb=jBtsXCi0T%J37s&kt*3$s7|6)L(%UiY)6axuk{6RWIS8^+u;)6!R?Sgap z9|6<0bx~AgVi|*;zL@2x>Pbt2Bz*uv4x-`{F)XatTs`S>unZ#P^ZiyjpfL_q2z^fqgR-fbOcG=Y$q>ozkw1T6dH8-)&ww+z?E0 zR|rV(9bi6zpX3Ub>PrPK!{X>e$C66qCXAeFm)Y+lX8n2Olt7PNs*1^si)j!QmFV#t z0P2fyf$N^!dyTot&`Ew5{i5u<8D`8U`qs(KqaWq5iOF3x2!-z65-|HsyYz(MAKZ?< zCpQR;E)wn%s|&q(LVm0Ab>gdmCFJeKwVTnv@Js%!At;I=A>h=l=p^&<4;Boc{$@h< z38v`3&2wJtka@M}GS%9!+SpJ}sdtoYzMevVbnH+d_eMxN@~~ zZq@k)7V5f8u!yAX2qF3qjS7g%n$JuGrMhQF!&S^7(%Y{rP*w2FWj(v_J{+Hg*}wdWOd~pHQ19&n3RWeljK9W%sz&Y3Tm3 zR`>6YR54%qBHGa)2xbs`9cs_EsNHxsfraEgZ)?vrtooeA0sPKJK7an){ngtV@{SBa zkO6ORr1_Xqp+`a0e}sC*_y(|RKS13ikmHp3C^XkE@&wjbGWrt^INg^9lDz#B;bHiW zkK4{|cg08b!yHFSgPca5)vF&gqCgeu+c82%&FeM^Bb}GUxLy-zo)}N;#U?sJ2?G2BNe*9u_7kE5JeY!it=f`A_4gV3} z`M!HXZy#gN-wS!HvHRqpCHUmjiM;rVvpkC!voImG%OFVN3k(QG@X%e``VJSJ@Z7tb z*Onlf>z^D+&$0!4`IE$;2-NSO9HQWd+UFW(r;4hh;(j^p4H-~6OE!HQp^96v?{9Zt z;@!ZcccV%C2s6FMP#qvo4kG6C04A>XILt>JW}%0oE&HM5f6 zYLD!;My>CW+j<~=Wzev{aYtx2ZNw|ptTFV(4;9`6Tmbz6K1)fv4qPXa2mtoPt&c?P zhmO+*o8uP3ykL6E$il00@TDf6tOW7fmo?Oz_6GU^+5J=c22bWyuH#aNj!tT-^IHrJ zu{aqTYw@q;&$xDE*_kl50Jb*dp`(-^p={z}`rqECTi~3 z>0~A7L6X)=L5p#~$V}gxazgGT7$3`?a)zen>?TvAuQ+KAIAJ-s_v}O6@`h9n-sZk> z`3{IJeb2qu9w=P*@q>iC`5wea`KxCxrx{>(4{5P+!cPg|pn~;n@DiZ0Y>;k5mnKeS z!LIfT4{Lgd=MeysR5YiQKCeNhUQ;Os1kAymg6R!u?j%LF z4orCszIq_n52ulpes{(QN|zirdtBsc{9^Z72Ycb2ht?G^opkT_#|4$wa9`)8k3ilU z%ntAi`nakS1r10;#k^{-ZGOD&Z2|k=p40hRh5D7(&JG#Cty|ECOvwsSHkkSa)36$4 z?;v#%@D(=Raw(HP5s>#4Bm?f~n1@ebH}2tv#7-0l-i^H#H{PC|F@xeNS+Yw{F-&wH z07)bj8MaE6`|6NoqKM~`4%X> zKFl&7g1$Z3HB>lxn$J`P`6GSb6CE6_^NA1V%=*`5O!zP$a7Vq)IwJAki~XBLf=4TF zPYSL}>4nOGZ`fyHChq)jy-f{PKFp6$plHB2=;|>%Z^%)ecVue(*mf>EH_uO^+_zm? zJATFa9SF~tFwR#&0xO{LLf~@}s_xvCPU8TwIJgBs%FFzjm`u?1699RTui;O$rrR{# z1^MqMl5&6)G%@_k*$U5Kxq84!AdtbZ!@8FslBML}<`(Jr zenXrC6bFJP=R^FMBg7P?Pww-!a%G@kJH_zezKvuWU0>m1uyy}#Vf<$>u?Vzo3}@O% z1JR`B?~Tx2)Oa|{DQ_)y9=oY%haj!80GNHw3~qazgU-{|q+Bl~H94J!a%8UR?XsZ@ z0*ZyQugyru`V9b(0OrJOKISfi89bSVR zQy<+i_1XY}4>|D%X_`IKZUPz6=TDb)t1mC9eg(Z=tv zq@|r37AQM6A%H%GaH3szv1L^ku~H%5_V*fv$UvHl*yN4iaqWa69T2G8J2f3kxc7UE zOia@p0YNu_q-IbT%RwOi*|V|&)e5B-u>4=&n@`|WzH}BK4?33IPpXJg%`b=dr_`hU z8JibW_3&#uIN_#D&hX<)x(__jUT&lIH$!txEC@cXv$7yB&Rgu){M`9a`*PH} zRcU)pMWI2O?x;?hzR{WdzKt^;_pVGJAKKd)F$h;q=Vw$MP1XSd<;Mu;EU5ffyKIg+ z&n-Nb?h-ERN7(fix`htopPIba?0Gd^y(4EHvfF_KU<4RpN0PgVxt%7Yo99X*Pe|zR z?ytK&5qaZ$0KSS$3ZNS$$k}y(2(rCl=cuYZg{9L?KVgs~{?5adxS))Upm?LDo||`H zV)$`FF3icFmxcQshXX*1k*w3O+NjBR-AuE70=UYM*7>t|I-oix=bzDwp2*RoIwBp@r&vZukG; zyi-2zdyWJ3+E?{%?>e2Ivk`fAn&Ho(KhGSVE4C-zxM-!j01b~mTr>J|5={PrZHOgO zw@ND3=z(J7D>&C7aw{zT>GHhL2BmUX0GLt^=31RRPSnjoUO9LYzh_yegyPoAKhAQE z>#~O27dR4&LdQiak6={9_{LN}Z>;kyVYKH^d^*!`JVSXJlx#&r4>VnP$zb{XoTb=> zZsLvh>keP3fkLTIDdpf-@(ADfq4=@X=&n>dyU0%dwD{zsjCWc;r`-e~X$Q3NTz_TJ zOXG|LMQQIjGXY3o5tBm9>k6y<6XNO<=9H@IXF;63rzsC=-VuS*$E{|L_i;lZmHOD< zY92;>4spdeRn4L6pY4oUKZG<~+8U-q7ZvNOtW0i*6Q?H`9#U3M*k#4J;ek(MwF02x zUo1wgq9o6XG#W^mxl>pAD)Ll-V5BNsdVQ&+QS0+K+?H-gIBJ-ccB1=M_hxB6qcf`C zJ?!q!J4`kLhAMry4&a_0}up{CFevcjBl|N(uDM^N5#@&-nQt2>z*U}eJGi}m5f}l|IRVj-Q;a>wcLpK5RRWJ> zysdd$)Nv0tS?b~bw1=gvz3L_ZAIdDDPj)y|bp1;LE`!av!rODs-tlc}J#?erTgXRX z$@ph%*~_wr^bQYHM7<7=Q=45v|Hk7T=mDpW@OwRy3A_v`ou@JX5h!VI*e((v*5Aq3 zVYfB4<&^Dq5%^?~)NcojqK`(VXP$`#w+&VhQOn%;4pCkz;NEH6-FPHTQ+7I&JE1+Ozq-g43AEZV>ceQ^9PCx zZG@OlEF~!Lq@5dttlr%+gNjRyMwJdJU(6W_KpuVnd{3Yle(-p#6erIRc${l&qx$HA z89&sp=rT7MJ=DuTL1<5{)wtUfpPA|Gr6Q2T*=%2RFm@jyo@`@^*{5{lFPgv>84|pv z%y{|cVNz&`9C*cUely>-PRL)lHVErAKPO!NQ3<&l5(>Vp(MuJnrOf^4qpIa!o3D7( z1bjn#Vv$#or|s7Hct5D@%;@48mM%ISY7>7@ft8f?q~{s)@BqGiupoK1BAg?PyaDQ1 z`YT8{0Vz{zBwJ={I4)#ny{RP{K1dqzAaQN_aaFC%Z>OZ|^VhhautjDavGtsQwx@WH zr|1UKk^+X~S*RjCY_HN!=Jx>b6J8`Q(l4y|mc<6jnkHVng^Wk(A13-;AhawATsmmE#H%|8h}f1frs2x@Fwa_|ea+$tdG2Pz{7 z!ox^w^>^Cv4e{Xo7EQ7bxCe8U+LZG<_e$RnR?p3t?s^1Mb!ieB z#@45r*PTc_yjh#P=O8Zogo+>1#|a2nJvhOjIqKK1U&6P)O%5s~M;99O<|Y9zomWTL z666lK^QW`)cXV_^Y05yQZH3IRCW%25BHAM$c0>w`x!jh^15Zp6xYb!LoQ zr+RukTw0X2mxN%K0%=8|JHiaA3pg5+GMfze%9o5^#upx0M?G9$+P^DTx7~qq9$Qoi zV$o)yy zuUq>3c{_q+HA5OhdN*@*RkxRuD>Bi{Ttv_hyaaB;XhB%mJ2Cb{yL;{Zu@l{N?!GKE7es6_9J{9 zO(tmc0ra2;@oC%SS-8|D=omQ$-Dj>S)Utkthh{ovD3I%k}HoranSepC_yco2Q8 zY{tAuPIhD{X`KbhQIr%!t+GeH%L%q&p z3P%<-S0YY2Emjc~Gb?!su85}h_qdu5XN2XJUM}X1k^!GbwuUPT(b$Ez#LkG6KEWQB z7R&IF4srHe$g2R-SB;inW9T{@+W+~wi7VQd?}7||zi!&V^~o0kM^aby7YE_-B63^d zf_uo8#&C77HBautt_YH%v6!Q>H?}(0@4pv>cM6_7dHJ)5JdyV0Phi!)vz}dv{*n;t zf(+#Hdr=f8DbJqbMez)(n>@QT+amJ7g&w6vZ-vG^H1v~aZqG~u!1D(O+jVAG0EQ*aIsr*bsBdbD`)i^FNJ z&B@yxqPFCRGT#}@dmu-{0vp47xk(`xNM6E=7QZ5{tg6}#zFrd8Pb_bFg7XP{FsYP8 zbvWqG6#jfg*4gvY9!gJxJ3l2UjP}+#QMB(*(?Y&Q4PO`EknE&Cb~Yb@lCbk;-KY)n zzbjS~W5KZ3FV%y>S#$9Sqi$FIBCw`GfPDP|G=|y32VV-g@a1D&@%_oAbB@cAUx#aZ zlAPTJ{iz#Qda8(aNZE&0q+8r3&z_Ln)b=5a%U|OEcc3h1f&8?{b8ErEbilrun}mh3 z$1o^$-XzIiH|iGoJA`w`o|?w3m*NX|sd$`Mt+f*!hyJvQ2fS*&!SYn^On-M|pHGlu z4SC5bM7f6BAkUhGuN*w`97LLkbCx=p@K5RL2p>YpDtf{WTD|d3ucb6iVZ-*DRtoEA zCC5(x)&e=giR_id>5bE^l%Mxx>0@FskpCD4oq@%-Fg$8IcdRwkfn;DsjoX(v;mt3d z_4Mnf#Ft4x!bY!7Hz?RRMq9;5FzugD(sbt4up~6j?-or+ch~y_PqrM2hhTToJjR_~ z)E1idgt7EW>G*9%Q^K;o_#uFjX!V2pwfpgi>}J&p_^QlZki!@#dkvR`p?bckC`J*g z=%3PkFT3HAX2Q+dShHUbb1?ZcK8U7oaufLTCB#1W{=~k0Jabgv>q|H+GU=f-y|{p4 zwN|AE+YbCgx=7vlXE?@gkXW9PaqbO#GB=4$o0FkNT#EI?aLVd2(qnPK$Yh%YD%v(mdwn}bgsxyIBI^)tY?&G zi^2JfClZ@4b{xFjyTY?D61w@*ez2@5rWLpG#34id?>>oPg{`4F-l`7Lg@D@Hc}On} zx%BO4MsLYosLGACJ-d?ifZ35r^t*}wde>AAWO*J-X%jvD+gL9`u`r=kP zyeJ%FqqKfz8e_3K(M1RmB?gIYi{W7Z<THP2ihue0mbpu5n(x_l|e1tw(q!#m5lmef6ktqIb${ zV+ee#XRU}_dDDUiV@opHZ@EbQ<9qIZJMDsZDkW0^t3#j`S)G#>N^ZBs8k+FJhAfu< z%u!$%dyP3*_+jUvCf-%{x#MyDAK?#iPfE<(@Q0H7;a125eD%I(+!x1f;Sy`e<9>nm zQH4czZDQmW7^n>jL)@P@aAuAF$;I7JZE5a8~AJI5CNDqyf$gjloKR7C?OPt9yeH}n5 zNF8Vhmd%1O>T4EZD&0%Dt7YWNImmEV{7QF(dy!>q5k>Kh&Xy8hcBMUvVV~Xn8O&%{ z&q=JCYw#KlwM8%cu-rNadu(P~i3bM<_a{3!J*;vZhR6dln6#eW0^0kN)Vv3!bqM`w z{@j*eyzz=743dgFPY`Cx3|>ata;;_hQ3RJd+kU}~p~aphRx`03B>g4*~f%hUV+#D9rYRbsGD?jkB^$3XcgB|3N1L& zrmk9&Dg450mAd=Q_p?gIy5Zx7vRL?*rpNq76_rysFo)z)tp0B;7lSb9G5wX1vC9Lc z5Q8tb-alolVNWFsxO_=12o}X(>@Mwz1mkYh1##(qQwN=7VKz?61kay8A9(94Ky(4V zq6qd2+4a20Z0QRrmp6C?4;%U?@MatfXnkj&U6bP_&2Ny}BF%4{QhNx*Tabik9Y-~Z z@0WV6XD}aI(%pN}oW$X~Qo_R#+1$@J8(31?zM`#e`#(0f<-AZ^={^NgH#lc?oi(Mu zMk|#KR^Q;V@?&(sh5)D;-fu)rx%gXZ1&5)MR+Mhssy+W>V%S|PRNyTAd}74<(#J>H zR(1BfM%eIv0+ngHH6(i`?-%_4!6PpK*0X)79SX0X$`lv_q>9(E2kkkP;?c@rW2E^Q zs<;`9dg|lDMNECFrD3jTM^Mn-C$44}9d9Kc z#>*k&e#25;D^%82^1d@Yt{Y91MbEu0C}-;HR4+IaCeZ`l?)Q8M2~&E^FvJ?EBJJ(% zz1>tCW-E~FB}DI}z#+fUo+=kQME^=eH>^%V8w)dh*ugPFdhMUi3R2Cg}Zak4!k_8YW(JcR-)hY8C zXja}R7@%Q0&IzQTk@M|)2ViZDNCDRLNI)*lH%SDa^2TG4;%jE4n`8`aQAA$0SPH2@ z)2eWZuP26+uGq+m8F0fZn)X^|bNe z#f{qYZS!(CdBdM$N2(JH_a^b#R2=>yVf%JI_ieRFB{w&|o9txwMrVxv+n78*aXFGb z>Rkj2yq-ED<)A46T9CL^$iPynv`FoEhUM10@J+UZ@+*@_gyboQ>HY9CiwTUo7OM=w zd~$N)1@6U8H#Zu(wGLa_(Esx%h@*pmm5Y9OX@CY`3kPYPQx@z8yAgtm(+agDU%4?c zy8pR4SYbu8vY?JX6HgVq7|f=?w(%`m-C+a@E{euXo>XrGmkmFGzktI*rj*8D z)O|CHKXEzH{~iS+6)%ybRD|JRQ6j<+u_+=SgnJP%K+4$st+~XCVcAjI9e5`RYq$n{ zzy!X9Nv7>T4}}BZpSj9G9|(4ei-}Du<_IZw+CB`?fd$w^;=j8?vlp(#JOWiHaXJjB0Q00RHJ@sG6N#y^H7t^&V} z;VrDI4?75G$q5W9mV=J2iP24NHJy&d|HWHva>FaS#3AO?+ohh1__FMx;?`f{HG3v0 ztiO^Wanb>U4m9eLhoc_2B(ca@YdnHMB*~aYO+AE(&qh@?WukLbf_y z>*3?Xt-lxr?#}y%kTv+l8;!q?Hq8XSU+1E8x~o@9$)zO2z9K#(t`vPDri`mKhv|sh z{KREcy`#pnV>cTT7dm7M9B@9qJRt3lfo(C`CNkIq@>|2<(yn!AmVN?ST zbX_`JjtWa3&N*U{K7FYX8})*D#2@KBae` zhKS~s!r%SrXdhCsv~sF}7?ocyS?afya6%rDBu6g^b2j#TOGp^1zrMR}|70Z>CeYq- z1o|-=FBKlu{@;pm@QQJ_^!&hzi;0Z_Ho){x3O1KQ#TYk=rAt9`YKC0Y^}8GWIN{QW znYJyVTrmNvl!L=YS1G8BAxGmMUPi+Q7yb0XfG`l+L1NQVSbe^BICYrD;^(rke{jWCEZOtVv3xFze!=Z&(7}!)EcN;v0Dbit?RJ6bOr;N$ z=nk8}H<kCEE+IK3z<+3mkn4q!O7TMWpKShWWWM)X*)m6k%3luF6c>zOsFccvfLWf zH+mNkh!H@vR#~oe=ek}W3!71z$Dlj0c(%S|sJr>rvw!x;oCek+8f8s!U{DmfHcNpO z9>(IKOMfJwv?ey`V2ysSx2Npeh_x#bMh)Ngdj$al;5~R7Ac5R2?*f{hI|?{*$0qU- zY$6}ME%OGh^zA^z9zJUs-?a4ni8cw_{cYED*8x{bWg!Fn9)n;E9@B+t;#k}-2_j@# zg#b%R(5_SJAOtfgFCBZc`n<&z6)%nOIu@*yo!a% zpLg#36KBN$01W{b;qWN`Tp(T#jh%;Zp_zpS64lvBVY2B#UK)p`B4Oo)IO3Z&D6<3S zfF?ZdeNEnzE{}#gyuv)>;z6V{!#bx)` zY;hL*f(WVD*D9A4$WbRKF2vf;MoZVdhfWbWhr{+Db5@M^A4wrFReuWWimA4qp`GgoL2`W4WPUL5A=y3Y3P z%G?8lLUhqo@wJW8VDT`j&%YY7xh51NpVYlsrk_i4J|pLO(}(b8_>%U2M`$iVRDc-n zQiOdJbroQ%*vhN{!{pL~N|cfGooK_jTJCA3g_qs4c#6a&_{&$OoSQr_+-O^mKP=Fu zGObEx`7Qyu{nHTGNj(XSX*NPtAILL(0%8Jh)dQh+rtra({;{W2=f4W?Qr3qHi*G6B zOEj7%nw^sPy^@05$lOCjAI)?%B%&#cZ~nC|=g1r!9W@C8T0iUc%T*ne z)&u$n>Ue3FN|hv+VtA+WW)odO-sdtDcHfJ7s&|YCPfWaVHpTGN46V7Lx@feE#Od%0XwiZy40plD%{xl+K04*se zw@X4&*si2Z_0+FU&1AstR)7!Th(fdaOlsWh`d!y=+3m!QC$Zlkg8gnz!}_B7`+wSz z&kD?6{zPnE3uo~Tv8mLP%RaNt2hcCJBq=0T>%MW~Q@Tpt2pPP1?KcywH>in5@ zx+5;xu-ltFfo5vLU;2>r$-KCHjwGR&1XZ0YNyrXXAUK!FLM_7mV&^;;X^*YH(FLRr z`0Jjg7wiq2bisa`CG%o9i)o1`uG?oFjU_Zrv1S^ipz$G-lc^X@~6*)#%nn+RbgksJfl{w=k31(q>7a!PCMp5YY{+Neh~mo zG-3dd!0cy`F!nWR?=9f_KP$X?Lz&cLGm_ohy-|u!VhS1HG~e7~xKpYOh=GmiiU;nu zrZ5tWfan3kp-q_vO)}vY6a$19Q6UL0r znJ+iSHN-&w@vDEZ0V%~?(XBr|jz&vrBNLOngULxtH(Rp&U*rMY42n;05F11xh?k;n_DX2$4|vWIkXnbwfC z=ReH=(O~a;VEgVO?>qsP*#eOC9Y<_9Yt<6X}X{PyF7UXIA$f)>NR5P&4G_Ygq(9TwwQH*P>Rq>3T4I+t2X(b5ogXBAfNf!xiF#Gilm zp2h{&D4k!SkKz-SBa%F-ZoVN$7GX2o=(>vkE^j)BDSGXw?^%RS9F)d_4}PN+6MlI8*Uk7a28CZ)Gp*EK)`n5i z){aq=0SFSO-;sw$nAvJU-$S-cW?RSc7kjEBvWDr1zxb1J7i;!i+3PQwb=)www?7TZ zE~~u)vO>#55eLZW;)F(f0KFf8@$p)~llV{nO7K_Nq-+S^h%QV_CnXLi)p*Pq&`s!d zK2msiR;Hk_rO8`kqe_jfTmmv|$MMo0ll}mI)PO4!ikVd(ZThhi&4ZwK?tD-}noj}v zBJ?jH-%VS|=t)HuTk?J1XaDUjd_5p1kPZi6y#F6$lLeRQbj4hsr=hX z4tXkX2d5DeLMcAYTeYm|u(XvG5JpW}hcOs4#s8g#ihK%@hVz|kL=nfiBqJ{*E*WhC zht3mi$P3a(O5JiDq$Syu9p^HY&9~<#H89D8 zJm84@%TaL_BZ+qy8+T3_pG7Q%z80hnjN;j>S=&WZWF48PDD%55lVuC0%#r5(+S;WH zS7!HEzmn~)Ih`gE`faPRjPe^t%g=F ztpGVW=Cj5ZkpghCf~`ar0+j@A=?3(j@7*pq?|9)n*B4EQTA1xj<+|(Y72?m7F%&&& zdO44owDBPT(8~RO=dT-K4#Ja@^4_0v$O3kn73p6$s?mCmVDUZ+Xl@QcpR6R3B$=am z%>`r9r2Z79Q#RNK?>~lwk^nQlR=Hr-ji$Ss3ltbmB)x@0{VzHL-rxVO(++@Yr@Iu2 zTEX)_9sVM>cX$|xuqz~Y8F-(n;KLAfi*63M7mh&gsPR>N0pd9h!0bm%nA?Lr zS#iEmG|wQd^BSDMk0k?G>S-uE$vtKEF8Dq}%vLD07zK4RLoS?%F1^oZZI$0W->7Z# z?v&|a`u#UD=_>i~`kzBGaPj!mYX5g?3RC4$5EV*j0sV)>H#+$G6!ci=6`)85LWR=FCp-NUff`;2zG9nU6F~ z;3ZyE*>*LvUgae+uMf}aV}V*?DCM>{o31+Sx~6+sz;TI(VmIpDrN3z+BUj`oGGgLP z>h9~MP}Pw#YwzfGP8wSkz`V#}--6}7S9yZvb{;SX?6PM_KuYpbi~*=teZr-ga2QqIz{QrEyZ@>eN*qmy;N@FCBbRNEeeoTmQyrX;+ zCkaJ&vOIbc^2BD6_H+Mrcl?Nt7O{xz9R_L0ZPV_u!sz+TKbXmhK)0QWoe-_HwtKJ@@7=L+ z+K8hhf=4vbdg3GqGN<;v-SMIzvX=Z`WUa_91Yf89^#`G(f-Eq>odB^p-Eqx}ENk#&MxJ+%~Ad2-*`1LNT>2INPw?*V3&kE;tt?rQyBw? zI+xJD04GTz1$7~KMnfpkPRW>f%n|0YCML@ODe`10;^DXX-|Hb*IE%_Vi#Pn9@#ufA z_8NY*1U%VseqYrSm?%>F@`laz+f?+2cIE4Jg6 z_VTcx|DSEA`g!R%RS$2dSRM|9VQClsW-G<~=j5T`pTbu-x6O`R z98b;}`rPM(2={YiytrqX+uh65f?%XiPp`;4CcMT*E*dQJ+if9^D>c_Dk8A(cE<#r=&!& z_`Z01=&MEE+2@yr!|#El=yM}v>i=?w^2E_FLPy(*4A9XmCNy>cBWdx3U>1RylsItO z4V8T$z3W-qqq*H`@}lYpfh=>C!tieKhoMGUi)EpWDr;yIL&fy};Y&l|)f^QE*k~4C zH>y`Iu%#S)z)YUqWO%el*Z)ME#p{1_8-^~6UF;kBTW zMQ!eXQuzkR#}j{qb(y9^Y!X7&T}}-4$%4w@w=;w+>Z%uifR9OoQ>P?0d9xpcwa>7kTv2U zT-F?3`Q`7xOR!gS@j>7In>_h){j#@@(ynYh;nB~}+N6qO(JO1xA z@59Pxc#&I~I64slNR?#hB-4XE>EFU@lUB*D)tu%uEa))B#eJ@ZOX0hIulfnDQz-y8 z`CX@(O%_VC{Ogh&ot``jlDL%R!f>-8yq~oLGxBO?+tQb5%k@a9zTs!+=NOwSVH-cR zqFo^jHeXDA_!rx$NzdP;>{-j5w3QUrR<;}=u2|FBJ;D#v{SK@Z6mjeV7_kFmWt95$ zeGaF{IU?U>?W`jzrG_9=9}yN*LKyzz))PLE+)_jc#4Rd$yFGol;NIk(qO1$5VXR)+ zxF7%f4=Q!NzR>DVXUB&nUT&>Nyf+5QRF+Z`X-bB*7=`|Go5D1&h~ zflKLw??kpiRm0h3|1GvySC2^#kcFz^5{79KKlq@`(leBa=_4CgV9sSHr{RIJ^KwR_ zY??M}-x^=MD+9`v@I3jue=OCn0kxno#6i>b(XKk_XTp_LpI}X*UA<#* zsgvq@yKTe_dTh>q1aeae@8yur08S(Q^8kXkP_ty48V$pX#y9)FQa~E7P7}GP_CbCm zc2dQxTeW(-~Y6}im24*XOC8ySfH*HMEnW3 z4CXp8iK(Nk<^D$g0kUW`8PXn2kdcDk-H@P0?G8?|YVlIFb?a>QunCx%B9TzsqQQ~HD!UO7zq^V!v9jho_FUob&Hxi ztU1nNOK)a!gkb-K4V^QVX05*>-^i|{b`hhvQLyj`E1vAnj0fbqqO%r z6Q;X1x0dL~GqMv%8QindZ4CZ%7pYQW~ z9)I*#Gjref-q(4Z*E#1c&rE0-_(4;_M(V7rgH_7H;ps1s%GBmU z{4a|X##j#XUF2n({v?ZUUAP5k>+)^F)7n-npbV3jAlY8V3*W=fwroDS$c&r$>8aH` zH+irV{RG3^F3oW2&E%5hXgMH9>$WlqX76Cm+iFmFC-DToTa`AcuN9S!SB+BT-IA#3P)JW1m~Cuwjs`Ep(wDXE4oYmt*aU z!Naz^lM}B)JFp7ejro7MU9#cI>wUoi{lylR2~s)3M!6a=_W~ITXCPd@U9W)qA5(mdOf zd3PntGPJyRX<9cgX?(9~TZB5FdEHW~gkJXY51}?s4ZT_VEdwOwD{T2E-B>oC8|_ZwsPNj=-q(-kwy%xX2K0~H z{*+W`-)V`7@c#Iuaef=?RR2O&x>W0A^xSwh5MsjTz(DVG-EoD@asu<>72A_h<39_# zawWVU<9t{r*e^u-5Q#SUI6dV#p$NYEGyiowT>>d*or=Ps!H$-3={bB|An$GPkP5F1 zTnu=ktmF|6E*>ZQvk^~DX(k!N`tiLut*?3FZhs$NUEa4ccDw66-~P;x+0b|<!ZN7Z%A`>2tN#CdoG>((QR~IV_Gj^Yh%!HdA~4C3jOXaqb6Ou z21T~Wmi9F6(_K0@KR@JDTh3-4mv2=T7&ML<+$4;b9SAtv*Uu`0>;VVZHB{4?aIl3J zL(rMfk?1V@l)fy{J5DhVlj&cWKJCcrpOAad(7mC6#%|Sn$VwMjtx6RDx1zbQ|Ngg8N&B56DGhu;dYg$Z{=YmCNn+?ceDclp65c_RnKs4*vefnhudSlrCy6-96vSB4_sFAj# zftzECwmNEOtED^NUt{ZDjT7^g>k1w<=af>+0)%NA;IPq6qx&ya7+QAu=pk8t>KTm` zEBj9J*2t|-(h)xc>Us*jHs)w9qmA>8@u21UqzKk*Ei#0kCeW6o z-2Q+Tvt25IUkb}-_LgD1_FUJ!U8@8OC^9(~Kd*0#zr*8IQkD)6Keb(XFai5*DYf~` z@U?-{)9X&BTf!^&@^rjmvea#9OE~m(D>qfM?CFT9Q4RxqhO0sA7S)=--^*Q=kNh7Y zq%2mu_d_#23d`+v`Ol263CZ<;D%D8Njj6L4T`S*^{!lPL@pXSm>2;~Da- zBX97TS{}exvSva@J5FJVCM$j4WDQuME`vTw>PWS0!;J7R+Kq zVUy6%#n5f7EV(}J#FhDpts;>=d6ow!yhJj8j>MJ@Wr_?x30buuutIG97L1A*QFT$c ziC5rBS;#qj=~yP-yWm-p(?llTwDuhS^f&<(9vA9@UhMH2-Fe_YAG$NvK6X{!mvPK~ zuEA&PA}meylmaIbbJXDOzuIn8cJNCV{tUA<$Vb?57JyAM`*GpEfMmFq>)6$E(9e1@W`l|R%-&}38#bl~levA#fx2wiBk^)mPj?<=S&|gv zQO)4*91$n08@W%2b|QxEiO0KxABAZC{^4BX^6r>Jm?{!`ZId9jjz<%pl(G5l));*`UU3KfnuXSDj2aP>{ zRIB$9pm7lj3*Xg)c1eG!cb+XGt&#?7yJ@C)(Ik)^OZ5><4u$VLCqZ#q2NMCt5 z6$|VN(RWM;5!JV?-h<JkEZ(SZF zC(6J+>A6Am9H7OlOFq6S62-2&z^Np=#xXsOq0WUKr zY_+Ob|CQd1*!Hirj5rn*=_bM5_zKmq6lG zn*&_=x%?ATxZ8ZTzd%biKY_qyNC#ZQ1vX+vc48N>aJXEjs{Y*3Op`Q7-oz8jyAh>d zNt_qvn`>q9aO~7xm{z`ree%lJ3YHCyC`q`-jUVCn*&NIml!uuMNm|~u3#AV?6kC+B z?qrT?xu2^mobSlzb&m(8jttB^je0mx;TT8}`_w(F11IKz83NLj@OmYDpCU^u?fD{) z&=$ptwVw#uohPb2_PrFX;X^I=MVXPDpqTuYhRa>f-=wy$y3)40-;#EUDYB1~V9t%$ z^^<7Zbs0{eB93Pcy)96%XsAi2^k`Gmnypd-&x4v9rAq<>a(pG|J#+Q>E$FvMLmy7T z5_06W=*ASUyPRfgCeiPIe{b47Hjqpb`9Xyl@$6*ntH@SV^bgH&Fk3L9L=6VQb)Uqa z33u#>ecDo&bK(h1WqSH)b_Th#Tvk&%$NXC@_pg5f-Ma#7q;&0QgtsFO~`V&{1b zbSP*X)jgLtd@9XdZ#2_BX4{X~pS8okF7c1xUhEV9>PZco>W-qz7YMD`+kCGULdK|^ zE7VwQ-at{%&fv`a+b&h`TjzxsyQX05UB~a0cuU-}{*%jR48J+yGWyl3Kdz5}U>;lE zgkba*yI5>xqIPz*Y!-P$#_mhHB!0Fpnv{$k-$xxjLAc`XdmHd1k$V@2QlblfJPrly z*~-4HVCq+?9vha>&I6aRGyq2VUon^L1a)g`-Xm*@bl2|hi2b|UmVYW|b+Gy?!aS-p z86a}Jep6Mf>>}n^*Oca@Xz}kxh)Y&pX$^CFAmi#$YVf57X^}uQD!IQSN&int=D> zJ>_|au3Be?hmPKK)1^JQ(O29eTf`>-x^jF2xYK6j_9d_qFkWHIan5=7EmDvZoQWz5 zZGb<{szHc9Nf@om)K_<=FuLR<&?5RKo3LONFQZ@?dyjemAe4$yDrnD zglU#XYo6|~L+YpF#?deK6S{8A*Ou;9G`cdC4S0U74EW18bc5~4>)<*}?Z!1Y)j;Ot zosEP!pc$O^wud(={WG%hY07IE^SwS-fGbvpP?;l8>H$;}urY2JF$u#$q}E*ZG%fR# z`p{xslcvG)kBS~B*^z6zVT@e}imYcz_8PRzM4GS52#ms5Jg9z~ME+uke`(Tq1w3_6 zxUa{HerS7!Wq&y(<9yyN@P^PrQT+6ij_qW3^Q)I53iIFCJE?MVyGLID!f?QHUi1tq z0)RNIMGO$2>S%3MlBc09l!6_(ECxXTU>$KjWdZX^3R~@3!SB zah5Za2$63;#y!Y}(wg1#shMePQTzfQfXyJ-Tf`R05KYcyvo8UW9-IWGWnzxR6Vj8_la;*-z5vWuwUe7@sKr#Tr51d z2PWn5h@|?QU3>k=s{pZ9+(}oye zc*95N_iLmtmu}H-t$smi49Y&ovX}@mKYt2*?C-i3Lh4*#q5YDg1Mh`j9ovRDf9&& zp_UMQh`|pC!|=}1uWoMK5RAjdTg3pXPCsYmRkWW}^m&)u-*c_st~gcss(`haA)xVw zAf=;s>$`Gq_`A}^MjY_BnCjktBNHY1*gzh(i0BFZ{Vg^F?Pbf`8_clvdZ)5(J4EWzAP}Ba5zX=S(2{gDugTQ3`%!q`h7kYSnwC`zEWeuFlODKiityMaM9u{Z%E@@y1jmZA#ⅅ8MglG&ER{i5lN315cO?EdHNLrg? zgxkP+ytd)OMWe7QvTf8yj4;V=?m172!BEt@6*TPUT4m3)yir}esnIodFGatGnsSfJ z**;;yw=1VCb2J|A7cBz-F5QFOQh2JDQFLarE>;4ZMzQ$s^)fOscIVv2-o{?ct3~Zv zy{0zU>3`+-PluS|ADraI9n~=3#Tvfx{pDr^5i$^-h5tL*CV@AeQFLxv4Y<$xI{9y< zZ}li*WIQ+XS!IK;?IVD0)C?pNBA(DMxqozMy1L#j+ba1Cd+2w&{^d-OEWSSHmNH>9 z%1Ldo(}5*>a8rjQF&@%Ka`-M|HM+m<^E#bJtVg&YM}uMb7UVJ|OVQI-zt-*BqQ zG&mq`Bn7EY;;+b%Obs9i{gC^%>kUz`{Qnc=ps7ra_UxEP$!?f&|5fHnU(rr?7?)D z$3m9e{&;Zu6yfa1ixTr;80IP7KLgkKCbgv1%f_weZK6b7tY+AS%fyjf6dR(wQa9TD zYG9`#!N4DqpMim|{uViKVf0B+Vmsr7p)Y+;*T~-2HFr!IOedrpiXXz+BDppd5BTf3 ztsg4U?0wR?9@~`iV*nwGmtYFGnq`X< zf?G%=o!t50?gk^qN#J(~!sxi=_yeg?Vio04*w<2iBT+NYX>V#CFuQGLsX^u8dPIkP zPraQK?ro`rqA4t7yUbGYk;pw6Z})Bv=!l-a5^R5Ra^TjoXI?=Qdup)rtyhwo<(c9_ zF>6P%-6Aqxb8gf?wY1z!4*hagIch)&A4treifFk=E9v@kRXyMm?V*~^LEu%Y%0u(| z52VvVF?P^D<|fG)_au(!iqo~1<5eF$Sc5?)*$4P3MAlSircZ|F+9T66-$)0VUD6>e zl2zlSl_QQ?>ULUA~H?QbWazYeh61%B!!u;c(cs`;J|l z=7?q+vo^T#kzddr>C;VZ5h*;De8^F2y{iA#9|(|5@zYh4^FZ-3r)xej=GghMN3K2Y z=(xE`TM%V8UHc4`6Cdhz4%i0OY^%DSguLUXQ?Y3LP+5x3jyN)-UDVhEC}AI5wImt; zHY|*=UW}^bS3va-@L$-fJz2P2LbCl)XybkY)p%2MjPJd-FzkdyWW~NBC@NlPJkz{v z+6k6#nif`E>>KCGaP34oY*c#nBFm#G8a0^px1S6mm6Cs+d}E8{J;DX=NEHb|{fZm0 z@Ors@ebTgbf^Jg&DzVS|h&Or)56$+;%&sh0)`&6VkS@QxQ=#6WxF5g+FWSr7Lp9uF zV#rc`yLe?f*u6oZoi3WpOkKFf^>lHb2GC6t!)dyGaQbK7&BNZ7oyP)hUX1Y(LdW-I z6LI2$i%+g!zsjT(5l}5ROLb)8`9kkldbklcq6tfLSrAyh#s(C1U2Sz9`h3#T9eX#Hryi1AU^!uv*&6I~qdM_B7-@`~8#O^jN&t7+S zTKI6;T$1@`Kky-;;$rU1*TdY;cUyg$JXalGc&3-Rh zJ&7kx=}~4lEx*%NUJA??g8eIeavDIDC7hTvojgRIT$=MlpU}ff0BTTTvjsZ0=wR)8 z?{xmc((XLburb0!&SA&fc%%46KU0e&QkA%_?9ZrZU%9Wt{*5DCUbqIBR%T#Ksp?)3 z%qL(XlnM!>F!=q@jE>x_P?EU=J!{G!BQq3k#mvFR%lJO2EU2M8egD?0r!2s*lL2Y} zdrmy`XvEarM&qTUz4c@>Zn}39Xi2h?n#)r3C4wosel_RUiL8$t;FSuga{9}-%FuOU z!R9L$Q!njtyY!^070-)|#E8My)w*~4k#hi%Y77)c5zfs6o(0zaj~nla0Vt&7bUqfD zrZmH~A50GOvk73qiyfXX6R9x3Qh)K=>#g^^D65<$5wbZjtrtWxfG4w1f<2CzsKj@e zvdsQ$$f6N=-%GJk~N7G(+-29R)Cbz8SIn_u|(VYVSAnlWZhPp8z6qm5=hvS$Y zULkbE?8HQ}vkwD!V*wW7BDBOGc|75qLVkyIWo~3<#nAT6?H_YSsvS+%l_X$}aUj7o z>A9&3f2i-`__#MiM#|ORNbK!HZ|N&jKNL<-pFkqAwuMJi=(jlv5zAN6EW`ex#;d^Z z<;gldpFcVD&mpfJ1d7><79BnCn~z8U*4qo0-{i@1$CCaw+<$T{29l1S2A|8n9ccx0!1Pyf;)aGWQ15lwEEyU35_Y zQS8y~9j9ZiByE-#BV7eknm>ba75<_d1^*% zB_xp#q`bpV1f9o6C(vbhN((A-K+f#~3EJtjWVhRm+g$1$f2scX!eZkfa%EIZd2ZVG z6sbBo@~`iwZQC4rH9w84rlHjd!|fHc9~12Il&?-FldyN50A`jzt~?_4`OWmc$qkgI zD_@7^L@cwg4WdL(sWrBYmkH;OjZGE^0*^iWZM3HBfYNw(hxh5>k@MH>AerLNqUg*Og9LiYmTgPw zX9IiqU)s?_obULF(#f~YeK#6P>;21x+cJ$KTL}|$xeG?i`zO;dAk0{Uj6GhT-p-=f zP2NJUcRJ{fZy=bbsN1Jk3q}(!&|Fkt_~GYdcBd7^JIt)Q!!7L8`3@so@|GM9b(D$+ zlD&69JhPnT>;xlr(W#x`JJvf*DPX(4^OQ%1{t@)Lkw5nc5zLVmRt|s+v zn(25v*1Z(c8RP@=3l_c6j{{=M$=*aO^ zPMUbbEKO7m2Q$4Xn>GIdwm#P_P4`or_w0+J+joK&qIP#uEiCo&RdOaP_7Z;PvfMh@ zsXUTn>ppdoEINmmq5T1BO&57*?QNLolW-8iz-jv7VAIgoV&o<<-vbD)--SD%FFOLd z>T$u+V>)4Dl6?A24xd1vgm}MovrQjf-@YH7cIk6tP^eq-xYFymnoSxcw}{lsbCP1g zE_sX|c_nq(+INR3iq+Oj^TwkjhbdOo}FmpPS2*#NGxNgl98|H0M*lu)Cu0TrA|*t=i`KIqoUl(Q7jN zb6!H-rO*!&_>-t)vG5jG>WR6z#O9O&IvA-4ho9g;as~hSnt!oF5 z6w(4pxz|WpO?HO<>sC_OB4MW)l`-E9DZJ$!=ytzO}fWXwnP>`8yWm5tYw`b1KDdg zp@oD;g===H+sj+^v6DCpEu7R?fh7>@pz>f74V5&#PvBN+95?28`mIdGR@f*L@j2%% z%;Rz5R>l#1U zYCS_5_)zUjgq#0SdO#)xEfYJ)JrHLXfe8^GK3F*CA(Y)jsSPJ{j&Ae!SeWN%Ev727 zxdd3Y0n^OBOtBSKdglEBL)i5=NdKfqK=1n~6LX`ja;#Tr!II$AAH{Z#sp%`rwNGT5 zvHT%(LJB+kD{5N}7c_Rk6}@tikIeq%@MqxX%$P!(238YD(H<_d;xxo*oMiv^1io>g zt5z&6`}cjci90q2r0hutQXr!UA~|4e*u=k81D(Cp7n{4LVCa+u0%-8Uha+sqI#Om~ z!&)KN(#Zone^~&@Ja{|l?X64Dxk)q>tLRv{=0|t$`Kdaj z#{AJr>{_BtpS|XEgTVJ4WMvBRk-(mk@ZYGdY1VwI z81;z(MBGV|2j*Cj%dvl8?b2{{B#e0B7&7wfv+>g`R2^Ai5C_WUx|CnTrHm+RFGXrt zs<~zBtk@?Niu%|o6IEL+y60Q>zJlv``ePCa07C%*O~lj?74|}&A0!uA)3V7ST8b_- z6CBP1;x+S@xTzgOY2#s%@=bhZ@i@BwmS)neQG&=9KUtRf^K=MvjC5JnqLqykCE_P0 zjf#V4SdH2#%2EuDb!>FLHK7j;nd6VLW|$3gJuegpEl3DZ`BpJU$<}}A(rW?<6OB@9 zKP9G3An?T5BztrLdlximA;{>Tr7GAeSU=^<*y;%RHj+7;v+tonyh(8d;Izn}2{oz& zW)fsZ9gHYpI?B|uekS3zHUue3mI zb7?0+&Zm>Kq(F>~%VYEn)0b32I3~O^?Wx-HI|Zu?1-OA2yfyJ;gWygLOeU;)vRm3u z5J4vDIQYztnEm=QauX2(WJO{yzI0HUFl+oO&isMf!Yh2pu@p}65)|0EdWRbg(@J6qo5_Els>#|_2a1p0&y&UP z8x#Z69q=d663NPPi>DHx3|QhJl5Ka$Cfqbvl*oRLYYXiH>g8*vriy!0XgmT~&jh3l z+!|~l=oCj<*PD>1EY*#+^a{rVk3T(66rJ^DxGt|~XTNnJf$vix1v1qdYu+d@Jn~bh z!7`a`y+IEcS#O*fSzA;I`e_T~XYzpW7alC%&?1nr);tSkNwO&J`JnX+7X1Q8fRh_d zx%)Xh_YjI3hwTCmGUeq_Z@H#ovkk_b(`osa$`aNmt`9A#t&<^jvuf z1E1DrW(%7PpAOQGwURz@luEW9-)L!`Jy*aC*4mcD?Si~mb=3Kn#M#1il9%`C0wkZ` zbpJ-qEPaOE5Y5iv_z%Wr{y4jh#U+o^KtP{pPCq-Qf&!=Uu)cEE(Iu9`uT#oHwHj+w z_R=kr7vmr~{^5sxXkj|WzNhAlXkW^oB4V)BZ{({~4ylOcM#O>DR)ZhD;RWwmf|(}y zDn)>%iwCE=*82>zP0db>I4jN#uxcYWod+<;#RtdMGPDpQW;riE;3cu``1toL|FaWa zK)MVA%ogXt3q55(Q&q+sjOG`?h=UJE9P;8i#gI*#f}@JbV(DuGEkee;La*9{p&Z?;~lE!&-kUFCtoDHY*MS zzj+S$L9+aTs(F^4ufZe6>SBg;m@>0&+kEZMFmD*~p~sx?rx=!>Ge;KYw<33y#*&77 zFZI`YE(Iz?+tH;Fq;y=MaSqT{Ayh*HFv0(z{_?Q+7@nE%p?S8%X6c!+y;!0NLXwJV8Co_}R3*7>n+oMsQpv8}8ZS-P@(Rg|gmxZHzf=nMOUAAY}AZGfWVzZjE@4$=7xkIrs8BE%606aVU%kxz_04ipig51k& z(>c9rJL2q%xvU%Zj#GR9C9)HLCR;#zQBB@x;e_9$ayn(JmSg_*0G?+wOF?&iu@}S{ zt$;TPf*Lj$3=d<}Q3o!Hq@3~lFxoiCyeEt}o3fihIn{x2s1)e2@3##&GYDq~YO|!q zUs0P-zy)+ohl-VQ`bhvUpC{-d$lkpML_M%Kl6@#_@A}w{jWCDsPa#cSbWA#C4Sf|*C*&Z{ zz?hOU7Cc`?>H$WGqITA2P~fYudnQHxB8^;0ZFKC;19F#~n_2P@{cE{Czq-#K5L_8| zc3aOEwq4%zL5>YU_mc9fc-p~{fBTWUkxTiZvxt9FOqC{s#TBp(#dWc+{Ee{dZ#B!g zHnaOJ8;KO1G;QU2ciodE+#Z$Wuz*Hc6NRO!AUMi|gov=>=cwcZeL&`>Jfn!35hV1J z;B2@0!bIR853w%T*m6)gQ?DPnQ)o6EtKaN3L;o?*q<83d&lG&U=A|6hcT?f0)4h6{ zGIZ0|!}-?*n{zr}-}cC}qWxEN%g60+{my)o^57{QEn(tSrmD7o)|r0+HVpQPopFu; z0<S}pW8W2vXzSxEqGD+qePj^x?R$e2LO&*ewsLo{+_Z)Wl|Z1K47j zsKoNRlX)h2z^ls_>IZ0!2X5t&irUs%RAO$Dr>0o$-D+$!Kb9puSgpoWza1jnX6(eG zTg-U z6|kf1atI!_>#@|=d01Ro@Rg)BD?mY3XBsG7U9%lmq>4;Gf&2k3_oyEOdEN&X6Hl5K zCz^hyt67G;IE&@w1n~%ji_{sob_ssP#Ke|qd!Xx?J&+|2K=^`WfwZ-zt|sklFouxC zXZeDgluD2a?Zd3e{MtE$gQfAY9eO@KLX;@8N`(?1-m`?AWp!a8bA%UN>QTntIcJX zvbY+C-GD&F?>E?jo$xhyKa@ps9$Dnwq>&)GB=W~2V3m)k;GNR$JoPRk%#f3#hgVdZ zhW3?cSQ*((Fog26jiEeNvum-6ID-fbfJ?q1ZU#)dgnJ^FCm`+sdP?g;d4VD$3XKx{ zs|Y4ePJp|93fpu)RL+#lIN9Ormd;<_5|oN!k5CENnpO>{60X;DN>vgHCX$QZYtgrj z*1{bEA1LKi8#U%oa!4W-4G+458~`5O4S1&tuyv>%H9DjLip7cC~RRS@HvdJ<|c z$TxEL=)r)XTfTgVxaG!gtZhLL`$#=gz1X=j|I@n~eHDUCW39r=o_ml@B z0cDx$5;3OA2l)&41kiKY^z7sO_U%1=)Ka4gV(P#(<^ z_zhThw=}tRG|2|1m4EP|p{Swfq#eNzDdi&QcVWwP+7920UQB*DpO0(tZHvLVMIGJl zdZ5;2J%a!N1lzxFwAkq05DPUg2*6SxcLRsSNI6dLiK0&JRuYAqwL}Z!YVJ$?mdnDF z82)J_t=jbY&le6Hq$Qs}@AOZGpB1}$Ah#i;&SzD1QQNwi6&1ddUf7UG0*@kX?E zDCbHypPZ9+H~KnDwBeOXZ-W-Y80wpoGB*A) z_;26Z`#s0tKrf~QBi2rl2=>;CS1w)rcD3-sB!8NI*1iQo59PJ>OLnqeV4iK7`RBi^ zFW{*6;nlD&cSunmU3v4JKj|K4xeN(q>H%;SsY8yDdw5BJ75q8>Ov)&D5OPZ`XiRHl z;)mAA0Woy6f!xCK(9H2rq?qzp83liZAIpBPl-dQ&$2=&H?Im~%g;vnIw1I+8q|kr! z36&^9}CMmR(U2rf|j12oG=vb%Ypsq8u9Kq}U*ANX*)9uK}fAi8;V_7Z;0_4*iydDxN-? zv?qJ=T*{MzL~-xUv{_Kh_q9#F{8gPV!yPUUS8pEq*=}2-#1d=sC_|U-rX~F0 zBLawgCWy#?#ax{~DAnDvh^`}wyUO`ioMK~jgh%L7^}#h?beSyvQ_g>+`2`}`-1h7# zg*?qJdm=53hwN8~B=^|LPmYtOVrQ(W{sNm4uofq=4P@dUA%$onWbw_m-KWia&n9iv zi)!9#OJ#^}eg8tE{wSb9(c0D^PS1 z9EBS5*ypSiVRS_G0v?$hyoZOS7hFWlp4qbYkf9Y&{%OzhsIdHskLptn96@k6@^K@U zszd8POehITDK+AyW#JKpnWY;ju#MC$JjB1Y*~(E6N%{p#kO+bVxG3X<34n3fW=k{A zCZt|KP%x^GQ9%mU)KE0{LA=vaZvRQbxSlK~eAkwWo2Z<{j5eS5NVTMe`m%re8%~7K zZLtU&b~YDN%~uA9wPf>x2=PI=MA6_oVe>Ek$s5&&Z=8vvF5EODP4Av(b|dlNgF1O8 zy83W0WRdzjz2iNA~t1piEqlyU&`$yZtqR`6X_PmuP>W+D|8iH;FQ zN{JuU#Tz9mV=4R_IewROL1|mK^`lLat#LcIBfggzM(iO$pQT*-c_ z94^LUWw#5B9~sp2W1p`c)Y(xfR<{O^9n4E6vDDw{#-R4UMBKo{>Hqlqn*a9rl_>+0 zS5MwJC~nCC`1X%VCyWFsiDX;bfAJQAUkU#105f_s5U-8rqO}n8fA1{b>Fr6Q|Ea(V z5B11Lo^ooWF?`^{-U#?iatokWI-e$632frzY?Yzzx(xJc@LFM4A~-eg!u|tl{)8Nx ztZLXsSC*68g%9TFu(f&J9nmc^9hgyy#uUOMJFCaifSaDcyQ&6=8e9=t zIFEAQ{EK{|73{($!a4=!wj4ABcQrUQp#+gGM?wEUp(w@+Fzi{!lt}|3`PM%&d-seeR zB$}BrFGD3R10CE>Hsb>;PrP}pd` zaY4}6+Wu(`#uAV+E5SV7VIT7ES#b(U0%%DgN1}USJH>)mm;CHPv>}B18&0F~Kj@1= z&^Jyo+z-E)GRT4U*7$8wJO1OibWg0Jw>C$%Ge|=YwV@Y1(4fR>cV#6aGtRoF@I`*w_V4;)V231NzNqb6g@jdpjmjv*<2j02yU$F8ZS$fTvCC`%|Yn#x< zXUnP&b!GLpOY-TY3d?<-Hhxom_LM9`JC9LEX2{t1P-Nj%nG+0Vq)vQwvO^}coPH-> zAo8w#s>Je^Yy*#PlK=XDxpVS~pFe-j#jN-(As&LRewOf(kN-aKF(H+s*{*!0xrlZw zchJu@XAvQWX7DI1E8?F}Wc8m46eT+C<0eXVB+Z^(g=Kl@FG-cn@u$suj)1V2(KNg_ zh29ws6&6(q~+sOAoHY^o86A<#n*?Pg2)cK$+y;cY$hJLq4)4V84=j+3ShSr##Tk5kgmxB zkW+8A1GtceEx~^Ebhwm36U?oA)h)!mt=eg0QE$D1QsLNZ_T3NH?=B&0j~#298!6iv zhc0|-{46*3`Rx&nKSXnf1&w-Rs>#PGAGuY@cBTU-j|Fxbn3z49S#6KBaP^Lx*AOXxIibr z!1ysMi(&kr!1wwQB5w`BDH2~>T4bI`T1}A2RM0zd7ikC&kuBRsB`Z2@J!Udm{AmSN zrr0k6_qCZL**=)xRW`MFu(OY=OT;3G8eF~ z2mmkXZ9X(sjuKmq+_<=LSjphB$~R1o^Yb=rO!j!(4ErIox^x55o{pXSE9X$!76^*$ zoKhlAX6y%n^U=C~@!vIlEgXQGD@>oOU=_(aXF-Sjas*$AKESfRzxQ8#3yOj|y0OCU z>6Z-0%LCcjla&7I+CXm&caKp@@jQ!5M`(_{CL=@4#JJ}cHeZw>^b6fpv269LSV?gV5Q{kk?4;;y9RIsy5vk%DIRiL(9xe1aA@4!VX zDh2}xgUd5X?6nji%&7-%QuyKSYA-Z{PwJijUQ}In+EJl|x@dF1P<5bPa5W3&&?^h$ zZCo8LepKo0a(Fsln*cHL;D(gu9MMkoiM0*n31u)jHqX5x^F95tnI&^}^yKx3YwEm@ zo8?EZ710ykx@19{=yz5IXb8w4yjdveWb{IVL6Z(Cs>!a_0X^1E27o!4e&b43+J*u2Gb(59k2uK0goLwhO{ujLS ziI9LA9`&x~Y$6JNX!aEXR``}LUI}Gr#=<^wBHmg%v<)zRWDVtq)kT$-P7iU1R)2XZ zi~bYhV@EZ`@prgK(cs{>2jn$pxg$<|KjJ7%26Km>%KcXh^bU@y@V_Lf@=j1x%R4{v zOcQn{I}!2W<~08FOVnoV>zOTH=+>v9!jFo|q)ucqIe!N4{U5_G`>>*sVD{8I~4FqyU8imZ**-Gy`~Xd z4w35GMf%7^i65HdX{Iz|f2Kg193#KhPIeR)-=eYx3Z!%RM=JjwLrdk^B#6rg!ym2w zPbFqYyO4>W_Z6PonAwiu7?!h=x%sR-T+_*xZOGh2wWhWr%}%2^$$ zQvACIB~pi=m|`hXIMvoq`TOCx=J_D2>pi6$NPy3&8#vy|oX)=kM0Z}$BR$r0G}MzOk-OqG+VmZtOZoj6x4(tLh|5h) zBv64Y{DPHsy&_H(5_l(&Y}FhVvr9m_*_Q~Zy-}V9+VmGnvndEjYW4qt4K~N&Y&6g| zfpz*V=A#^mVmuOAz)(KVI<%v5NY0%Goy!{9&o41upsPWk(yFuRP|A4q6NMnX%V~MT zi_Rb-Bno2kI+j0Cw`@ydy{e%ARS#Z%b6I%_yfo_ZKXr4BLVoHzBKJ^ZG z-2>2IzU)55@9C|?_P$ew^-7zEiAKG1XAi{!3h%1m#9s%^pGy6S9wKFYY4<$djeoJP z{GI}Vd%idY$4_fh(7NXm7#;cC!DS&-{tGr!Qze{^%bUx2jgG@-kMta^q-EwrKB}d8 z{%FT>rFk_bzW<{lc%eYlrsiYTZXGgzD1&lmRyp+c1O=0=zAX=KV62bx-a~JP{cPF4 zU$-XT#(9&T>l@bMu3nSr{)%-5lV+0t&bxip4DVJ~vlL$J2P6X~ zd{FS8vm{Lhrieul*7&(AgPuXhjpGila%6_?-+k#b)cdk#M1jB*nE>G6NGOr+Ek{`= z9b%S1`$`=g0CC$>0$Db;l_szReLYVmce*(()9%Zz1`*fNXhI*oRlerWHarD(v^W^c zuc1Vuw6Gbp7ZsoRH>QGt#&lv;5G~Ovt$%7VFd*-rN2>UjbOWBFGNGO`bru7CFB4tn zL`^?69Lj_g_TA&`9`dSI8s|)K|QM0 zybvV7!>xDY|6c6y;Q}qs`){1+WQu_5Dgd8Qe|q}}bxjH+joQQtqs1IVZn6{e7T{ia zF|=^xa%eWO%(x<7j*QZbcU_;aVaVP!arexOLOtoSNt*hvsRL%}%)jPetSich(`b-^ zMZ$PM9%s@%*jPVz0Z^W*cK_>G4f}+eEVX`HOaHg#!B`<4v;x}zDLMR*M27`kNfp!! zOfdt(>k-g>7jf^{Se@3$8<+;R*cYtw+wD_Z8Pl~!JDCUEPq{Ea*!J9`%ihyNJZ30i zmfve}S5<$Uso}_?SuI$ks|{-ddGLu9WR9`^9)Kdi@Vs;x#SY-xp}wHPU0|vEA7234 z@BN1z7OF=OOQtPF$4twn3!HTVlUVD_)ubMM7PEPoiC6lQgL2q9PK4~e8v-OuH%lie z?NgBLkIdPMG$QBq(>r^AOHB`|*1#*!2Z? zuU8H|FD`OBRu^(R?Z-Vhr0j;FLpS~a34KREnd}B=EYHS*>Hm+f%tgJt!4J8Q`qn^4 z9F=tO#JRJ}tzA`vx$nZ)O%wC?Uiv0+_nz}5Lj4ki*&=K&*#U`=rv z`Q@Q{+IhAj@6lrNK2B=8Yln!O2%zomfRehFT~;!O@(@Xy|1Jlw*uOB-M$#6K^)QBm z_7%#QVUDPwnW{iOV-grMQQU|3{=BQMh}c5(yMGdoQf*)k9-B zMQ(^GdJh+y)>qJprknS!%WxqM>HlHOP#7UVdy>%PW$!l72J`n-p7j(DBKoGxXWh(Y z>BFDZl|7knU_jg_SSbvFk8)39%2)Hu5W0}HKlh>EaqvFoXI&56Yy)3) zQkE4X^P0QnPn?iUUVHJZXzPp`s5uv?pG{K9IgGoHvcmlBxubi|iF7n{)mhenIcxGs zgr0OpQy#Y#u=5lOyiECfE_Sn?Fj1LyoRKcbTgX{p<T*v!CGkPc)pcA2D=4Ekp0Gb*wpy7S88C%Ywsbr?MI(3UdsCM?XJ1X%*hNjB)XqZ*W(qDdtSb z<3XN74ARXL3=c^bfW~F%NM^5*Zx92>Wq`&M625p~j$8mYwLbk%Kf)jbn#<2z$%vP5 zy#b>-tF-S2_AB4;R^K&^-1LJrUmi@9rB^FLF)-k&YHK8P+k@RCJ1qSTZ@=kHxA3l$ zmK_ZG)l6(nmCR1a8|;QF-B5e_ELnjJ1$m-;4UXX?WytF_wz7#&AjwZYTMVieLbq@R z3t-q|G4^BB#EpNu4uyfDebB+-uu_$9>y-dzB30Y9F=R zrW-Heqnj*InPTWHgR9v^R7~hokldh&h8=HDhMW(EFfim1*{)5Lc1-+eBVkK-2!u=N zuZKABgJs3I--NbjE;>Undg6uK`^U>AQ6V zhc!RhYgvrmeGNsftr+(C<_MtuV$`5RZTf#5r=DR?gWG->#})#=(td%C3`oO+2B7im zUqY}&a_QNTn?s+?=mNXiREN%x_=(H)L|DtYPY>SR3pQfBOel7G_jR_{!9`dSj8Up-`JgcB;=Oor)U=_EVjF3C5{Sqh8cq=~bRjoBpoc$kJCgtTyZGSpQ4= zYi$6b$-dGmuTDF&@amhV?cU05g(AZV&v2$4m&j_~GZk;&keSO(@LRESRZ&p`dV*6w z2$em~p*8yM6j;SYorw`M5K2mluJq7P5Yn$VtZj8DEs2Zk=O@4T&Q}>~f31Z{uk}`E z{Dp{KObh1kk~~MfLUod72{Pk6G@T$_0_N??lOrdR=Z;VV#m0l)&@hz{Z?)@sgImi-&i1@95g53rON83v!yVPDHRU*Mzc4yZ(-Fr z{8{WXmIJf7jeswk$;6s~Qac6QyM3W&`}m#gRt=rr95A+Ad&wSAgvXZ|F))rBJVJ5W1CsjN`QaOzct2ocq#0!v zmj#075)C!3oS>&N;aHS@<+c>RHL)8j^p)k(8#7$LEx!1g_1^02!4_qA=;uhKW=+ix zGX%+vBMiRiF^^jm{mdO(?GdWJ#unO#_F^7mhT8)s(z_WlwFyJ#Xh)k5+RG2f;LC*K**1dr`#}~6A=0B=I&V;%zDA1)d@G!X#Rng)7G*2k8Kg447r0ox> z5NK`d(H-afBwo9feDOUi>;BbPsu!2|=@g=3j*PY}@YrOb+SX6?#Yb2xaaK!?>SX1J z_!VsB`2n1=wwSftkydm!39|-1?c%Epx?TO<(#GO~I&{f4+)XwRk<7RQ1~5>QcKH|D z?!}j1ueO0Lk;FZ{k4FA_(S`Ot0w~tl&m0duID*f6RY#bkw||o;kZ# zISYNTb|{~|X$m$Q-Jv#uxyw)eM0gIv`V#wOAp&Vv@>X4_tSZ&L#juM@$S9 zx_X_tLh<_^-F;LAQ09s@sPb%PMTrcw*HUV0P=RYSlM&AXEOI&&R&YCm_S<7DRBx^L zA^R^iwW+LMk(r*$Pq-fKU5X@=mQ=`ErO30H@@&qqnI7zJcrbSh+H<V ze&7Uli0xj@WrW#&-9%*FP~kPYF_YYM_hs5~|ExMynQ%qvq`leRB6W0yhC@pCb8>_P zlf=F~WMv_u*-DV=UaVu#2rlzK{q8D95VwZrfV?gj@rSNWXFvktUq)V5+YrlxwX302ae(;aG4e>L-M@3J+-f3IT{b9l!kg*2M zC1+ND9}6m^()LE87Mt+^Q|)!y#suc&v26C=0W88%a{?)E8Yvo@kM&KNMaOst#|-_CbUTm}WS@-c>nRb;&z^ zYr)+IE$1=jov(CZ%3uR+`~NI>1&Gs6W(jaamjcN$a`2!*nO}l|b%?)Q%%UWzw>A`C zR@px(P*7j$TK?jbv*%x)e^|jcLsv}aF(Z0=7(%Oa7+1wY>{B>d+i&ZA$}k(qgZPZY z;VkW~8eWnU&HPIAbco?&tc2O1$6=7n{u|^Y*nXoac{o1W-6aXfy~KlNbJfLoq~6;+ zDYmnv--Fhqrl+UV#k@_(1=gWNtqhyVKN=9CZ-{Ohi>e=~bm4IKbhM%%W zW8oXE!rGpV7Wt(_^4nndH1_imheaWzDi|I})9ZVZ9>pN+P%dVc5wG`Ze*4`@rjn1^ z`ln(;vPBHQUb}y8S>=8q__r7g+=z$>!pReVB0@XKchAvyGjLQs-u>+w%`frV4FeIG zj=7n~hGrwx*&5aHy(7X$bDZ7YhcP%(*>G^lAYMK;qG~V8Jz@b7oNg;IA1z$9@TbzW z;@I51@Ekef#qbxnG$Y8Z%bm~ibZ=4#%yKr%#b)CDrfKN`ujIY?tA4h9)i~dZ4E;ZM znvb$n2)zn$Wx&zlW%mJZDh28ox$@%`w3i7YFepXUChw}$UXKI=-TM51`M#FH=tdr*mQ!c=aB1296Lu>iTTKZWss0f z5~ihdImPN$aTle_AdbYC^31}_^EK|9R&l#%3hbx;8vJ+Gp^tm{9JDILu*1PW!rh^Dn9p<)h#Sl4kKM%nm<+!ESSk* zC;lLNT$fgr-!+{aBsSx$41b}yy6o>r3F#1&iv3cfY2N<+`0qJ+>=&Qxs}JOEkD?^l-F5i`t5+zNuvJf z3Fh4$mNqiFXL-aq4U4K@Ae$fq-TDT`rvrx;gqx96w^*@s=mcthCaIyPe(w)6kI{EqV10tcShHU9eeAPs)s?6#vrq}>y3FeTJu$Udha+z zs7}rmA@yR(L&>35sNjQqrw}o^)UitMU!5g6nnG)(tgst!^`FKJEzI1(d@j_w@;^hr zgYxlIRYjho4U$bhczfq&YySCqCE(5_d>l(4tk1v9!V7PB%Vx{QO=G2NC@c1%3rEzw zN<6i?h;CJX>h)kn49Sr)g#Em6km6ESP`1qc5C3ZHizN>r>V-fSS=X1nT{+Thh@kC! z(H=PlqDt7V6gOYezXUK-dretz!1?IUD6&eL2b!4=9h+HUO&DYZKMM>|YhlEEg?q?S z^XT4$2Fd|zT=x3U#L1|F;-#`to-Y6hiYkWdO=rRC)meY72pIfl`3zEGDU8($iWR^K zI$nq80aSJII<;#W5Pj>^_T&013BJ*O89Uoq z5>;Paa^E}xar^r=!pexg&OTM8wluk4R~Ru=)Hgk`Y#i_$jk{jc8hx}?(dW*X!l4vs z6_%$s#duJJFmaFc-5#>v6Yea=I~)s_pXGS>Tkz?s+WS}>Qp<9MappMLXpkXpSM~SmH6u)`Z5>o02kJs;w@KhdiZ3}29y*xr|6tMo zBHzGic+b+dTd!xOJ;p{Rguh^corJ;K?R6daayQKm+0rf7|AXg0qs!R9eS7t4{G=fs z1$=?kK1Ih=gEkI>@jgXDWHZt*C7FUEWs|u^pE3Z``^K|1KEC^sbN*4nQUfRc_AyE0 zn)?RrGjgPkzfE~_s!rDB!fDsV+*|kEX4+DyS#8%!cshn;s8svwBXSsDGX2ZRa0={* z=`p1F{zD17*Rk>Uk_cw3t5j=9-d6$}MoM~z{v{t^M!g75-+o8_XkP@CZWUQ2z!^26 zCNOu~hgrrK)y>bgqb{`Q_1^zrG4;cGarP!nb4E~(ZKWc`LVeEq;IewVneLp^ZU2+% z95PgN*M5v7Q;ZlGvM#`&u2NdHm%&gZ{bZM5wBCp&?HeZhwU87wyT_z!n4z+1?=RvXZ^72d*%+R1s1$KbAFtR|= zw;MEq=O7pMIKpFwKH6$OOszJAf<_Z<1)36cB>D>|Z6$gJL~jH`n3MMou$#Si%rDAu z4pSkJspG|^CJ86vg6kkfXsA_`8@8iOryOe!Qhn8SV6}mPlof3=WJRVqAr_b;e->`Z zMR(p|K|$L0^6;u~USxg#B6-ZNc%E1dv*^P=|2k*^NOBni#G%9Y?##{=)8KZwh85OL zSBG9|gb|hdmY^gn(ziY&O5#@I?W)W;361Yb^VQNpz0A7&^(7HRAsUvw#)fvhocvja zLxV65J0_$>&cVRctJFsn^qLos^tG`+B0_gQ{NeOwKt-!C^gGFufdtPT*Vi>l#X1|V z2XxsAcixN)Ekq=a##_^=k_^BFH5_zpvPDRP>u6+3$}i&b zy0@FdzAHw?i9OqnlTts_w5D@Nd#eM)KKEuN#m{|AJyscxa}(eA?z4&4yvXo{OBS65 z-?gW;<+;+ntM}U_yTmHm6*2zj0Imj<&ZgE9Wj|gfsXhrVH-c0p$7HXnR8bxDYOi z=_r3FA~u`L&2;Vir8}P3)k|@c?sK1U@&iWo{HEXcoy>6wQSuJ+b4l%aTBuigs&k@Y<2c=S3Ef?p zH>ki4yDuXdo_eu>X1{E$g(Q-u#zVXN^&%70guoizo7x(kQ0OZ}H$O9UB}(FaX8Ct1 zFpx~}EbHf2r6V;x=@8GH$C2|6*?K~?LrtMYd^bw*WYXhA z_))@RMH;nZedW3+qfWbv<|_#BYOxX^rhbN+!za)|!|8K*LRs(R$O*2SDM{g9k7e{u zN4VIdi}e#0&h?sBxu$>Yy%)j(k1V2fuhp8r!}gfF@b;F?U`6}YnnMh1&sSU&lR^?# zu!61+lGsuFEfDraX3+$QZibCbKzc{75G^T7@WZSQ)j5898G1AOXB*H*TSd`f<`IK# zm1%&t?i|2Z-a&r!pJehzg@!awNp)R)aa?q_SqGrxE5u+T#f?K2;GAHV?O&>!W@Q*k)7=g2vDW+7K zbyY9i{|nOF*SbMYoRQSAbSH2y$bE5(@d6xKxcF#@TE~X#3o=;`0sc!RupdRmQsML? z&>SCwS{FOpSr+@6Uuz3m`hj}(^g`Jz|6?({!%WVJn$H|ugxW+x-GEA?J&U^ugj3Nb z;65~)W<}iH2PJ@st8LtLfSOLXYgj=9<;?ih7rq$bXW9J#!B8!Wu6#U`A$wlcoC*&` z_9Js~7%m79#+edeT&P`@_Ng@e&5J+pqpx%31tAF71)pcz~-yJ>P5yX(nuM4;bUHDa8E(~~l{j~JeCGkX>nHJDpgSf&bTHEf)qw8{Q~CBPEVen|MW2P3vmf`8X9-g|>>ddp zcgfjbl~(?3Wa*NzQH>4nsM$3}Ul>pX1xC0oF3TZXe7=V!9!n?WgvH|R zpbruczmB%z=zkZ>=1R|gXwGThLELqD5KCUhtiRGT*JwKIvzbzV%ZU!e!VcNHSSX3> zObH|oohc8nvQZ2}q??C}@>!fe3gH+HF@4(qWqi>;ag~md#D;cl8&gQb^?2a@5cikT z=7r78@&5gV3Ggc9f=<<8v~yz`NcEGvbX1V_`IL(&+Z>LB zM~$ok2qXzod@1$TEl*U~H$V5g$er{Uj^($sWb7Nr{gsIbE(`$LRGECTOraXiU%=uq z0zvpi1S%)RxTjzoVcR4#10)fs()4Mtsa@e?9j)Bk!LsYyXIZga2q7d%`vQE!V@<1Y zmkpH3LeXJNO9f7l>F84g;huc=4nk(UnU}RLZmYk2TtB#lv34K(?8~gyx-mN%g=U44 zOPdr_!j-;IEbe|l9-buuKEy^Q9MLjSKG$S6dz)!U_32{1)N}L)3+COmlg=nY1@od$ zJ<0z-B%sisAR1yh>z-RfQQb6M4i-d#vxvb~f69M{JLPZv1JSCh1$gQ*LxOF-tH9!k zbQ0ZW)S7)qCSF|=2`q_A3}OHBNBueZwTTz^ar~gz#2KA74&&D)KHt~m4F_nK<^*7_ z!!pN@xiGkq%>1N(rNxw$zu-=1t*IpAy$ z4~dD0w%9;E?(greVWZ3(o9ux`elM>Rek#0 zO=#-(4p5B+wFzlEU7^k{3EdL6sIp|K*>xrriI`}E8ze|z-$YpN`^_teL_7P`%e>IN z7tNiH619P+0Q1hBR|W#POOta)1|LkIRtgz zMJ9VOxXN#o)mlXS=u%`Q>~PBuKEmOWsIuQRp{y%!ty{fEyL0gV)$LQeL#pqX3L@SR zJ2Gb^E9+KVd?;joVOXlGie3?z6>(>u(i!(qGz(W( ze~^xj&IRF<98ypEis{Y_FoHn%C0bW(XeF#Lj=2WUEBqKNPPFppEH?_a3}-h906X}C zSYKcZFU`Om5YlWhh@ogzCn3NvuM~F9jOX|xe-X*!YL+#ceh_tJoHXz`aTnvSrOAZ| zOtdGz?QdT!oAJr3(XL2G(p%2X4{xEohU&vd_zQ(U%ihHOlKPWnb$&YYhx48?|R++>`5?sxvM?!;ru|9 zZ#nwuTK^S%ce<+ggdJBE&fRrXN7O!{nu`%q`M{2Ef_+IRad2cf01P9pST9AOK>y75c!9}~)Et^6$`&Nm{wzWcm4c0j9DF!xJTpGrMp3esI4D_iiDe`sswXSu{dQZE_`^A11 z?Z@Hw=65mVu^%X`>;$mciK}XiZ{xw7I_!t)S00^JuxdCXhIRO~S*lPS(S^je`DH4E zxbKNs8RL`N?gCQ@YSOU=>0FE#Ku#DRO7JA&fu-X8b;3!^#{=7`WsDXUxfUsE(FKSQ z&=N`A7IwLq%+vt(F;z+T=uZNl=@K4|E%p{p^o5(BGjsE|WOR`%8+XgGW8xJTFJc4L zVY#L`OdnSM{HyS$fX1)3_JuNNH1aDsDqi>CzCT5=kY5zV<~29bX)c^I8R5n&ymHkx zj(QC4t#mDK;2xi8O%V;C{HqDQeM64=b4@sa*N_K0a&ro4+8LY6cFHz< ze|!g}zF|tDrP=`+U7KwKl20gdW1%!iN>1=uxA|NZJ2peruBOj?RBPb~8G;s6xIi6- z?_odhafsxoxiBf zwZZ)c*)FLc0#wE~bXw0TPBYl+h9hs|DYr_B4LR_YL@S1hQs=p zNEh%_fUvWZCbJtaF#kP5=(O#{8|g&Kmz1&8{@Lufw^DhtvKx955~aqxi2C=)Z-!Kd z+m-u+#^U4(HYn6a1w652kO0bYBt&goyx(n?MR^kI+{Q?0Y{G~W2) z0dS3fuJ?SU(6ZDp=kUley%PK}K_;YQyK|U|?7t9SHiyIfpT4a_kUVIhH4PSaj@3mo z`z}|mHhx1Pq?@(3vTBb5HTXuFAzFZEt0D-fw_kd=XvwIUh3VXTm{wbDA~cESd5cI1 zd>6=&AvG3yu+)`9oxmfrDQ(1fzv(_0l?bp{a364dXLRRBI8kBv!KsL;brY)#E3`o{ z3TlWUsS0{Voci?6MejccG9x_KiqN>So*1{25r6BSl9jUyR}1TgXBLL7Pr6Wv~Nu47;fbiU7TbL}>qmtl36YSZ() zVf@nqW(As~#`@bIC+AxSw!O5Pocf&rYaCFm?Jd?XR)p#@{!|5^Ws@wd855)mI^8y{ zws+VvGXW6%xoj@JkGb=~%oJ~7m6+uhOv?bH+jJJ~eFgp+}~*^C+3>R-MY!IZQoabCh( zN(T+z@Oyc^C)WqQESmh{d!!T8zS(!wX=R#hEKxMXy(eg zZ+Cwm1a%?;RH$h2_ws|nRjn8ZY!>3gn+6Ep4xT|AeFox7!rac2Lw?jsz}JqPE?5JG zok0}q1P;cuzs%Yrze|&d$oTr<`Lx{fbq2OV=!3v-ODq(n?|WxuhtmwJBIoW^^FB+D z-?Ok9HBKc5@)L(W&vmI{prL?4^OE9TR)bELS=<>*w%&aKjzi*@;5#P3moG@dm{Eke zhE#Is;&=o|{2GWai}7LYEI+gmc^Kj4K7w7n)+9godg?yB2?xs}pF1<*!Sv?D~Uvbkgs9xx9s#6zBv9l@ox>d#H6eqw^KZO;Vg}h!q zI33^$4}yF*q+q{DsJsa(SsV!YQ#zi^IF9MQV6i{SiN4dWWCi%YQ+hNc1r!^+<(YnB zG62-D`M3w3Q2;@X{S`n`{QO>migDpz0FK`->sYDOESs6u>-~<}_XN_6><2g7U#XC{ z$#Ig;n{_yEMnlvx-lP*;ts#DHV0r8j518>~33?Ak#jocW>uk>6V||p7{4rov#RS9c zdPD6r`qF1om9r!zS4Jk1>7fn#GCnmD=JIt1Na`X)=*LP7R!3XATgk`;&U*P<(0d z9p<0T&eYqQ9jot39FxpfuPSPYlfQ$s-*;+c1KL+cHIVcG5`H~^Ryu1Hk7%Nf$TCwR!SzG31@NHpm`mcp8v!wyWM49TjTxASJ-8JP*MTHLC}hF==PUOh8kaaXeGFGd<|e29vSDaS ztPeu&zv0^wN}Hahi`$pcDs~FVt2F;K!q}q*Y@{7i#stWfU`u2La4aerBKhV`^zG~j zJWvtZpcHIP7x*tfLSQcng6D(`HVp4=LWp_0Xt=2wEHjK)!DSz_Z?5J@>awRyk?azj zU-kdSs~cp))*pfJ_q7u`IsCq8F|OShB~D56S(Mwwlt?{yURE7#eI&WcpVq(@9Fd~g zeUiD!a4w51Nj(YzLnau+O3MDub|?loF0=<#jLztAM>PruE7yNDD0L}y=Ayuc?^?Ni zf~%GK=iEhn2}xKp7GonJx!JpDmDsco$|$XtRdUDwbM9$9s7x9-of2nKNj~?b@UOKz z9{`=Irz^ba-c&1vSQxSh;I2`cKc8-4)aCy%#bam;3_8vSJ-jw`_}lyukEC~z00EbC zI*dU3F21A)dSZr{qA5QF+{a%D`h#?8o%M?)*hWxuqnQD(TpcmfNq&UN$BmB)0!r8) zxno@Q?$_D&*4(rW6b+?-Y^5|*P`DHmJ%pI<6*yP)o}2^?>d7P#bd2j=vvx2mfLW@R zQLD`%buR*}nzNYNf%68w-D$7%v|=bXg1mYrdZy~}(@RRZ-U+Gx=nmCjVxr5Ag# zLw3R29-MHJl|`mRxj#sv@EfyR#-q>BE-XFEENbV$#dWM?!VjU8~kKZsd@G=HPrI{HiqN&j<92*-3$^M*;n@rG*i! zvi#?j;lc5w>@+r!6*CVUrN9as=S3?(ZBT979$5R#ZpPm?2VjIyQcEFp9orGR>f;G? zK<~FiYY6ow-&}|v7k?+03TC++so$)2~rN``u z>N%j$AbNQLX_!evzG8abf=15260vIXdz7K^a$YS)iw{@x5<|Rr#ii|ov=LJ{eu>dZYe_ip$ZuzvRu1dpjQK1BvP zH~m#t=2_wy>9+YkdNF-z` zQ*#7=^r%R*pIi2AI`>n9>(QJVE1k8?Ilav<)NUjW^O$}^yZZ{_Uwn!4Fq1`aslX;Y zj`XDIm`E1sz|wShA=?a@ZGKDSMU#Z3$E!1nZ)g^Eg3ZDoSN6@RXrGVCHvMIauS7d> zuJltXf9)LdTWdF!n%-iA9b#2$W#i??K)zYho^((ZqluvhAr@{H{diy0%@-~VW zKYC|2Ma)2^=skdLT@ZVqJfiCDqS@~qIGexL(BKy6Aw9ch0hoHN&E+m3*uka9+AIh3gTWdSe~W({-&^oFw`!j7$DcsF$7`pO?kRMK<9h=SV?cmyJIe`$4|zoI(6u9#qY9zM?#zNe^!Dl2>Z^dH`>`wSY# ztU;V*+g0R0DH6EnJA$U{QL&T~&s{`smeC2I-5mzv=v$l@iF;yN0hMibU=CG^e>J;+9k`Si9PzLaj$>}QKI6lWmO_o+_( zmhxA*0|-Na`+*J1qEMIXZf9rb#;pcOw>EDeDjb!|GumQ2!1ac;YqU|X;F@l1_lemzTN0J|U zFJF(kO21aHg)*KfuKT=BA{VDkOvlx(b{f|A9D69_BHUm#S$F>~`Mt@GesjLp3;reY zP~q>6Tt;`XkjqV?i7lqPbWGh`y<7dq<}pDHl-dDA4QG6`QDq)+vq_&HfW!}P6Cp4d zt>Qnli5ri*I1ILEOGD~3Y!@2^Jmcy1xDXmKolC?at}_6;neEfca0rLHT}NLpoUYh` zDbCtfZnYN&>}m-(F{5d1=)bBuZ?OcP`GmsQV@kn%JMJUIep`Avon#8=ATpEo-@hg& z12f-)R=HCD%pUjvbWa|P!}u)=wInpZG*LHKrZDMeC>Qils^IyY)x;kDRs4c3!DDOG zAptSsf#1X>kSli|Qka@S)6O4un-2aKL?bcV;$*>KSxHovjrfZ^-+c#>;(42yj71K| zzRyFiLrwv$rPcNA{mtv=o(*JDA0kS93>OE0D{KMJzLk$cc_5dCLWnJcFJd6_>BpE< z?aW9;^!;arQcIjloW&YL+~MkNO&a>N=pmhg>{SM<@`a&VeUA`ay*P@R$_+WS2%r?_ zs&Z%c`>ie+%!I=Lz>$9$7a`-`hoc&*dl60^whsaQ;~9~@JYn1Oc_bmgVVyAzUOYgZ z#j{`#D_YZ)(wa5;qzR#zo4a|-ANJjBB90r4Iun3*BkMxw_Ti>SjhktsmR|BPCLt>9 zZ_3eQjweI*-8+HNt)$9^s|+10w@sU!PY{`#BnF!ULS=#{k0Zr5`yOS?p8PfWbKT`6 z@T+PeRJ4`fj5t8bMs)0>o9|C>mBTlfQ*nFG#Rri-Q7}E}+eaz`LmO!`Y_pHkoAruu z`&!5VNnA3IG$}Pz)V&pt&AF!$E{J-;or3vWv3&Sl&9KzG+ae73Zf}=aP*SCI1{?0T z9SAC)W(?DSKOkcmW$(K5Bl?c@(5#>J#j@eq#ctX~$TIjkl>Wrfv%Ey+bl1Z-v?NxJ zwZ9!ae-MsHPUx&_W22?9$mCE%&~lzVG?hDXM%~gXGk+Q!Jf0BspkMWxy;^!n<6JIrSYjv z6F%~$8)0^qbUho9Sdf97b_n({$;|XH9-RHrohHuPcro@03KEPFejN&q?&nJFoIQY; zSI#uL6>2^^yOR!51OLO65xGas55dPG;3=uQ35ZYW04#+~byXQf^7Vq`G z zKpxF`G*X(YOz2^@7i#D+s-~A1E;3&x%%qL5hkiy^JhYjJ74{hvVmAx*6BH`M`!qGC zO9pjEsR)A-n1`6KLACSL%FS_Kcm+?4*z-V?WAZPs?RkzoijIr~I+oh1^~T`q^dCFvG$Gbd8AnTYBjLKYUmayaQz#S1le7Q^Hyr#;X&h*1wDpm+gZC!rSKom zq|+o&UGpeXtlQ1;?@JukKG!8PGS1Io0z6O}ZeL&DsON^I0K+>Mxv#ohK+;ByAZ`Eb z2orY{j0Pa3edA(#-pJA0AaJ6h& z81Gl(pd#j~mrizktoid14K5ig7u8FvZmLLP%l@dl05IprCyqDB?mA2fc*6UB+49lb zZ8`V9epdo=OeZoiY%zw-w`8DNwTORV_>>3T{r)1-YsGSo0E2s>tix9OBqKFBjg#}G z`pgkCblKMYs!Z)r^(qT_c+}gLhR|gnq!1~Qr|~kt&2@_yswx{i$KEn`8J1W8BGljl zr@GEG#W(s#AKKyuqLp+cl1C}7%`m#-!$15XF{M(M*-fD%+i#mFbP35jlgN3{8#A-dmj&OQtG)!031jTwGMal=&YtPfq2AUWekP9J-JT(p099!L`+yen$ zVH1?kRrhV7(mGKkm_jPP_U@Xd;x=ppk}4WY0Rbr> z0MJM_;$GGxL*P68y%KBqHntF{>X&<{aeI4m6+{TQ%~Zp}v%Pujr)zg5mV;cFKqeA- zQm5`#Sd{B6Rc*4PS-rO(vf>YEdXmOK?>K@`L5}|9q}#t_IE%g+U<-1qw3mr5&v;2A zCQ}BEn9_u;;>n5N#dP0RhCF-_UplC+U(i~Zjh>U5+b8%@p3HK(R*IMQwE!uritb}< zF)AK2?+0@-aE3LYkg`B*&N&m~JWB9>(Z>`aqRwgioU)0w{U1K4?>-#i|ZfhNa9hV)2)(%ch zJMH1twoeZWwkE@I!dz$ma+;9GeACv>Ncupl@+gBSeU_uzfj!$+h&@EACkZG_vwLGA z(?^;rcJu1$5H~xI@6lHIYC-$+b&hF1p`AoAOKqw{t0Fu#X`OGt$)7Q!nmJ=&)xjq@ zHoxT4pcYKSPT5(4yzIuQ^S*N2NJpR4v0?rB-^JuaXNLis?E(l>Jo8mUw(gsFLLOy? zEszHWGaCn|lw$LSwoj{G7Uq(zK0W^VVWu#ms8BMRlF2z%-g`fOXmndgC(na8fc)s` zz$GAoxP+l|+T_S4$r1sLwkV77ew1Gug*`|HiE*?FGLm1q; z^p0A0eqqbmk3?|!CB9DBN1Zof6d7+ zJSn!`VD~tVaqy<*Mw^8dM5v3Bvj2VdVFb=)U3L2eDM3@>n(P z?Rr_=I17+r4fE{>1LBQG0&o97nef67n-aNnVP<{dd6*B!Q344 zZbsAof&jw+;CLeK2d87t9s~YZ5?6Qwf&{NPEBN+)LbjOcZRXNcR&h)x`TtdpI+b!>$E~h0o1L*2OddpR9!Gw~-E^Cj(7i69S<66ak$)AYMv|xG+;uR(`;h zGIV3}?+Qxdjz)s;s}jHY{JPmeo@-tN$H@hxaV@)}K?y~ts~E6H(F|SlsN5oH8g7*h zGiC!8c1doE3U|D}Vul1yPmXuCk*hmyU4MG2ml#V0+(G5I+`L_=3cD$%$I=@*8m-LU-!fn&-sZO1%ls63+w}AiAK`Jv z>`q~ztr&&(gCkFpci+*1Ekdv*MhBCzGfPBj9dM|YEjZk(tWBuz4?MGeq+*)t>Q=z6UXF_w z{QDUT4^JQ8J%hW;d2xGB>Fl4Y-bRT!ttP2GE5jYoI1e(eVK0&V5W+>zludt=nf|UN zi1IV;MK$Fy%$yw<oGeW?JIGjmfGLH$Y;l|T0p1V!N*Jvu zHSAG0WpwPip0vm7%VRq8$2O2>P5b!WBfTz*6dZ4Wd6O9Y(8A;nOuG((y?F`ac_u2( z#~17CoTK)1G<~~Z4jXlout{e&nZbDHyHf(=a?OtaJ(2Q(!g#)Ugw-QQ?A?mN#yN%T zBtJ`sA6Lpg`k>Pi8a7GssiY$eG0Be8LCoQL{GDqi-;j0pLmT!Z)szldvbN7GVcu*S zzb1rEq|M)1qa7rM*I8!<#w7FnQ?{v^? z0`MlS3+`#ZB5$DT4+`7e-Hlp_2G0`*F@STbRJ|!tk3cC~1T%NR-p4s=sTT+RqsMjF zyrp-Jv?CD4Y3N&Zb1gr=%`MFR8;|r)uxQ6*X{OpEhQ~+tu}^n8Wijiy`pSMw0uKNi zSNX^Z1y;WirM0o_x%zft0U2GcLm_2BS`b{Z>g|9VOVr%QF*R?pTpiJsEbj4jLVAyd zTA;x15=f~b0^(e*Vo;Tn;WTJSxpI9LmL($Lxob<^S!k7mGhnnVNnAC*g!$ms0#Q|q zs=25I0<>fUw_&+KU`}5P9wlmjRWdMYh%Np6n?AAHQ;JzG?s(Z9UR`pNh79Nzk~DF+ zX~jy>>f-2bl?drlM8 z3NfIQnrT@pLmv+QA6efWPv!sqe;mh3_RcOj5>Ya;4hhN13dtx*_TJ-=kX_kZQDkPz zIw}#e_dK%au@1*L&iUP^cfH?zf1iK)tHv=t|>-9mMT!;;Vg|svSzWkN7q#t$c4N$Q;tl3EYwef_4q>GO<#I89VhY;`X*hz$n*GZ%f+;uViG z?uLlxD1OIeid}0r9%Ssoc7@vJjZIsZlU9zvYpjhYiOrzD5sq3OC zpf-X;Nb!DLpxqX^zDIK%=46-Z3%i-bac`RIBS5*wcw5Pu>G|kF>TQP$dGRYh#1hwD z{|cbbTOKL>Gb1-;X6?vWLC+KJ_^Ij?KzJ7eZ?^8XNgoYU9^z&>d zsIjX*uOK`#Wu!`>L@y!=XpQcW+mBaRjm|XrB@etLdr}Ob57e7EkE;7a*t7=M#XFL6 za;KHHk-rBNTjp-gS^;ehKNv>K>+_jPQ45J%4><1HyKJ?;T9#~k_23?xD}B&@Wp{%H z($hU+nWR?g!9dsJkgVz(J_Yrdns+m~9V_gQ7Sb`&F4wZZ!k}##j$>O{4{?avCbCZfyW zO$)m7LE=P?$CXHDU_RUD+sYwT;nKI7 zSs_XTv!BuxpJ!7(b~uYfsgzt~mj5(vf2r~`LHwpePs!o2A3zEr@#sxo8HEe8>V||d zBiz0@e&6}p*}!6jsm}I0bN9Mc2(c#jg@;Nu6!Kv&4&P8-UcQ-00WJIO%4OuUn;^jU z;I3r=T3KQtiMQ7&x32eVtB`mCe)9ws^7u%2P`B%Xc}=Qc&O^{FmS^{~Rho}^s`B+H z=1_T);9LRK?{$Vx22!5m)Er8aoPOA8&{7fyt`t@~Vw%gtx~+g3qs8LFR%(2Uny28A6dFYnNQgcUa>Sq=%alFh&8#@1o_qgwve* zVFimnUtL{4aHP6s?FB%bu2SP=e*VGqXC8iuZ-JOc{5%Lx0g|VvyWkdh&FD^Gkc!0N zhoolXvp6GC8wj?Y+V;r*EN+<1ac`-+!8Mqb@Nz)=OqV?4gxhR^t7*+^+AfxxVt(n{ z+fkk|-xSGqmkZa@Q%`;;r`-Z|? z0fR6b@l%pTwK*@xY+(MwBUwf^z+F*~piC64BWTrz}-HS1-XF-IA%?Zs_#F8 zcmUuEZ6Of>YIJOe$&{V;3vIBw7|jSGPeS6cvTMdj96Y~pI-z7InGW;(DhFqaiTTO9@KWvQi9__j0btLZ9 zAa~-Po%^sDFfme4@Yiq}r`BgnYK2eTwCjg9_zC4V{{&_GTm-!qHGVR6JXDjw;}GzF z6lXA{xo1+tQM{9vwb1&sRXPdGDHbEMbnwh}t+%tvcw5p4J4r#hEpDl=A{;Mjc%0)T zsG}v<$^HhdcE)5IJ^iBWK{7?Zn)vb%c!5eIj4 zbT}CGO*u)Od@^LuIC@_2{=AP2-O99NglFudj{!T}0e8wtTQcB@F9QW6$J!0Ye`T+U zXDx84b$!hD#4YzSyZLy~!IIZuFa3%eU zG4eg5?}sZ6Yj29P^-PcXG*8%VzLL$0!oL?c(!oQ+G!kORsa+lsf5YER>PX83R4LgF zgPNQJ#Bo#)MXU%J9k?RWD;c>|as5b5p>xAwau=X5XbERX`_ZHB8_XSNDe`s?n(e>) zGF$G%n6o+W{6A-@4hsIK0*J%jpB#Y*G^B48eQD(CDZR5oBl-P=)r7fH^PLf?!aK6V zwkIM35?l*I6p@;^H}JIDNs-fF*IFN?k?kj(M)QKM%%?dSkf1d$Nly2z(>)oq8z}0H zH?Qa{x&36#W@y04!9zx@x7un@ob$&)V8#f~0n1|jF0kFs4aZ{ND1~QjWHToIY5)LY zrgKDCj@dFCx&-w$QMi=CqD*=`$NqC~2k366pPXl#>Y7A=iQD}f`)+B-pS@LIW_M?9 zlBS_)(vGz!L$#P`?<3Hvonw@B1uJ244y)M?0)z0-hq++sJ0GZ+{oiiH;lFi&wy(C! z0Bv9z^M;`4@)USP)7dhg@K5K&U&|7&-@I0Sk>I+ZH75_xEn>qh9qmc%aA@NEKBsVBgUuK zC=b{w-0oU|)~tAVI zyJ3BAB}%rsjz7qZ?x_XCWe6!_u-{e_3u68Asso0IvwKdxq1lN#%4w>J zi>}P;$JZ>58(ZAjsmSJl6BWUTe`0eGEf3f_yS#H6vx;UJWO7CCK!{)4C}`C$j5gNj|k znb$4QRurEE3tPEe!JzG-a0DmvXePO zSD#Q-qOAjTMm|=aBSnvwHoEbgyVIz@J$hT*legak-hhb}e#%cm2$nR2 zV9A{kc)WT$np=5coPQIskbGMO@Fn2NxPv$@SJZdG6}jV;+%(cH+*RFQ(+DjsJlman zy`D(yN?8MCtjWD3w}Q|jQccb$}BDW%M$zZZnri2+5ls)@@(wQD`jt_GpTKL_^CO&SSCcHbfMX#JXYFI^*947 zPh&S-G=l*C@`E5CU1$m7ao(Q&oSmY7)ZZ#5_fEyYzLsFJwJ%GfErFeRN@7lUbUrL| z$6;gQSNsI91LJvT+$Zb0>g<4g8T{B!U05lfKmoSRH^pB^^8sJ3{8PzVq0NeypMF5k zU3qOqksdq{>AUjm3O~dZx^vS6C$ldgCWszl?xd8-sJ;-kPnISB*-f=L*8XggOx$?u zg%B-QovSjBbj}%sShZv~r?`*6PiiQW;nee<-=+y4}S#}q_BgXIJoSOf$YbE7vXt4;Np zrKzZf6Ny0aES8(-cqmnIGMg&ieYWryBZ0VTB=4<*@auP4NdIk&q(Mt(OLPm|Yl za!0OpC9sA#tk>OsaCSx0;!$5r6naw ztzLBo>#LKaxxsO=yWe%yGilL`A|6E#TK! z+1VRQlo*D?(k0-mlRM+`OMT8kVB*-%ZGv}Aj1u^j!wu*~>L<-T+u?6sX!3C}lQte- zk(6_=iwXsQ0JbRvJDwMnk!c99w~s~uD_4vMB=m~-ft-*|z~$*g4g;pgG~Ap1m@@Fx zWS)8IKSN6`^vVQ8hv^Oc+O(Rt7!U%wVsGP+Y6fyS%GG+v+dIdVfCXPzAV~~li+3m5 ztFQmbE)(#2#Oi@k$1#zUS6ijD_yYsa{+BHZAw+^zAEI3bc(h0qm?|pNf?oS}Km#OG zrOfCKn_-CVO;}DXu|5YE#d8I2o>}vUxYlv&>=+I28WY>a1;uI)HUM_IvpF;Ln4ROT zf!=1rpKihNFUo=R@sD-pT!EOm%%ncl43f;aem^;|A#s3`b6vjeAzO!M-gwc`-Kj~{ zBX)tq64*kJl#TrgW4o%hTY3x$P01nD6a6s2#MmwM$vyX5PU|YngU*wXGK*?f?#Eg$~^OWW3I@of-=XVuu-b%A1Z|nqY_2 z;~jD&=QnB#WGU>;RwFq(I< z34K1fCMwf9F}G%k(&?~2EY&)W*-_z0ReS$;7+I1)zz`)M zpAF{5ZHLPMJhYU z;GE*@hM1NM{G{L94dL$!Y-h6A9K9W=I6AYb`Y=v{(tpyLQz^^Aibea(q()R*TU|-m zozpyr!|-BZ_Dn+$*2|vq2Y@ghHo!-`WjVtU-bab(SJp2*2i-}$UP9^qnF_OIFS~-< zYj^VS!)Wu}vn6!LDIt!HJ1SU-@ce>z8f4cT4R9V@O^Xg9)4`VpjsXm*~@%l^Ux;Rf#Zck`BNXu0Y(!C zj%Z}UAmD00nsOS%Uull)dU(fZgJ$bo>3Oa`8h~Wt)EM?v(ndlTS1p0|E9Pg>=&>58 zghD~%R;YpqZAw;F;M(lx5b_wkVbnd+ER+6A-SYj^1XUgNGn0I~ES|f|5emjyPIW)S z0z8i6)BZt&h(qQxih4HbFYa6~jyeKbc_`QEdLD@9SBGButjw|b^l*oQjDk<7Nig08IK zb`ATVGzK%LP+>9aFM0hr8t+m`uNr?h&8o3Rp$T&ql||K}7GgobFhCViaDH~+F#yC- zt>7T3&_PZ*feTKTyd6vlF~JmEA1f+*>CCE4ex}5N^$4o)YuxX&3T$P0(IS!+kan^J z_p>v#1J8bWELml|S02YAQe-&yVew+kipZr~H-I@yc$=8#rZ-8L<_nDx&Qv3dJDwUX z!)@=h1`~R2M{$J8bM^1O&Gy2oxe1T;K?NA{iv_eYuhpLyc3%xu%z`dVc}Z}%cHGHQ<7P!Q|e?dwnSpL!AUf!B^!?#^Q#W!Ry+7ofwPZ1mZq z(Id0{htmX1W?2cAYWZo_lOtT#+Us-nlP$=CGK|Ri4x0Xh>(|iN9y1 z=9y26A4Y}ViRi9Fxzm{>J`YM>GX1D|$4BY9xJrY{oY2~Z&};B{Zq9Pp!pox`8e#0C z-h~@fohA74(#ws!{7kIe4v6XUX<)9bd)g66Bz%^Y4p0~OF+rY;l$v&7T<3~4y!bv> zR$r#LblZcVgy2lq!ff+>yuR4qCcljQa03x|dTcG7`CHcxh#POtGKt6ymNd_0qF7Wf zBj_KC8{jl!zZ>0neDp19n3sD?HC=|WM3!}cK4zCnu6Uoj*hbV1<#F2BD)@A~y%@VXx+u}Hcn=_s-({PxzmMZ^xJ1SV zoZMY*FarYvO_@z8Lr2ep)%HgIL7rhYa~#X&&V8oYSw zA4m{3{hw1Vb~~26K^xro&e7i9eg^SqK0i}kG3z(!_~E?sjJlSWIWXJqKiHAWTG*SpPcCMD`kEc1gx`R^YkYWz zEN4vEIkj@&e4tC!(_~x`-K$w6CU%X7U2Y z)Y}T5stEyoSsB{H{+xfST3tov~6@lO}2gx#N(rHXiOAHT!dp6FiV8V)B4{L_P_% zmX0rPa^-{1xG6|#uEGo+!v)QAOjRe|jg2ICcXU!|Cr+LMbLHlhJ)ErR*P9*z$NLlt zmYjAUbljq004ZyOco?HJovV7M*Wb2nF8vT2D;3kGi%F)6Kr#TVW>}zTHnUQxoGmD0CY9J`|d%8@}n;_co2q zWr98`R_c@PQbMi}x3bWo4XZj{it6qYj+o*XvNoS4>rF;7WNn;vA*|A!3H}Wh-uk@n z*hV0S+XnX;K;BOoz?&*9_{NnM25s4^^QUt|>R!()^Z6#G3OmL{CU^-IG_M7_a~B+& zCrV;ouC1ljbK(K=ygqAE_-}ewnH2&&t0enS7}I4i0wJgNvCf|P$`|DHku`K`HfDa2=n@DCg8MRi_)vpMR2Mxy4PE2Qe! zD||kNXy=0WeU(43v%md9Hg9Zu#CP%d%C67gk_#pfXs8lf>M=betm(}0fdDKq0{26# z_c?J!Cgo-~*=wswLXkR|W8d+rDdV00`22Ouv=_Hod9bmB!=D$I4r@7DZX7e+0tO!9 zR{0d}A6^K#yRx@ykotO4(WUJsmFvN)d-o-wZ(wcDSUS`8jO-JSAMa4y@MK4fDP`(P zzxQ2})ofiauWKj9{Rm$Yw^?g=?`oO(Vf|T^I+-A+o1#F`>tn59d=FtgVJAV=y;G&` z0GMvtEeil5;e$Ln8-41(UeMl2kYLk%vPl?0+Egg_;g)494o5FsvdeZKP;&&fjw7o{ z|B+e%Z|)8Ts?=>@p|hr!nYXgV=ZjI4Cp#$E>+g^6r7Nd3<>-t=G%B5IyZUI{e{49G zqnIXEB=M@5Ndf1J#l5YWcLG=A4ufF8S{z5Kz-uM?Ni{{%mr);=l0=473h#cIc{K3> zZ-VUw_Ng5^HgWQhs5tQU@qv-YBej9`R$a^|lknX<*+sSVXue8M0#EPBJ6_Liwl*8l z_zoD#!l%WIXJZ$jm?|zUu0LdeP&8IW*(|39&QzKGnem$6--u{ZGtHt#Hro*h)?lu zXGKo-4Hv1WP*VLj;uA6UwGSV*6ro%PRbwR{@tXoCOb=OFTB4ru-|Id!rP5Y6LF*-D zy|t0qDSVPo$ffyoj#CIZV?l3VsPRYye$F^xxv~Z78_fwlCWbwW!nYCR2nx0_+@tg3C_UDMVa2Br=X3hfP}^Cp4Yg=#OK}K zKYVY`V9jEKD!UrCbSX6Xym2T-cg}!n;?;o{mM|zWj0P@D|FO-rQ zKt#ApEh#AX%_f%9!G6`I*K=bSnMIhQ%W5&BOMntzVr*eS;WR;FgM)+k`#+Vze*z&V zkU^I-R|!Nwy<~>eeQ~hJqa2|DdpX15kD=6U73Du;T|VarycBP^n#IZeIJ&H3S9#@oec~poZELqX$DAc>XZyuIqd^GK0Jq~0kI=d zA7gMo8%zmkEdnqMh)tkp?V0I;Tm3`>aU3^~dXw zlhdd3=iygnUgYu#GRhxln}4D?Gokczq?T;RjCk0=fUHy18$lt!-q!%sNxee7No^+N$9d?Es*``)0UJ4SC&FNY0pf z_MlbGdUy$|F}YDvJ9GTCkZbsNKj3DL5;=BGBx8xI;n)=A0d0j6MP7Mi6MQdk@Tux2Qy`oI_&*%EQ0bE?|R>P$rDhcFa8O?JIK zPOpFDa?-L*+Q7RrCg#y5z$l0d>n@+OYo3g>-Z*x&`Jj5|=*UOYaJer6;FAbdtt0O? zrFGUE?!XeUG}G8wMgeTs%+r;3uUU;Nq5EuU{h-g&UOBKhdS`;J=m!~xn*ztv_p@dD zR)tR!P=~5kX)FRsx9)uyuu?0dh%Ht7`PTM@e#Cq!z2ts;O;L)tQ1ipDiWqbGz@o_p z^D=UKR#`S7HAt4vQtD(_SeWyj_av~#tJKlb9>-s5Ykuzx_E1ZNl4)~f=zG$*;-y=T z2ozmFva9az<{2&63fQ?(Q8{IPx@t1LuFcxP-LXVctWh3AwazVTt2)w^*Zn-#eB`bD zSHoAusjOBK5(>uQPGj=ijdOH3jqG?(<5#C{*JQ?Lt~@zow=Ii4Al$Vr!#+Cf-gx)A z`_h(>b@7?*6bYM8%628gGW^rwWoG$mK_eCk`}B&llStfwHf12*{5spmTeNH$4{gCY z@Yuwr*k@%m;T<60bw9z6^WpWi@Bu^qe-g;YAzI+VjgsuZaGA=^G*I{KLy@rIjSpWb zFQNsCp2T;S$VaJtZ<(waRu8y7^X;>YhsWp zM)mKgCeE@K;J4vQSV z&-(Gl5AJCp>K*2-`U|4i;u3p8xo6(isu-38>cY zml1Eo&FBBKJpour?}q&nggpFiGM%m+YX`ng8P+uRnJiMyWcv*_AZ8KAB$w;rfmN8C z<-2EB6TqZO>A~P{*<);wYqZgxQS8E*syOXvGkGxF@s(scud0uv?T)fQ z(DGrwM7lvpitUG~6!*}kZUpBn9PuP`5^nMK@($xI^0Q~axP5qU>L~uF{R_<9&m z({}$$WuD1y-QzMVb3jLPk`~bDJNkw(Dv-6cKUb4uzD= z-w?i0NZ2K}AbT}Zi^uOZ32xmSxJw+6(3j%a!~Tdy-@RxVx6YUw2|V6JX+mSJNclfl zF~SD#eo+lnB=ZpHLl{)E+`sI^-V1Vn!6#Ml_W4aH*Pe(++sNI`M=5L3?X1z0;CJeE zJiX5Mp6JH*=R9W0t(1@>>1y=lP^F=yJil6JxU~I}EpTsBx?rJ5LbCbQ zuLBmmX1MO&!E}khx=+#hCesIB53`IWwqyFtR{AUv7vJ{Q^dn1S0@*^UOmRwctFy&> zd={(J@avBzmu$MbyamRMt_$kfHY<*v)%%&nY4hUDH=$k)$8LHlUG0G3Kv#T~-vQjw z)hXbsNIg?~b-jRw)ir5Q(gfwM+Zk+0haf z+4ER%>T8RnKAoJ-(s&tu&-iZ@A?^J|d z6md=9C4am*v2r=aa&a?~37bc($n#wQ<8UGXL+!RtrRXGSj-2INJ#+3J=}e6nOC}G8 zN~lvCS@rxoq7w$CLg-wx!%V%ymw>~xhUw4cADX*$A}D~{21F$!Y61aHwpdL!QcrsN zl~$s5kk%7HWHkZ43%mOcwlk3RcbKGQ*}K(Fxput)rpE0zH0vY(EyY=blQZ`odG#hD z)~{&r6XkSE(^csqsaMm>2c%xsT2&g_Nab1bTY%fIoNHatDY@C@Ei~v@19|F?szU6SWRS)uDXqNY!48RlAb;S*ijqus; zp;bteR835>3BXML2CewOM<^q3M*ubU`}gnI-oS&(vf=GF|JJB-inGOH_dc1xb|iqR zWgrcNy?1*8)vAlAaiBE%K3Q>5Ygy-#Wf$>FqL|Kvgb&6H?iQC*Z|PN)xZJhH#d#=a z@s9O0oea6Lg}submzNZ{iZ*_okZ$6G*h5YO!dE=7c4=YA9g$y%1xjkVl#|1DShEjM zH3(sS?uRfB3mhW5Wrm} zrY>KpBxM&CC;s5Ie_{o}upN{vdb8x<_$5iiQN49`z`+Zz`&E`yLAim;X&}$HAfKmT zkO2Dgdno95mWMH~h2c4);H=MigT8hyzl|4g;dU7F;p^X>w!fa0zf{^rf?>~ z0w{=F_R}ru{g5i@&xwC%R-!-1x|(k6pSb5_)$f`zyErIvSCs{z`iVvU4x_znFKti!!av6BkRX_=+kEc;*`_rla zB`g4ruCJGT3XVTTrlh3Yj>1>PNIy?sV%Yo*=qaBIOY87_?P04yx6TV?_{~K? zOHEo3|2EA2JAMPYZM!H<{|!s-$r>l5{19icxV`Wf-{<0I>{v&H4FZaCy$B6Ludz{v zRH!!HV#JGP?5(L!Zp#}NlOODgWqjO+yo~+LasPYxH+ht2KjdfCFQr(oovP3?vkFK^5FvPJ4^LD=DpYQi4tUXuY1;erJaBQ79 zHcp(>mKvoD+)bq5SX9siR>(%CL??*D>Snn%p}NfGO4(RY^puLI+j$Pw)NZLb5bKo{s|0L~ z-A3R~;QHMg0bHSgESOM&N&@oF4|8gkPF-nVM=sQ;d}wcS{{!iW-)yQ``D6t#xlh(O zRF0Z@O>0uMz9g)u{P))ptV5lH2(gC8I5i(FDRG5Gp1bgBydKgxJy5gBfK(#D7NzZU zatG}S^z#KL*Do5=K*F7hk(`mbdgI1XoM!8*-};#UzNtEG@Nki#`7)GfV;VlfW^)=` zBaAjK5>gx@wf_D!B!2C6xBK^K4%x|+#?P@5N7tlfWo6xWJD~Wz^cnPfFF($Ixt4!j z9%x^1$on56XZB0Irm^kw-*rd1YVO;(*LbB21@7OPJspo%WO676#~oUMws(zP#+shG+$ns0IC3W z_{kYU>N5<_6=j>*0d}r-?8U+--eXfy2M+opoYL|=I932TMp=&k#tzJ^72OtRJ8BVOvTYPh;@EE=LJLeOk`y?d|Dd9%fWlhON^LnB^6x0LyZqz@imyogJ`$C@Lr9Z4o)ZQz>NCavG$$@e2#r3 z4I=}I5KgV>wl)~_Ja7gLQGju0c1{h%cV&6c`doWWv$>q*=ZLc8J{hBiKXNK?zx2Nr zz!pph;BLU2OaZTv>Pzj(VpSp2&OWNCF<~>NgL!nezhxEgj;&2 zl>z@V#>sykFCnFL?|(j)J3SFr|FFa`n@KbhC2pZB7 z#3>qIn&~mG_Vki=p8_x&CFeD4V7MvgJlk^G7H;(apFxr+7Gc0+1KfI6$@aeF+d7DJ~_-A|H=0?Da#&^Cqb=!=fVz>giW5nw=jWQBS%L^t1EZ@ zCm9;qlG{($@0W3T&l17ownc5pWhfM8Mwn-fLtb7H|IYl)8@QikEc_Le+s60x?&B*m z5kObB5{BD}gGr7l84~vP{N)C~3V;xhBWd%=^j0&KBw3T3-HU`;hqWA3OWW~<8nl-M zfYn-BI0_?g`3$_;&Exw<(G{QM|8)Kq28x9NF-F$>r@_BO)t^T*i-U1bX01<)zC_uE zR@8qEQQ#cm$YbXIUPVO?z7KI$pw@r=-V{V@>dC9Hn==1QBVy_b;#*jR+&f*$AwCl?o&G?2Uk4=*Ej zFK^Yvw*HTO9n!XRBWe++o3)4O!OC9PC=_l_<$M(W8(Akk`zv5?nJifb^rH3N?Hhio zo$=nNmSEz_QFHj|XF!vQEcdqPyZz_4|M_GBH)k)KA9XGRlTJD;3*y1c#?ZWkeaQM* z^`Bf04#Z)ARgrE4rMmlk8E5F=NpaW8xKNd3)-orW$m+kh(W12jQbQ7oi z)=#qbmhkplt}u`FC0sV9sdnb5$E!zX_xlA{4wW&j0*DCm`=1;Sh_sB1xiH@C89Z93;8d)EUk=lPNIZ`o3H`Vd+Ig`=CV}#?PAXvzWk{x96fn z0(rYh<>?PJ>Hd8v@c8=*vm+)>P1k@i2>yMaKw2nihLV6Z;wcdc*E2{8=xNh(FkEe3 zq_pc;ISw&}`?lqKx<4vIa67!xu|P}G$c3MDyg?u^InS?uM6Zzys0QM9ChW>g-ypzA zkOUSfvhTTWq{_>TJ{+kpgwX{@>P5ptiJ1NTO5)8 z8BiLUY_!*AJ$V386^TicK@z0qOPWP#Ea5?}!$_&fQ zOcRKuR^tLX*&CM(ahYftiNg!a=uU|He)2nU2(~iX@Yo|foZp906;o=d%aK09YEW7_ z-yX*;XE#z@?zZ&fQ?2fYX!T8@-$(K5Jo+AkyOM+(944x4B%2NR&avFFJY^9_br5UtzSX5@gmYYm@ z@S$jtqFn18bXQr0IYhQ=+2~ZDB_DRW3d=*B+3q`-*1P$i!GVIG(AMp=vBQ#^_mNxp z(;4Iz#_~&9jZ}}7oW?R;_x8&h?b0N326NJq4~>W^TeI^!o4=G5G{|9ff|`NN5+?ns zL@IWva(*@PXPmVGQ#rgIOY*nnoqNDDy$hd2uMT>wBgzg>YT&BV2U{k1ah1(1j_v0` z@o;6~SUGW=!+j!oa9ko_2^G75?VolPmWk=Pb-h{k=phZga( z88Rp7QzbHkpYG!aug9e^DF63Bi|1#CeAW^CpakO9DTT!p$yhuT8Aq10^cl2O@Zl-2RXr`+zCPj#_FqXs}W2{Qvn2Y{BmNsG45? zB{BF_rVgT$u0 zE8o6|@C>uOK1Ba}!V zx!M$9J1B7#_JSs90cKlucib?T&HqQpLE9YV1?v{gh2NWKEt9FX8;3DePnCL5Z=k)Flp=?-i$<5H4zc z`?2ZZ+p~Y8FYr;m3Vn2(u5Z`Av6#S}zkpQpZ|vNP0DY^I-oa$HXzg+ajQC7%wldRN zfOAL!UwFtuphqqR41v|3He4cQF5;UU9M~lti-k<HSTs^#>-Tf|C2&~#m%6WZAy1jz!Q_-IbpZP z8ht8}UG13lz+N-7+01+RlE)6OT^3px7fn@1|_b7^{bhPet}< z_)77(<^>8-qQ2X(n4faVhm@T0@Z{5HFSWs~EDXtV@7IAMbVUP6;v8^%l3PZ#wOZ-* z*Vk4lRj6OYpAZ_$*`t|tYKmLar&&{5{d+5cst)rQTn`n8>Xi+0zXc6YbTPMgzewFg z23F=+`8=FXXF6b*CDVN$v3|6iy;TSFSYh$qrbhKDcT^U9l zj}3g#zty{k*>s8S+>t|cng#3@Rz`z}njy{*?90mV6_Mkvv=iL9pb0ttHf$7;TxkX1 z-klTGb`2~-Mxx6~+{b-KiFd3XG`p?+6-0PMorB#Q@TY_CH5)En#5WrmHqj;@Fvi1A zeGpO@wuYIPOgRY&02e-U+j7!$LZ#5mS72R3MJS^gfheL5`kQV_n{8}KXaj)V%4b~As zFrQ7yZal}~{ELX@8c#V?2LlM@)g(|;VvcBjEuTJ=`WkOem{DL!+7Lr!U;F!mGm_^~ z+V^T?%bz+8noq9{ybcq16Gzd^fS2`skac)@6|;8X8l6Q19epZ@l^3@1ES!x2XLNA4 z_FI8#x5sq7hXVr83D;_5$sU!*Ye}zyx1wMC?Q{DSgrUx#fM?_Fj@{syA2x2yL^J{S zPPLkQ#O+9E9a^H*USdriL6rGHDt$B!vu~t7^)@_e=(<|SVd!MenX48AP(Z$4WoC9_ zeN;I;hEAr{ZvB^gK*1AWfI~5H0a{Y#2UBjn9`7;3JDrI5leeufemoZol*pDlVTSHP z3#8@6kxsJwUFg9(;)>Xm!{nsFC<7}Xwv_?o=eP)$>vvvj>yw z=YS7{pIOg(u@mJ%G0G^TM@L6>l)?_{_e`(yLxmX%h*D zMJS13@e!}HFR{?GNtq;%=4#zUgfFP^$g|Ax1<`vC&qIPbwGNo}3>ZM?=Evk6r|J&S zi$UD-za)A$kcqu)8)1mG z{FI*zS4{wM6S3;RP-!$0&8!6*;>|%T%HJxZt}cmap#~4vD0Pkx22gBbPo~=2iEMFa zSN<~qRz>jf54?e)>3%j;Gc6C1_YO0C|CDQDt7+bE({$0($tizZ)xn2L?@6_ zR3$`yiwH?E%X*^k*^oQ=z!1GA|E&fXHPR=rIEGq4%0=SGvror2Y%k#d`aPmx5@~7a zdkmPa1d-<`6M%& zp9rn|?C(5SRowEcasXoE$)s`=GvJk9wPt|2VX31T2F}6x3#(&IMqZND*a1muBh9?X zX_HSLo?$y$a;qFx^U1W|YAd%)Gaf|AEHqZ*{PW96FF*&nO-@c?c6t5=K_z@2f$8<^ zY}d|9NRviy7sF$61>@bV$B3*VeDg4DX3qScxVTL~5Go^T?}aG+th- z2`EduJx~ZcSssR;yX%oW&ze|$TF?;>HGHp~Eq?$w&SAD?d#s$$|4F@l*T7}X$7>}7 zRvPwxrPaLO5X-qYiQ7{P^4Ui2GDbq&DJ3Yu`)8zfMi1{>HEq`+uR1bJ4x!#n0D6_M8Zs_# z3mc%u30aK|avL-!XI&?{^%v4OXUr4OzaL*|-HV&M5GPx)SUqYMWw@Ex;%DHx^&FOD zncjYHD@AiYbGx1O(rsKW>Eg}cid)6bqA}!r!G{?x#)c?^k+q_uv%Xh3ha^A^{%wnpRPY({1LqK{NQy>!UjUc8f7x2` zgyLiGpsKlFO75ee2#drn3Glyna)PvUP}e(t6P z(8^W6g23+fzT5gZQQ^L-Yg#^P;QK8FTZAe)*|CKS6(I>8a2aoN+XEkYf2jAF!Zi3! zjS($tF@bu(ypeC>`IZtF;jz`F6A-Y7ZUQBuZxp&q4zHb9cc*!1`T3p9xL9`nWhNVr z!2lf=fCA>;1E&E|yfmrHqB#XnUCu28b*4#eZ{lLL(42#`ui?BO&uZj|d_Fh!Bw8g$ zn@2uezsJz@^XM(T{!CEw+EyG*eaF`FuTN%C zOZg)khBpDobCl(3ud$bhr>EdmuQ^l^Cic|y2m>LM+gsZGYKUAeJE5YUX9}j^JDoojv<}Cm&t+agmp?JE0%d#fo}m_cYogpjn5&egilTvDFz-Df}1i zB4)bXfn$dqb!cCa13DdCgMNehaa&${n5Mw&bxeKfNmHq%e{T_H@WB!H3QgFK2gNpB zP<;xkez-y-Lr(0^P^G!YH~WLut`0=mPXbVN64iv6Nd`s=eUQ;?V((+QU0&B4SF3*{Pm$AVrq;v&)c>VLy_UCe45VEsI@ZWM2TaB# zRU6XaLx0^H=0)Z!$rIu`3*s{Z!W7pU@6aHvX*vUuzME+!B5H}k_gFD)3=f;nI zi1|B!@iO%p;L{!JSEI~vyUByf_{HY=;RuAK##-h!06XFwxYi?xl}oWStJ*P{OcVe~ z_v(y8!+BaLQB`(D(XrL0ReKMn$R)8mU2@$q$Pq; zbZq-$IkP4V(`m}e<)cwnZLrjiA-X0@VY~Gi5-PKX20#Eag!JOw1br%7Rr}`(v@d!u zCo@&wE1SwM=zt~$K!eJ**9GAv!}Cogn9(d0X~BwPkU4gaWh?WVRcE3N?C%_R_D)Vw z(YmJTJ_0~fhItqHPqoIFGQYE2!~?aSRa{vjcDWhy5>oT zGOMFTWfL`aLx-!QL(9r?~D6y9Uhq=af8z!rqg#p zXk%gE-;=@G>MUv7p@P#ni@zP*$YQwA0Dlc21`%pV;p!_F@xI(^eA5&SZ{rU?^Wj}! z6Y%C^eMYilc_~MAwqV`h=I0;WA)MqJ^$IvyJ-O0)*RuLYjTL1TWd|(NbhIZ;nOop( z`4bc=fsxaeI@zc!vvYFFetFRKSMjef2_#oIzzPIxZ4oB0sxKOzX4Wltz#G@LD2Qr5 zm9o~xF;EU*_!O`}IigC{sU%1^$$B@>Fa_H0*>*1Amc^7tnKxcPpr8zZTme`6(0@J| zXfBE;0)lcuv%tqq05V8P2B^)Nhq~qdR|1KCfe>(GeuFaNc)T~zvma>o)FZv;sVD@D zynx%jpd8m<{zI zz44BQcmN85TNhy2plu`Nt$b;sKELSBpW)my@*ZnL{lFaD|7-8c-;zw*wh@(1yH+~o zQd6mwOU~P(B4CS|mX=v+F44&NRvMbQpcpDmU!|BhndzGgrsa}~;RGs*v>~aLX|A9$ zxrCyC3y6ZiciVh3@BH@t1LJY%FM8{e94DY4JQ} zYS0fcOC|N!{@iq*a@H$Qe9ONriBWJrhLhC?o5K2)!=~i)0hGh-mMd~RkqdIGCB(fU zy5*IvHssJ&gxudt>g(3w2{)axskJ_#h96qTc~<{c!`n^f zg+SOfdm8=UI!4%}d%RkXd}yWU1H66h)eDTsQr!qkcZE^zbI#F$k(dn7l7z}@YSv1+ zIcEYw{HJjfg()x7R@zQ&o;LdJ2vi6Fkl?OHM-Ga!%w}co(6=I5LZ>n{9pr~6!z|S$ zq_VfE7##n|{H(t$wPI-D`~L#((@V(MZ>p6Eb8k%4{lIGT;hZ9cg%~HhcbDCd%0RbM zs?uZG1wSL{Z0f+NzDiO?w9~XT^dWptKJ@M~0(@5*az*ZgabU465JN9eFY7vD8Wdz_ zlAIonnlivB;uDXov3sIgoKx2>G6a;@?v0qg;r`RnZ{4wMw2%}(e*c8k`R7sNT@>H} zfUU~mHR~8!4rJTHVlT=v3wz2kx&95Nz?@Tj8)s5E}t{|AFA=d_Y zOTqb{ATx>U``k~NJ2hYk3r#Gn1}|1Xj}jq!9%;{k(?9!WZt1z#{OATvapC-}#$LWi zi2R>~v0v6A<|?Eg)Ye#VyRyr7RJ$N4vFEFfmb1jHF(yZN^rc!ULDen>KWu(D9Z5!P ze(qg(G2HmSqyi2B&W`vo@N=3l?+dXbWn-`1LrY1^_mSilpKLLxQp}@s?=Tqw6Do5Pui*IhPZtaT|GAE&MF$;(4s9Bt5f+vbITElRv3( ze&@3GgY%ltiz;PZXq||TeA+sP9bc(#*G<2ck&zF3W?0$Bxit`EwvZb7jke;810>h3 zb}}!oS_xUbJ^$_PWrSlJ-;v4qq!@|L9uM#ALcMu|+|fni+AqPpu+CtjBrs#Y1jKVU zEc6L$d!2l-MgMi5&7?{Dfxj)qn;mIZudn7I6V$88%05A!PtCQTGSxXKMGh;qXa|fE zJBUmhM!}@e#A?s%bajm+=Ka1WxHZWaj;k#XT{T#;bH9c5zA8txVHEz(EeE*PP9eD9 z<2|evdxmVLj_n@`lp>6@ zy_ZTczm54_lGjPwPaq$dF1HdIks&Mp;%bge$QZnnp${}#&Z3)z95ei@b9;c=kJpY- z$G#RZbgyTi3&d4=3%+gXOSp|g^~^%K1id>re4gTka;7m@WA}bFo`GUbT8-n19VVdO}IkuW(H_iil_S}@$xy(Q*fCcNaD60 zxqsWK5lESLWnKgy^ci@da#k9^aW5)oLzbFxlUVBA&UM~79PF7=rW@Ot`>9(Gju3N{A4%EK0dPuz{=J_LUv|Pe^*x3eq_ExMNjB3?{$+xH^_Y z;e5pH)*~Lo@y=;b=P$Iqp9KR|j(>D-kaI4WeI&&HPFRtbZBMiQ^PwE`pF$Z7#(@UF zP2~&InXDTNx3`4)H2mD8yHl{Jk(|C(VA2vwY}3IRqo*qy9HvN7a!$$hlZqjmb6tZy zp1fLd^be5LmcI`_d3@@A`jLDS!b0qXVvP%y>+DfL86Ie=*TZ)PL??Lk^F};4=dwv; zPRBV>*)f&NE0vtjYHw@vs9l(Dk*g-}ARSciwv!f)E361d_9y<;9b7)PBw$3dh`AZi zAY4)BVh3t>;gR=s)nZW3PT_3bOLDK)eTZT^*m%P!HdC!FvK=Z=_iA>Bg!`SsC|P3u zz+oMr^PUcTebccFK>bqp475+?5RUC{Y7klp^p=Q;ZM+c8Zq6wBtH*5c=QHlp7wZS%6AszeebN>>_2^H7uuK@g%1{vF}DT>U{h`}c+u5ubXcFMH)fZ6-l z!y=qVN>jqgj)3T!mALcM;1!8}PDcMCU6<9?l#euNff${zE=b0d%;TcPFfw`y>zjLg#_WgnwatH|t}Y&WrR32m5W_AWNa`OqIc{ zW{_mX(Ck1psRCgMhJ*hXhcAG1ocb_kuY)%9rlYzq8h$K;X}=5m+8CYpJ4Yw6zLi%S zpu}dkAc_hVv>NfWy9eLsQ-6OzoBl{WAkRi|U;anmJ5dFwz(C9~-A(!Vfw z(E!S5ua;@}(q5GrIc6|PAOSPg{il$s$UBI}tk5xuP-VedGyZd}xqXvWvU_`{;Cf0> z5fN79T(#iq-q$RLb(of0ZA0lfepj^!a2-6 zv{v^7r2J*xmj&XVgZ>Wd=RqwGGe1`-Svll~bz(-y7*N1ooU5J*aY@&5ea5ss6n(a? z`N9l?w~=^1g2wLDVRD5ovqLc^Z#YRDFR+QYV4emH*fzOpzer3>Pudh??f``be>dD3 z)xB}1O6bZpnt=j(m92Fxq0dz89n>B05xx10QDL-YDz&e>h_u@9+RG)Pv4{2IYNiMy z8auH}j+fW*;q%Ymtbq+KI_r4gxGUeYJ>hq~vbe!N3%NntH+Dyh7I70!cu(qE_`Vp; z07NvH4Q2s#9;mKj;>umoviK|H+#CbgGq`D+QxI*$r6&D`yf%-M^{H;6gi4*j3?c9c z8$}NK?0I4%b?c`p2;SvL3*xY`0fe_KIZqPm`M%{DCrPUt{bS|zlhbHBNlUe7zcK}E z$L2zIl+z#Z!thJW!}{G&JAC@Pg`H(}GLM_m;uV}C9Yt(vF+F0Dy7{`k zY&v=ZZf?8^qSD>~2iP#{qQK632aMplZye6Q3X>dctS@JHSz2)zJaqXvFEZlr>9$oY z^&9^4pN`1EJcEw_wi@P{zJqQX470?WZTB*5Y7F!3#xJO^z|Gw@)bFoY5#daTP5OgI zcbKI$Ok(|9g_%#If*$3ga=U0_n%|#}eWwyeW~(19Te+!xF*(rd=LU(nM15;<7Z&oA zrqIw#r7}&_qgCdvS7+!|3?8w7JNRtHQ$~8Yyw(xC+n=- z7SQBo3+)tbg2NJn^=lukNOCkiEsgt~4tCrZ{aSnrHRMk@_?1^whFrEn3mT1NSC9B&c-(JrWu@FUhSNf+(>-_%kX#@LYnzq`^M#XX}(*!_LZCY za24(5Y$WH^=;GY^#0c{Y4{_!GPvm_bd#&6ypUpfwu%|+=UEe^Q+oe$7cXnyF@O67L3%SKO#rdayD^4^vH2hG{w%vp|_*jKf4 z=jb?40UP4S+Mi~(Uz(^cvgVB+r+Rt|;wnFRYcz(i=&Q14Ok=V-tTPw4%v&;ZrxI#w z6&rvLjj#yzBr5~N*7o09CkIE=>EWwo`ceL*@Y=504RB*xY#SY{)p3Gvn9zBL_FCN0 zl^axu8p~su8HpiDNi{%5ojAv1{0?t7*mflF9&Y_x4#)X(jyLl~c+s6*I1G7{zBI;tH*_ z94)o##4$cU4ohj~e#C^E><)3E`d;ftdwTQZpDmp)9)n5^+h%BE?)8LI2A`L!zjTBL zPYE&+#0&jDFc&4Tg}VC}E@4ZGyWbiK2dvn6Mpu!cQT_^6!RG!7)fE>V>?PNFm?vc5 z>A8gcW=5Xm2#LEW_;XgMQ$=Y-#lc|zs2}}2ny_4Kb%D@Vrtu6rOmUe!ph7;;L`XHi zXcDHc;OYbIk44?|A9-=Ml{Xap)^{jb5$Kl?v`CIT`bDXV*x{h+UARtzOd}#US>a%X zOdU`5^_P@lkQxB*B<&RQB?FgJOH2-~rMnXf_{5%~s&OlUM^i30FeOM{`XOXs)3_BU zEAyNr%bz8RJ=Cvw8y=)3p z`K|i!j$l~LqQ)kabHK}7WeyB$x*({t#cQWf98qh&X{R*Y--9)~g)?XCL>&z;v9#hY zTFY?DV&1fPE&*z}6Ki`Y5#(-eVYB;OzZjPSDnN%ArA8D>wODpQT4Jt}ah556JE+G_! z_P0uQ!qDhR94VdpAqajIOl4~>oTaQ8H5yXaTZUOb%cRAkWYV?KSNlTqgSM=Wgf)JP zz=?Q5f5zPEVO!NbOCbqEwP^Ff_O_`gdm67#U{Mp^_bKcq2IoO%zcJb(M5z`cjv1Ck z+!awNRhwjj6CQqu+xC#{UWo^3+h?6ymzq3r?3JV}<|u_9x=MWAm`1AqAnOsJ*@)^4 zr|`FkZlg{Cd!#Chmhn=_ZQe;~-DTUOv>)Tbmh0{z_42vWa|vNUO% z_5KA1xNHBgw0zjUH|s5xg$b4k z@Koa#-AFizrr6h2#$k*41tm7_jp$yL4X*DZcklq!u+>9E0WnhcOFPn7Vh^ao@~tno z@RwY)*+8&|Hpdq)`a=L*Teuw;_B@u;o!a!YaOO@bs-?*gqpm?nRkXl~mKFfF z+OVzE%RlC`M5-+KM_GXZ@9b;=2C(sq+R&Ko_RzZ%5P~kDieK3yzV4BN*{$E%KY;4k z)s?*vacHYN~u+?SoI`e@S2!9Co!cdvz;@N@{yj`0-9^8osR(V7PR-O&gM)x3owqs5oJpIwc zgY`#VzjI$V>YYDrIr8D;0JK<10@ycefw z;;oV(!gUR*xBg%xTl-#d>u(5}#jFrLKo}q0b{IuuZhuO7n++ zo@9)d#`(AT$mbW5g;c;&z>1_2Nk%;L?TIhfeK%PYp>5N<5wdihxw4-qvVsN6t@bol zDFgi~t`B&ZU3ek!#fXVE5Ao$7AwI+@amT_m2SclwQE{cLcv3kwhokq+!S%>Fe_*(Z z75)vhq@YqZqa~Hf$0S?T@nr_%mV%*aT${~4)6|(P@Bq_Q!VC4tZa`7?ra`4?oV+wSr2`TVSUmKS_>V@3%0*S#!+L=3f@oF=4k9U9xv0p1;Fx&}V;X2J~h zcz^}G3|;s8JyEFR*LB*fPUm+?f+ofnBQ5uK%NrwA+RV_~h<6-mw_wU?NGRI!zNTh% z&>ty6x8&gW75gdW)?p->&%?{*brS|k@b|(>&<^nyO55Pi_q*eK)=J*Uunw2cw--p%E!VXuDa? ztZ$HPKJ6$Sh7!UrpxVBLFSnpZOw$(ftvg!Nk1LVfL+FL(u zh1Abu(oCSmgqQ2IrE;Zz2f2DAD%T4XO6tU&)2IB}vV3{^xpz1MYFEPy_09RP2QvmA zIqw<(UaCnCs!mFX$+3sjnV*(O5)y`jW!*wzF-l^K`Bxgap+0Ej z@c^nf{Ic`6I5#9bcE7fwiiP8JZ9dr3FsD~SBiW_`8{UgFt*{$@qj#E)90JYra>Zs3 z$sCTuzOye2GdTO;4@;wgJK@!ij-|c--insluCR}{#q=D6Xz#nL6;`rkc*UzLTR%Y{ zN2YK;Zcz4YY=+|(0_?E=#~3U@I1fIyRiBF zIeWj=id+b|L;kSMs>NMfeB^(={IdrC;NYJy_$L+olL`OdOqgH0OpSa?FTRhwb<|%A Pe7HEdAEg|=c=LY&YVNkY literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/packages/celest_auth/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png new file mode 100644 index 0000000000000000000000000000000000000000..13b35eba55c6dabc3aac36f33d859266c18fa0d0 GIT binary patch literal 5680 zcmaiYXH?Tqu=Xz`p-L#B_gI#0we$cm_HcmYFP$?wjD#BaCN4mzC5#`>w9y6=ThxrYZc0WPXprg zYjB`UsV}0=eUtY$(P6YW}npdd;%9pi?zS3k-nqCob zSX_AQEf|=wYT3r?f!*Yt)ar^;l3Sro{z(7deUBPd2~(SzZ-s@0r&~Km2S?8r##9-< z)2UOSVaHqq6}%sA9Ww;V2LG=PnNAh6mA2iWOuV7T_lRDR z&N8-eN=U)-T|;wo^Wv=34wtV0g}sAAe}`Ph@~!|<;z7*K8(qkX0}o=!(+N*UWrkEja*$_H6mhK1u{P!AC39} z|3+Z(mAOq#XRYS)TLoHv<)d%$$I@+x+2)V{@o~~J-!YUI-Q9%!Ldi4Op&Lw&B>jj* zwAgC#Y>gbIqv!d|J5f!$dbCXoq(l3GR(S>(rtZ~Z*agXMMKN!@mWT_vmCbSd3dUUm z4M&+gz?@^#RRGal%G3dDvj7C5QTb@9+!MG+>0dcjtZEB45c+qx*c?)d<%htn1o!#1 zpIGonh>P1LHu3s)fGFF-qS}AXjW|M*2Xjkh7(~r(lN=o#mBD9?jt74=Rz85I4Nfx_ z7Z)q?!};>IUjMNM6ee2Thq7))a>My?iWFxQ&}WvsFP5LP+iGz+QiYek+K1`bZiTV- zHHYng?ct@Uw5!gquJ(tEv1wTrRR7cemI>aSzLI^$PxW`wL_zt@RSfZ1M3c2sbebM* ze0=;sy^!90gL~YKISz*x;*^~hcCoO&CRD)zjT(A2b_uRue=QXFe5|!cf0z1m!iwv5GUnLw9Dr*Ux z)3Lc!J@Ei;&&yxGpf2kn@2wJ2?t6~obUg;?tBiD#uo$SkFIasu+^~h33W~`r82rSa ztyE;ehFjC2hjpJ-e__EH&z?!~>UBb=&%DS>NT)1O3Isn-!SElBV2!~m6v0$vx^a<@ISutdTk1@?;i z<8w#b-%|a#?e5(n@7>M|v<<0Kpg?BiHYMRe!3Z{wYc2hN{2`6(;q`9BtXIhVq6t~KMH~J0~XtUuT06hL8c1BYZWhN zk4F2I;|za*R{ToHH2L?MfRAm5(i1Ijw;f+0&J}pZ=A0;A4M`|10ZskA!a4VibFKn^ zdVH4OlsFV{R}vFlD~aA4xxSCTTMW@Gws4bFWI@xume%smAnuJ0b91QIF?ZV!%VSRJ zO7FmG!swKO{xuH{DYZ^##gGrXsUwYfD0dxXX3>QmD&`mSi;k)YvEQX?UyfIjQeIm! z0ME3gmQ`qRZ;{qYOWt}$-mW*>D~SPZKOgP)T-Sg%d;cw^#$>3A9I(%#vsTRQe%moT zU`geRJ16l>FV^HKX1GG7fR9AT((jaVb~E|0(c-WYQscVl(z?W!rJp`etF$dBXP|EG z=WXbcZ8mI)WBN>3<@%4eD597FD5nlZajwh8(c$lum>yP)F}=(D5g1-WVZRc)(!E3} z-6jy(x$OZOwE=~{EQS(Tp`yV2&t;KBpG*XWX!yG+>tc4aoxbXi7u@O*8WWFOxUjcq z^uV_|*818$+@_{|d~VOP{NcNi+FpJ9)aA2So<7sB%j`$Prje&auIiTBb{oD7q~3g0 z>QNIwcz(V-y{Ona?L&=JaV5`o71nIsWUMA~HOdCs10H+Irew#Kr(2cn>orG2J!jvP zqcVX0OiF}c<)+5&p}a>_Uuv)L_j}nqnJ5a?RPBNi8k$R~zpZ33AA4=xJ@Z($s3pG9 zkURJY5ZI=cZGRt_;`hs$kE@B0FrRx(6K{`i1^*TY;Vn?|IAv9|NrN*KnJqO|8$e1& zb?OgMV&q5|w7PNlHLHF) zB+AK#?EtCgCvwvZ6*u|TDhJcCO+%I^@Td8CR}+nz;OZ*4Dn?mSi97m*CXXc=};!P`B?}X`F-B5v-%ACa8fo0W++j&ztmqK z;&A)cT4ob9&MxpQU41agyMU8jFq~RzXOAsy>}hBQdFVL%aTn~M>5t9go2j$i9=(rZ zADmVj;Qntcr3NIPPTggpUxL_z#5~C!Gk2Rk^3jSiDqsbpOXf^f&|h^jT4|l2ehPat zb$<*B+x^qO8Po2+DAmrQ$Zqc`1%?gp*mDk>ERf6I|42^tjR6>}4`F_Mo^N(~Spjcg z_uY$}zui*PuDJjrpP0Pd+x^5ds3TG#f?57dFL{auS_W8|G*o}gcnsKYjS6*t8VI<) zcjqTzW(Hk*t-Qhq`Xe+x%}sxXRerScbPGv8hlJ;CnU-!Nl=# zR=iTFf9`EItr9iAlAGi}i&~nJ-&+)Y| zMZigh{LXe)uR+4D_Yb+1?I93mHQ5{pId2Fq%DBr7`?ipi;CT!Q&|EO3gH~7g?8>~l zT@%*5BbetH)~%TrAF1!-!=)`FIS{^EVA4WlXYtEy^|@y@yr!C~gX+cp2;|O4x1_Ol z4fPOE^nj(}KPQasY#U{m)}TZt1C5O}vz`A|1J!-D)bR%^+=J-yJsQXDzFiqb+PT0! zIaDWWU(AfOKlSBMS};3xBN*1F2j1-_=%o($ETm8@oR_NvtMDVIv_k zlnNBiHU&h8425{MCa=`vb2YP5KM7**!{1O>5Khzu+5OVGY;V=Vl+24fOE;tMfujoF z0M``}MNnTg3f%Uy6hZi$#g%PUA_-W>uVCYpE*1j>U8cYP6m(>KAVCmbsDf39Lqv0^ zt}V6FWjOU@AbruB7MH2XqtnwiXS2scgjVMH&aF~AIduh#^aT1>*V>-st8%=Kk*{bL zzbQcK(l2~)*A8gvfX=RPsNnjfkRZ@3DZ*ff5rmx{@iYJV+a@&++}ZW+za2fU>&(4y`6wgMpQGG5Ah(9oGcJ^P(H< zvYn5JE$2B`Z7F6ihy>_49!6}(-)oZ(zryIXt=*a$bpIw^k?>RJ2 zQYr>-D#T`2ZWDU$pM89Cl+C<;J!EzHwn(NNnWpYFqDDZ_*FZ{9KQRcSrl5T>dj+eA zi|okW;6)6LR5zebZJtZ%6Gx8^=2d9>_670!8Qm$wd+?zc4RAfV!ZZ$jV0qrv(D`db zm_T*KGCh3CJGb(*X6nXzh!h9@BZ-NO8py|wG8Qv^N*g?kouH4%QkPU~Vizh-D3<@% zGomx%q42B7B}?MVdv1DFb!axQ73AUxqr!yTyFlp%Z1IAgG49usqaEbI_RnbweR;Xs zpJq7GKL_iqi8Md?f>cR?^0CA+Uk(#mTlGdZbuC*$PrdB$+EGiW**=$A3X&^lM^K2s zzwc3LtEs5|ho z2>U(-GL`}eNgL-nv3h7E<*<>C%O^=mmmX0`jQb6$mP7jUKaY4je&dCG{x$`0=_s$+ zSpgn!8f~ya&U@c%{HyrmiW2&Wzc#Sw@+14sCpTWReYpF9EQ|7vF*g|sqG3hx67g}9 zwUj5QP2Q-(KxovRtL|-62_QsHLD4Mu&qS|iDp%!rs(~ah8FcrGb?Uv^Qub5ZT_kn%I^U2rxo1DDpmN@8uejxik`DK2~IDi1d?%~pR7i#KTS zA78XRx<(RYO0_uKnw~vBKi9zX8VnjZEi?vD?YAw}y+)wIjIVg&5(=%rjx3xQ_vGCy z*&$A+bT#9%ZjI;0w(k$|*x{I1c!ECMus|TEA#QE%#&LxfGvijl7Ih!B2 z6((F_gwkV;+oSKrtr&pX&fKo3s3`TG@ye+k3Ov)<#J|p8?vKh@<$YE@YIU1~@7{f+ zydTna#zv?)6&s=1gqH<-piG>E6XW8ZI7&b@-+Yk0Oan_CW!~Q2R{QvMm8_W1IV8<+ zQTyy=(Wf*qcQubRK)$B;QF}Y>V6d_NM#=-ydM?%EPo$Q+jkf}*UrzR?Nsf?~pzIj$ z<$wN;7c!WDZ(G_7N@YgZ``l;_eAd3+;omNjlpfn;0(B7L)^;;1SsI6Le+c^ULe;O@ zl+Z@OOAr4$a;=I~R0w4jO`*PKBp?3K+uJ+Tu8^%i<_~bU!p%so z^sjol^slR`W@jiqn!M~eClIIl+`A5%lGT{z^mRbpv}~AyO%R*jmG_Wrng{B9TwIuS z0!@fsM~!57K1l0%{yy(#no}roy#r!?0wm~HT!vLDfEBs9x#`9yCKgufm0MjVRfZ=f z4*ZRc2Lgr(P+j2zQE_JzYmP0*;trl7{*N341Cq}%^M^VC3gKG-hY zmPT>ECyrhIoFhnMB^qpdbiuI}pk{qPbK^}0?Rf7^{98+95zNq6!RuV_zAe&nDk0;f zez~oXlE5%ve^TmBEt*x_X#fs(-En$jXr-R4sb$b~`nS=iOy|OVrph(U&cVS!IhmZ~ zKIRA9X%Wp1J=vTvHZ~SDe_JXOe9*fa zgEPf;gD^|qE=dl>Qkx3(80#SE7oxXQ(n4qQ#by{uppSKoDbaq`U+fRqk0BwI>IXV3 zD#K%ASkzd7u>@|pA=)Z>rQr@dLH}*r7r0ng zxa^eME+l*s7{5TNu!+bD{Pp@2)v%g6^>yj{XP&mShhg9GszNu4ITW=XCIUp2Xro&1 zg_D=J3r)6hp$8+94?D$Yn2@Kp-3LDsci)<-H!wCeQt$e9Jk)K86hvV^*Nj-Ea*o;G zsuhRw$H{$o>8qByz1V!(yV{p_0X?Kmy%g#1oSmlHsw;FQ%j9S#}ha zm0Nx09@jmOtP8Q+onN^BAgd8QI^(y!n;-APUpo5WVdmp8!`yKTlF>cqn>ag`4;o>i zl!M0G-(S*fm6VjYy}J}0nX7nJ$h`|b&KuW4d&W5IhbR;-)*9Y0(Jj|@j`$xoPQ=Cl literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/packages/celest_auth/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png new file mode 100644 index 0000000000000000000000000000000000000000..0a3f5fa40fb3d1e0710331a48de5d256da3f275d GIT binary patch literal 520 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(-uuz(rC1}QWNE&K#jR^;j87-Auq zoUlN^K{r-Q+XN;zI ze|?*NFmgt#V#GwrSWaz^2G&@SBmck6ZcIFMww~vE<1E?M2#KUn1CzsB6D2+0SuRV@ zV2kK5HvIGB{HX-hQzs0*AB%5$9RJ@a;)Ahq#p$GSP91^&hi#6sg*;a~dt}4AclK>h z_3MoPRQ{i;==;*1S-mY<(JFzhAxMI&<61&m$J0NDHdJ3tYx~j0%M-uN6Zl8~_0DOkGXc0001@sz3l12C6Xg{AT~( zm6w64BA|AX`Ve)YY-glyudNN>MAfkXz-T7`_`fEolM;0T0BA)(02-OaW z0*cW7Z~ec94o8&g0D$N>b!COu{=m}^%oXZ4?T8ZyPZuGGBPBA7pbQMoV5HYhiT?%! zcae~`(QAN4&}-=#2f5fkn!SWGWmSeCISBcS=1-U|MEoKq=k?_x3apK>9((R zuu$9X?^8?@(a{qMS%J8SJPq))v}Q-ZyDm6Gbie0m92=`YlwnQPQP1kGSm(N2UJ3P6 z^{p-u)SSCTW~c1rw;cM)-uL2{->wCn2{#%;AtCQ!m%AakVs1K#v@(*-6QavyY&v&*wO_rCJXJuq$c$7ZjsW+pJo-$L^@!7X04CvaOpPyfw|FKvu;e(&Iw>Tbg zL}#8e^?X%TReXTt>gsBByt0kSU20oQx*~P=4`&tcZ7N6t-6LiK{LxX*p6}9c<0Pu^ zLx1w_P4P2V>bX=`F%v$#{sUDdF|;rbI{p#ZW`00Bgh(eB(nOIhy8W9T>3aQ=k8Z9% zB+TusFABF~J?N~fAd}1Rme=@4+1=M{^P`~se7}e3;mY0!%#MJf!XSrUC{0uZqMAd7%q zQY#$A>q}noIB4g54Ue)x>ofVm3DKBbUmS4Z-bm7KdKsUixva)1*&z5rgAG2gxG+_x zqT-KNY4g7eM!?>==;uD9Y4iI(Hu$pl8!LrK_Zb}5nv(XKW{9R144E!cFf36p{i|8pRL~p`_^iNo z{mf7y`#hejw#^#7oKPlN_Td{psNpNnM?{7{R-ICBtYxk>?3}OTH_8WkfaTLw)ZRTfxjW+0>gMe zpKg~`Bc$Y>^VX;ks^J0oKhB#6Ukt{oQhN+o2FKGZx}~j`cQB%vVsMFnm~R_1Y&Ml? zwFfb~d|dW~UktY@?zkau>Owe zRroi(<)c4Ux&wJfY=3I=vg)uh;sL(IYY9r$WK1$F;jYqq1>xT{LCkIMb3t2jN8d`9 z=4(v-z7vHucc_fjkpS}mGC{ND+J-hc_0Ix4kT^~{-2n|;Jmn|Xf9wGudDk7bi*?^+ z7fku8z*mbkGm&xf&lmu#=b5mp{X(AwtLTf!N`7FmOmX=4xwbD=fEo8CaB1d1=$|)+ z+Dlf^GzGOdlqTO8EwO?8;r+b;gkaF^$;+#~2_YYVH!hD6r;PaWdm#V=BJ1gH9ZK_9 zrAiIC-)z)hRq6i5+$JVmR!m4P>3yJ%lH)O&wtCyum3A*})*fHODD2nq!1@M>t@Za+ zH6{(Vf>_7!I-APmpsGLYpl7jww@s5hHOj5LCQXh)YAp+y{gG(0UMm(Ur z3o3n36oFwCkn+H*GZ-c6$Y!5r3z*@z0`NrB2C^q#LkOuooUM8Oek2KBk}o1PU8&2L z4iNkb5CqJWs58aR394iCU^ImDqV;q_Pp?pl=RB2372(Io^GA^+oKguO1(x$0<7w3z z)j{vnqEB679Rz4i4t;8|&Zg77UrklxY9@GDq(ZphH6=sW`;@uIt5B?7Oi?A0-BL}(#1&R;>2aFdq+E{jsvpNHjLx2t{@g1}c~DQcPNmVmy| zNMO@ewD^+T!|!DCOf}s9dLJU}(KZy@Jc&2Nq3^;vHTs}Hgcp`cw&gd7#N}nAFe3cM1TF%vKbKSffd&~FG9y$gLyr{#to)nxz5cCASEzQ}gz8O)phtHuKOW6p z@EQF(R>j%~P63Wfosrz8p(F=D|Mff~chUGn(<=CQbSiZ{t!e zeDU-pPsLgtc#d`3PYr$i*AaT!zF#23htIG&?QfcUk+@k$LZI}v+js|yuGmE!PvAV3 ztzh90rK-0L6P}s?1QH`Ot@ilbgMBzWIs zIs6K<_NL$O4lwR%zH4oJ+}JJp-bL6~%k&p)NGDMNZX7)0kni&%^sH|T?A)`z z=adV?!qnWx^B$|LD3BaA(G=ePL1+}8iu^SnnD;VE1@VLHMVdSN9$d)R(Wk{JEOp(P zm3LtAL$b^*JsQ0W&eLaoYag~=fRRdI>#FaELCO7L>zXe6w*nxN$Iy*Q*ftHUX0+N- zU>{D_;RRVPbQ?U+$^%{lhOMKyE5>$?U1aEPist+r)b47_LehJGTu>TcgZe&J{ z{q&D{^Ps~z7|zj~rpoh2I_{gAYNoCIJmio3B}$!5vTF*h$Q*vFj~qbo%bJCCRy509 zHTdDh_HYH8Zb9`}D5;;J9fkWOQi%Y$B1!b9+ESj+B@dtAztlY2O3NE<6HFiqOF&p_ zW-K`KiY@RPSY-p9Q99}Hcd05DT79_pfb{BV7r~?9pWh=;mcKBLTen%THFPo2NN~Nf zriOtFnqx}rtO|A6k!r6 zf-z?y-UD{dT0kT9FJ`-oWuPHbo+3wBS(}?2ql(+e@VTExmfnB*liCb zmeI+v5*+W_L;&kQN^ChW{jE0Mw#0Tfs}`9bk3&7UjxP^Ke(%eJu2{VnW?tu7Iqecm zB5|=-QdzK$=h50~{X3*w4%o1FS_u(dG2s&427$lJ?6bkLet}yYXCy)u_Io1&g^c#( z-$yYmSpxz{>BL;~c+~sxJIe1$7eZI_9t`eB^Pr0)5CuA}w;;7#RvPq|H6!byRzIJG ziQ7a4y_vhj(AL`8PhIm9edCv|%TX#f50lt8+&V+D4<}IA@S@#f4xId80oH$!_!q?@ zFRGGg2mTv&@76P7aTI{)Hu%>3QS_d)pQ%g8BYi58K~m-Ov^7r8BhX7YC1D3vwz&N8{?H*_U7DI?CI)+et?q|eGu>42NJ?K4SY zD?kc>h@%4IqNYuQ8m10+8xr2HYg2qFNdJl=Tmp&ybF>1>pqVfa%SsV*BY$d6<@iJA ziyvKnZ(~F9xQNokBgMci#pnZ}Igh0@S~cYcU_2Jfuf|d3tuH?ZSSYBfM(Y3-JBsC|S9c;# zyIMkPxgrq};0T09pjj#X?W^TFCMf1-9P{)g88;NDI+S4DXe>7d3Mb~i-h&S|Jy{J< zq3736$bH?@{!amD!1Ys-X)9V=#Z={fzsjVYMX5BG6%}tkzwC#1nQLj1y1f#}8**4Y zAvDZHw8)N)8~oWC88CgzbwOrL9HFbk4}h85^ptuu7A+uc#$f^9`EWv1Vr{5+@~@Uv z#B<;-nt;)!k|fRIg;2DZ(A2M2aC65kOIov|?Mhi1Sl7YOU4c$T(DoRQIGY`ycfkn% zViHzL;E*A{`&L?GP06Foa38+QNGA zw3+Wqs(@q+H{XLJbwZzE(omw%9~LPZfYB|NF5%j%E5kr_xE0u;i?IOIchn~VjeDZ) zAqsqhP0vu2&Tbz3IgJvMpKbThC-@=nk)!|?MIPP>MggZg{cUcKsP8|N#cG5 zUXMXxcXBF9`p>09IR?x$Ry3;q@x*%}G#lnB1}r#!WL88I@uvm}X98cZ8KO&cqT1p> z+gT=IxPsq%n4GWgh-Bk8E4!~`r@t>DaQKsjDqYc&h$p~TCh8_Mck5UB84u6Jl@kUZCU9BA-S!*bf>ZotFX9?a_^y%)yH~rsAz0M5#^Di80_tgoKw(egN z`)#(MqAI&A84J#Z<|4`Co8`iY+Cv&iboMJ^f9ROUK0Lm$;-T*c;TCTED_0|qfhlcS zv;BD*$Zko#nWPL}2K8T-?4}p{u)4xon!v_(yVW8VMpxg4Kh^J6WM{IlD{s?%XRT8P|yCU`R&6gwB~ zg}{At!iWCzOH37!ytcPeC`(({ovP7M5Y@bYYMZ}P2Z3=Y_hT)4DRk}wfeIo%q*M9UvXYJq!-@Ly79m5aLD{hf@BzQB>FdQ4mw z6$@vzSKF^Gnzc9vbccii)==~9H#KW<6)Uy1wb~auBn6s`ct!ZEos`WK8e2%<00b%# zY9Nvnmj@V^K(a_38dw-S*;G-(i(ETuIwyirs?$FFW@|66a38k+a%GLmucL%Wc8qk3 z?h_4!?4Y-xt)ry)>J`SuY**fuq2>u+)VZ+_1Egzctb*xJ6+7q`K$^f~r|!i?(07CD zH!)C_uerf-AHNa?6Y61D_MjGu*|wcO+ZMOo4q2bWpvjEWK9yASk%)QhwZS%N2_F4& z16D18>e%Q1mZb`R;vW{+IUoKE`y3(7p zplg5cBB)dtf^SdLd4n60oWie|(ZjgZa6L*VKq02Aij+?Qfr#1z#fwh92aV-HGd^_w zsucG24j8b|pk>BO7k8dS86>f-jBP^Sa}SF{YNn=^NU9mLOdKcAstv&GV>r zLxKHPkFxpvE8^r@MSF6UA}cG`#yFL8;kA7ccH9D=BGBtW2;H>C`FjnF^P}(G{wU;G z!LXLCbPfsGeLCQ{Ep$^~)@?v`q(uI`CxBY44osPcq@(rR-633!qa zsyb>?v%@X+e|Mg`+kRL*(;X>^BNZz{_kw5+K;w?#pReiw7eU8_Z^hhJ&fj80XQkuU z39?-z)6Fy$I`bEiMheS(iB6uLmiMd1i)cbK*9iPpl+h4x9ch7x- z1h4H;W_G?|)i`z??KNJVwgfuAM=7&Apd3vm#AT8uzQZ!NII}}@!j)eIfn53h{NmN7 zAKG6SnKP%^k&R~m5#@_4B@V?hYyHkm>0SQ@PPiw*@Tp@UhP-?w@jW?nxXuCipMW=L zH*5l*d@+jXm0tIMP_ec6Jcy6$w(gKK@xBX8@%oPaSyG;13qkFb*LuVx3{AgIyy&n3 z@R2_DcEn|75_?-v5_o~%xEt~ONB>M~tpL!nOVBLPN&e5bn5>+7o0?Nm|EGJ5 zmUbF{u|Qn?cu5}n4@9}g(G1JxtzkKv(tqwm_?1`?YSVA2IS4WI+*(2D*wh&6MIEhw z+B+2U<&E&|YA=3>?^i6)@n1&&;WGHF-pqi_sN&^C9xoxME5UgorQ_hh1__zzR#zVC zOQt4q6>ME^iPJ37*(kg4^=EFqyKH@6HEHXy79oLj{vFqZGY?sVjk!BX^h$SFJlJnv z5uw~2jLpA)|0=tp>qG*tuLru?-u`khGG2)o{+iDx&nC}eWj3^zx|T`xn5SuR;Aw8U z`p&>dJw`F17@J8YAuW4=;leBE%qagVTG5SZdh&d)(#ZhowZ|cvWvGMMrfVsbg>_~! z19fRz8CSJdrD|Rl)w!uznBF&2-dg{>y4l+6(L(vzbLA0Bk&`=;oQQ>(M8G=3kto_) zP8HD*n4?MySO2YrG6fwSrVmnesW+D&fxjfEmp=tPd?RKLZJcH&K(-S+x)2~QZ$c(> zru?MND7_HPZJVF%wX(49H)+~!7*!I8w72v&{b={#l9yz+S_aVPc_So%iF8>$XD1q1 zFtucO=rBj0Ctmi0{njN8l@}!LX}@dwl>3yMxZ;7 z0Ff2oh8L)YuaAGOuZ5`-p%Z4H@H$;_XRJQ|&(MhO78E|nyFa158gAxG^SP(vGi^+< zChY}o(_=ci3Wta#|K6MVljNe0T$%Q5ylx-v`R)r8;3+VUpp-)7T`-Y&{Zk z*)1*2MW+_eOJtF5tCMDV`}jg-R(_IzeE9|MBKl;a7&(pCLz}5<Zf+)T7bgNUQ_!gZtMlw=8doE}#W+`Xp~1DlE=d5SPT?ymu!r4z%&#A-@x^=QfvDkfx5-jz+h zoZ1OK)2|}_+UI)i9%8sJ9X<7AA?g&_Wd7g#rttHZE;J*7!e5B^zdb%jBj&dUDg4&B zMMYrJ$Z%t!5z6=pMGuO-VF~2dwjoXY+kvR>`N7UYfIBMZGP|C7*O=tU z2Tg_xi#Q3S=1|=WRfZD;HT<1D?GMR%5kI^KWwGrC@P2@R>mDT^3qsmbBiJc21kip~ zZp<7;^w{R;JqZ)C4z-^wL=&dBYj9WJBh&rd^A^n@07qM$c+kGv^f+~mU5_*|eePF| z3wDo-qaoRjmIw<2DjMTG4$HP{z54_te_{W^gu8$r=q0JgowzgQPct2JNtWPUsjF8R zvit&V8$(;7a_m%%9TqPkCXYUp&k*MRcwr*24>hR! z$4c#E=PVE=P4MLTUBM z7#*RDe0}=B)(3cvNpOmWa*eH#2HR?NVqXdJ=hq);MGD07JIQQ7Y0#iD!$C+mk7x&B zMwkS@H%>|fmSu#+ zI!}Sb(%o29Vkp_Th>&&!k7O>Ba#Om~B_J{pT7BHHd8(Ede(l`7O#`_}19hr_?~JP9 z`q(`<)y>%)x;O7)#-wfCP{?llFMoH!)ZomgsOYFvZ1DxrlYhkWRw#E-#Qf*z@Y-EQ z1~?_=c@M4DO@8AzZ2hKvw8CgitzI9yFd&N1-{|vP#4IqYb*#S0e3hrjsEGlnc4xwk z4o!0rxpUt8j&`mJ8?+P8G{m^jbk)bo_UPM+ifW*y-A*et`#_Ja_3nYyRa9fAG1Xr5 z>#AM_@PY|*u)DGRWJihZvgEh#{*joJN28uN7;i5{kJ*Gb-TERfN{ERe_~$Es~NJCpdKLRvdj4658uYYx{ng7I<6j~w@p%F<7a(Ssib|j z51;=Py(Nu*#hnLx@w&8X%=jrADn3TW>kplnb zYbFIWWVQXN7%Cwn6KnR)kYePEBmvM45I)UJb$)ninpdYg3a5N6pm_7Q+9>!_^xy?k za8@tJ@OOs-pRAAfT>Nc2x=>sZUs2!9Dwa%TTmDggH4fq(x^MW>mcRyJINlAqK$YQCMgR8`>6=Sg$ zFnJZsA8xUBXIN3i70Q%8px@yQPMgVP=>xcPI38jNJK<=6hC={a07+n@R|$bnhB)X$ z(Zc%tadp70vBTnW{OUIjTMe38F}JIH$#A}PB&RosPyFZMD}q}5W%$rh>5#U;m`z2K zc(&WRxx7DQLM-+--^w*EWAIS%bi>h587qkwu|H=hma3T^bGD&Z!`u(RKLeNZ&pI=q$|HOcji(0P1QC!YkAp*u z3%S$kumxR}jU<@6`;*-9=5-&LYRA<~uFrwO3U0k*4|xUTp4ZY7;Zbjx|uw&BWU$zK(w55pWa~#=f$c zNDW0O68N!xCy>G}(CX=;8hJLxAKn@Aj(dbZxO8a$+L$jK8$N-h@4$i8)WqD_%Snh4 zR?{O%k}>lr>w$b$g=VP8mckcCrjnp>uQl5F_6dPM8FWRqs}h`DpfCv20uZhyY~tr8 zkAYW4#yM;*je)n=EAb(q@5BWD8b1_--m$Q-3wbh1hM{8ihq7UUQfg@)l06}y+#=$( z$x>oVYJ47zAC^>HLRE-!HitjUixP6!R98WU+h>zct7g4eD;Mj#FL*a!VW!v-@b(Jv zj@@xM5noCp5%Vk3vY{tyI#oyDV7<$`KG`tktVyC&0DqxA#>V;-3oH%NW|Q&=UQ&zU zXNIT67J4D%5R1k#bW0F}TD`hlW7b)-=-%X4;UxQ*u4bK$mTAp%y&-(?{sXF%e_VH6 zTkt(X)SSN|;8q@8XX6qfR;*$r#HbIrvOj*-5ND8RCrcw4u8D$LXm5zlj@E5<3S0R# z??=E$p{tOk96$SloZ~ARe5`J=dB|Nj?u|zy2r(-*(q^@YwZiTF@QzQyPx_l=IDKa) zqD@0?IHJqSqZ_5`)81?4^~`yiGh6>7?|dKa8!e|}5@&qV!Iu9<@G?E}Vx9EzomB3t zEbMEm$TKGwkHDpirp;FZD#6P5qIlQJ8}rf;lHoz#h4TFFPYmS3+8(13_Mx2`?^=8S z|0)0&dQLJTU6{b%*yrpQe#OKKCrL8}YKw+<#|m`SkgeoN69TzIBQOl_Yg)W*w?NW) z*WxhEp$zQBBazJSE6ygu@O^!@Fr46j=|K`Mmb~xbggw7<)BuC@cT@Bwb^k?o-A zKX^9AyqR?zBtW5UA#siILztgOp?r4qgC`9jYJG_fxlsVSugGprremg-W(K0{O!Nw-DN%=FYCyfYA3&p*K>+|Q}s4rx#CQK zNj^U;sLM#q8}#|PeC$p&jAjqMu(lkp-_50Y&n=qF9`a3`Pr9f;b`-~YZ+Bb0r~c+V z*JJ&|^T{}IHkwjNAaM^V*IQ;rk^hnnA@~?YL}7~^St}XfHf6OMMCd9!vhk#gRA*{L zp?&63axj|Si%^NW05#87zpU_>QpFNb+I00v@cHwvdBn+Un)n2Egdt~LcWOeBW4Okm zD$-e~RD+W|UB;KQ;a7GOU&%p*efGu2$@wR74+&iP8|6#_fmnh^WcJLs)rtz{46);F z4v0OL{ZP9550>2%FE(;SbM*#sqMl*UXOb>ch`fJ|(*bOZ9=EB1+V4fkQ)hjsm3-u^Pk-4ji_uDDHdD>84tER!MvbH`*tG zzvbhBR@}Yd`azQGavooV=<WbvWLlO#x`hyO34mKcxrGv=`{ssnP=0Be5#1B;Co9 zh{TR>tjW2Ny$ZxJpYeg57#0`GP#jxDCU0!H15nL@@G*HLQcRdcsUO3sO9xvtmUcc{F*>FQZcZ5bgwaS^k-j5mmt zI7Z{Xnoml|A(&_{imAjK!kf5>g(oDqDI4C{;Bv162k8sFNr;!qPa2LPh>=1n z=^_9)TsLDvTqK7&*Vfm5k;VXjBW^qN3Tl&}K=X5)oXJs$z3gk0_+7`mJvz{pK|FVs zHw!k&7xVjvY;|(Py<;J{)b#Yjj*LZO7x|~pO4^MJ2LqK3X;Irb%nf}L|gck zE#55_BNsy6m+W{e zo!P59DDo*s@VIi+S|v93PwY6d?CE=S&!JLXwE9{i)DMO*_X90;n2*mPDrL%{iqN!?%-_95J^L z=l<*{em(6|h7DR4+4G3Wr;4*}yrBkbe3}=p7sOW1xj!EZVKSMSd;QPw>uhKK z#>MlS@RB@-`ULv|#zI5GytO{=zp*R__uK~R6&p$q{Y{iNkg61yAgB8C^oy&``{~FK z8hE}H&nIihSozKrOONe5Hu?0Zy04U#0$fB7C6y~?8{or}KNvP)an=QP&W80mj&8WL zEZQF&*FhoMMG6tOjeiCIV;T{I>jhi9hiUwz?bkX3NS-k5eWKy)Mo_orMEg4sV6R6X&i-Q%JG;Esl+kLpn@Bsls9O|i9z`tKB^~1D5)RIBB&J<6T@a4$pUvh$IR$%ubH)joi z!7>ON0DPwx=>0DA>Bb^c?L8N0BBrMl#oDB+GOXJh;Y&6I)#GRy$W5xK%a;KS8BrER zX)M>Rdoc*bqP*L9DDA3lF%U8Yzb6RyIsW@}IKq^i7v&{LeIc=*ZHIbO68x=d=+0T( zev=DT9f|x!IWZNTB#N7}V4;9#V$%Wo0%g>*!MdLOEU>My0^gni9ocID{$g9ytD!gy zKRWT`DVN(lcYjR|(}f0?zgBa3SwunLfAhx><%u0uFkrdyqlh8_g zDKt#R6rA2(Vm2LW_>3lBNYKG_F{TEnnKWGGC15y&OebIRhFL4TeMR*v9i0wPoK#H< zu4){s4K&K)K(9~jgGm;H7lS7y_RYfS;&!Oj5*eqbvEcW^a*i67nevzOZxN6F+K~A%TYEtsAVsR z@J=1hc#Dgs7J2^FL|qV&#WBFQyDtEQ2kPO7m2`)WFhqAob)Y>@{crkil6w9VoA?M6 zADGq*#-hyEVhDG5MQj677XmcWY1_-UO40QEP&+D)rZoYv^1B_^w7zAvWGw&pQyCyx zD|ga$w!ODOxxGf_Qq%V9Z7Q2pFiUOIK818AGeZ-~*R zI1O|SSc=3Z?#61Rd|AXx2)K|F@Z1@x!hBBMhAqiU)J=U|Y)T$h3D?ZPPQgkSosnN! zIqw-t$0fqsOlgw3TlHJF*t$Q@bg$9}A3X=cS@-yU3_vNG_!#9}7=q7!LZ?-%U26W4 z$d>_}*s1>Ac%3uFR;tnl*fNlylJ)}r2^Q3&@+is3BIv<}x>-^_ng;jhdaM}6Sg3?p z0jS|b%QyScy3OQ(V*~l~bK>VC{9@FMuW_JUZO?y(V?LKWD6(MXzh}M3r3{7b4eB(#`(q1m{>Be%_<9jw8HO!x#yF6vez$c#kR+}s zZO-_;25Sxngd(}){zv?ccbLqRAlo;yog>4LH&uZUK1n>x?u49C)Y&2evH5Zgt~666 z_2_z|H5AO5Iqxv_Bn~*y1qzRPcob<+Otod5Xd2&z=C;u+F}zBB@b^UdGdUz|s!H}M zXG%KiLzn3G?FZgdY&3pV$nSeY?ZbU^jhLz9!t0K?ep}EFNqR1@E!f*n>x*!uO*~JF zW9UXWrVgbX1n#76_;&0S7z}(5n-bqnII}_iDsNqfmye@)kRk`w~1 z6j4h4BxcPe6}v)xGm%=z2#tB#^KwbgMTl2I*$9eY|EWAHFc3tO48Xo5rW z5oHD!G4kb?MdrOHV=A+8ThlIqL8Uu+7{G@ zb)cGBm|S^Eh5= z^E^SZ=yeC;6nNCdztw&TdnIz}^Of@Ke*@vjt)0g>Y!4AJvWiL~e7+9#Ibhe)> ziNwh>gWZL@FlWc)wzihocz+%+@*euwXhW%Hb>l7tf8aJe5_ZSH1w-uG|B;9qpcBP0 zM`r1Hu#htOl)4Cl1c7oY^t0e4Jh$-I(}M5kzWqh{F=g&IM#JiC`NDSd@BCKX#y<P@Gwl$3a3w z6<(b|K(X5FIR22M)sy$4jY*F4tT{?wZRI+KkZFb<@j@_C316lu1hq2hA|1wCmR+S@ zRN)YNNE{}i_H`_h&VUT5=Y(lN%m?%QX;6$*1P}K-PcPx>*S55v)qZ@r&Vcic-sjkm z! z=nfW&X`}iAqa_H$H%z3Tyz5&P3%+;93_0b;zxLs)t#B|up}JyV$W4~`8E@+BHQ+!y zuIo-jW!~)MN$2eHwyx-{fyGjAWJ(l8TZtUp?wZWBZ%}krT{f*^fqUh+ywHifw)_F> zp76_kj_B&zFmv$FsPm|L7%x-j!WP>_P6dHnUTv!9ZWrrmAUteBa`rT7$2ixO;ga8U z3!91micm}{!Btk+I%pMgcKs?H4`i+=w0@Ws-CS&n^=2hFTQ#QeOmSz6ttIkzmh^`A zYPq)G1l3h(E$mkyr{mvz*MP`x+PULBn%CDhltKkNo6Uqg!vJ#DA@BIYr9TQ`18Un2 zv$}BYzOQuay9}w(?JV63F$H6WmlYPPpH=R|CPb%C@BCv|&Q|&IcW7*LX?Q%epS z`=CPx{1HnJ9_46^=0VmNb>8JvMw-@&+V8SDLRYsa>hZXEeRbtf5eJ>0@Ds47zIY{N z42EOP9J8G@MXXdeiPx#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91AfN*P1ONa40RR91AOHXW0IY^$^8f$?lu1NER9Fe^SItioK@|V(ZWmgL zZT;XwPgVuWM>O%^|Dc$VK;n&?9!&g5)aVsG8cjs5UbtxVVnQNOV~7Mrg3+jnU;rhE z6fhW6P)R>_eXrXo-RW*y6RQ_qcb^s1wTu$TwriZ`=JUws>vRi}5x}MW1MR#7p|gIWJlaLK;~xaN}b< z<-@=RX-%1mt`^O0o^~2=CD7pJ<<$Rp-oUL-7PuG>do^5W_Mk#unlP}6I@6NPxY`Q} zuXJF}!0l)vwPNAW;@5DjPRj?*rZxl zwn;A(cFV!xe^CUu+6SrN?xe#mz?&%N9QHf~=KyK%DoB8HKC)=w=3E?1Bqj9RMJs3U z5am3Uv`@+{jgqO^f}Lx_Jp~CoP3N4AMZr~4&d)T`R?`(M{W5WWJV^z~2B|-oih@h^ zD#DuzGbl(P5>()u*YGo*Och=oRr~3P1wOlKqI)udc$|)(bacG5>~p(y>?{JD7nQf_ z*`T^YL06-O>T(s$bi5v~_fWMfnE7Vn%2*tqV|?~m;wSJEVGkNMD>+xCu#um(7}0so zSEu7?_=Q64Q5D+fz~T=Rr=G_!L*P|(-iOK*@X8r{-?oBlnxMNNgCVCN9Y~ocu+?XA zjjovJ9F1W$Nf!{AEv%W~8oahwM}4Ruc+SLs>_I_*uBxdcn1gQ^2F8a*vGjgAXYyh? zWCE@c5R=tbD(F4nL9NS?$PN1V_2*WR?gjv3)4MQeizuH`;sqrhgykEzj z593&TGlm3h`sIXy_U<7(dpRXGgp0TB{>s?}D{fwLe>IV~exweOfH!qM@CV5kib!YA z6O0gvJi_0J8IdEvyP#;PtqP*=;$iI2t(xG2YI-e!)~kaUn~b{6(&n zp)?iJ`z2)Xh%sCV@BkU`XL%_|FnCA?cVv@h*-FOZhY5erbGh)%Q!Av#fJM3Csc_g zC2I6x%$)80`Tkz#KRA!h1FzY`?0es3t!rKDT5EjPe6B=BLPr7s0GW!if;Ip^!AmGW zL;$`Vdre+|FA!I4r6)keFvAx3M#1`}ijBHDzy)3t0gwjl|qC2YB`SSxFKHr(oY#H$)x{L$LL zBdLKTlsOrmb>T0wd=&6l3+_Te>1!j0OU8%b%N342^opKmT)gni(wV($s(>V-fUv@0p8!f`=>PxC|9=nu ze{ToBBj8b<{PLfXV$h8YPgA~E!_sF9bl;QOF{o6t&JdsX?}rW!_&d`#wlB6T_h;Xf zl{4Tz5>qjF4kZgjO7ZiLPRz_~U@k5%?=30+nxEh9?s78gZ07YHB`FV`4%hlQlMJe@J`+e(qzy+h(9yY^ckv_* zb_E6o4p)ZaWfraIoB2)U7_@l(J0O%jm+Or>8}zSSTkM$ASG^w3F|I? z$+eHt7T~04(_WfKh27zqS$6* zzyy-ZyqvSIZ0!kkSvHknm_P*{5TKLQs8S6M=ONuKAUJWtpxbL#2(_huvY(v~Y%%#~ zYgsq$JbLLprKkV)32`liIT$KKEqs$iYxjFlHiRNvBhxbDg*3@Qefw4UM$>i${R5uB zhvTgmqQsKA{vrKN;TSJU2$f9q=y{$oH{<)woSeV>fkIz6D8@KB zf4M%v%f5U2?<8B(xn}xV+gWP?t&oiapJhJbfa;agtz-YM7=hrSuxl8lAc3GgFna#7 zNjX7;`d?oD`#AK+fQ=ZXqfIZFEk{ApzjJF0=yO~Yj{7oQfXl+6v!wNnoqwEvrs81a zGC?yXeSD2NV!ejp{LdZGEtd1TJ)3g{P6j#2jLR`cpo;YX}~_gU&Gd<+~SUJVh+$7S%`zLy^QqndN<_9 zrLwnXrLvW+ew9zX2)5qw7)zIYawgMrh`{_|(nx%u-ur1B7YcLp&WFa24gAuw~& zKJD3~^`Vp_SR$WGGBaMnttT)#fCc^+P$@UHIyBu+TRJWbcw4`CYL@SVGh!X&y%!x~ zaO*m-bTadEcEL6V6*{>irB8qT5Tqd54TC4`h`PVcd^AM6^Qf=GS->x%N70SY-u?qr>o2*OV7LQ=j)pQGv%4~z zz?X;qv*l$QSNjOuQZ>&WZs2^@G^Qas`T8iM{b19dS>DaXX~=jd4B2u`P;B}JjRBi# z_a@&Z5ev1-VphmKlZEZZd2-Lsw!+1S60YwW6@>+NQ=E5PZ+OUEXjgUaXL-E0fo(E* zsjQ{s>n33o#VZm0e%H{`KJi@2ghl8g>a~`?mFjw+$zlt|VJhSU@Y%0TWs>cnD&61fW4e0vFSaXZa4-c}U{4QR8U z;GV3^@(?Dk5uc@RT|+5C8-24->1snH6-?(nwXSnPcLn#X_}y3XS)MI_?zQ$ZAuyg+ z-pjqsw}|hg{$~f0FzmmbZzFC0He_*Vx|_uLc!Ffeb8#+@m#Z^AYcWcZF(^Os8&Z4g zG)y{$_pgrv#=_rV^D|Y<_b@ICleUv>c<0HzJDOsgJb#Rd-Vt@+EBDPyq7dUM9O{Yp zuGUrO?ma2wpuJuwl1M=*+tb|qx7Doj?!F-3Z>Dq_ihFP=d@_JO;vF{iu-6MWYn#=2 zRX6W=`Q`q-+q@Db|6_a1#8B|#%hskH82lS|9`im0UOJn?N#S;Y0$%xZw3*jR(1h5s z?-7D1tnIafviko>q6$UyqVDq1o@cwyCb*})l~x<@s$5D6N=-Uo1yc49p)xMzxwnuZ zHt!(hu-Ek;Fv4MyNTgbW%rPF*dB=;@r3YnrlFV{#-*gKS_qA(G-~TAlZ@Ti~Yxw;k za1EYyX_Up|`rpbZ0&Iv#$;eC|c0r4XGaQ-1mw@M_4p3vKIIpKs49a8Ns#ni)G314Z z8$Ei?AhiT5dQGWUYdCS|IC7r z=-8ol>V?u!n%F*J^^PZ(ONT&$Ph;r6X;pj|03HlDY6r~0g~X#zuzVU%a&!fs_f|m?qYvg^Z{y?9Qh7Rn?T*F%7lUtA6U&={HzhYEzA`knx1VH> z{tqv?p@I(&ObD5L4|YJV$QM>Nh-X3cx{I&!$FoPC_2iIEJfPk-$;4wz>adRu@n`_y z_R6aN|MDHdK;+IJmyw(hMoDCFCQ(6?hCAG5&7p{y->0Uckv# zvooVuu04$+pqof777ftk<#42@KQ((5DPcSMQyzGOJ{e9H$a9<2Qi_oHjl{#=FUL9d z+~0^2`tcvmp0hENwfHR`Ce|<1S@p;MNGInXCtHnrDPXCKmMTZQ{HVm_cZ>@?Wa6}O zHsJc7wE)mc@1OR2DWY%ZIPK1J2p6XDO$ar`$RXkbW}=@rFZ(t85AS>>U0!yt9f49^ zA9@pc0P#k;>+o5bJfx0t)Lq#v4`OcQn~av__dZ-RYOYu}F#pdsl31C^+Qgro}$q~5A<*c|kypzd} ziYGZ~?}5o`S5lw^B{O@laad9M_DuJle- z*9C7o=CJh#QL=V^sFlJ0c?BaB#4bV^T(DS6&Ne&DBM_3E$S^S13qC$7_Z?GYXTpR@wqr70wu$7+qvf-SEUa5mdHvFbu^7ew!Z1a^ zo}xKOuT*gtGws-a{Tx}{#(>G~Y_h&5P@Q8&p!{*s37^QX_Ibx<6XU*AtDOIvk|^{~ zPlS}&DM5$Ffyu-T&0|KS;Wnaqw{9DB&B3}vcO14wn;)O_e@2*9B&0I_ zZz{}CMxx`hv-XouY>^$Y@J(_INeM>lIQI@I>dBAqq1)}?Xmx(qRuX^i4IV%=MF306 z9g)i*79pP%_7Ex?m6ag-4Tlm=Z;?DQDyC-NpUIb#_^~V_tsL<~5<&;Gf2N+p?(msn zzUD~g>OoW@O}y0@Z;RN)wjam`CipmT&O7a|YljZqU=U86 zedayEdY)2F#BJ6xvmW8K&ffdS*0!%N<%RB!2~PAT4AD*$W7yzHbX#Eja9%3aD+Ah2 zf#T;XJW-GMxpE=d4Y>}jE=#U`IqgSoWcuvgaWQ9j1CKzG zDkoMDDT)B;Byl3R2PtC`ip=yGybfzmVNEx{xi_1|Cbqj>=FxQc{g`xj6fIfy`D8fA z##!-H_e6o0>6Su&$H2kQTujtbtyNFeKc}2=|4IfLTnye#@$Au7Kv4)dnA;-fz@D_8 z)>irG$)dkBY~zX zC!ZXLy*L3xr6cb70QqfN#Q>lFIc<>}>la4@3%7#>a1$PU&O^&VszpxLC%*!m-cO{B z-Y}rQr4$84(hvy#R69H{H zJ*O#uJh)TF6fbXy;fZkk%X=CjsTK}o5N1a`d7kgYYZLPxsHx%9*_XN8VWXEkVJZ%A z1A+5(B;0^{T4aPYr8%i@i32h)_)|q?9vws)r+=5u)1YNftF5mknwfd*%jXA2TeP}Z zQ!m?xJ3?9LpPM?_A3$hQ1QxNbR&}^m z!F999s?p^ak#C4NM_x2p9FoXWJ$>r?lJ)2bG)sX{gExgLA2s5RwHV!h6!C~d_H||J z>9{E{mEv{Z1z~65Vix@dqM4ZqiU|!)eWX$mwS5mLSufxbpBqqS!jShq1bmwCR6 z4uBri7ezMeS6ycaXPVu(i2up$L; zjpMtB`k~WaNrdgM_R=e#SN?Oa*u%nQy01?()h4A(jyfeNfx;5o+kX?maO4#1A^L}0 zYNyIh@QVXIFiS0*tE}2SWTrWNP3pH}1Vz1;E{@JbbgDFM-_Mky^7gH}LEhl~Ve5PexgbIyZ(IN%PqcaV@*_`ZFb=`EjspSz%5m2E34BVT)d=LGyHVz@-e%9Ova*{5@RD;7=Ebkc2GP%pIP^P7KzKapnh`UpH?@h z$RBpD*{b?vhohOKf-JG3?A|AX|2pQ?(>dwIbWhZ38GbTm4AImRNdv_&<99ySX;kJ| zo|5YgbHZC#HYgjBZrvGAT4NZYbp}qkVSa;C-LGsR26Co+i_HM&{awuO9l)Ml{G8zD zs$M8R`r+>PT#Rg!J(K6T4xHq7+tscU(}N$HY;Yz*cUObX7J7h0#u)S7b~t^Oj}TBF zuzsugnst;F#^1jm>22*AC$heublWtaQyM6RuaquFd8V#hJ60Z3j7@bAs&?dD#*>H0SJaDwp%U~27>zdtn+ z|8sZzklZy$%S|+^ie&P6++>zbrq&?+{Yy11Y>@_ce@vU4ZulS@6yziG6;iu3Iu`M= zf3rcWG<+3F`K|*(`0mE<$89F@jSq;j=W#E>(R}2drCB7D*0-|D;S;(;TwzIJkGs|q z2qH{m_zZ+el`b;Bv-#bQ>}*VPYC|7`rgBFf2oivXS^>v<&HHTypvd4|-zn|=h=TG{ z05TH2+{T%EnADO>3i|CB zCu60#qk`}GW{n4l-E$VrqgZGbI zbQW690KgZt4U3F^5@bdO1!xu~p@7Y~*_FfWg2CdvED5P5#w#V46LH`<&V0{t&Ml~4 zHNi7lIa+#i+^Z6EnxO7KJQw)wD)4~&S-Ki8)3=jpqxmx6c&zU&<&h%*c$I(5{1HZT zc9WE}ijcWJiVa^Q^xC|WX0habl89qycOyeViIbi(LFsEY_8a|+X^+%Qv+W4vzj>`y zpuRnjc-eHNkvXvI_f{=*FX=OKQzT?bck#2*qoKTHmDe>CDb&3AngA1O)1b}QJ1Tun z_<@yVEM>qG7664Pa@dzL@;DEh`#?yM+M|_fQS<7yv|i*pw)|Z8)9IR+QB7N3v3K(wv4OY*TXnH&X0nQB}?|h2XQeGL^q~N7N zDFa@x0E(UyN7k9g%IFq7Sf+EAfE#K%%#`)!90_)Dmy3Bll&e1vHQyPA87TaF(xbqMpDntVp?;8*$87STop$!EAnGhZ?>mqPJ(X zFsr336p3P{PpZCGn&^LP(JjnBbl_3P3Kcq+m}xVFMVr1zdCPJMDIV_ki#c=vvTwbU z*gKtfic&{<5ozL6Vfpx>o2Tts?3fkhWnJD&^$&+Mh5WGGyO7fG@6WDE`tEe(8<;+q z@Ld~g08XDzF8xtmpIj`#q^(Ty{Hq>t*v`pedHnuj(0%L(%sjkwp%s}wMd!a<*L~9T z9MM@s)Km~ogxlqEhIw5(lc46gCPsSosUFsgGDr8H{mj%OzJz{N#;bQ;KkV+ZWA1(9 zu0PXzyh+C<4OBYQ0v3z~Lr;=C@qmt8===Ov2lJ1=DeLfq*#jgT{YQCuwz?j{&3o_6 zsqp2Z_q-YWJg?C6=!Or|b@(zxTlg$ng2eUQzuC<+o)k<6^9ju_Z*#x+oioZ5T8Z_L zz9^A1h2eFS0O5muq8;LuDKwOv4A9pxmOjgb6L*i!-(0`Ie^d5Fsgspon%X|7 zC{RRXEmYn!5zP9XjG*{pLa)!2;PJB2<-tH@R7+E1cRo=Wz_5Ko8h8bB$QU%t9#vol zAoq?C$~~AsYC|AQQ)>>7BJ@{Cal)ZpqE=gjT+Juf!RD-;U0mbV1ED5PbvFD6M=qj1 zZ{QERT5@(&LQ~1X9xSf&@%r|3`S#ZCE=sWD`D4YQZ`MR`G&s>lN{y2+HqCfvgcw3E z-}Kp(dfGG?V|97kAHQX+OcKCZS`Q%}HD6u*e$~Ki&Vx53&FC!x94xJd4F2l^qQeFO z?&JdmgrdVjroKNJx64C!H&Vncr^w zzR#XI}Dn&o8jB~_YlVM^+#0W(G1LZH5K^|uYT@KSR z^Y5>^*Bc45E1({~EJB(t@4n9gb-eT#s@@7)J^^<_VV`Pm!h7av8XH6^5zO zOcQBhTGr;|MbRsgxCW69w{bl4EW#A~);L?d4*y#j8Ne=Z@fmJP0k4{_cQ~KA|Y#_#BuUiYx8y*za3_6Y}c=GSe7(2|KAfhdzud!Zq&}j)=o4 z7R|&&oX7~e@~HmyOOsCCwy`AR+deNjZ3bf6ijI_*tKP*_5JP3;0d;L_p(c>W1b%sG zJ*$wcO$ng^aW0E(5ldckV9unU7}OB7s?Wx(761?1^&8tA5y0_(ieV>(x-e@}1`lWC z-YH~G$D>#ud!SxK2_Iw{K%92=+{4yb-_XC>ji&j7)1ofp(OGa4jjF;Hd*`6YQL+Jf zffg+6CPc8F@EDPN{Kn96yip;?g@)qgkPo^nVKFqY?8!=h$G$V=<>%5J&iVjwR!7H0 z$@QL|_Q81I;Bnq8-5JyNRv$Y>`sWl{qhq>u+X|)@cMlsG!{*lu?*H`Tp|!uv z9oEPU1jUEj@ueBr}%Y)7Luyi)REaJV>eQ{+uy4uh0ep0){t;OU8D*RZ& zE-Z-&=BrWQLAD^A&qut&4{ZfhqK1ZQB0fACP)=zgx(0(o-`U62EzTkBkG@mXqbjXm z>w`HNeQM?Is&4xq@BB(K;wv5nI6EXas)XXAkUuf}5uSrZLYxRCQPefn-1^#OCd4aO zzF=dQ*CREEyWf@n6h7(uXLNgJIwGp#Xrsj6S<^bzQ7N0B0N{XlT;`=m9Olg<>KL}9 zlp>EKTx-h|%d1Ncqa=wnQEuE;sIO-f#%Bs?g4}&xS?$9MG?n$isHky0caj za8W+B^ERK#&h?(x)7LLpOqApV5F>sqB`sntV%SV>Q1;ax67qs+WcssfFeF3Xk=e4^ zjR2^(%K1oBq%0%Rf!y&WT;lu2Co(rHi|r1_uW)n{<7fGc-c=ft7Z0Q}r4W$o$@tQF#i?jDBwZ8h+=SC}3?anUp3mtRVv9l#H?-UD;HjTF zQ*>|}e=6gDrgI9p%c&4iMUkQa4zziS$bO&i#DI$Wu$7dz7-}XLk%!US^XUIFf2obO zFCTjVEtkvYSKWB;<0C;_B{HHs~ax_48^Cml*mjfBC5*7^HJZiLDir(3k&BerVIZF8zF;0q80eX8c zPN4tc+Dc5DqEAq$Y3B3R&XPZ=AQfFMXv#!RQnGecJONe0H;+!f^h5x0wS<+%;D}MpUbTNUBA}S2n&U59-_5HKr{L^jPsV8B^%NaH|tUr)mq=qCBv_- ziZ1xUp(ZzxUYTCF@C}To;u60?RIfTGS?#JnB8S8@j`TKPkAa)$My+6ziGaBcA@){d z91)%+v2_ba7gNecdj^8*I4#<11l!{XKl6s0zkXfJPxhP+@b+5ev{a>p*W-3*25c&} zmCf{g9mPWVQ$?Sp*4V|lT@~>RR)9iNdN^7KT@>*MU3&v^3e?=NTbG9!h6C|9zO097 zN{Qs6YwR-5$)~ z`b~qs`a1Dbx8P>%V=1XGjBptMf%P~sl1qbHVm1HYpY|-Z^Dar8^HqjIw}xaeRlsYa zJ_@Apy-??`gxPmb`m`0`z`#G7*_C}qiSZe~l2z65tE~IwMw$1|-u&t|z-8SxliH00 zlh1#kuqB56s+E&PWQ7Nz17?c}pN+A@-c^xLqh(j;mS|?>(Pf7(?qd z5q@jkc^nA&!K-}-1P=Ry0yyze0W!+h^iW}7jzC1{?|rEFFWbE^Yu7Y}t?jmP-D$f+ zmqFT7nTl0HL|4jwGm7w@a>9 zKD)V~+g~ysmei$OT5}%$&LK8?ib|8aY|>W3;P+0B;=oD=?1rg+PxKcP(d;OEzq1CKA&y#boc51P^ZJPPS)z5 zAZ)dd2$glGQXFj$`XBBJyl2y-aoBA8121JC9&~|_nY>nkmW>TLi%mWdn-^Jks-Jv| zSR*wij;A3Fcy8KsDjQ15?Z9oOj|Qw2;jgJiq>dxG(2I2RE- z$As!#zSFIskebqU2bnoM^N<4VWD2#>!;saPSsY8OaCCQqkCMdje$C?Sp%V}f2~tG5 z0whMYk6tcaABwu*x)ak@n4sMElGPX1_lmv@bgdI2jPdD|2-<~Jf`L`@>Lj7{<-uLQ zE3S_#3e10q-ra=vaDQ42QUY^@edh>tnTtpBiiDVUk5+Po@%RmuTntOlE29I4MeJI?;`7;{3e4Qst#i-RH6s;>e(Sc+ubF2_gwf5Qi%P!aa89fx6^{~A*&B4Q zKTF|Kx^NkiWx=RDhe<{PWXMQ;2)=SC=yZC&mh?T&CvFVz?5cW~ritRjG2?I0Av_cI z)=s!@MXpXbarYm>Kj0wOxl=eFMgSMc?62U#2gM^li@wKPK9^;;0_h7B>F>0>I3P`{ zr^ygPYp~WVm?Qbp6O3*O2)(`y)x>%ZXtztz zMAcwKDr=TCMY!S-MJ8|2MJCVNUBI0BkJV6?(!~W!_dC{TS=eh}t#X+2D>Kp&)ZN~q zvg!ogxUXu^y(P*;Q+y_rDoGeSCYxkaGPldDDx)k;ocJvvGO#1YKoQLHUf2h_pjm&1 zqh&!_KFH03FcJvSdfgUYMp=5EpigZ*8}7N_W%Ms^WSQ4hH`9>3061OEcxmf~TcYn5_oHtscWn zo5!ayj<_fZ)vHu3!A!7M;4y1QIr8YGy$P2qDD_4+T8^=^dB6uNsz|D>p~4pF3Nrb6 zcpRK*($<~JUqOya#M1=#IhOZ zG)W+rJS-x(6EoVz)P zsSo>JtnChdj9^);su%SkFG~_7JPM zEDz3gk2T7Y%x>1tWyia|op(ilEzvAujW?Xwlw>J6d7yEi8E zv30riR|a_MM%ZZX&n!qm0{2agq(s?x9E@=*tyT$nND+{Djpm7Rsy!+c$j+wqMwTOF zZL8BQ|I`<^bGW)5apO{lh(Asqen?_U`$_n0-Ob~Yd%^89oEe%9yGumQ_8Be+l2k+n zCxT%s?bMpv|AdWP7M1LQwLm|x+igA~;+iK-*+tClF&ueX_V}>=4gvZ01xpubQWXD_ zi?Un>&3=$fu)dgk-Z;0Ll}HK5_YM->l^Czrd0^cJ))(DwL2g3aZuza7ga9^|mT_70 z))}A}r1#-(9cxtn<9jGRwOB4hb9kK@YCgjfOM-90I$8@l=H^`K$cyhe2mTM|FY9vW znH~h)I<_aa#V1xmhk?Ng@$Jw-s%a!$BI4Us+Df+?J&gKAF-M`v}j`OWKP3>6`X`tEmhe#y*(Xm$_^Ybbs=%;L7h zp7q^C*qM}Krqsinq|WolR99>_!GL#Z71Hhz|IwQQv<>Ds09B?Je(lhI1(FInO8mc} zl$RyKCUmfku+Cd^8s0|t+e}5g7M{ZPJQH=UB3(~U&(w#Bz#@DTDHy>_UaS~AtN>4O zJ-I#U@R($fgupHebcpuEBX`SZ>kN!rW$#9>s{^3`86ZRQRtYTY)hiFm_9wU3c`SC8 z-5M%g)h}3Pt|wyj#F%}pGC@VL`9&>9P+_UbudCkS%y2w&*o})hBplrB*@Z?gel5q+ z%|*59(sR9GMk3xME}wd%&k?7~J)OL`rK#4d-haC7uaU8-L@?$K6(r<0e<;y83rK&` z3Q!1rD9WkcB8WBQ|WT|$u^lkr0UL4WH4EQTJyk@5gzHb18cOte4w zS`fLv8q;PvAZyY;*Go3Qw1~5#gP0D0ERla6M6#{; zr1l?bR}Nh+OC7)4bfAs(0ZD(axaw6j9v`^jh5>*Eo&$dAnt?c|Y*ckEORIiJXfGcM zEo`bmIq6rJm`XhkXR-^3d8^RTK2;nmVetHfUNugJG(4XLOu>HJA;0EWb~?&|0abr6 zxqVp@p=b3MN^|~?djPe!=eex(u!x>RYFAj|*T$cTi*Sd3Bme7Pri1tkK9N`KtRmXf zZYNBNtik97ct1R^vamQBfo9ZUR@k*LhIg8OR9d_{iv#t)LQV91^5}K5u{eyxwOFoU zHMVq$C>tfa@uNDW^_>EmO~WYQd(@!nKmAvSSIb&hPO|}g-3985t?|R&WZXvxS}Kt2i^eRe>WHb_;-K5cM4=@AN1>E&1c$k!w4O*oscx(f=<1K6l#8Exi)U(ZiZ zdr#YTP6?m1e1dOKysUjQ^>-MR={OuD00g6+(a^cvcmn#A_%Fh3Of%(qP5nvjS1=(> z|Ld8{u%(J}%2SY~+$4pjy{()5HN2MYUjg1X9umxOMFFPdM+IwOVEs4Z(olynvT%G) zt9|#VR}%O2@f6=+6uvbZv{3U)l;C{tuc zZ{K$rut=eS%3_~fQv^@$HV6#9)K9>|0qD$EV2$G^XUNBLM|5-ZmFF!KV)$4l^KVj@ zZ4fI}Knv*K%zPqK77}B-h_V{66VrmoZP2>@^euu8Rc}#qwRwt5uEBWcJJE5*5rT2t zA4Jpx`QQ~1Sh_n_a9x%Il!t1&B~J6p54zxAJx`REov${jeuL8h8x-z=?qwMAmPK5i z_*ES)BW(NZluu#Bmn1-NUKQip_X&_WzJy~J`WYxEJQ&Gu7DD< z&F9urE;}8S{x4{yB zaq~1Zrz%8)<`prSQv$eu5@1RY2WLu=waPTrn`WK%;G5(jt^FeM;gOdvXQjYhax~_> z{bS_`;t#$RYMu-;_Dd&o+LD<5Afg6v{NK?0d8dD5ohAN?QoocETBj?y{MB)jQ%UQ}#t3j&iL!qr@#6JEajR3@^k5wgLfI9S9dT2^f`2wd z%I#Q*@Ctk@w=(u)@QC}yBvUP&fFRR-uYKJ){Wp3&$s(o~W7OzgsUIPx0|ph2L1(r*_Pa@T@mcH^JxBjh09#fgo|W#gG7}|)k&uD1iZxb0 z@|Y)W79SKj9sS&EhmTD;uI#)FE6VwQ*YAr&foK$RI5H8_ripb$^=;U%gWbrrk4!5P zXDcyscEZoSH~n6VJu8$^6LE6)>+=o#Q-~*jmob^@191+Ot1w454e3)WMliLtY6~^w zW|n#R@~{5K#P+(w+XC%(+UcOrk|yzkEes=!qW%imu6>zjdb!B#`efaliKtN}_c!Jp zfyZa`n+Nx8;*AquvMT2;c8fnYszdDA*0(R`bsof1W<#O{v%O!1IO4WZe=>XBu_D%d zOwWDaEtX%@B>4V%f1+dKqcXT>m2!|&?}(GK8e&R=&w?V`*Vj)sCetWp9lr@@{xe6a zE)JL&;p}OnOO}Nw?vFyoccXT*z*?r}E8{uPtd;4<(hmX;d$rqJhEF}I+kD+m(ke;J z7Cm$W*CSdcD=RYEBhedg>tuT{PHqwCdDP*NkHv4rvQTXkzEn*Mb0oJz&+WfWIOS4@ zzpPJ|e%a-PIwOaOC7uQcHQ-q(SE(e@fj+7oC@34wzaBNaP;cw&gm{Z8yYX?V(lIv5 zKbg*zo1m5aGA4^lwJ|bAU=j3*d8S{vp!~fLFcK8s6%Ng55_qW_d*3R%e=34aDZPfD z&Le39j|ahp6E7B0*9OVdeMNrTErFatiE+=Z!XZ^tv0y%zZKXRTBuPyP&C{5(H?t)S zKV24_-TKpOmCPzU&by8R1Q5HY^@IDoeDA9MbgizgQ*F1Er~HVmvSU>vx}pZVQ&tr| zOtZl8vfY2#L<)gZ=ba&wG~EI*Vd?}lRMCf+!b5CDz$8~be-HKMo5omk$w7p4`Mym*IR8WiTz4^kKcUo^8Hkcsu14u z`Pkg`#-Y^A%CqJ0O@UF|caAulf68@(zhqp~YjzInh7qSN7Ov%Aj(Qz%{3zW|xubJ- ztNE_u_MO7Q_585r;xD?e=Er}@U1G@BKW5v$UM((eByhH2p!^g9W}99OD8VV@7d{#H zv)Eam+^K(5>-Ot~U!R$Um3prQmM)7DyK=iM%vy>BRX4#aH7*oCMmz07YB(EL!^%F7?CA#>zXqiYDhS;e?LYPTf(bte6B ztrfvDXYG*T;ExK-w?Knt{jNv)>KMk*sM^ngZ-WiUN;=0Ev^GIDMs=AyLg2V@3R z7ugNc45;4!RPxvzoT}3NCMeK$7j#q3r_xV(@t@OPRyoKBzHJ#IepkDsm$EJRxL)A* zf{_GQYttu^OXr$jHQn}zs$Eh|s|Z!r?Yi+bS-bi+PE*lH zo|6ztu6$r_?|B~S#m>imI!kQP9`6X426uHRri!wGcK;J;`%sFM(D#*Le~W*t2uH`Q z(HEO9-c_`mhA@4QhbW+tgtt9Pzx=_*3Kh~TB$SKmU4yx-Ay&)n%PZPKg#rD4H{%Ke zdMY@rf5EAFfqtrf?Vmk&N(_d-<=bvfOdPrYwY*;5%j@O6@O#Qj7LJTk-x3LN+dEKy+X z>~U8j3Ql`exr1jR>+S4nEy+4c2f{-Q!3_9)yY758tLGg7k^=nt<6h$YE$ltA+13S<}uOg#XHe6 zZHKdNsAnMQ_RIuB;mdoZ%RWpandzLR-BnjN2j@lkBbBd+?i ze*!5mC}!Qj(Q!rTu`KrRRqp22c=hF6<^v&iCDB`n7mHl;vdclcer%;{;=kA(PwdGG zdX#BWoC!leBC4);^J^tPkPbIe<)~nYb6R3u{HvC!NOQa?DC^Q`|_@ zcz;rk`a!4rSLAS>_=b@g?Yab4%=J3Cc7pRv8?_rHMl_aK*HSPU%0pG2Fyhef_biA!aW|-(( z*RIdG&Lmk(=(nk28Q1k1Oa$8Oa-phG%Mc6dT3>JIylcMMIc{&FsBYBD^n@#~>C?HG z*1&FpYVvXOU@~r2(BUa+KZv;tZ15#RewooEM0LFb>guQN;Z0EBFMFMZ=-m$a3;gVD z)2EBD4+*=6ZF?+)P`z@DOT;azK0Q4p4>NfwDR#Pd;no|{q_qB!zk1O8QojE;>zhPu z1Q=1z^0MYHo1*``H3ex|bW-Zy==5J4fE2;g6sq6YcXMYK5i|S^9(OSw#v!3^!EB<% zZF~J~CleS`V-peStyf*I%1^R88D;+8{{qN6-t!@gTARDg^w2`uSzFZbPQ!)q^oC}m zPo8VOQxq2BaIN`pAVFGu8!{p3}(+iZ`f4ck2ygVpEZMQW38nLpj3NQx+&sAkb8`}P3- zc>N*k6AG?r}bfO6_vccTuKX+*- z7W4Q#2``P0jIHYs)F>uG#AM#I6W2)!Nu2nD5{CRV_PmkDS2ditmbd#pggqEgAo%5oC?|CP zGa0CV)wA*ko!xC7pZYkqo{10CN_e00FX5SjWkI3?@XG}}bze!(&+k2$C-C`6temSk z_YyYpB^wh3woo`B zrMSTd4T?(X-jh`FeO76C(3xsOm9s2BP_b%ospg^!#*2*o9N;tf4(X9$qc_d(()yz5 zDk@1}u_Xd+86vy5RBs?LQCuYKCGPS;E4uFOi@V%1JTK&|eRf~lp$AV#;*#O}iRI2=i3rFL8{ zA^ptDZ0l6k-mq=hUJ0x$Y@J>UNfz~I5l63H(`~*v;qX`Z{zwsQQD-!wp0D&hyB8&Z z7$R07gIKGJ^%AvQ{4KM0edM39iFRx=P^6`!<1(s0t|JbB2tXs_B_IH9#ajH0C=-n+ z`nz`fKMBKLlf?2AC+|83M+0rqR%uhNGD;uKA6jOjp7YDe^4%0fRB<^bcjlS2KF~F; zu09wh1x0&4pG&76M;x8$u`b134t=dEPBn6PV|X29<#T4F1mxGF*HOgiWU8tN@cguI z_F@o+XL7FJztR63wC|j4x_DANzcX94r7Iz-O2x$({&qd*mdLG=-Rv)uZ}UlMR+F&q zU}=lkfb0p1>1Ho){o$@}mSKIV;h*$AND7~Dl)QzpFBlSM99Kx+F7GsVK5xcR? z_4Q(Z%cgk8ST}U;;=!LwyZVu^S$>B-Waeik%wzcKTIqeX=0FP(TGQ=nxi=dsS5BYF zl@?}NT!Y!Iyos^@v7XWXA{_bV~1lxz7gC?xuXxy0_?GaN!AhRRM5>)^t%&ODd;@HN5L{MD3 zc>i2keQZVm#?NrDwbfd}_<*5^U&w0zv~n-y8=GGN-!=_`FU^cM8oVCWRFxw?BM^YD zi=Vxz4q|jwPTg+?q7_XI)-S@gQkh>w0ZUB}a{^ z_i;`Y(~fvpI!vmW*A^|P7(6+@C4UeL2WATf{P1?H5rk`5{TL zcf!CgP6Mi{MvjZS)rfo7JLDZK7M7ANd$3`{j9baD*7{#Zu-33fOYUzjvtKzR2)_T1I1s7fe&z|=)QkX;=`zX8!Byw-veM#yr;|wjO^II>!B*B z0+w%;0(=*G3V@88t!}~zx)&do(uF=073Yeh*fEhZb3Vn>t!m(9p~Y_FdV3IgR)9eT z)~e9xpI%2deTWyHlXA(7srrfc_`7ACm!R>SoIgkuF8 z!wkOhrixFy9y@)GdxAntd!!7@=L_tFD2T5OdSUO)I%yj02le`qeQ=yKq$g^h)NG;# za(0J@#VBi^5YI|QI=rq{KlxwGabZJ0dKmfWDROkcM}lUN$@DV`K7fU?8CP2H23QPi zG?YF*=Vn=kTK*#Y_{AQN&oLju|0#E=fx%YVh>S{puu&K$b;BN*jIo@VYhqPiJPzzM>#kxoy0vW9i;ne2_BIG0zyRFp<3M(iY(%*M_>q0ulV2K}Tg zkG{EWKS{i%4DUuHi%DVKy%e+Q!~Uf`>>F6NgD{{I8~nO4!VgOvtFOc7(O)X`|7n*f zxBa4CJ-v9fUUH+`7sPVvpM_C*udZ@OTGTzx56QM5y~OlrZc&w9=)B?nmd@keRn+^= zvm~4sa5987LFDnU{(N|N zJAR8H@}p1fC+H(yTI4n#%~TbImMpuqYn9cQ<0QQ%=PzZItLkC*ef9WJUvfITKWh#D zc#__8`4am9%#NslIUw+<82#SR8AYG|woLfBg#!-&dqq}@P>|I0%lbdy0lSMmNe+}o zj0zZuFr6Wb?Y{Qy-S=|r`bdrDmhnmvkRnkdn`YCleU>Q$=je}LGhh>_QAj6aa_0Oc z%Swsmui;IRx7bN*=AAS@5yW&Y2hy;3&|HAiA8}!HT6!Z!RVn~MZg`RmI6&%#tBZDx zfD+y@Z~NWlk*4l13vmt3AK2wP!fQlnBbECL>?p)F?T)<`w&QN>cP_V>r7UTcsTaaP zTOb$f!P@zf$6>890NVKbIkG8rE?9!Y97sMSZjfF?A zYR8lp`LMoz~O?iaZN;gcX;LC-%Ia*R%A&SLx!YIf29?P+=XAAojK8!^OU*@?R&DK!#G_lsn!#;S375uZ&B0HH1|BO0R90$U>qs zSvHv>H~mAgNCcjo-e+;RjY6B9NCbQrZ|BHjTkehaU<9CSkdd>Vl*ifA2LNOP&R2Qdy3k3-TQ+ zbq=#vI43x`s=%~cGyN&y4Y!FxhwgDe@i6uv8^BLL&3z*SO=D0aLjih?gY4-9uWp5or)H+v~w6n5X#F-I52z=Z_p4JB(;M| zeaVFhuR2|3UD2MzVc~^nSoD2(dD#uL_1PdnIxeA{V5n`#3xf1Zx@4lw(DsQ&H$h zw#%3O<1173hjg2_nhKi!d1ej=h7y`hVjCNB6|HTnx>SWuCE-kgTnfT+YGX4_Lun({ zDv2`>d3vrS)tTf7ps_vvh!Cx^e1BFuWnEAh0(7fkNk|-3oU|iRWdsC6U)?Raft~HN z;^$U}vZK5O8|LV$>6X5T(uYkblv{zwPxnQBh(BQ5tA~J!vGiAMYP^_ki~pkIxDfOZ zUJDwq%O~WueeV6%uN<54&u*c&E4y431cklBNrb06zGOOy4XNT~JS-q(s6@)F@ovbe ze`fial(O4(-su%6@@1+V0MsdLLMyE8;)nou(7}czU(5ASaZYDT(kUZ0L(&g$nF^n9 z9-Pi`ZZLX&)^*M6As4_2Mmc9S7OT)F8KkL2NJ)KJcnCuWU=Wy402A&45#Q9Id~BBH z0cY*xlv!uXzKrXLH!xQu(OtJvEj|0-DmRj1vjFz{c*I4$Pe(+_V|^b~S!0xm{8lq= zZv)@NlcyL3Xdz+*|L137F7y6L-2VsrKw=q^S>F6i%<{Fr8zk06$Ay-(!L$fY@7mcng!2}L0t zgi|KxfB63Xtk_Q8#ZPipQ@!zgjdpEIbK_?q17Hoi4Eiyun$hrc>T(7pOLVLQE=lgGwA+A308p& z7@=09(|$>eLy5gLe{*|3b(M;1n;C^~v?o88jYib48eR4$QGsBFzd}3QuwO^_XE(=B zq+hMi0UFC|dB{LCwch7;zYT=NK})O%sgi0k#yV;My@24^B1+CuZmYOh0^b)5Ba_)) zC%i#_Iev&nsu%I|1N5=MVc#PrlunKAs&hY|3s5;@}`>sB>}gzxuB zB=2vrRyB3uiyW(hkDUNe1@&(b`;>ZvGgw|@s{zVC#_`HXIN_^J@Etb zA7A+F?ot37T{<-vTy8h&b3e+WKHE1oh;pUQrN4yRRrx?mT_9jRa2i4l1fUnLW^Cbl z!I1>VzyFe?VELWWhM?@?t-YPZkD-Qjo@bC2(o#ZtZmr{KZsdFWItV`rs$gp{724@C zL8K5}E0+DHcWcL^{BGei4>@J-3%a#$y6;I}=upc};-NDv-z#kPX26ylOpH)Ov1uU{ zkLj6oiH6l_s+B~_z;|Jc2oi?naS7#3H63~~lWj4rUnd=fCnKdkik<@R&kch9q##G{ z4u!%=rlM~Yp3jk*t8}1B`Sv6<%Z^}~1e@aq zg|JQ`QO2pSjAm-g*?IrNc$^~sIrNBo2$m|Sxanr?Mfs>2@Auu49 zGXlsS<9XS1&8h(dD*Hl&5HBDG!^pJ*lkau_Ur+7`7z;rcs$hT4we?3bT=7Fe<>{5( z2m2(c+hUz2BTHM8dCe*Z3XX&Av;b~a=$6EF>&^E8%nyxO@m_n!q&XD^A{SRjRZQ0L~qDeC=j&0$j6=LNIz@`ni^>ch|sv}^6 zlm>?28yPl@WmDPR?Y-A9X{U9Dv_IsbXJnzKCjkRksLOg#42uG2mE_acbTQ4)J|1V>%U@K(FP3AYhL0U zdeOCPN1qLv!|#c=p!_+%VNV(GHt`RuLRV^vz<5tt-r)yOK**kUWPspVAf|}ZL{LS= z@k(@@!P&W!>wwe`x{+GrFSWhHov7hu?{KuuT%kl#WO@*WX$i_@retlhQBj++SVNCx z5$78LxP>Z=^aJ)D280r_jj=zFfMJFXCIe^B{~V@d1rl_F(qo&AB4bC-vYL>x2jSKX zpuTG-6kgp3e^T&+dtV*i6a~)v@n?n*MffN59y}<0djUX zt27R+SE#hp8bzc#;rk$jw3r4)Q@eI$*`_)=Pvge8@8|8>H3X)<9YX6cXa=ii#Le;(qKm@%0-7$>2ShnYc`j#zJ7gu_FE^?uAkL|H)UIH#gPu^40!6^J=^ zr`}iwa^!4tzW~vOMZAaKF>*8A{^8m$i(VK)>?=#l`xrVe>wseSvM_aF zATNkY>kM_P3?1kE`uIq#mvr-wuTgUH0N<&JhF=(E9%^NS*HLm!4GZ4_XI zL=R5tlG5Mk_1rPfg)sk^llFuKPMPBhuU|L5q#yP_mzxp1o&pAzi-X31sgFpIHn@($ z_>=`AB5(8tP6p2zS5VEvH5J$M` z_much3>S7t3Yo`Yx!>83-hW9LYzDKP?mKdkD#QAK8*M((sx{eBQdrR<^3ZhFP81+& zBnJMUefQyNBji~$5d88Wfw1Lv59aJN9t2!pABLg;ewJ#LXL-10;QcJl+Y4Mtngb)k6JZlCf)3uD_u)J3sYyN;NN5hNbg$%W!i-GK%e&!Us)2IExWSss$YG(hm3kJ-h%yD z>8q^n$+4I(_y_mbT{du4P%h1j3oSpjhY97{+IZ`aA4ug!vNJ6*p?<2H(2w+GD3j$I z1TUXGyNzdf>_yB3grP~FZUs<2Quw;eEi*7s(-MiIkQ%@J^+WGdQvYSUN+TRiD-xto zJ=OUU+kxGYc!HCLNbCvR4lGTp~#L;DFzGd-#gJe*xf(P3hDQz|y)?b9mwU3WUVnpcqXM<@w%r-k*Wr^gzAv)8T^sqA=Ye z!7qy&exJmAcAt~CwS#@yNmjr8*T*!A6w4~E*ibaLRs0CFo(;R3=ODhDt6zWNodmo0 zXx&bT$6&+5c>a|WJ)F4G-^GjY0H#*tY=UNyYr_q5fsrcjk(c^~e*7Lf`!Jd`)p412 zn|^*hV= zFI4UbwA%X@smDd$cQOiMC%jfitTxTb+#`9`G=2rJDfK!E=5ra|So>lc{X1$~w28i+ z4p&cTGwZ#5VueiXS9O8#;RR$yg7tL9!^)Sz&pZYIzlSh}0}V{LxL$Cu%B4U5_}k}- zm~|CsD<076x@<>m=6w6N?WaThIBP`!u{-;WF)xc=2otx*lwf|5+MkdJePjh(B z9SH+%cHGCMAXNxB{_3^otDWdsV7Ob6n{0 z+&!(;iaHOX__5z_$Qk{%xYV%Ig@7iokGBwR`3642ZP#H#v9QGbWl8<|MS*=@qO@Uj z6+SZ_v9`1paUe5tFN~v(b#J3a_Lx0+;r9giZIx-A5TxdbG>xi#AZ5_z1V}B^n)sxT zz49}eK7EWb6wR!6-qQOrHQHkUvshvq%=G2d&@(#XM*Am1;WbnJ{X_!a{ZkphD$^TQ z=Iskb&}=lBm(RHiwJoGg`*NiQ6#RB$T#LF+>#ef;Jne&MxKPX!#r`&TVEFsp2jnNx>dClzpcPy&G&13a_<0qaR3i+k212~hoQ z8nMk{JP-t04I{GW5gUBqcJW-jSMrlw}>p)ptx?WKuCUV77taMiV zHok9V=6yv+Uts@fMY&A}amC=!Yj}eL@=e%XJ#%?agkt1jWF+10{(E9mHLDa>Ll7Vj zG=3cp%ljIB-6pC}6&`xJ*6WCP|IlglLWJ^?yviI8Ve)?V_i4%n;olzny62_`-|IGi z^=}p_O>Z8M;c4|RExu70E7ePW(HWVS&E$+LL6xSQgB`QfMQJ|4pCTFowA39p5P-|$ zUtM_H2HnP8_RoS~Vwk(FhbG zH41licj%=0a;Ln2STFBvU}Ne&O&%8bYKj!h1FA#sNM`232fX|U3QPp#3C?mN2;hE9 z;)!@5ixSPl<89^7gwhHc2YAX1KJK$#*3`KOMIQ253q7-*RJ5k)zp9GBO|Ga~X*^}US5oN@aG&waHV%vi~r{t^`ptTxb zL}q1W8S7*>7oWwvgV4uFLZ(@k`R*=LO_|Gu`prs~!WQXj-NLIa^2(7IHg>BG^N zc|i{-^=&Cek9dkJFQys|sjG9i>LLz|;yCv{^1i%c*h>8zF91kLvS9HBQi~ZU!JL`B zK8N+U0fr1*6??Ium)AF!6tc1eGhXIYL6IRT7rmKp7+>?%5Pa6zC5)KY$ycF0ZJ`G5nEQDG100U-jLkH8^UE4g6wq?sg%pP=-$&G#bcN`^?w3a6 z((s$6eRKcSEIslW-kk5Qi|5Mg-(xdLF}PxxVh$PuO}#aR6pW1kV4Af!Bqh*btXNNZ z>-4(IUl+L4dw+3LcpGut=qB45O+W)Q5?*zZ2A6rJcg`qkSvWA!j^r2mqKuCm6`Py? z@^T#Ux04HemPGd!Hs7NkZdVn1}8_j`o?)*OKZGS!`ff)gF zG?v-lj$wWNWCcw2Mg2o18D~1?3_b0XzdiKBNkYSDpcv@&kp0POmweJE2ZkIQ3B!a! zIgIoE+Xv?;34kyo^QYjZk+tEqZvq^#QG(OzX4~X+KtsoQoddTWUR(yo8R+ObEF1j<-syWOb>)JQ&Zbdu(sctU%Mt zW&YR0{ttY2TTXYZ?~WNU&cES1Z2q(7SrWDh``!J(JM+Nk$!hu&Y;(7E`ZNKTe0w+% zJc?Qnw2B+%UR}0;cB0Rufa(7-3FF}?629@LgTiEC&2uyL6NxexOp?AKT^aAx3gi(W zao>r>MPw0eQ3>IV02uLsC@>yK_epX6GRg4{NEL2wPPF9=*L2RV3yyK8DhuEK>rmmV z`&Q~#c`lgR&93TdOCja|ewOXmPNRh7!&dMT(1ett#iDr8HZW~VqWW@7fe9B6;7S+? zbC`d4@MEau&mKlOPKd>*10q0c{~^baw6!a*w^sY#0Xim{oOsiXiDOhbG&kl3c$$n1 zMRrD83&QucDSEcV*7LIp8VTA@F<%qe+_c`L;6on(>SjAU^}5c9!BCffT>$VQhe=)z z8(=Ej{5>jhmjB3{xDfj2R@VmHQ!CqjlO4KnuOmvHy3K#po$yp_V;p_MKjh1`(rzj6 zHW956k1yvntz{_g?Xbs`avK(IjlTnsu%htO;D7 z?J#x^EzuvVn&NA=!MEj7cwe5A-Z$Zk2LBZH$~%E* zf`((xH0?`}hs|HA%mtwfOEsZJxxrennkTYcwP#FKO5%Lpc^JXhSpV|ZH$Wr;`}`_( zIP==gd3LYyVtwD|*ZJGi{7~x8{=^bGVqu0RJ`n_BZH9+}kz%-4ZRsImi@rx%=ZEKs zcPnUXo6hbJV>fH;@1|bAHIe0ijYI*&kdT|HkDS$9No9 zCHo=*HWb~U+Dtzxr+Esao}6@|;Pf+E$ay0$kQp#s{wlw+7aIKbMdf`OqhoG*;Tco0 zjrP}VQG#Y2cJuqoJg&5({)S(BA}q9T1lGeWRyu=Je|)I!6a+aj!IP^1({)ZYe&x6w zt3a)Dq^TB+A7CdB0-}#z2Ur$W&h3YVw8==!xONy$uQmDWh-@15iEOt!q2m&?ZLA|w z8loSb(0}7y6Xu0?M5Uf4>VZGluB`wMf2oh;m)ghxVda>3m}4%V)r^0nVQ5V6f3>*) z0&VN!N0~GC^P}vj$`EDMZEmVV;N&RISY2C;$0;2(<{Lt&PKzqRByQdiEHGAbwtbS zPj`Da5%U6k1oEtVzI}QNw;!hT6F+~|@=c@$C4NtO@=xgP?|5MyZAyuCzcvq4rdAv@C06%gZ`9%I);R6UGiGJobfux+<0DLS&|MSG4UH z_~o{^^9>ixMg~mY!-@Fai{xaE4^;qy9iZN15Gbn5ZqHWf>Jc5Rv6(#n8`1NcCsdmG zab*dSXVPaE?)wCalD;$ivF%@nB#7D`@YG04p6ed9m}4iJW|pfVMLE<-c{=-8$e?cH zUdU#mCj4gb zZKA^b9p*9S(}8@tw~1RNPHr7tQr;P+-)D8|sq=*o)G%RGqt> zzP5yf`pVxb)I51D_G~Xp^GNK zVI6sAX)a9s)e{8N3?35YA6aQTXuyszK3ah~CemzA&CII#8F&F#KN41~8I^&_%}6MCNb{W87qAF`zj_Y^szhb> z3p3}KbOxotY|(lD=;)`fYE_*{S}x;f^SW#)SU&5X#o|-R|trpa|L5PS5aa0 zTHw8%SDSVtU4?vyrhnq+^@dgFS)|(y{~(4j%3UEiO-rBM9%`)8(dh33pMLiuurNY# z#10AsQ7%*0Cu_DSAU}P;X(JwA64~Q_^R%d_zSm^6Aux?Pn70PM>9EvLeOX z&w9c)pGmcL22;MO3C_B>=NC0RJpMp8?#ZUf=GWRvy z6RHq3B}=MGVg?9@iKFBpsvnkVh3{Vpp=`CcD=u~@ql{my|6?3ssi3mCOPnjI&E}VC zc@X+Yl>;;DNo0W0`0th!X{?luDhOC{E8N=?!w}K1{V=)+1={m(f`Oc|N=07>}3;z{-(A zm{JL=j?Sro5iecmE2-pWlRf(r%|HEQ7kgwQ9+kt=NBhtQI7OwcZ#3%$Uf%^r2nhjY zoQ08MfC%_X{O9~WcirMZMhn#z^ux4Erx-tf-6bHD)9eH&^L>^jvAd^9A^DCDs?0;k zkm7LE*KjP6`2d17MrQaaLqd_Rka}J$csvUec#hw78<=s(hyR>065~YCVCA9+#Q+; za(*L0IEw!r5P|@-;x33L$Lv9 zcuN8YG&g{<(SeJG18~(b!5yywSqQiLAX0;---;}mF5&b4lg|T?LwKREa{9YX_-zL@ZE?Zqi@HxK^2KO1>0LATu{te=T zprmHtY)bDVfxI1S}KBE7V zznP7KQ8HekWU#W6mw`dr-boV}pMQR==&5=Q5T=_q091jfc;R*jX#&=MQ%~@E@9^?`$v48ks<>(fI(F6L(5ppKy|$HWng*bKOb(4|cMUB&z$#ob#XV z5-mg)gmFIybZf=znm3ZPyUO^GJfxt0kmHjaTZ|sthsxXw&}Y)fOUSg=JhRSR^UjZ- zhqqb}Wsyw4zdnj6@#BAJa#-PdI4_dgafFXh85DsEQ_cT+5)XpZq$fZlBA_9UsE9r6 zEFec5?uqN@QhJ^IzwZrwl-5J`CmVPv{(YDTqEqWR^dI;5hXc~cxP%B3v&~s0`Ct89 z@S`i~a^c%V^N81dDT*ItFS*&IN;@O$EgzX0e7x&}TD=!zS}hTpezBLS>mdX(5< z)8DEI(-o_D)c-UX@dA1MuJ*yc>Hf4|`*B2S_O>w*-tbUwtiu`;W(Ud{HTty@(&x(T(F&;M zJ=?H>6`B7nf-90e8V`WSVp|0oEKB-P2M{}4ZDawzvM&a!y>`Y#jCsD%T_l``@ah(I2nJs~Q|%uSKu@k!m~*8B*IoA{*TgtF<(5sHCGG;n@NE%~Xt(G$^&<87u;}Na zx-8cq0g`uA(&RBFo=-4Y1GUZ<``Zw{xL4jfHkZw~%~wvtGueszcXt)_QwH8g!; z%s&3kSa~R$dO$-%L-)c@_hi7&>{6L_M>OZFkUQu;{sL_bUMStNrt{{&O(Wn~*zPOk zB>dnfszb29NSTf2pqIs68k|p-UrSrxgLHqi?3N-UFa!LHy9n1)=s>`yS+J{MEzS@ zNlfGtpma7kG&LR3JE@wB%rFA*h~~KitlO=IP)ZjN6dQLM6qsry zHkB#cyNh#n`)}bCrN1My*;k)^@>e4gJ`LJK?2)Pwp?4Tl4)4FA0(tvY+#1jOUM)xw zlMz4x-f@g^+yKUN`?Vu)|AwujArnM~Pa@y*Q9S8eS(u{-S%(Z5=R~pRl5ZGDjdqH% zC8rW&{##wOpU_oTIG4WXMk4&%2t1;lWcW5&!yxmOT*!hBcKyTqEcNoO+R2;Q?Yj+W z1-Y4?59fijz4(MIDwGe4-baYf08UCs;r|YefD-Md2ST;=cxwpgW=tR76-dQVAhn^= zG9Wk5lQk%jIR@KNU!UMp6@BfU;r+;y4VQ)D2!Il9HX%yW-9nOzV+m$YKzVaO`B8S7t z$!S2Mz`xw>V(RjE`0>bQp<0y&h~Y=M#jpy!#=dE>`=e_AjSZq6u!Dy1xJf~-7|0F! zPR9|n`e_7D2DIV2H(CESQ}hA>U>n|6`%z?YKEA~)BOVY%y=jPV zT=44R!L?J)736X#csn|lfBJ)o8ixaZclguWgrGO<`TN2FMfO}7;5}d+BlK0yTSH3* z4!=;5rOh85&2|x=46hkNaz?)U8&=bcfh=N_#8BNpZ2v$aVBo;sk^*X`v;4-LU;D>! zM*h12MxXIQy)SfAqE4;jY)wgnppazZkdNNVVF;(PLf^qK$FgY9+VFyBKE7UC|f z`R|?&egV11K3s$rJ6!GvoeW=jV*!-e(wA;x(2=d0E_e_%0x--0o8#~m^H1%AH5Z^B zn!TNPn927*bvaf0pt}zhK0o^V@WlGwwKo(*nQ|Q~4_;>~-8y20`HP>@UJa)3nEnGG z5Hwhs|FcmFG16ZVNb5hL`2Gc1{zWIMM{_OiKewV!hCi}U!VuE?s9wU-QbZ!)+Y^tS zGzp5OSi5iq6hmEr$w}&9DFgoB+i*`q`8TBi^MVS{SKEb8Aw%@K7@XCo(De2A`6%mf&a2#~y1N)+kJLD$1HCP!22)(U}xo2|j?WRzt(11j8Z_*v;P$R+Ug*Gy3VxV4K; zGGUGabnW*`Z}~`ydXL-l9e=GC$pY#z|63vy>E*m=$=j}iWP{sRTh0%H54`t>2xYH% zsk+M&u&pNgMCM@3e)Xc?jBWX-TIR_cQ1Z!RW7!B zBjZX=+^3}?SE)B+$EP+0oi1Fp5blDT?*}nsP>filqXH{ms zxU<$hetC`u)Wi+x|EKL-`y^#aQX+sDYIa{M;V%LqLrOk~lR>u0Q!+pyQSU4zY`?E^ z|5@)C)w6G_=i5YYC5SE_u(7hDNYr}uKT|@DSqF%S++lTIbIk^$a>{~0IH8KNFEy%+ zW#$&!ynpgNJh>6uR~?2c)ZMW+h0OKu231(7L_vETPaR+(P)Zy%0~yGm>E9?@@x!Jy z3PYgS}Q@b}x}E#F27@F+j}0=&Ql4gES&f8acMrPAVlVs9$97`FR))R5wI zc&}KFI1UIewh>3PkhnB7u zS3AT8_*|nexznG|Z*DU0c!K@jsI4J)5#DyNi#|e#`l1Vv1`1)*NVcy0LZ``aL0n8B zecupJ(rhq3u8bW0NIRhKYq$v1li+jp*4hfAd&wxYDE8vn1TQ7S@bTM|I2Ob z8vMOIxA7&_j{AKmD+O@EyXT`|dElt0pED^@IV0m)RPBUs*5jW60>>w1!@_G3aBKzG z_f(KfAPBk}-jQtR*Sroq!*3rbQ_m27e+YdzQjUb<_*k8vc_C)y!@cj5E>NxUhPu&g z@Z2<~esU`)ih+4opWe+K7sbN9n*9@n>#@n3*o z?xoROgDuvhq>jJ;Ve{6i<3roQNfgo5^4Q4(|GNExO2Dr7GjgA2zWuKp_K)K0R(6lv z!l$!zW-+T6mb3gQaAFviTQi{|*t%>{(mhTdy+y;Re4qT@kccy#{b z&zWy~kLO@>*WPj2k#H)|7L&gAJ37DmHQAme#@m;(Y8Nu^`D5vf8sZFW#+lA2!HK=( zJ)#hO6JD*`o~&c*&46d}g=Qj@SsoB5ikC z^1V8E+&<-OzuS_C`p5<<(A6fB`LXT(!kV^0_~hL6PpW4={l%|#xgdh?5EIk~lu8{D z2hiyhv3Yxij_#$Wu>P@7SYsl`-~3;}Ktx{34_NL^Kwin&=?!HDv3elQDbcU*qyYpN z(#yw~f1vFGK-t%CC-qa-4FYHbA^h>bag-I&*qaxwn?Qv|idE$<>1H|Gr6JtUu(he2$eg!N z@HTF@dG1)*y;4fxe)4_ZkpaBHH9hXp9p4|gLrRQyuevRd@gSS}JhRnWqrvm|U@>qM z=yl7RQROTKwQtzP3!zUF)_6Ld#NGA6v~2{J9Dd`h6{%+XsU#qGLh%`fB1Hc?wfayK zN`H4BpDp)npVQuu$DVW1qsBS&AJ2eP%6Qw>;k{)Z$8%HL=Q4(a$Ng2_vHw&vA!1L+9zc8vaX2GtqJ{L-;gvF0IR$em zMQ8@{Qp3+3Quk)TJ$?I<8KmwzD*7#(q<@Mc`dchngW}cRG14(Z6K7{T|LhFXwhqUQ;BET;cYqPcAcMgt6M$V9$(?jHo@Sud$an$U&5F zZ1QNh^ztt)E*d#Ij;<43oSKKnd+WNr$_r}+s_O_x6DZSB10*5Q{ourqq>mTl| zx4y^(cy+9;t@R=*j>3_dmm_m)$k$#937V(sllby&5)Xex^UD-|m|q<(jEd#@DV(of zAd7sSdmS*zUDqJ9|K%O2J2OfdUiK{{b{PCy)pi<;hp~7v1CQj&4-10 zgO<3dqhYH1#-Fa}Q{pjql5>>P6gZH21zLfxZ4$SK4T@7b!|`nWF9b*84Bq8&Eht;9 z*P72x&NUCZ7*@B$`FtE=hz5b}S`|c6Ey+j@D1ZibjJaRlR;{cxAWv z?Nqa>QqV*H-*zzaPvpLMHt~nl(x6?vrPpR?zn7~wow?oj*1TKmx4j71>$hvtC$DLD zUrz0^tiP0792U&dxJxNv@r}Elsjn^aSLUu=9#mD{&9n8|ayIL$!H3s>%KEvbchBFW z%cd?VU83mGF#Dar9*s~w&AnmQRQIOvR+uWsuZ?+|a=TzApXO@q^(r%8=}iv#wCnFq z=K9}JbqU@k99Q%j-}NNk+qLCP)jXfmOO|)@?mHcnynd6({mJisP1_}u7k)|eYHXWK z63eQ)E$ufFi!3CWUY2gw%e>omCv}qEX66aH-k&35f9`Q@Us|NPetVqe8=dX*VxJdn ze`q7b=Dn(UA(2sf&g)cOmQFhNJ#<-aMELJZbA#@to>25@kbW<)&!X01 z%NMJt>1ST)tyX)h@?`DxhbgCHr>S4wv}WC&Nw-!{+Z7$2D}74QAcXTvip=M0%Tp_N zor=k`)t|ra^ySr-+(|R9mB(E=`MX#y(wSw)$!iymzB;^c*>%&^*7HxTnRga=soSZT zdDl+9s;r!v8hk6POtzBaig4pRp7eWF(<8gufvNHPu6xs-=e{;mnHzJyGKE+8L0j}; z@%8-e^UCL5HhMiR>sD3Rve&yVZ#{Q1*CO8c+qSr^Z#CN;)(X5>tGG5yUw3<+CfhaL z%bP;hZ?jvgJU67BWyiy74_)6r)_nSxttxn0`0?HE^5(uydHVgP+HE$V?Lv)Leti43 zWA|;f-RqX``95>)^P-fw!Vi{3KNsII-*5f){gdxqd%gVdB1sOBNe=nEW%;i~g_P8J w!5uhoe-Jcg1nPN%MiEAtgE$;km@@t6ukO)1^!cY^83Pb_y85}Sb4q9e0FIsP9{>OV literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/packages/celest_auth/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png new file mode 100644 index 0000000000000000000000000000000000000000..2f1632cfddf3d9dade342351e627a0a75609fb46 GIT binary patch literal 2218 zcmV;b2vzrqP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuE6iGxuRCodHTWf3-RTMruyW6Fu zQYeUM04eX6D5c0FCjKKPrco1(K`<0SL=crI{PC3-^hZU0kQie$gh-5!7z6SH6Q0J% zqot*`H1q{R5fHFYS}dje@;kG=v$L0(yY0?wY2%*c?A&{2?!D*x?m71{of2gv!$5|C z3>qG_BW}7K_yUcT3A5C6QD<+{aq?x;MAUyAiJn#Jv8_zZtQ{P zTRzbL3U9!qVuZzS$xKU10KiW~Bgdcv1-!uAhQxf3a7q+dU6lj?yoO4Lq4TUN4}h{N z*fIM=SS8|C2$(T>w$`t@3Tka!(r!7W`x z-isCVgQD^mG-MJ;XtJuK3V{Vy72GQ83KRWsHU?e*wrhKk=ApIYeDqLi;JI1e zuvv}5^Dc=k7F7?nm3nIw$NVmU-+R>> zyqOR$-2SDpJ}Pt;^RkJytDVXNTsu|mI1`~G7yw`EJR?VkGfNdqK9^^8P`JdtTV&tX4CNcV4 z&N06nZa??Fw1AgQOUSE2AmPE@WO(Fvo`%m`cDgiv(fAeRA%3AGXUbsGw{7Q`cY;1BI#ac3iN$$Hw z0LT0;xc%=q)me?Y*$xI@GRAw?+}>=9D+KTk??-HJ4=A>`V&vKFS75@MKdSF1JTq{S zc1!^8?YA|t+uKigaq!sT;Z!&0F2=k7F0PIU;F$leJLaw2UI6FL^w}OG&!;+b%ya1c z1n+6-inU<0VM-Y_s5iTElq)ThyF?StVcebpGI znw#+zLx2@ah{$_2jn+@}(zJZ{+}_N9BM;z)0yr|gF-4=Iyu@hI*Lk=-A8f#bAzc9f z`Kd6K--x@t04swJVC3JK1cHY-Hq+=|PN-VO;?^_C#;coU6TDP7Bt`;{JTG;!+jj(` zw5cLQ-(Cz-Tlb`A^w7|R56Ce;Wmr0)$KWOUZ6ai0PhzPeHwdl0H(etP zUV`va_i0s-4#DkNM8lUlqI7>YQLf)(lz9Q3Uw`)nc(z3{m5ZE77Ul$V%m)E}3&8L0 z-XaU|eB~Is08eORPk;=<>!1w)Kf}FOVS2l&9~A+@R#koFJ$Czd%Y(ENTV&A~U(IPI z;UY+gf+&6ioZ=roly<0Yst8ck>(M=S?B-ys3mLdM&)ex!hbt+ol|T6CTS+Sc0jv(& z7ijdvFwBq;0a{%3GGwkDKTeG`b+lyj0jjS1OMkYnepCdoosNY`*zmBIo*981BU%%U z@~$z0V`OVtIbEx5pa|Tct|Lg#ZQf5OYMUMRD>Wdxm5SAqV2}3!ceE-M2 z@O~lQ0OiKQp}o9I;?uxCgYVV?FH|?Riri*U$Zi_`V2eiA>l zdSm6;SEm6#T+SpcE8Ro_f2AwxzI z44hfe^WE3!h@W3RDyA_H440cpmYkv*)6m1XazTqw%=E5Xv7^@^^T7Q2wxr+Z2kVYr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/celest_auth/example/macos/Runner/Configs/AppInfo.xcconfig b/packages/celest_auth/example/macos/Runner/Configs/AppInfo.xcconfig new file mode 100644 index 00000000..b651b194 --- /dev/null +++ b/packages/celest_auth/example/macos/Runner/Configs/AppInfo.xcconfig @@ -0,0 +1,14 @@ +// Application-level settings for the Runner target. +// +// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the +// future. If not, the values below would default to using the project name when this becomes a +// 'flutter create' template. + +// The application's name. By default this is also the title of the Flutter window. +PRODUCT_NAME = celest_auth_example + +// The application's bundle identifier +PRODUCT_BUNDLE_IDENTIFIER = dev.celest.celestAuthExample + +// The copyright displayed in application information +PRODUCT_COPYRIGHT = Copyright © 2024 dev.celest. All rights reserved. diff --git a/packages/celest_auth/example/macos/Runner/Configs/Debug.xcconfig b/packages/celest_auth/example/macos/Runner/Configs/Debug.xcconfig new file mode 100644 index 00000000..36b0fd94 --- /dev/null +++ b/packages/celest_auth/example/macos/Runner/Configs/Debug.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Debug.xcconfig" +#include "Warnings.xcconfig" diff --git a/packages/celest_auth/example/macos/Runner/Configs/Release.xcconfig b/packages/celest_auth/example/macos/Runner/Configs/Release.xcconfig new file mode 100644 index 00000000..dff4f495 --- /dev/null +++ b/packages/celest_auth/example/macos/Runner/Configs/Release.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Release.xcconfig" +#include "Warnings.xcconfig" diff --git a/packages/celest_auth/example/macos/Runner/Configs/Warnings.xcconfig b/packages/celest_auth/example/macos/Runner/Configs/Warnings.xcconfig new file mode 100644 index 00000000..42bcbf47 --- /dev/null +++ b/packages/celest_auth/example/macos/Runner/Configs/Warnings.xcconfig @@ -0,0 +1,13 @@ +WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings +GCC_WARN_UNDECLARED_SELECTOR = YES +CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES +CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE +CLANG_WARN__DUPLICATE_METHOD_MATCH = YES +CLANG_WARN_PRAGMA_PACK = YES +CLANG_WARN_STRICT_PROTOTYPES = YES +CLANG_WARN_COMMA = YES +GCC_WARN_STRICT_SELECTOR_MATCH = YES +CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES +CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES +GCC_WARN_SHADOW = YES +CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/packages/celest_auth/example/macos/Runner/DebugProfile.entitlements b/packages/celest_auth/example/macos/Runner/DebugProfile.entitlements new file mode 100644 index 00000000..dddb8a30 --- /dev/null +++ b/packages/celest_auth/example/macos/Runner/DebugProfile.entitlements @@ -0,0 +1,12 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.cs.allow-jit + + com.apple.security.network.server + + + diff --git a/packages/celest_auth/example/macos/Runner/Info.plist b/packages/celest_auth/example/macos/Runner/Info.plist new file mode 100644 index 00000000..4789daa6 --- /dev/null +++ b/packages/celest_auth/example/macos/Runner/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSMinimumSystemVersion + $(MACOSX_DEPLOYMENT_TARGET) + NSHumanReadableCopyright + $(PRODUCT_COPYRIGHT) + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/packages/celest_auth/example/macos/Runner/MainFlutterWindow.swift b/packages/celest_auth/example/macos/Runner/MainFlutterWindow.swift new file mode 100644 index 00000000..3cc05eb2 --- /dev/null +++ b/packages/celest_auth/example/macos/Runner/MainFlutterWindow.swift @@ -0,0 +1,15 @@ +import Cocoa +import FlutterMacOS + +class MainFlutterWindow: NSWindow { + override func awakeFromNib() { + let flutterViewController = FlutterViewController() + let windowFrame = self.frame + self.contentViewController = flutterViewController + self.setFrame(windowFrame, display: true) + + RegisterGeneratedPlugins(registry: flutterViewController) + + super.awakeFromNib() + } +} diff --git a/packages/celest_auth/example/macos/Runner/Release.entitlements b/packages/celest_auth/example/macos/Runner/Release.entitlements new file mode 100644 index 00000000..852fa1a4 --- /dev/null +++ b/packages/celest_auth/example/macos/Runner/Release.entitlements @@ -0,0 +1,8 @@ + + + + + com.apple.security.app-sandbox + + + diff --git a/packages/celest_auth/example/macos/RunnerTests/RunnerTests.swift b/packages/celest_auth/example/macos/RunnerTests/RunnerTests.swift new file mode 100644 index 00000000..5418c9f5 --- /dev/null +++ b/packages/celest_auth/example/macos/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import FlutterMacOS +import Cocoa +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/packages/celest_auth/example/pubspec.yaml b/packages/celest_auth/example/pubspec.yaml new file mode 100644 index 00000000..7e50db91 --- /dev/null +++ b/packages/celest_auth/example/pubspec.yaml @@ -0,0 +1,29 @@ +name: celest_auth_example +description: "A new Flutter project." +publish_to: "none" +version: 0.1.0 + +environment: + sdk: ">=3.3.0 <4.0.0" + +dependencies: + celest: ^0.2.0 + celest_auth: ^0.3.0 + flutter: + sdk: flutter + +dependency_overrides: + celest: + path: ../../celest + celest_auth: + path: ../ + celest_core: + path: ../../celest_core + +dev_dependencies: + flutter_test: + sdk: flutter + flutter_lints: ^3.0.0 + +flutter: + uses-material-design: true diff --git a/packages/celest_auth/example/web/favicon.png b/packages/celest_auth/example/web/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..8aaa46ac1ae21512746f852a42ba87e4165dfdd1 GIT binary patch literal 917 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0X7 zltGxWVyS%@P(fs7NJL45ua8x7ey(0(N`6wRUPW#JP&EUCO@$SZnVVXYs8ErclUHn2 zVXFjIVFhG^g!Ppaz)DK8ZIvQ?0~DO|i&7O#^-S~(l1AfjnEK zjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(yU7!lx;>x^|#0uTKVr7USFmqf|i<65o z3raHc^AtelCMM;Vme?vOfh>Xph&xL%(-1c06+^uR^q@XSM&D4+Kp$>4P^%3{)XKjo zGZknv$b36P8?Z_gF{nK@`XI}Z90TzwSQO}0J1!f2c(B=V`5aP@1P1a|PZ!4!3&Gl8 zTYqUsf!gYFyJnXpu0!n&N*SYAX-%d(5gVjrHJWqXQshj@!Zm{!01WsQrH~9=kTxW#6SvuapgMqt>$=j#%eyGrQzr zP{L-3gsMA^$I1&gsBAEL+vxi1*Igl=8#8`5?A-T5=z-sk46WA1IUT)AIZHx1rdUrf zVJrJn<74DDw`j)Ki#gt}mIT-Q`XRa2-jQXQoI%w`nb|XblvzK${ZzlV)m-XcwC(od z71_OEC5Bt9GEXosOXaPTYOia#R4ID2TiU~`zVMl08TV_C%DnU4^+HE>9(CE4D6?Fz oujB08i7adh9xk7*FX66dWH6F5TM;?E2b5PlUHx3vIVCg!0Dx9vYXATM literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/web/icons/Icon-192.png b/packages/celest_auth/example/web/icons/Icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..b749bfef07473333cf1dd31e9eed89862a5d52aa GIT binary patch literal 5292 zcmZ`-2T+sGz6~)*FVZ`aW+(v>MIm&M-g^@e2u-B-DoB?qO+b1Tq<5uCCv>ESfRum& zp%X;f!~1{tzL__3=gjVJ=j=J>+nMj%ncXj1Q(b|Ckbw{Y0FWpt%4y%$uD=Z*c-x~o zE;IoE;xa#7Ll5nj-e4CuXB&G*IM~D21rCP$*xLXAK8rIMCSHuSu%bL&S3)8YI~vyp@KBu9Ph7R_pvKQ@xv>NQ`dZp(u{Z8K3yOB zn7-AR+d2JkW)KiGx0hosml;+eCXp6+w%@STjFY*CJ?udJ64&{BCbuebcuH;}(($@@ znNlgBA@ZXB)mcl9nbX#F!f_5Z=W>0kh|UVWnf!At4V*LQP%*gPdCXd6P@J4Td;!Ur z<2ZLmwr(NG`u#gDEMP19UcSzRTL@HsK+PnIXbVBT@oHm53DZr?~V(0{rsalAfwgo zEh=GviaqkF;}F_5-yA!1u3!gxaR&Mj)hLuj5Q-N-@Lra{%<4ONja8pycD90&>yMB` zchhd>0CsH`^|&TstH-8+R`CfoWqmTTF_0?zDOY`E`b)cVi!$4xA@oO;SyOjJyP^_j zx^@Gdf+w|FW@DMdOi8=4+LJl$#@R&&=UM`)G!y%6ZzQLoSL%*KE8IO0~&5XYR9 z&N)?goEiWA(YoRfT{06&D6Yuu@Qt&XVbuW@COb;>SP9~aRc+z`m`80pB2o%`#{xD@ zI3RAlukL5L>px6b?QW1Ac_0>ew%NM!XB2(H+1Y3AJC?C?O`GGs`331Nd4ZvG~bMo{lh~GeL zSL|tT*fF-HXxXYtfu5z+T5Mx9OdP7J4g%@oeC2FaWO1D{=NvL|DNZ}GO?O3`+H*SI z=grGv=7dL{+oY0eJFGO!Qe(e2F?CHW(i!!XkGo2tUvsQ)I9ev`H&=;`N%Z{L zO?vV%rDv$y(@1Yj@xfr7Kzr<~0{^T8wM80xf7IGQF_S-2c0)0D6b0~yD7BsCy+(zL z#N~%&e4iAwi4F$&dI7x6cE|B{f@lY5epaDh=2-(4N05VO~A zQT3hanGy_&p+7Fb^I#ewGsjyCEUmSCaP6JDB*=_()FgQ(-pZ28-{qx~2foO4%pM9e z*_63RT8XjgiaWY|*xydf;8MKLd{HnfZ2kM%iq}fstImB-K6A79B~YoPVa@tYN@T_$ zea+9)<%?=Fl!kd(Y!G(-o}ko28hg2!MR-o5BEa_72uj7Mrc&{lRh3u2%Y=Xk9^-qa zBPWaD=2qcuJ&@Tf6ue&)4_V*45=zWk@Z}Q?f5)*z)-+E|-yC4fs5CE6L_PH3=zI8p z*Z3!it{1e5_^(sF*v=0{`U9C741&lub89gdhKp|Y8CeC{_{wYK-LSbp{h)b~9^j!s z7e?Y{Z3pZv0J)(VL=g>l;<}xk=T*O5YR|hg0eg4u98f2IrA-MY+StQIuK-(*J6TRR z|IM(%uI~?`wsfyO6Tgmsy1b3a)j6M&-jgUjVg+mP*oTKdHg?5E`!r`7AE_#?Fc)&a z08KCq>Gc=ne{PCbRvs6gVW|tKdcE1#7C4e`M|j$C5EYZ~Y=jUtc zj`+?p4ba3uy7><7wIokM79jPza``{Lx0)zGWg;FW1^NKY+GpEi=rHJ+fVRGfXO zPHV52k?jxei_!YYAw1HIz}y8ZMwdZqU%ESwMn7~t zdI5%B;U7RF=jzRz^NuY9nM)&<%M>x>0(e$GpU9th%rHiZsIT>_qp%V~ILlyt^V`=d z!1+DX@ah?RnB$X!0xpTA0}lN@9V-ePx>wQ?-xrJr^qDlw?#O(RsXeAvM%}rg0NT#t z!CsT;-vB=B87ShG`GwO;OEbeL;a}LIu=&@9cb~Rsx(ZPNQ!NT7H{@j0e(DiLea>QD zPmpe90gEKHEZ8oQ@6%E7k-Ptn#z)b9NbD@_GTxEhbS+}Bb74WUaRy{w;E|MgDAvHw zL)ycgM7mB?XVh^OzbC?LKFMotw3r@i&VdUV%^Efdib)3@soX%vWCbnOyt@Y4swW925@bt45y0HY3YI~BnnzZYrinFy;L?2D3BAL`UQ zEj))+f>H7~g8*VuWQ83EtGcx`hun$QvuurSMg3l4IP8Fe`#C|N6mbYJ=n;+}EQm;< z!!N=5j1aAr_uEnnzrEV%_E|JpTb#1p1*}5!Ce!R@d$EtMR~%9# zd;h8=QGT)KMW2IKu_fA_>p_und#-;Q)p%%l0XZOXQicfX8M~7?8}@U^ihu;mizj)t zgV7wk%n-UOb z#!P5q?Ex+*Kx@*p`o$q8FWL*E^$&1*!gpv?Za$YO~{BHeGY*5%4HXUKa_A~~^d z=E*gf6&+LFF^`j4$T~dR)%{I)T?>@Ma?D!gi9I^HqvjPc3-v~=qpX1Mne@*rzT&Xw zQ9DXsSV@PqpEJO-g4A&L{F&;K6W60D!_vs?Vx!?w27XbEuJJP&);)^+VF1nHqHBWu z^>kI$M9yfOY8~|hZ9WB!q-9u&mKhEcRjlf2nm_@s;0D#c|@ED7NZE% zzR;>P5B{o4fzlfsn3CkBK&`OSb-YNrqx@N#4CK!>bQ(V(D#9|l!e9(%sz~PYk@8zt zPN9oK78&-IL_F zhsk1$6p;GqFbtB^ZHHP+cjMvA0(LqlskbdYE_rda>gvQLTiqOQ1~*7lg%z*&p`Ry& zRcG^DbbPj_jOKHTr8uk^15Boj6>hA2S-QY(W-6!FIq8h$<>MI>PYYRenQDBamO#Fv zAH5&ImqKBDn0v5kb|8i0wFhUBJTpT!rB-`zK)^SNnRmLraZcPYK7b{I@+}wXVdW-{Ps17qdRA3JatEd?rPV z4@}(DAMf5EqXCr4-B+~H1P#;t@O}B)tIJ(W6$LrK&0plTmnPpb1TKn3?f?Kk``?D+ zQ!MFqOX7JbsXfQrz`-M@hq7xlfNz;_B{^wbpG8des56x(Q)H)5eLeDwCrVR}hzr~= zM{yXR6IM?kXxauLza#@#u?Y|o;904HCqF<8yT~~c-xyRc0-vxofnxG^(x%>bj5r}N zyFT+xnn-?B`ohA>{+ZZQem=*Xpqz{=j8i2TAC#x-m;;mo{{sLB_z(UoAqD=A#*juZ zCv=J~i*O8;F}A^Wf#+zx;~3B{57xtoxC&j^ie^?**T`WT2OPRtC`xj~+3Kprn=rVM zVJ|h5ux%S{dO}!mq93}P+h36mZ5aZg1-?vhL$ke1d52qIiXSE(llCr5i=QUS?LIjc zV$4q=-)aaR4wsrQv}^shL5u%6;`uiSEs<1nG^?$kl$^6DL z43CjY`M*p}ew}}3rXc7Xck@k41jx}c;NgEIhKZ*jsBRZUP-x2cm;F1<5$jefl|ppO zmZd%%?gMJ^g9=RZ^#8Mf5aWNVhjAS^|DQO+q$)oeob_&ZLFL(zur$)); zU19yRm)z<4&4-M}7!9+^Wl}Uk?`S$#V2%pQ*SIH5KI-mn%i;Z7-)m$mN9CnI$G7?# zo`zVrUwoSL&_dJ92YhX5TKqaRkfPgC4=Q&=K+;_aDs&OU0&{WFH}kKX6uNQC6%oUH z2DZa1s3%Vtk|bglbxep-w)PbFG!J17`<$g8lVhqD2w;Z0zGsh-r zxZ13G$G<48leNqR!DCVt9)@}(zMI5w6Wo=N zpP1*3DI;~h2WDWgcKn*f!+ORD)f$DZFwgKBafEZmeXQMAsq9sxP9A)7zOYnkHT9JU zRA`umgmP9d6=PHmFIgx=0$(sjb>+0CHG)K@cPG{IxaJ&Ueo8)0RWgV9+gO7+Bl1(F z7!BslJ2MP*PWJ;x)QXbR$6jEr5q3 z(3}F@YO_P1NyTdEXRLU6fp?9V2-S=E+YaeLL{Y)W%6`k7$(EW8EZSA*(+;e5@jgD^I zaJQ2|oCM1n!A&-8`;#RDcZyk*+RPkn_r8?Ak@agHiSp*qFNX)&i21HE?yuZ;-C<3C zwJGd1lx5UzViP7sZJ&|LqH*mryb}y|%AOw+v)yc`qM)03qyyrqhX?ub`Cjwx2PrR! z)_z>5*!*$x1=Qa-0uE7jy0z`>|Ni#X+uV|%_81F7)b+nf%iz=`fF4g5UfHS_?PHbr zB;0$bK@=di?f`dS(j{l3-tSCfp~zUuva+=EWxJcRfp(<$@vd(GigM&~vaYZ0c#BTs z3ijkxMl=vw5AS&DcXQ%eeKt!uKvh2l3W?&3=dBHU=Gz?O!40S&&~ei2vg**c$o;i89~6DVns zG>9a*`k5)NI9|?W!@9>rzJ;9EJ=YlJTx1r1BA?H`LWijk(rTax9(OAu;q4_wTj-yj z1%W4GW&K4T=uEGb+E!>W0SD_C0RR91 literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/web/icons/Icon-512.png b/packages/celest_auth/example/web/icons/Icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..88cfd48dff1169879ba46840804b412fe02fefd6 GIT binary patch literal 8252 zcmd5=2T+s!lYZ%-(h(2@5fr2dC?F^$C=i-}R6$UX8af(!je;W5yC_|HmujSgN*6?W z3knF*TL1$|?oD*=zPbBVex*RUIKsL<(&Rj9%^UD2IK3W?2j>D?eWQgvS-HLymHo9%~|N2Q{~j za?*X-{b9JRowv_*Mh|;*-kPFn>PI;r<#kFaxFqbn?aq|PduQg=2Q;~Qc}#z)_T%x9 zE|0!a70`58wjREmAH38H1)#gof)U3g9FZ^ zF7&-0^Hy{4XHWLoC*hOG(dg~2g6&?-wqcpf{ z&3=o8vw7lMi22jCG9RQbv8H}`+}9^zSk`nlR8?Z&G2dlDy$4#+WOlg;VHqzuE=fM@ z?OI6HEJH4&tA?FVG}9>jAnq_^tlw8NbjNhfqk2rQr?h(F&WiKy03Sn=-;ZJRh~JrD zbt)zLbnabttEZ>zUiu`N*u4sfQaLE8-WDn@tHp50uD(^r-}UsUUu)`!Rl1PozAc!a z?uj|2QDQ%oV-jxUJmJycySBINSKdX{kDYRS=+`HgR2GO19fg&lZKyBFbbXhQV~v~L za^U944F1_GtuFXtvDdDNDvp<`fqy);>Vw=ncy!NB85Tw{&sT5&Ox%-p%8fTS;OzlRBwErvO+ROe?{%q-Zge=%Up|D4L#>4K@Ke=x%?*^_^P*KD zgXueMiS63!sEw@fNLB-i^F|@Oib+S4bcy{eu&e}Xvb^(mA!=U=Xr3||IpV~3K zQWzEsUeX_qBe6fky#M zzOJm5b+l;~>=sdp%i}}0h zO?B?i*W;Ndn02Y0GUUPxERG`3Bjtj!NroLoYtyVdLtl?SE*CYpf4|_${ku2s`*_)k zN=a}V8_2R5QANlxsq!1BkT6$4>9=-Ix4As@FSS;1q^#TXPrBsw>hJ}$jZ{kUHoP+H zvoYiR39gX}2OHIBYCa~6ERRPJ#V}RIIZakUmuIoLF*{sO8rAUEB9|+A#C|@kw5>u0 zBd=F!4I)Be8ycH*)X1-VPiZ+Ts8_GB;YW&ZFFUo|Sw|x~ZajLsp+_3gv((Q#N>?Jz zFBf`~p_#^${zhPIIJY~yo!7$-xi2LK%3&RkFg}Ax)3+dFCjGgKv^1;lUzQlPo^E{K zmCnrwJ)NuSaJEmueEPO@(_6h3f5mFffhkU9r8A8(JC5eOkux{gPmx_$Uv&|hyj)gN zd>JP8l2U&81@1Hc>#*su2xd{)T`Yw< zN$dSLUN}dfx)Fu`NcY}TuZ)SdviT{JHaiYgP4~@`x{&h*Hd>c3K_To9BnQi@;tuoL z%PYQo&{|IsM)_>BrF1oB~+`2_uZQ48z9!)mtUR zdfKE+b*w8cPu;F6RYJiYyV;PRBbThqHBEu_(U{(gGtjM}Zi$pL8Whx}<JwE3RM0F8x7%!!s)UJVq|TVd#hf1zVLya$;mYp(^oZQ2>=ZXU1c$}f zm|7kfk>=4KoQoQ!2&SOW5|JP1)%#55C$M(u4%SP~tHa&M+=;YsW=v(Old9L3(j)`u z2?#fK&1vtS?G6aOt@E`gZ9*qCmyvc>Ma@Q8^I4y~f3gs7*d=ATlP>1S zyF=k&6p2;7dn^8?+!wZO5r~B+;@KXFEn^&C=6ma1J7Au6y29iMIxd7#iW%=iUzq&C=$aPLa^Q zncia$@TIy6UT@69=nbty5epP>*fVW@5qbUcb2~Gg75dNd{COFLdiz3}kODn^U*=@E z0*$7u7Rl2u)=%fk4m8EK1ctR!6%Ve`e!O20L$0LkM#f+)n9h^dn{n`T*^~d+l*Qlx z$;JC0P9+en2Wlxjwq#z^a6pdnD6fJM!GV7_%8%c)kc5LZs_G^qvw)&J#6WSp< zmsd~1-(GrgjC56Pdf6#!dt^y8Rg}!#UXf)W%~PeU+kU`FeSZHk)%sFv++#Dujk-~m zFHvVJC}UBn2jN& zs!@nZ?e(iyZPNo`p1i#~wsv9l@#Z|ag3JR>0#u1iW9M1RK1iF6-RbJ4KYg?B`dET9 zyR~DjZ>%_vWYm*Z9_+^~hJ_|SNTzBKx=U0l9 z9x(J96b{`R)UVQ$I`wTJ@$_}`)_DyUNOso6=WOmQKI1e`oyYy1C&%AQU<0-`(ow)1 zT}gYdwWdm4wW6|K)LcfMe&psE0XGhMy&xS`@vLi|1#Za{D6l@#D!?nW87wcscUZgELT{Cz**^;Zb~7 z(~WFRO`~!WvyZAW-8v!6n&j*PLm9NlN}BuUN}@E^TX*4Or#dMMF?V9KBeLSiLO4?B zcE3WNIa-H{ThrlCoN=XjOGk1dT=xwwrmt<1a)mrRzg{35`@C!T?&_;Q4Ce=5=>z^*zE_c(0*vWo2_#TD<2)pLXV$FlwP}Ik74IdDQU@yhkCr5h zn5aa>B7PWy5NQ!vf7@p_qtC*{dZ8zLS;JetPkHi>IvPjtJ#ThGQD|Lq#@vE2xdl%`x4A8xOln}BiQ92Po zW;0%A?I5CQ_O`@Ad=`2BLPPbBuPUp@Hb%a_OOI}y{Rwa<#h z5^6M}s7VzE)2&I*33pA>e71d78QpF>sNK;?lj^Kl#wU7G++`N_oL4QPd-iPqBhhs| z(uVM}$ItF-onXuuXO}o$t)emBO3Hjfyil@*+GF;9j?`&67GBM;TGkLHi>@)rkS4Nj zAEk;u)`jc4C$qN6WV2dVd#q}2X6nKt&X*}I@jP%Srs%%DS92lpDY^K*Sx4`l;aql$ zt*-V{U&$DM>pdO?%jt$t=vg5|p+Rw?SPaLW zB6nvZ69$ne4Z(s$3=Rf&RX8L9PWMV*S0@R zuIk&ba#s6sxVZ51^4Kon46X^9`?DC9mEhWB3f+o4#2EXFqy0(UTc>GU| zGCJmI|Dn-dX#7|_6(fT)>&YQ0H&&JX3cTvAq(a@ydM4>5Njnuere{J8p;3?1az60* z$1E7Yyxt^ytULeokgDnRVKQw9vzHg1>X@@jM$n$HBlveIrKP5-GJq%iWH#odVwV6cF^kKX(@#%%uQVb>#T6L^mC@)%SMd4DF? zVky!~ge27>cpUP1Vi}Z32lbLV+CQy+T5Wdmva6Fg^lKb!zrg|HPU=5Qu}k;4GVH+x z%;&pN1LOce0w@9i1Mo-Y|7|z}fbch@BPp2{&R-5{GLoeu8@limQmFF zaJRR|^;kW_nw~0V^ zfTnR!Ni*;-%oSHG1yItARs~uxra|O?YJxBzLjpeE-=~TO3Dn`JL5Gz;F~O1u3|FE- zvK2Vve`ylc`a}G`gpHg58Cqc9fMoy1L}7x7T>%~b&irrNMo?np3`q;d3d;zTK>nrK zOjPS{@&74-fA7j)8uT9~*g23uGnxwIVj9HorzUX#s0pcp2?GH6i}~+kv9fWChtPa_ z@T3m+$0pbjdQw7jcnHn;Pi85hk_u2-1^}c)LNvjdam8K-XJ+KgKQ%!?2n_!#{$H|| zLO=%;hRo6EDmnOBKCL9Cg~ETU##@u^W_5joZ%Et%X_n##%JDOcsO=0VL|Lkk!VdRJ z^|~2pB@PUspT?NOeO?=0Vb+fAGc!j%Ufn-cB`s2A~W{Zj{`wqWq_-w0wr@6VrM zbzni@8c>WS!7c&|ZR$cQ;`niRw{4kG#e z70e!uX8VmP23SuJ*)#(&R=;SxGAvq|&>geL&!5Z7@0Z(No*W561n#u$Uc`f9pD70# z=sKOSK|bF~#khTTn)B28h^a1{;>EaRnHj~>i=Fnr3+Fa4 z`^+O5_itS#7kPd20rq66_wH`%?HNzWk@XFK0n;Z@Cx{kx==2L22zWH$Yg?7 zvDj|u{{+NR3JvUH({;b*$b(U5U z7(lF!1bz2%06+|-v(D?2KgwNw7( zJB#Tz+ZRi&U$i?f34m7>uTzO#+E5cbaiQ&L}UxyOQq~afbNB4EI{E04ZWg53w0A{O%qo=lF8d zf~ktGvIgf-a~zQoWf>loF7pOodrd0a2|BzwwPDV}ShauTK8*fmF6NRbO>Iw9zZU}u zw8Ya}?seBnEGQDmH#XpUUkj}N49tP<2jYwTFp!P+&Fd(%Z#yo80|5@zN(D{_pNow*&4%ql zW~&yp@scb-+Qj-EmErY+Tu=dUmf@*BoXY2&oKT8U?8?s1d}4a`Aq>7SV800m$FE~? zjmz(LY+Xx9sDX$;vU`xgw*jLw7dWOnWWCO8o|;}f>cu0Q&`0I{YudMn;P;L3R-uz# zfns_mZED_IakFBPP2r_S8XM$X)@O-xVKi4`7373Jkd5{2$M#%cRhWer3M(vr{S6>h zj{givZJ3(`yFL@``(afn&~iNx@B1|-qfYiZu?-_&Z8+R~v`d6R-}EX9IVXWO-!hL5 z*k6T#^2zAXdardU3Ao~I)4DGdAv2bx{4nOK`20rJo>rmk3S2ZDu}))8Z1m}CKigf0 z3L`3Y`{huj`xj9@`$xTZzZc3je?n^yG<8sw$`Y%}9mUsjUR%T!?k^(q)6FH6Af^b6 zlPg~IEwg0y;`t9y;#D+uz!oE4VP&Je!<#q*F?m5L5?J3i@!0J6q#eu z!RRU`-)HeqGi_UJZ(n~|PSNsv+Wgl{P-TvaUQ9j?ZCtvb^37U$sFpBrkT{7Jpd?HpIvj2!}RIq zH{9~+gErN2+}J`>Jvng2hwM`=PLNkc7pkjblKW|+Fk9rc)G1R>Ww>RC=r-|!m-u7( zc(a$9NG}w#PjWNMS~)o=i~WA&4L(YIW25@AL9+H9!?3Y}sv#MOdY{bb9j>p`{?O(P zIvb`n?_(gP2w3P#&91JX*md+bBEr%xUHMVqfB;(f?OPtMnAZ#rm5q5mh;a2f_si2_ z3oXWB?{NF(JtkAn6F(O{z@b76OIqMC$&oJ_&S|YbFJ*)3qVX_uNf5b8(!vGX19hsG z(OP>RmZp29KH9Ge2kKjKigUmOe^K_!UXP`von)PR8Qz$%=EmOB9xS(ZxE_tnyzo}7 z=6~$~9k0M~v}`w={AeqF?_)9q{m8K#6M{a&(;u;O41j)I$^T?lx5(zlebpY@NT&#N zR+1bB)-1-xj}R8uwqwf=iP1GbxBjneCC%UrSdSxK1vM^i9;bUkS#iRZw2H>rS<2<$ zNT3|sDH>{tXb=zq7XZi*K?#Zsa1h1{h5!Tq_YbKFm_*=A5-<~j63he;4`77!|LBlo zR^~tR3yxcU=gDFbshyF6>o0bdp$qmHS7D}m3;^QZq9kBBU|9$N-~oU?G5;jyFR7>z hN`IR97YZXIo@y!QgFWddJ3|0`sjFx!m))><{BI=FK%f8s literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/web/icons/Icon-maskable-192.png b/packages/celest_auth/example/web/icons/Icon-maskable-192.png new file mode 100644 index 0000000000000000000000000000000000000000..eb9b4d76e525556d5d89141648c724331630325d GIT binary patch literal 5594 zcmdT|`#%%j|KDb2V@0DPm$^(Lx5}lO%Yv(=e*7hl@QqKS50#~#^IQPxBmuh|i9sXnt4ch@VT0F7% zMtrs@KWIOo+QV@lSs66A>2pz6-`9Jk=0vv&u?)^F@HZ)-6HT=B7LF;rdj zskUyBfbojcX#CS>WrIWo9D=DIwcXM8=I5D{SGf$~=gh-$LwY?*)cD%38%sCc?5OsX z-XfkyL-1`VavZ?>(pI-xp-kYq=1hsnyP^TLb%0vKRSo^~r{x?ISLY1i7KjSp z*0h&jG(Rkkq2+G_6eS>n&6>&Xk+ngOMcYrk<8KrukQHzfx675^^s$~<@d$9X{VBbg z2Fd4Z%g`!-P}d#`?B4#S-9x*eNlOVRnDrn#jY@~$jfQ-~3Od;A;x-BI1BEDdvr`pI z#D)d)!2_`GiZOUu1crb!hqH=ezs0qk<_xDm_Kkw?r*?0C3|Io6>$!kyDl;eH=aqg$B zsH_|ZD?jP2dc=)|L>DZmGyYKa06~5?C2Lc0#D%62p(YS;%_DRCB1k(+eLGXVMe+=4 zkKiJ%!N6^mxqM=wq`0+yoE#VHF%R<{mMamR9o_1JH8jfnJ?NPLs$9U!9!dq8 z0B{dI2!M|sYGH&9TAY34OlpIsQ4i5bnbG>?cWwat1I13|r|_inLE?FS@Hxdxn_YZN z3jfUO*X9Q@?HZ>Q{W0z60!bbGh557XIKu1?)u|cf%go`pwo}CD=0tau-}t@R2OrSH zQzZr%JfYa`>2!g??76=GJ$%ECbQh7Q2wLRp9QoyiRHP7VE^>JHm>9EqR3<$Y=Z1K^SHuwxCy-5@z3 zVM{XNNm}yM*pRdLKp??+_2&!bp#`=(Lh1vR{~j%n;cJv~9lXeMv)@}Odta)RnK|6* zC+IVSWumLo%{6bLDpn)Gz>6r&;Qs0^+Sz_yx_KNz9Dlt^ax`4>;EWrIT#(lJ_40<= z750fHZ7hI{}%%5`;lwkI4<_FJw@!U^vW;igL0k+mK)-j zYuCK#mCDK3F|SC}tC2>m$ZCqNB7ac-0UFBJ|8RxmG@4a4qdjvMzzS&h9pQmu^x&*= zGvapd1#K%Da&)8f?<9WN`2H^qpd@{7In6DNM&916TRqtF4;3`R|Nhwbw=(4|^Io@T zIjoR?tB8d*sO>PX4vaIHF|W;WVl6L1JvSmStgnRQq zTX4(>1f^5QOAH{=18Q2Vc1JI{V=yOr7yZJf4Vpfo zeHXdhBe{PyY;)yF;=ycMW@Kb>t;yE>;f79~AlJ8k`xWucCxJfsXf2P72bAavWL1G#W z;o%kdH(mYCM{$~yw4({KatNGim49O2HY6O07$B`*K7}MvgI=4x=SKdKVb8C$eJseA$tmSFOztFd*3W`J`yIB_~}k%Sd_bPBK8LxH)?8#jM{^%J_0|L z!gFI|68)G}ex5`Xh{5pB%GtlJ{Z5em*e0sH+sU1UVl7<5%Bq+YrHWL7?X?3LBi1R@_)F-_OqI1Zv`L zb6^Lq#H^2@d_(Z4E6xA9Z4o3kvf78ZDz!5W1#Mp|E;rvJz&4qj2pXVxKB8Vg0}ek%4erou@QM&2t7Cn5GwYqy%{>jI z)4;3SAgqVi#b{kqX#$Mt6L8NhZYgonb7>+r#BHje)bvaZ2c0nAvrN3gez+dNXaV;A zmyR0z@9h4@6~rJik-=2M-T+d`t&@YWhsoP_XP-NsVO}wmo!nR~QVWU?nVlQjNfgcTzE-PkfIX5G z1?&MwaeuzhF=u)X%Vpg_e@>d2yZwxl6-r3OMqDn8_6m^4z3zG##cK0Fsgq8fcvmhu z{73jseR%X%$85H^jRAcrhd&k!i^xL9FrS7qw2$&gwAS8AfAk#g_E_tP;x66fS`Mn@SNVrcn_N;EQm z`Mt3Z%rw%hDqTH-s~6SrIL$hIPKL5^7ejkLTBr46;pHTQDdoErS(B>``t;+1+M zvU&Se9@T_BeK;A^p|n^krIR+6rH~BjvRIugf`&EuX9u69`9C?9ANVL8l(rY6#mu^i z=*5Q)-%o*tWl`#b8p*ZH0I}hn#gV%|jt6V_JanDGuekR*-wF`u;amTCpGG|1;4A5$ zYbHF{?G1vv5;8Ph5%kEW)t|am2_4ik!`7q{ymfHoe^Z99c|$;FAL+NbxE-_zheYbV z3hb0`uZGTsgA5TG(X|GVDSJyJxsyR7V5PS_WSnYgwc_D60m7u*x4b2D79r5UgtL18 zcCHWk+K6N1Pg2c;0#r-)XpwGX?|Iv)^CLWqwF=a}fXUSM?n6E;cCeW5ER^om#{)Jr zJR81pkK?VoFm@N-s%hd7@hBS0xuCD0-UDVLDDkl7Ck=BAj*^ps`393}AJ+Ruq@fl9 z%R(&?5Nc3lnEKGaYMLmRzKXow1+Gh|O-LG7XiNxkG^uyv zpAtLINwMK}IWK65hOw&O>~EJ}x@lDBtB`yKeV1%GtY4PzT%@~wa1VgZn7QRwc7C)_ zpEF~upeDRg_<#w=dLQ)E?AzXUQpbKXYxkp>;c@aOr6A|dHA?KaZkL0svwB^U#zmx0 zzW4^&G!w7YeRxt<9;d@8H=u(j{6+Uj5AuTluvZZD4b+#+6Rp?(yJ`BC9EW9!b&KdPvzJYe5l7 zMJ9aC@S;sA0{F0XyVY{}FzW0Vh)0mPf_BX82E+CD&)wf2!x@{RO~XBYu80TONl3e+ zA7W$ra6LcDW_j4s-`3tI^VhG*sa5lLc+V6ONf=hO@q4|p`CinYqk1Ko*MbZ6_M05k zSwSwkvu;`|I*_Vl=zPd|dVD0lh&Ha)CSJJvV{AEdF{^Kn_Yfsd!{Pc1GNgw}(^~%)jk5~0L~ms|Rez1fiK~s5t(p1ci5Gq$JC#^JrXf?8 z-Y-Zi_Hvi>oBzV8DSRG!7dm|%IlZg3^0{5~;>)8-+Nk&EhAd(}s^7%MuU}lphNW9Q zT)DPo(ob{tB7_?u;4-qGDo!sh&7gHaJfkh43QwL|bbFVi@+oy;i;M zM&CP^v~lx1U`pi9PmSr&Mc<%HAq0DGH?Ft95)WY`P?~7O z`O^Nr{Py9M#Ls4Y7OM?e%Y*Mvrme%=DwQaye^Qut_1pOMrg^!5u(f9p(D%MR%1K>% zRGw%=dYvw@)o}Fw@tOtPjz`45mfpn;OT&V(;z75J*<$52{sB65$gDjwX3Xa!x_wE- z!#RpwHM#WrO*|~f7z}(}o7US(+0FYLM}6de>gQdtPazXz?OcNv4R^oYLJ_BQOd_l172oSK$6!1r@g+B@0ofJ4*{>_AIxfe-#xp>(1 z@Y3Nfd>fmqvjL;?+DmZk*KsfXJf<%~(gcLwEez%>1c6XSboURUh&k=B)MS>6kw9bY z{7vdev7;A}5fy*ZE23DS{J?8at~xwVk`pEwP5^k?XMQ7u64;KmFJ#POzdG#np~F&H ze-BUh@g54)dsS%nkBb}+GuUEKU~pHcYIg4vSo$J(J|U36bs0Use+3A&IMcR%6@jv$ z=+QI+@wW@?iu}Hpyzlvj-EYeop{f65GX0O%>w#0t|V z1-svWk`hU~m`|O$kw5?Yn5UhI%9P-<45A(v0ld1n+%Ziq&TVpBcV9n}L9Tus-TI)f zd_(g+nYCDR@+wYNQm1GwxhUN4tGMLCzDzPqY$~`l<47{+l<{FZ$L6(>J)|}!bi<)| zE35dl{a2)&leQ@LlDxLQOfUDS`;+ZQ4ozrleQwaR-K|@9T{#hB5Z^t#8 zC-d_G;B4;F#8A2EBL58s$zF-=SCr`P#z zNCTnHF&|X@q>SkAoYu>&s9v@zCpv9lLSH-UZzfhJh`EZA{X#%nqw@@aW^vPcfQrlPs(qQxmC|4tp^&sHy!H!2FH5eC{M@g;ElWNzlb-+ zxpfc0m4<}L){4|RZ>KReag2j%Ot_UKkgpJN!7Y_y3;Ssz{9 z!K3isRtaFtQII5^6}cm9RZd5nTp9psk&u1C(BY`(_tolBwzV_@0F*m%3G%Y?2utyS zY`xM0iDRT)yTyYukFeGQ&W@ReM+ADG1xu@ruq&^GK35`+2r}b^V!m1(VgH|QhIPDE X>c!)3PgKfL&lX^$Z>Cpu&6)6jvi^Z! literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/web/icons/Icon-maskable-512.png b/packages/celest_auth/example/web/icons/Icon-maskable-512.png new file mode 100644 index 0000000000000000000000000000000000000000..d69c56691fbdb0b7efa65097c7cc1edac12a6d3e GIT binary patch literal 20998 zcmeFZ_gj-)&^4Nb2tlbLMU<{!p(#yjqEe+=0IA_oih%ScH9@5#MNp&}Y#;;(h=A0@ zh7{>lT2MkSQ344eAvrhici!td|HJuyvJm#Y_w1Q9Yu3!26dNlO-oxUDK_C#XnW^Co z5C{VN6#{~B0)K2j7}*1Xq(Nqemv23A-6&=ZpEijkVnSwVGqLv40?n0=p;k3-U5e5+ z+z3>aS`u9DS=!wg8ROu?X4TFoW6CFLL&{GzoVT)ldhLekLM|+j3tIxRd|*5=c{=s&*vfPdBr(Fyj(v@%eQj1Soy7m4^@VRl1~@-PV7y+c!xz$8436WBn$t{=}mEdK#k`aystimGgI{(IBx$!pAwFoE9Y`^t^;> zKAD)C(Dl^s%`?q5$P|fZf8Xymrtu^Pv(7D`rn>Z-w$Ahs!z9!94WNVxrJuXfHAaxg zC6s@|Z1$7R$(!#t%Jb{{s6(Y?NoQXDYq)!}X@jKPhe`{9KQ@sAU8y-5`xt?S9$jKH zoi}6m5PcG*^{kjvt+kwPpyQzVg4o)a>;LK`aaN2x4@itBD3Aq?yWTM20VRn1rrd+2 zKO=P0rMjEGq_UqpMa`~7B|p?xAN1SCoCp}QxAv8O`jLJ5CVh@umR%c%i^)6!o+~`F zaalSTQcl5iwOLC&H)efzd{8(88mo`GI(56T<(&p7>Qd^;R1hn1Y~jN~tApaL8>##U zd65bo8)79CplWxr#z4!6HvLz&N7_5AN#x;kLG?zQ(#p|lj<8VUlKY=Aw!ATqeL-VG z42gA!^cMNPj>(`ZMEbCrnkg*QTsn*u(nQPWI9pA{MQ=IsPTzd7q5E#7+z>Ch=fx$~ z;J|?(5jTo5UWGvsJa(Sx0?S#56+8SD!I^tftyeh_{5_31l6&Hywtn`bbqYDqGZXI( zCG7hBgvksX2ak8+)hB4jnxlO@A32C_RM&g&qDSb~3kM&)@A_j1*oTO@nicGUyv+%^ z=vB)4(q!ykzT==Z)3*3{atJ5}2PV*?Uw+HhN&+RvKvZL3p9E?gHjv{6zM!A|z|UHK z-r6jeLxbGn0D@q5aBzlco|nG2tr}N@m;CJX(4#Cn&p&sLKwzLFx1A5izu?X_X4x8r@K*d~7>t1~ zDW1Mv5O&WOxbzFC`DQ6yNJ(^u9vJdj$fl2dq`!Yba_0^vQHXV)vqv1gssZYzBct!j zHr9>ydtM8wIs}HI4=E}qAkv|BPWzh3^_yLH(|kdb?x56^BlDC)diWyPd*|f!`^12_U>TD^^94OCN0lVv~Sgvs94ecpE^}VY$w`qr_>Ue zTfH~;C<3H<0dS5Rkf_f@1x$Gms}gK#&k()IC0zb^QbR!YLoll)c$Agfi6MKI0dP_L z=Uou&u~~^2onea2%XZ@>`0x^L8CK6=I{ge;|HXMj)-@o~h&O{CuuwBX8pVqjJ*o}5 z#8&oF_p=uSo~8vn?R0!AMWvcbZmsrj{ZswRt(aEdbi~;HeVqIe)-6*1L%5u$Gbs}| zjFh?KL&U(rC2izSGtwP5FnsR@6$-1toz?RvLD^k~h9NfZgzHE7m!!7s6(;)RKo2z} zB$Ci@h({l?arO+vF;s35h=|WpefaOtKVx>l399}EsX@Oe3>>4MPy%h&^3N_`UTAHJ zI$u(|TYC~E4)|JwkWW3F!Tib=NzjHs5ii2uj0^m|Qlh-2VnB#+X~RZ|`SA*}}&8j9IDv?F;(Y^1=Z0?wWz;ikB zewU>MAXDi~O7a~?jx1x=&8GcR-fTp>{2Q`7#BE#N6D@FCp`?ht-<1|y(NArxE_WIu zP+GuG=Qq>SHWtS2M>34xwEw^uvo4|9)4s|Ac=ud?nHQ>ax@LvBqusFcjH0}{T3ZPQ zLO1l<@B_d-(IS682}5KA&qT1+{3jxKolW+1zL4inqBS-D>BohA!K5++41tM@ z@xe<-qz27}LnV#5lk&iC40M||JRmZ*A##K3+!j93eouU8@q-`W0r%7N`V$cR&JV;iX(@cS{#*5Q>~4BEDA)EikLSP@>Oo&Bt1Z~&0d5)COI%3$cLB_M?dK# z{yv2OqW!al-#AEs&QFd;WL5zCcp)JmCKJEdNsJlL9K@MnPegK23?G|O%v`@N{rIRa zi^7a}WBCD77@VQ-z_v{ZdRsWYrYgC$<^gRQwMCi6);%R~uIi31OMS}=gUTE(GKmCI z$zM>mytL{uNN+a&S38^ez(UT=iSw=l2f+a4)DyCA1Cs_N-r?Q@$3KTYosY!;pzQ0k zzh1G|kWCJjc(oZVBji@kN%)UBw(s{KaYGy=i{g3{)Z+&H8t2`^IuLLKWT6lL<-C(! zSF9K4xd-|VO;4}$s?Z7J_dYqD#Mt)WCDnsR{Kpjq275uUq6`v0y*!PHyS(}Zmv)_{>Vose9-$h8P0|y;YG)Bo}$(3Z%+Gs0RBmFiW!^5tBmDK-g zfe5%B*27ib+7|A*Fx5e)2%kIxh7xWoc3pZcXS2zik!63lAG1;sC1ja>BqH7D zODdi5lKW$$AFvxgC-l-)!c+9@YMC7a`w?G(P#MeEQ5xID#<}W$3bSmJ`8V*x2^3qz zVe<^^_8GHqYGF$nIQm0Xq2kAgYtm#UC1A(=&85w;rmg#v906 zT;RyMgbMpYOmS&S9c38^40oUp?!}#_84`aEVw;T;r%gTZkWeU;;FwM@0y0adt{-OK z(vGnPSlR=Nv2OUN!2=xazlnHPM9EWxXg2EKf0kI{iQb#FoP>xCB<)QY>OAM$Dcdbm zU6dU|%Mo(~avBYSjRc13@|s>axhrPl@Sr81{RSZUdz4(=|82XEbV*JAX6Lfbgqgz584lYgi0 z2-E{0XCVON$wHfvaLs;=dqhQJ&6aLn$D#0i(FkAVrXG9LGm3pSTf&f~RQb6|1_;W> z?n-;&hrq*~L=(;u#jS`*Yvh@3hU-33y_Kv1nxqrsf>pHVF&|OKkoC)4DWK%I!yq?P z=vXo8*_1iEWo8xCa{HJ4tzxOmqS0&$q+>LroMKI*V-rxhOc%3Y!)Y|N6p4PLE>Yek>Y(^KRECg8<|%g*nQib_Yc#A5q8Io z6Ig&V>k|~>B6KE%h4reAo*DfOH)_01tE0nWOxX0*YTJgyw7moaI^7gW*WBAeiLbD?FV9GSB zPv3`SX*^GRBM;zledO`!EbdBO_J@fEy)B{-XUTVQv}Qf~PSDpK9+@I`7G7|>Dgbbu z_7sX9%spVo$%qwRwgzq7!_N;#Td08m5HV#?^dF-EV1o)Q=Oa+rs2xH#g;ykLbwtCh znUnA^dW!XjspJ;otq$yV@I^s9Up(5k7rqhQd@OLMyyxVLj_+$#Vc*}Usevp^I(^vH zmDgHc0VMme|K&X?9&lkN{yq_(If)O`oUPW8X}1R5pSVBpfJe0t{sPA(F#`eONTh_) zxeLqHMfJX#?P(@6w4CqRE@Eiza; z;^5)Kk=^5)KDvd9Q<`=sJU8rjjxPmtWMTmzcH={o$U)j=QBuHarp?=}c??!`3d=H$nrJMyr3L-& zA#m?t(NqLM?I3mGgWA_C+0}BWy3-Gj7bR+d+U?n*mN$%5P`ugrB{PeV>jDUn;eVc- zzeMB1mI4?fVJatrNyq|+zn=!AiN~<}eoM#4uSx^K?Iw>P2*r=k`$<3kT00BE_1c(02MRz4(Hq`L^M&xt!pV2 zn+#U3@j~PUR>xIy+P>51iPayk-mqIK_5rlQMSe5&tDkKJk_$i(X&;K(11YGpEc-K= zq4Ln%^j>Zi_+Ae9eYEq_<`D+ddb8_aY!N;)(&EHFAk@Ekg&41ABmOXfWTo)Z&KotA zh*jgDGFYQ^y=m)<_LCWB+v48DTJw*5dwMm_YP0*_{@HANValf?kV-Ic3xsC}#x2h8 z`q5}d8IRmqWk%gR)s~M}(Qas5+`np^jW^oEd-pzERRPMXj$kS17g?H#4^trtKtq;C?;c ztd|%|WP2w2Nzg@)^V}!Gv++QF2!@FP9~DFVISRW6S?eP{H;;8EH;{>X_}NGj^0cg@ z!2@A>-CTcoN02^r6@c~^QUa={0xwK0v4i-tQ9wQq^=q*-{;zJ{Qe%7Qd!&X2>rV@4 z&wznCz*63_vw4>ZF8~%QCM?=vfzW0r_4O^>UA@otm_!N%mH)!ERy&b!n3*E*@?9d^ zu}s^By@FAhG(%?xgJMuMzuJw2&@$-oK>n z=UF}rt%vuaP9fzIFCYN-1&b#r^Cl6RDFIWsEsM|ROf`E?O(cy{BPO2Ie~kT+^kI^i zp>Kbc@C?}3vy-$ZFVX#-cx)Xj&G^ibX{pWggtr(%^?HeQL@Z( zM-430g<{>vT*)jK4aY9(a{lSy{8vxLbP~n1MXwM527ne#SHCC^F_2@o`>c>>KCq9c(4c$VSyMl*y3Nq1s+!DF| z^?d9PipQN(mw^j~{wJ^VOXDCaL$UtwwTpyv8IAwGOg<|NSghkAR1GSNLZ1JwdGJYm zP}t<=5=sNNUEjc=g(y)1n5)ynX(_$1-uGuDR*6Y^Wgg(LT)Jp><5X|}bt z_qMa&QP?l_n+iVS>v%s2Li_;AIeC=Ca^v1jX4*gvB$?H?2%ndnqOaK5-J%7a} zIF{qYa&NfVY}(fmS0OmXA70{znljBOiv5Yod!vFU{D~*3B3Ka{P8?^ zfhlF6o7aNT$qi8(w<}OPw5fqA7HUje*r*Oa(YV%*l0|9FP9KW@U&{VSW{&b0?@y)M zs%4k1Ax;TGYuZ9l;vP5@?3oQsp3)rjBeBvQQ>^B;z5pc=(yHhHtq6|0m(h4envn_j787fizY@V`o(!SSyE7vlMT zbo=Z1c=atz*G!kwzGB;*uPL$Ei|EbZLh8o+1BUMOpnU(uX&OG1MV@|!&HOOeU#t^x zr9=w2ow!SsTuJWT7%Wmt14U_M*3XiWBWHxqCVZI0_g0`}*^&yEG9RK9fHK8e+S^m? zfCNn$JTswUVbiC#>|=wS{t>-MI1aYPLtzO5y|LJ9nm>L6*wpr_m!)A2Fb1RceX&*|5|MwrvOk4+!0p99B9AgP*9D{Yt|x=X}O% zgIG$MrTB=n-!q%ROT|SzH#A$Xm;|ym)0>1KR}Yl0hr-KO&qMrV+0Ej3d@?FcgZ+B3 ztEk16g#2)@x=(ko8k7^Tq$*5pfZHC@O@}`SmzT1(V@x&NkZNM2F#Q-Go7-uf_zKC( zB(lHZ=3@dHaCOf6C!6i8rDL%~XM@rVTJbZL09?ht@r^Z_6x}}atLjvH^4Vk#Ibf(^LiBJFqorm?A=lE zzFmwvp4bT@Nv2V>YQT92X;t9<2s|Ru5#w?wCvlhcHLcsq0TaFLKy(?nzezJ>CECqj zggrI~Hd4LudM(m{L@ezfnpELsRFVFw>fx;CqZtie`$BXRn#Ns%AdoE$-Pf~{9A8rV zf7FbgpKmVzmvn-z(g+&+-ID=v`;6=)itq8oM*+Uz**SMm_{%eP_c0{<%1JGiZS19o z@Gj7$Se~0lsu}w!%;L%~mIAO;AY-2i`9A*ZfFs=X!LTd6nWOZ7BZH2M{l2*I>Xu)0 z`<=;ObglnXcVk!T>e$H?El}ra0WmPZ$YAN0#$?|1v26^(quQre8;k20*dpd4N{i=b zuN=y}_ew9SlE~R{2+Rh^7%PA1H5X(p8%0TpJ=cqa$65XL)$#ign-y!qij3;2>j}I; ziO@O|aYfn&up5F`YtjGw68rD3{OSGNYmBnl?zdwY$=RFsegTZ=kkzRQ`r7ZjQP!H( zp4>)&zf<*N!tI00xzm-ME_a{_I!TbDCr;8E;kCH4LlL-tqLxDuBn-+xgPk37S&S2^ z2QZumkIimwz!c@!r0)j3*(jPIs*V!iLTRl0Cpt_UVNUgGZzdvs0(-yUghJfKr7;=h zD~y?OJ-bWJg;VdZ^r@vlDoeGV&8^--!t1AsIMZ5S440HCVr%uk- z2wV>!W1WCvFB~p$P$$_}|H5>uBeAe>`N1FI8AxM|pq%oNs;ED8x+tb44E) zTj{^fbh@eLi%5AqT?;d>Es5D*Fi{Bpk)q$^iF!!U`r2hHAO_?#!aYmf>G+jHsES4W zgpTKY59d?hsb~F0WE&dUp6lPt;Pm zcbTUqRryw^%{ViNW%Z(o8}dd00H(H-MmQmOiTq{}_rnwOr*Ybo7*}3W-qBT!#s0Ie z-s<1rvvJx_W;ViUD`04%1pra*Yw0BcGe)fDKUK8aF#BwBwMPU;9`!6E(~!043?SZx z13K%z@$$#2%2ovVlgFIPp7Q6(vO)ud)=*%ZSucL2Dh~K4B|%q4KnSpj#n@(0B})!9 z8p*hY@5)NDn^&Pmo;|!>erSYg`LkO?0FB@PLqRvc>4IsUM5O&>rRv|IBRxi(RX(gJ ztQ2;??L~&Mv;aVr5Q@(?y^DGo%pO^~zijld41aA0KKsy_6FeHIn?fNHP-z>$OoWer zjZ5hFQTy*-f7KENRiCE$ZOp4|+Wah|2=n@|W=o}bFM}Y@0e62+_|#fND5cwa3;P{^pEzlJbF1Yq^}>=wy8^^^$I2M_MH(4Dw{F6hm+vrWV5!q;oX z;tTNhz5`-V={ew|bD$?qcF^WPR{L(E%~XG8eJx(DoGzt2G{l8r!QPJ>kpHeOvCv#w zr=SSwMDaUX^*~v%6K%O~i)<^6`{go>a3IdfZ8hFmz&;Y@P%ZygShQZ2DSHd`m5AR= zx$wWU06;GYwXOf(%MFyj{8rPFXD};JCe85Bdp4$YJ2$TzZ7Gr#+SwCvBI1o$QP0(c zy`P51FEBV2HTisM3bHqpmECT@H!Y2-bv2*SoSPoO?wLe{M#zDTy@ujAZ!Izzky~3k zRA1RQIIoC*Mej1PH!sUgtkR0VCNMX(_!b65mo66iM*KQ7xT8t2eev$v#&YdUXKwGm z7okYAqYF&bveHeu6M5p9xheRCTiU8PFeb1_Rht0VVSbm%|1cOVobc8mvqcw!RjrMRM#~=7xibH&Fa5Imc|lZ{eC|R__)OrFg4@X_ ze+kk*_sDNG5^ELmHnZ7Ue?)#6!O)#Nv*Dl2mr#2)w{#i-;}0*_h4A%HidnmclH#;Q zmQbq+P4DS%3}PpPm7K_K3d2s#k~x+PlTul7+kIKol0@`YN1NG=+&PYTS->AdzPv!> zQvzT=)9se*Jr1Yq+C{wbK82gAX`NkbXFZ)4==j4t51{|-v!!$H8@WKA={d>CWRW+g z*`L>9rRucS`vbXu0rzA1#AQ(W?6)}1+oJSF=80Kf_2r~Qm-EJ6bbB3k`80rCv(0d` zvCf3;L2ovYG_TES%6vSuoKfIHC6w;V31!oqHM8-I8AFzcd^+_86!EcCOX|Ta9k1!s z_Vh(EGIIsI3fb&dF$9V8v(sTBC%!#<&KIGF;R+;MyC0~}$gC}}= zR`DbUVc&Bx`lYykFZ4{R{xRaUQkWCGCQlEc;!mf=+nOk$RUg*7 z;kP7CVLEc$CA7@6VFpsp3_t~m)W0aPxjsA3e5U%SfY{tp5BV5jH-5n?YX7*+U+Zs%LGR>U- z!x4Y_|4{gx?ZPJobISy991O znrmrC3otC;#4^&Rg_iK}XH(XX+eUHN0@Oe06hJk}F?`$)KmH^eWz@@N%wEc)%>?Ft z#9QAroDeyfztQ5Qe{m*#R#T%-h*&XvSEn@N$hYRTCMXS|EPwzF3IIysD2waj`vQD{ zv_#^Pgr?s~I*NE=acf@dWVRNWTr(GN0wrL)Z2=`Dr>}&ZDNX|+^Anl{Di%v1Id$_p zK5_H5`RDjJx`BW7hc85|> zHMMsWJ4KTMRHGu+vy*kBEMjz*^K8VtU=bXJYdhdZ-?jTXa$&n)C?QQIZ7ln$qbGlr zS*TYE+ppOrI@AoPP=VI-OXm}FzgXRL)OPvR$a_=SsC<3Jb+>5makX|U!}3lx4tX&L z^C<{9TggZNoeX!P1jX_K5HkEVnQ#s2&c#umzV6s2U-Q;({l+j^?hi7JnQ7&&*oOy9 z(|0asVTWUCiCnjcOnB2pN0DpuTglKq;&SFOQ3pUdye*eT<2()7WKbXp1qq9=bhMWlF-7BHT|i3TEIT77AcjD(v=I207wi-=vyiw5mxgPdTVUC z&h^FEUrXwWs9en2C{ywZp;nvS(Mb$8sBEh-*_d-OEm%~p1b2EpcwUdf<~zmJmaSTO zSX&&GGCEz-M^)G$fBvLC2q@wM$;n4jp+mt0MJFLuJ%c`tSp8$xuP|G81GEd2ci$|M z4XmH{5$j?rqDWoL4vs!}W&!?!rtj=6WKJcE>)?NVske(p;|#>vL|M_$as=mi-n-()a*OU3Okmk0wC<9y7t^D(er-&jEEak2!NnDiOQ99Wx8{S8}=Ng!e0tzj*#T)+%7;aM$ z&H}|o|J1p{IK0Q7JggAwipvHvko6>Epmh4RFRUr}$*2K4dz85o7|3#Bec9SQ4Y*;> zXWjT~f+d)dp_J`sV*!w>B%)#GI_;USp7?0810&3S=WntGZ)+tzhZ+!|=XlQ&@G@~3 z-dw@I1>9n1{+!x^Hz|xC+P#Ab`E@=vY?3%Bc!Po~e&&&)Qp85!I|U<-fCXy*wMa&t zgDk!l;gk;$taOCV$&60z+}_$ykz=Ea*)wJQ3-M|p*EK(cvtIre0Pta~(95J7zoxBN zS(yE^3?>88AL0Wfuou$BM{lR1hkrRibz=+I9ccwd`ZC*{NNqL)3pCcw^ygMmrG^Yp zn5f}Xf>%gncC=Yq96;rnfp4FQL#{!Y*->e82rHgY4Zwy{`JH}b9*qr^VA{%~Z}jtp z_t$PlS6}5{NtTqXHN?uI8ut8rOaD#F1C^ls73S=b_yI#iZDOGz3#^L@YheGd>L;<( z)U=iYj;`{>VDNzIxcjbTk-X3keXR8Xbc`A$o5# zKGSk-7YcoBYuAFFSCjGi;7b<;n-*`USs)IX z=0q6WZ=L!)PkYtZE-6)azhXV|+?IVGTOmMCHjhkBjfy@k1>?yFO3u!)@cl{fFAXnRYsWk)kpT?X{_$J=|?g@Q}+kFw|%n!;Zo}|HE@j=SFMvT8v`6Y zNO;tXN^036nOB2%=KzxB?n~NQ1K8IO*UE{;Xy;N^ZNI#P+hRZOaHATz9(=)w=QwV# z`z3+P>9b?l-@$@P3<;w@O1BdKh+H;jo#_%rr!ute{|YX4g5}n?O7Mq^01S5;+lABE+7`&_?mR_z7k|Ja#8h{!~j)| zbBX;*fsbUak_!kXU%HfJ2J+G7;inu#uRjMb|8a){=^))y236LDZ$$q3LRlat1D)%7K0!q5hT5V1j3qHc7MG9 z_)Q=yQ>rs>3%l=vu$#VVd$&IgO}Za#?aN!xY>-<3PhzS&q!N<=1Q7VJBfHjug^4|) z*fW^;%3}P7X#W3d;tUs3;`O&>;NKZBMR8au6>7?QriJ@gBaorz-+`pUWOP73DJL=M z(33uT6Gz@Sv40F6bN|H=lpcO z^AJl}&=TIjdevuDQ!w0K*6oZ2JBOhb31q!XDArFyKpz!I$p4|;c}@^bX{>AXdt7Bm zaLTk?c%h@%xq02reu~;t@$bv`b3i(P=g}~ywgSFpM;}b$zAD+=I!7`V~}ARB(Wx0C(EAq@?GuxOL9X+ffbkn3+Op0*80TqmpAq~EXmv%cq36celXmRz z%0(!oMp&2?`W)ALA&#|fu)MFp{V~~zIIixOxY^YtO5^FSox8v$#d0*{qk0Z)pNTt0QVZ^$`4vImEB>;Lo2!7K05TpY-sl#sWBz_W-aDIV`Ksabi zvpa#93Svo!70W*Ydh)Qzm{0?CU`y;T^ITg-J9nfWeZ-sbw)G@W?$Eomf%Bg2frfh5 zRm1{|E0+(4zXy){$}uC3%Y-mSA2-^I>Tw|gQx|7TDli_hB>``)Q^aZ`LJC2V3U$SABP}T)%}9g2pF9dT}aC~!rFFgkl1J$ z`^z{Arn3On-m%}r}TGF8KQe*OjSJ=T|caa_E;v89A{t@$yT^(G9=N9F?^kT*#s3qhJq!IH5|AhnqFd z0B&^gm3w;YbMNUKU>naBAO@fbz zqw=n!@--}o5;k6DvTW9pw)IJVz;X}ncbPVrmH>4x);8cx;q3UyiML1PWp%bxSiS|^ zC5!kc4qw%NSOGQ*Kcd#&$30=lDvs#*4W4q0u8E02U)7d=!W7+NouEyuF1dyH$D@G& zaFaxo9Ex|ZXA5y{eZT*i*dP~INSMAi@mvEX@q5i<&o&#sM}Df?Og8n8Ku4vOux=T% zeuw~z1hR}ZNwTn8KsQHKLwe2>p^K`YWUJEdVEl|mO21Bov!D0D$qPoOv=vJJ`)|%_ z>l%`eexY7t{BlVKP!`a^U@nM?#9OC*t76My_E_<16vCz1x_#82qj2PkWiMWgF8bM9 z(1t4VdHcJ;B~;Q%x01k_gQ0>u2*OjuEWNOGX#4}+N?Gb5;+NQMqp}Puqw2HnkYuKA zzKFWGHc&K>gwVgI1Sc9OT1s6fq=>$gZU!!xsilA$fF`kLdGoX*^t}ao@+^WBpk>`8 z4v_~gK|c2rCq#DZ+H)$3v~Hoi=)=1D==e3P zpKrRQ+>O^cyTuWJ%2}__0Z9SM_z9rptd*;-9uC1tDw4+A!=+K%8~M&+Zk#13hY$Y$ zo-8$*8dD5@}XDi19RjK6T^J~DIXbF5w&l?JLHMrf0 zLv0{7*G!==o|B%$V!a=EtVHdMwXLtmO~vl}P6;S(R2Q>*kTJK~!}gloxj)m|_LYK{ zl(f1cB=EON&wVFwK?MGn^nWuh@f95SHatPs(jcwSY#Dnl1@_gkOJ5=f`%s$ZHljRH0 z+c%lrb=Gi&N&1>^L_}#m>=U=(oT^vTA&3!xXNyqi$pdW1BDJ#^{h|2tZc{t^vag3& zAD7*8C`chNF|27itjBUo^CCDyEpJLX3&u+(L;YeeMwnXEoyN(ytoEabcl$lSgx~Ltatn}b$@j_yyMrBb03)shJE*$;Mw=;mZd&8e>IzE+4WIoH zCSZE7WthNUL$|Y#m!Hn?x7V1CK}V`KwW2D$-7&ODy5Cj;!_tTOOo1Mm%(RUt)#$@3 zhurA)t<7qik%%1Et+N1?R#hdBB#LdQ7{%-C zn$(`5e0eFh(#c*hvF>WT*07fk$N_631?W>kfjySN8^XC9diiOd#s?4tybICF;wBjp zIPzilX3{j%4u7blhq)tnaOBZ_`h_JqHXuI7SuIlNTgBk9{HIS&3|SEPfrvcE<@}E` zKk$y*nzsqZ{J{uWW9;#n=de&&h>m#A#q)#zRonr(?mDOYU&h&aQWD;?Z(22wY?t$U3qo`?{+amA$^TkxL+Ex2dh`q7iR&TPd0Ymwzo#b? zP$#t=elB5?k$#uE$K>C$YZbYUX_JgnXA`oF_Ifz4H7LEOW~{Gww&3s=wH4+j8*TU| zSX%LtJWqhr-xGNSe{;(16kxnak6RnZ{0qZ^kJI5X*It_YuynSpi(^-}Lolr{)#z_~ zw!(J-8%7Ybo^c3(mED`Xz8xecP35a6M8HarxRn%+NJBE;dw>>Y2T&;jzRd4FSDO3T zt*y+zXCtZQ0bP0yf6HRpD|WmzP;DR^-g^}{z~0x~z4j8m zucTe%k&S9Nt-?Jb^gYW1w6!Y3AUZ0Jcq;pJ)Exz%7k+mUOm6%ApjjSmflfKwBo6`B zhNb@$NHTJ>guaj9S{@DX)!6)b-Shav=DNKWy(V00k(D!v?PAR0f0vDNq*#mYmUp6> z76KxbFDw5U{{qx{BRj(>?|C`82ICKbfLxoldov-M?4Xl+3;I4GzLHyPOzYw7{WQST zPNYcx5onA%MAO9??41Po*1zW(Y%Zzn06-lUp{s<3!_9vv9HBjT02On0Hf$}NP;wF) zP<`2p3}A^~1YbvOh{ePMx$!JGUPX-tbBzp3mDZMY;}h;sQ->!p97GA)9a|tF(Gh{1$xk7 zUw?ELkT({Xw!KIr);kTRb1b|UL`r2_`a+&UFVCdJ)1T#fdh;71EQl9790Br0m_`$x z9|ZANuchFci8GNZ{XbP=+uXSJRe(;V5laQz$u18#?X*9}x7cIEbnr%<=1cX3EIu7$ zhHW6pe5M(&qEtsqRa>?)*{O;OJT+YUhG5{km|YI7I@JL_3Hwao9aXneiSA~a* z|Lp@c-oMNyeAEuUz{F?kuou3x#C*gU?lon!RC1s37gW^0Frc`lqQWH&(J4NoZg3m8 z;Lin#8Q+cFPD7MCzj}#|ws7b@?D9Q4dVjS4dpco=4yX5SSH=A@U@yqPdp@?g?qeia zH=Tt_9)G=6C2QIPsi-QipnK(mc0xXIN;j$WLf@n8eYvMk;*H-Q4tK%(3$CN}NGgO8n}fD~+>?<3UzvsrMf*J~%i;VKQHbF%TPalFi=#sgj)(P#SM^0Q=Tr>4kJVw8X3iWsP|e8tj}NjlMdWp z@2+M4HQu~3!=bZpjh;;DIDk&X}=c8~kn)FWWH z2KL1w^rA5&1@@^X%MjZ7;u(kH=YhH2pJPFQe=hn>tZd5RC5cfGYis8s9PKaxi*}-s6*W zRA^PwR=y^5Z){!(4D9-KC;0~;b*ploznFOaU`bJ_7U?qAi#mTo!&rIECRL$_y@yI27x2?W+zqDBD5~KCVYKFZLK+>ABC(Kj zeAll)KMgIlAG`r^rS{loBrGLtzhHY8$)<_S<(Dpkr(Ym@@vnQ&rS@FC*>2@XCH}M+an74WcRDcoQ+a3@A z9tYhl5$z7bMdTvD2r&jztBuo37?*k~wcU9GK2-)MTFS-lux-mIRYUuGUCI~V$?s#< z?1qAWb(?ZLm(N>%S%y10COdaq_Tm5c^%ooIxpR=`3e4C|@O5wY+eLik&XVi5oT7oe zmxH)Jd*5eo@!7t`x8!K=-+zJ-Sz)B_V$)s1pW~CDU$=q^&ABvf6S|?TOMB-RIm@CoFg>mjIQE)?+A1_3s6zmFU_oW&BqyMz1mY*IcP_2knjq5 zqw~JK(cVsmzc7*EvTT2rvpeqhg)W=%TOZ^>f`rD4|7Z5fq*2D^lpCttIg#ictgqZ$P@ru6P#f$x#KfnfTZj~LG6U_d-kE~`;kU_X)`H5so@?C zWmb!7x|xk@0L~0JFall*@ltyiL^)@3m4MqC7(7H0sH!WidId1#f#6R{Q&A!XzO1IAcIx;$k66dumt6lpUw@nL2MvqJ5^kbOVZ<^2jt5-njy|2@`07}0w z;M%I1$FCoLy`8xp8Tk)bFr;7aJeQ9KK6p=O$U0-&JYYy8woV*>b+FB?xLX`=pirYM z5K$BA(u)+jR{?O2r$c_Qvl?M{=Ar{yQ!UVsVn4k@0!b?_lA;dVz9uaQUgBH8Oz(Sb zrEs;&Ey>_ex8&!N{PmQjp+-Hlh|OA&wvDai#GpU=^-B70V0*LF=^bi+Nhe_o|azZ%~ZZ1$}LTmWt4aoB1 zPgccm$EwYU+jrdBaQFxQfn5gd(gM`Y*Ro1n&Zi?j=(>T3kmf94vdhf?AuS8>$Va#P zGL5F+VHpxdsCUa}+RqavXCobI-@B;WJbMphpK2%6t=XvKWWE|ruvREgM+|V=i6;;O zx$g=7^`$XWn0fu!gF=Xe9cMB8Z_SelD>&o&{1XFS`|nInK3BXlaeD*rc;R-#osyIS zWv&>~^TLIyBB6oDX+#>3<_0+2C4u2zK^wmHXXDD9_)kmLYJ!0SzM|%G9{pi)`X$uf zW}|%%#LgyK7m(4{V&?x_0KEDq56tk|0YNY~B(Sr|>WVz-pO3A##}$JCT}5P7DY+@W z#gJv>pA5>$|E3WO2tV7G^SuymB?tY`ooKcN3!vaQMnBNk-WATF{-$#}FyzgtJ8M^; zUK6KWSG)}6**+rZ&?o@PK3??uN{Q)#+bDP9i1W&j)oaU5d0bIWJ_9T5ac!qc?x66Q z$KUSZ`nYY94qfN_dpTFr8OW~A?}LD;Yty-BA)-be5Z3S#t2Io%q+cAbnGj1t$|qFR z9o?8B7OA^KjCYL=-!p}w(dkC^G6Nd%_I=1))PC0w5}ZZGJxfK)jP4Fwa@b-SYBw?% zdz9B-<`*B2dOn(N;mcTm%Do)rIvfXRNFX&1h`?>Rzuj~Wx)$p13nrDlS8-jwq@e@n zNIj_|8or==8~1h*Ih?w*8K7rYkGlwlTWAwLKc5}~dfz3y`kM&^Q|@C%1VAp_$wnw6zG~W4O+^ z>i?NY?oXf^Puc~+fDM$VgRNBpOZj{2cMP~gCqWAX4 z7>%$ux8@a&_B(pt``KSt;r+sR-$N;jdpY>|pyvPiN)9ohd*>mVST3wMo)){`B(&eX z1?zZJ-4u9NZ|~j1rdZYq4R$?swf}<6(#ex%7r{kh%U@kT)&kWuAszS%oJts=*OcL9 zaZwK<5DZw%1IFHXgFplP6JiL^dk8+SgM$D?8X+gE4172hXh!WeqIO>}$I9?Nry$*S zQ#f)RuH{P7RwA3v9f<-w>{PSzom;>(i&^l{E0(&Xp4A-*q-@{W1oE3K;1zb{&n28dSC2$N+6auXe0}e4b z)KLJ?5c*>@9K#I^)W;uU_Z`enquTUxr>mNq z1{0_puF-M7j${rs!dxxo3EelGodF1TvjV;Zpo;s{5f1pyCuRp=HDZ?s#IA4f?h|-p zGd|Mq^4hDa@Bh!c4ZE?O&x&XZ_ptZGYK4$9F4~{%R!}G1leCBx`dtNUS|K zL-7J5s4W@%mhXg1!}a4PD%!t&Qn%f_oquRajn3@C*)`o&K9o7V6DwzVMEhjVdDJ1fjhr#@=lp#@4EBqi=CCQ>73>R(>QKPNM&_Jpe5G`n4wegeC`FYEPJ{|vwS>$-`fuRSp3927qOv|NC3T3G-0 zA{K`|+tQy1yqE$ShWt8ny&5~)%ITb@^+x$w0)f&om;P8B)@}=Wzy59BwUfZ1vqw87 za2lB8J(&*l#(V}Id8SyQ0C(2amzkz3EqG&Ed0Jq1)$|&>4_|NIe=5|n=3?siFV0fI z{As5DLW^gs|B-b4C;Hd(SM-S~GQhzb>HgF2|2Usww0nL^;x@1eaB)=+Clj+$fF@H( z-fqP??~QMT$KI-#m;QC*&6vkp&8699G3)Bq0*kFZXINw=b9OVaed(3(3kS|IZ)CM? zJdnW&%t8MveBuK21uiYj)_a{Fnw0OErMzMN?d$QoPwkhOwcP&p+t>P)4tHlYw-pPN z^oJ=uc$Sl>pv@fZH~ZqxSvdhF@F1s=oZawpr^-#l{IIOGG=T%QXjtwPhIg-F@k@uIlr?J->Ia zpEUQ*=4g|XYn4Gez&aHr*;t$u3oODPmc2Ku)2Og|xjc%w;q!Zz+zY)*3{7V8bK4;& zYV82FZ+8?v)`J|G1w4I0fWdKg|2b#iaazCv;|?(W-q}$o&Y}Q5d@BRk^jL7#{kbCK zSgkyu;=DV+or2)AxCBgq-nj5=@n^`%T#V+xBGEkW4lCqrE)LMv#f;AvD__cQ@Eg3`~x| zW+h9mofSXCq5|M)9|ez(#X?-sxB%Go8};sJ?2abp(Y!lyi>k)|{M*Z$c{e1-K4ky` MPgg&ebxsLQ025IeI{*Lx literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/web/index.html b/packages/celest_auth/example/web/index.html new file mode 100644 index 00000000..9d9cf25e --- /dev/null +++ b/packages/celest_auth/example/web/index.html @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + celest_auth_example + + + + + + + + + + diff --git a/packages/celest_auth/example/web/manifest.json b/packages/celest_auth/example/web/manifest.json new file mode 100644 index 00000000..7ee7c96d --- /dev/null +++ b/packages/celest_auth/example/web/manifest.json @@ -0,0 +1,35 @@ +{ + "name": "celest_auth_example", + "short_name": "celest_auth_example", + "start_url": ".", + "display": "standalone", + "background_color": "#0175C2", + "theme_color": "#0175C2", + "description": "A new Flutter project.", + "orientation": "portrait-primary", + "prefer_related_applications": false, + "icons": [ + { + "src": "icons/Icon-192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "icons/Icon-512.png", + "sizes": "512x512", + "type": "image/png" + }, + { + "src": "icons/Icon-maskable-192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "icons/Icon-maskable-512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ] +} diff --git a/packages/celest_auth/example/windows/.gitignore b/packages/celest_auth/example/windows/.gitignore new file mode 100644 index 00000000..d492d0d9 --- /dev/null +++ b/packages/celest_auth/example/windows/.gitignore @@ -0,0 +1,17 @@ +flutter/ephemeral/ + +# Visual Studio user-specific files. +*.suo +*.user +*.userosscache +*.sln.docstates + +# Visual Studio build-related files. +x64/ +x86/ + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ diff --git a/packages/celest_auth/example/windows/CMakeLists.txt b/packages/celest_auth/example/windows/CMakeLists.txt new file mode 100644 index 00000000..bdd62d56 --- /dev/null +++ b/packages/celest_auth/example/windows/CMakeLists.txt @@ -0,0 +1,108 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.14) +project(celest_auth_example LANGUAGES CXX) + +# The name of the executable created for the application. Change this to change +# the on-disk name of your application. +set(BINARY_NAME "celest_auth_example") + +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(VERSION 3.14...3.25) + +# Define build configuration option. +get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +if(IS_MULTICONFIG) + set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" + CACHE STRING "" FORCE) +else() + if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") + endif() +endif() +# Define settings for the Profile build mode. +set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") +set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") +set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") +set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") + +# Use Unicode for all projects. +add_definitions(-DUNICODE -D_UNICODE) + +# Compilation settings that should be applied to most targets. +# +# Be cautious about adding new options here, as plugins use this function by +# default. In most cases, you should add new options to specific targets instead +# of modifying this function. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_17) + target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") + target_compile_options(${TARGET} PRIVATE /EHsc) + target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") + target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") +endfunction() + +# Flutter library and tool build rules. +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# Application build; see runner/CMakeLists.txt. +add_subdirectory("runner") + + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# Support files are copied into place next to the executable, so that it can +# run in place. This is done instead of making a separate bundle (as on Linux) +# so that building and running from within Visual Studio will work. +set(BUILD_BUNDLE_DIR "$") +# Make the "install" step default, as it's required to run. +set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +if(PLUGIN_BUNDLED_LIBRARIES) + install(FILES "${PLUGIN_BUNDLED_LIBRARIES}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() + +# Copy the native assets provided by the build.dart from all packages. +set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/windows/") +install(DIRECTORY "${NATIVE_ASSETS_DIR}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + CONFIGURATIONS Profile;Release + COMPONENT Runtime) diff --git a/packages/celest_auth/example/windows/flutter/CMakeLists.txt b/packages/celest_auth/example/windows/flutter/CMakeLists.txt new file mode 100644 index 00000000..903f4899 --- /dev/null +++ b/packages/celest_auth/example/windows/flutter/CMakeLists.txt @@ -0,0 +1,109 @@ +# This file controls Flutter-level build steps. It should not be edited. +cmake_minimum_required(VERSION 3.14) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. +set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") + +# Set fallback configurations for older versions of the flutter tool. +if (NOT DEFINED FLUTTER_TARGET_PLATFORM) + set(FLUTTER_TARGET_PLATFORM "windows-x64") +endif() + +# === Flutter Library === +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "flutter_export.h" + "flutter_windows.h" + "flutter_messenger.h" + "flutter_plugin_registrar.h" + "flutter_texture_registrar.h" +) +list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") +add_dependencies(flutter flutter_assemble) + +# === Wrapper === +list(APPEND CPP_WRAPPER_SOURCES_CORE + "core_implementations.cc" + "standard_codec.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_PLUGIN + "plugin_registrar.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_APP + "flutter_engine.cc" + "flutter_view_controller.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") + +# Wrapper sources needed for a plugin. +add_library(flutter_wrapper_plugin STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} +) +apply_standard_settings(flutter_wrapper_plugin) +set_target_properties(flutter_wrapper_plugin PROPERTIES + POSITION_INDEPENDENT_CODE ON) +set_target_properties(flutter_wrapper_plugin PROPERTIES + CXX_VISIBILITY_PRESET hidden) +target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) +target_include_directories(flutter_wrapper_plugin PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_plugin flutter_assemble) + +# Wrapper sources needed for the runner. +add_library(flutter_wrapper_app STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_APP} +) +apply_standard_settings(flutter_wrapper_app) +target_link_libraries(flutter_wrapper_app PUBLIC flutter) +target_include_directories(flutter_wrapper_app PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_app flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_") +set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE) +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} + ${PHONY_OUTPUT} + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" + ${FLUTTER_TARGET_PLATFORM} $ + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} +) diff --git a/packages/celest_auth/example/windows/flutter/generated_plugin_registrant.cc b/packages/celest_auth/example/windows/flutter/generated_plugin_registrant.cc new file mode 100644 index 00000000..8b6d4680 --- /dev/null +++ b/packages/celest_auth/example/windows/flutter/generated_plugin_registrant.cc @@ -0,0 +1,11 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + + +void RegisterPlugins(flutter::PluginRegistry* registry) { +} diff --git a/packages/celest_auth/example/windows/flutter/generated_plugin_registrant.h b/packages/celest_auth/example/windows/flutter/generated_plugin_registrant.h new file mode 100644 index 00000000..dc139d85 --- /dev/null +++ b/packages/celest_auth/example/windows/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void RegisterPlugins(flutter::PluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/celest_auth/example/windows/flutter/generated_plugins.cmake b/packages/celest_auth/example/windows/flutter/generated_plugins.cmake new file mode 100644 index 00000000..3ad69c61 --- /dev/null +++ b/packages/celest_auth/example/windows/flutter/generated_plugins.cmake @@ -0,0 +1,24 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST + jni +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/celest_auth/example/windows/runner/CMakeLists.txt b/packages/celest_auth/example/windows/runner/CMakeLists.txt new file mode 100644 index 00000000..394917c0 --- /dev/null +++ b/packages/celest_auth/example/windows/runner/CMakeLists.txt @@ -0,0 +1,40 @@ +cmake_minimum_required(VERSION 3.14) +project(runner LANGUAGES CXX) + +# Define the application target. To change its name, change BINARY_NAME in the +# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer +# work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} WIN32 + "flutter_window.cpp" + "main.cpp" + "utils.cpp" + "win32_window.cpp" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" + "Runner.rc" + "runner.exe.manifest" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add preprocessor definitions for the build version. +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION=\"${FLUTTER_VERSION}\"") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MAJOR=${FLUTTER_VERSION_MAJOR}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MINOR=${FLUTTER_VERSION_MINOR}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_PATCH=${FLUTTER_VERSION_PATCH}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_BUILD=${FLUTTER_VERSION_BUILD}") + +# Disable Windows macros that collide with C++ standard library functions. +target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") + +# Add dependency libraries and include directories. Add any application-specific +# dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) +target_link_libraries(${BINARY_NAME} PRIVATE "dwmapi.lib") +target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") + +# Run the Flutter tool portions of the build. This must not be removed. +add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/packages/celest_auth/example/windows/runner/Runner.rc b/packages/celest_auth/example/windows/runner/Runner.rc new file mode 100644 index 00000000..e813d4e5 --- /dev/null +++ b/packages/celest_auth/example/windows/runner/Runner.rc @@ -0,0 +1,121 @@ +// Microsoft Visual C++ generated resource script. +// +#pragma code_page(65001) +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_APP_ICON ICON "resources\\app_icon.ico" + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD) +#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD +#else +#define VERSION_AS_NUMBER 1,0,0,0 +#endif + +#if defined(FLUTTER_VERSION) +#define VERSION_AS_STRING FLUTTER_VERSION +#else +#define VERSION_AS_STRING "1.0.0" +#endif + +VS_VERSION_INFO VERSIONINFO + FILEVERSION VERSION_AS_NUMBER + PRODUCTVERSION VERSION_AS_NUMBER + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS__WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904e4" + BEGIN + VALUE "CompanyName", "dev.celest" "\0" + VALUE "FileDescription", "celest_auth_example" "\0" + VALUE "FileVersion", VERSION_AS_STRING "\0" + VALUE "InternalName", "celest_auth_example" "\0" + VALUE "LegalCopyright", "Copyright (C) 2024 dev.celest. All rights reserved." "\0" + VALUE "OriginalFilename", "celest_auth_example.exe" "\0" + VALUE "ProductName", "celest_auth_example" "\0" + VALUE "ProductVersion", VERSION_AS_STRING "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED diff --git a/packages/celest_auth/example/windows/runner/flutter_window.cpp b/packages/celest_auth/example/windows/runner/flutter_window.cpp new file mode 100644 index 00000000..955ee303 --- /dev/null +++ b/packages/celest_auth/example/windows/runner/flutter_window.cpp @@ -0,0 +1,71 @@ +#include "flutter_window.h" + +#include + +#include "flutter/generated_plugin_registrant.h" + +FlutterWindow::FlutterWindow(const flutter::DartProject& project) + : project_(project) {} + +FlutterWindow::~FlutterWindow() {} + +bool FlutterWindow::OnCreate() { + if (!Win32Window::OnCreate()) { + return false; + } + + RECT frame = GetClientArea(); + + // The size here must match the window dimensions to avoid unnecessary surface + // creation / destruction in the startup path. + flutter_controller_ = std::make_unique( + frame.right - frame.left, frame.bottom - frame.top, project_); + // Ensure that basic setup of the controller was successful. + if (!flutter_controller_->engine() || !flutter_controller_->view()) { + return false; + } + RegisterPlugins(flutter_controller_->engine()); + SetChildContent(flutter_controller_->view()->GetNativeWindow()); + + flutter_controller_->engine()->SetNextFrameCallback([&]() { + this->Show(); + }); + + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + + return true; +} + +void FlutterWindow::OnDestroy() { + if (flutter_controller_) { + flutter_controller_ = nullptr; + } + + Win32Window::OnDestroy(); +} + +LRESULT +FlutterWindow::MessageHandler(HWND hwnd, UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + // Give Flutter, including plugins, an opportunity to handle window messages. + if (flutter_controller_) { + std::optional result = + flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam, + lparam); + if (result) { + return *result; + } + } + + switch (message) { + case WM_FONTCHANGE: + flutter_controller_->engine()->ReloadSystemFonts(); + break; + } + + return Win32Window::MessageHandler(hwnd, message, wparam, lparam); +} diff --git a/packages/celest_auth/example/windows/runner/flutter_window.h b/packages/celest_auth/example/windows/runner/flutter_window.h new file mode 100644 index 00000000..6da0652f --- /dev/null +++ b/packages/celest_auth/example/windows/runner/flutter_window.h @@ -0,0 +1,33 @@ +#ifndef RUNNER_FLUTTER_WINDOW_H_ +#define RUNNER_FLUTTER_WINDOW_H_ + +#include +#include + +#include + +#include "win32_window.h" + +// A window that does nothing but host a Flutter view. +class FlutterWindow : public Win32Window { + public: + // Creates a new FlutterWindow hosting a Flutter view running |project|. + explicit FlutterWindow(const flutter::DartProject& project); + virtual ~FlutterWindow(); + + protected: + // Win32Window: + bool OnCreate() override; + void OnDestroy() override; + LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, + LPARAM const lparam) noexcept override; + + private: + // The project to run. + flutter::DartProject project_; + + // The Flutter instance hosted by this window. + std::unique_ptr flutter_controller_; +}; + +#endif // RUNNER_FLUTTER_WINDOW_H_ diff --git a/packages/celest_auth/example/windows/runner/main.cpp b/packages/celest_auth/example/windows/runner/main.cpp new file mode 100644 index 00000000..3eccd1ca --- /dev/null +++ b/packages/celest_auth/example/windows/runner/main.cpp @@ -0,0 +1,43 @@ +#include +#include +#include + +#include "flutter_window.h" +#include "utils.h" + +int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, + _In_ wchar_t *command_line, _In_ int show_command) { + // Attach to console when present (e.g., 'flutter run') or create a + // new console when running with a debugger. + if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { + CreateAndAttachConsole(); + } + + // Initialize COM, so that it is available for use in the library and/or + // plugins. + ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); + + flutter::DartProject project(L"data"); + + std::vector command_line_arguments = + GetCommandLineArguments(); + + project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); + + FlutterWindow window(project); + Win32Window::Point origin(10, 10); + Win32Window::Size size(1280, 720); + if (!window.Create(L"celest_auth_example", origin, size)) { + return EXIT_FAILURE; + } + window.SetQuitOnClose(true); + + ::MSG msg; + while (::GetMessage(&msg, nullptr, 0, 0)) { + ::TranslateMessage(&msg); + ::DispatchMessage(&msg); + } + + ::CoUninitialize(); + return EXIT_SUCCESS; +} diff --git a/packages/celest_auth/example/windows/runner/resource.h b/packages/celest_auth/example/windows/runner/resource.h new file mode 100644 index 00000000..66a65d1e --- /dev/null +++ b/packages/celest_auth/example/windows/runner/resource.h @@ -0,0 +1,16 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by Runner.rc +// +#define IDI_APP_ICON 101 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 102 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/packages/celest_auth/example/windows/runner/resources/app_icon.ico b/packages/celest_auth/example/windows/runner/resources/app_icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c04e20caf6370ebb9253ad831cc31de4a9c965f6 GIT binary patch literal 33772 zcmeHQc|26z|35SKE&G-*mXah&B~fFkXr)DEO&hIfqby^T&>|8^_Ub8Vp#`BLl3lbZ zvPO!8k!2X>cg~Elr=IVxo~J*a`+9wR=A83c-k-DFd(XM&UI1VKCqM@V;DDtJ09WB} zRaHKiW(GT00brH|0EeTeKVbpbGZg?nK6-j827q-+NFM34gXjqWxJ*a#{b_apGN<-L_m3#8Z26atkEn& ze87Bvv^6vVmM+p+cQ~{u%=NJF>#(d;8{7Q{^rWKWNtf14H}>#&y7$lqmY6xmZryI& z($uy?c5-+cPnt2%)R&(KIWEXww>Cnz{OUpT>W$CbO$h1= z#4BPMkFG1Y)x}Ui+WXr?Z!w!t_hjRq8qTaWpu}FH{MsHlU{>;08goVLm{V<&`itk~ zE_Ys=D(hjiy+5=?=$HGii=Y5)jMe9|wWoD_K07(}edAxh`~LBorOJ!Cf@f{_gNCC| z%{*04ViE!#>@hc1t5bb+NO>ncf@@Dv01K!NxH$3Eg1%)|wLyMDF8^d44lV!_Sr}iEWefOaL z8f?ud3Q%Sen39u|%00W<#!E=-RpGa+H8}{ulxVl4mwpjaU+%2pzmi{3HM)%8vb*~-M9rPUAfGCSos8GUXp02|o~0BTV2l#`>>aFV&_P$ejS;nGwSVP8 zMbOaG7<7eKD>c12VdGH;?2@q7535sa7MN*L@&!m?L`ASG%boY7(&L5imY#EQ$KrBB z4@_tfP5m50(T--qv1BJcD&aiH#b-QC>8#7Fx@3yXlonJI#aEIi=8&ChiVpc#N=5le zM*?rDIdcpawoc5kizv$GEjnveyrp3sY>+5_R5;>`>erS%JolimF=A^EIsAK zsPoVyyUHCgf0aYr&alx`<)eb6Be$m&`JYSuBu=p8j%QlNNp$-5C{b4#RubPb|CAIS zGE=9OFLP7?Hgc{?k45)84biT0k&-C6C%Q}aI~q<(7BL`C#<6HyxaR%!dFx7*o^laG z=!GBF^cwK$IA(sn9y6>60Rw{mYRYkp%$jH z*xQM~+bp)G$_RhtFPYx2HTsWk80+p(uqv9@I9)y{b$7NK53rYL$ezbmRjdXS?V}fj zWxX_feWoLFNm3MG7pMUuFPs$qrQWO9!l2B(SIuy2}S|lHNbHzoE+M2|Zxhjq9+Ws8c{*}x^VAib7SbxJ*Q3EnY5lgI9 z=U^f3IW6T=TWaVj+2N%K3<%Un;CF(wUp`TC&Y|ZjyFu6co^uqDDB#EP?DV5v_dw~E zIRK*BoY9y-G_ToU2V_XCX4nJ32~`czdjT!zwme zGgJ0nOk3U4@IE5JwtM}pwimLjk{ln^*4HMU%Fl4~n(cnsLB}Ja-jUM>xIB%aY;Nq8 z)Fp8dv1tkqKanv<68o@cN|%thj$+f;zGSO7H#b+eMAV8xH$hLggtt?O?;oYEgbq@= zV(u9bbd12^%;?nyk6&$GPI%|+<_mEpJGNfl*`!KV;VfmZWw{n{rnZ51?}FDh8we_L z8OI9nE31skDqJ5Oa_ybn7|5@ui>aC`s34p4ZEu6-s!%{uU45$Zd1=p$^^dZBh zu<*pDDPLW+c>iWO$&Z_*{VSQKg7=YEpS3PssPn1U!lSm6eZIho*{@&20e4Y_lRklKDTUCKI%o4Pc<|G^Xgu$J^Q|B87U;`c1zGwf^-zH*VQ^x+i^OUWE0yd z;{FJq)2w!%`x7yg@>uGFFf-XJl4H`YtUG%0slGKOlXV`q?RP>AEWg#x!b{0RicxGhS!3$p7 zij;{gm!_u@D4$Ox%>>bPtLJ> zwKtYz?T_DR1jN>DkkfGU^<#6sGz|~p*I{y`aZ>^Di#TC|Z!7j_O1=Wo8thuit?WxR zh9_S>kw^{V^|g}HRUF=dcq>?q(pHxw!8rx4dC6vbQVmIhmICF#zU!HkHpQ>9S%Uo( zMw{eC+`&pb=GZRou|3;Po1}m46H6NGd$t<2mQh}kaK-WFfmj_66_17BX0|j-E2fe3Jat}ijpc53 zJV$$;PC<5aW`{*^Z6e5##^`Ed#a0nwJDT#Qq~^e8^JTA=z^Kl>La|(UQ!bI@#ge{Dzz@61p-I)kc2?ZxFt^QQ}f%ldLjO*GPj(5)V9IyuUakJX=~GnTgZ4$5!3E=V#t`yOG4U z(gphZB6u2zsj=qNFLYShhg$}lNpO`P9xOSnO*$@@UdMYES*{jJVj|9z-}F^riksLK zbsU+4-{281P9e2UjY6tse^&a)WM1MFw;p#_dHhWI7p&U*9TR0zKdVuQed%6{otTsq z$f~S!;wg#Bd9kez=Br{m|66Wv z#g1xMup<0)H;c2ZO6su_ii&m8j&+jJz4iKnGZ&wxoQX|5a>v&_e#6WA!MB_4asTxLRGQCC5cI(em z%$ZfeqP>!*q5kU>a+BO&ln=4Jm>Ef(QE8o&RgLkk%2}4Tf}U%IFP&uS7}&|Q-)`5< z+e>;s#4cJ-z%&-^&!xsYx777Wt(wZY9(3(avmr|gRe4cD+a8&!LY`1^T?7x{E<=kdY9NYw>A;FtTvQ=Y&1M%lyZPl$ss1oY^Sl8we}n}Aob#6 zl4jERwnt9BlSoWb@3HxYgga(752Vu6Y)k4yk9u~Kw>cA5&LHcrvn1Y-HoIuFWg~}4 zEw4bR`mXZQIyOAzo)FYqg?$5W<;^+XX%Uz61{-L6@eP|lLH%|w?g=rFc;OvEW;^qh z&iYXGhVt(G-q<+_j}CTbPS_=K>RKN0&;dubh0NxJyDOHFF;<1k!{k#7b{|Qok9hac z;gHz}6>H6C6RnB`Tt#oaSrX0p-j-oRJ;_WvS-qS--P*8}V943RT6kou-G=A+7QPGQ z!ze^UGxtW3FC0$|(lY9^L!Lx^?Q8cny(rR`es5U;-xBhphF%_WNu|aO<+e9%6LuZq zt(0PoagJG<%hyuf;te}n+qIl_Ej;czWdc{LX^pS>77s9t*2b4s5dvP_!L^3cwlc)E!(!kGrg~FescVT zZCLeua3f4;d;Tk4iXzt}g}O@nlK3?_o91_~@UMIl?@77Qc$IAlLE95#Z=TES>2E%z zxUKpK{_HvGF;5%Q7n&vA?`{%8ohlYT_?(3A$cZSi)MvIJygXD}TS-3UwyUxGLGiJP znblO~G|*uA^|ac8E-w#}uBtg|s_~s&t>-g0X%zIZ@;o_wNMr_;{KDg^O=rg`fhDZu zFp(VKd1Edj%F zWHPl+)FGj%J1BO3bOHVfH^3d1F{)*PL&sRX`~(-Zy3&9UQX)Z;c51tvaI2E*E7!)q zcz|{vpK7bjxix(k&6=OEIBJC!9lTkUbgg?4-yE{9+pFS)$Ar@vrIf`D0Bnsed(Cf? zObt2CJ>BKOl>q8PyFO6w)+6Iz`LW%T5^R`U_NIW0r1dWv6OY=TVF?N=EfA(k(~7VBW(S;Tu5m4Lg8emDG-(mOSSs=M9Q&N8jc^Y4&9RqIsk(yO_P(mcCr}rCs%1MW1VBrn=0-oQN(Xj!k%iKV zb%ricBF3G4S1;+8lzg5PbZ|$Se$)I=PwiK=cDpHYdov2QO1_a-*dL4KUi|g&oh>(* zq$<`dQ^fat`+VW?m)?_KLn&mp^-@d=&7yGDt<=XwZZC=1scwxO2^RRI7n@g-1o8ps z)&+et_~)vr8aIF1VY1Qrq~Xe``KJrQSnAZ{CSq3yP;V*JC;mmCT6oRLSs7=GA?@6g zUooM}@tKtx(^|aKK8vbaHlUQqwE0}>j&~YlN3H#vKGm@u)xxS?n9XrOWUfCRa< z`20Fld2f&;gg7zpo{Adh+mqNntMc-D$N^yWZAZRI+u1T1zWHPxk{+?vcS1D>08>@6 zLhE@`gt1Y9mAK6Z4p|u(5I%EkfU7rKFSM=E4?VG9tI;a*@?6!ey{lzN5=Y-!$WFSe z&2dtO>^0@V4WRc#L&P%R(?@KfSblMS+N+?xUN$u3K4Ys%OmEh+tq}fnU}i>6YHM?< zlnL2gl~sF!j!Y4E;j3eIU-lfa`RsOL*Tt<%EFC0gPzoHfNWAfKFIKZN8}w~(Yi~=q z>=VNLO2|CjkxP}RkutxjV#4fWYR1KNrPYq5ha9Wl+u>ipsk*I(HS@iLnmGH9MFlTU zaFZ*KSR0px>o+pL7BbhB2EC1%PJ{67_ z#kY&#O4@P=OV#-79y_W>Gv2dxL*@G7%LksNSqgId9v;2xJ zrh8uR!F-eU$NMx@S*+sk=C~Dxr9Qn7TfWnTupuHKuQ$;gGiBcU>GF5sWx(~4IP3`f zWE;YFO*?jGwYh%C3X<>RKHC-DZ!*r;cIr}GLOno^3U4tFSSoJp%oHPiSa%nh=Zgn% z14+8v@ygy0>UgEN1bczD6wK45%M>psM)y^)IfG*>3ItX|TzV*0i%@>L(VN!zdKb8S?Qf7BhjNpziA zR}?={-eu>9JDcl*R=OP9B8N$IcCETXah9SUDhr{yrld{G;PnCWRsPD7!eOOFBTWUQ=LrA_~)mFf&!zJX!Oc-_=kT<}m|K52 z)M=G#;p;Rdb@~h5D{q^K;^fX-m5V}L%!wVC2iZ1uu401Ll}#rocTeK|7FAeBRhNdQ zCc2d^aQnQp=MpOmak60N$OgS}a;p(l9CL`o4r(e-nN}mQ?M&isv-P&d$!8|1D1I(3-z!wi zTgoo)*Mv`gC?~bm?S|@}I|m-E2yqPEvYybiD5azInexpK8?9q*$9Yy9-t%5jU8~ym zgZDx>!@ujQ=|HJnwp^wv-FdD{RtzO9SnyfB{mH_(c!jHL*$>0o-(h(eqe*ZwF6Lvu z{7rkk%PEqaA>o+f{H02tzZ@TWy&su?VNw43! z-X+rN`6llvpUms3ZiSt)JMeztB~>9{J8SPmYs&qohxdYFi!ra8KR$35Zp9oR)eFC4 zE;P31#3V)n`w$fZ|4X-|%MX`xZDM~gJyl2W;O$H25*=+1S#%|53>|LyH za@yh+;325%Gq3;J&a)?%7X%t@WXcWL*BaaR*7UEZad4I8iDt7^R_Fd`XeUo256;sAo2F!HcIQKk;h})QxEsPE5BcKc7WyerTchgKmrfRX z!x#H_%cL#B9TWAqkA4I$R^8{%do3Y*&(;WFmJ zU7Dih{t1<{($VtJRl9|&EB?|cJ)xse!;}>6mSO$o5XIx@V|AA8ZcoD88ZM?C*;{|f zZVmf94_l1OmaICt`2sTyG!$^UeTHx9YuUP!omj(r|7zpm5475|yXI=rR>>fteLI+| z)MoiGho0oEt=*J(;?VY0QzwCqw@cVm?d7Y!z0A@u#H?sCJ*ecvyhj& z-F77lO;SH^dmf?L>3i>?Z*U}Em4ZYV_CjgfvzYsRZ+1B!Uo6H6mbS<-FFL`ytqvb& zE7+)2ahv-~dz(Hs+f})z{*4|{)b=2!RZK;PWwOnO=hG7xG`JU5>bAvUbdYd_CjvtHBHgtGdlO+s^9ca^Bv3`t@VRX2_AD$Ckg36OcQRF zXD6QtGfHdw*hx~V(MV-;;ZZF#dJ-piEF+s27z4X1qi5$!o~xBnvf=uopcn7ftfsZc zy@(PuOk`4GL_n(H9(E2)VUjqRCk9kR?w)v@xO6Jm_Mx})&WGEl=GS0#)0FAq^J*o! zAClhvoTsNP*-b~rN{8Yym3g{01}Ep^^Omf=SKqvN?{Q*C4HNNAcrowIa^mf+3PRy! z*_G-|3i8a;+q;iP@~Of_$(vtFkB8yOyWt2*K)vAn9El>=D;A$CEx6b*XF@4y_6M+2 zpeW`RHoI_p(B{%(&jTHI->hmNmZjHUj<@;7w0mx3&koy!2$@cfX{sN19Y}euYJFn& z1?)+?HCkD0MRI$~uB2UWri})0bru_B;klFdwsLc!ne4YUE;t41JqfG# zZJq6%vbsdx!wYeE<~?>o4V`A3?lN%MnKQ`z=uUivQN^vzJ|C;sdQ37Qn?;lpzg})y z)_2~rUdH}zNwX;Tp0tJ78+&I=IwOQ-fl30R79O8@?Ub8IIA(6I`yHn%lARVL`%b8+ z4$8D-|MZZWxc_)vu6@VZN!HsI$*2NOV&uMxBNzIbRgy%ob_ zhwEH{J9r$!dEix9XM7n&c{S(h>nGm?el;gaX0@|QnzFD@bne`el^CO$yXC?BDJ|Qg z+y$GRoR`?ST1z^e*>;!IS@5Ovb7*RlN>BV_UC!7E_F;N#ky%1J{+iixp(dUJj93aK zzHNN>R-oN7>kykHClPnoPTIj7zc6KM(Pnlb(|s??)SMb)4!sMHU^-ntJwY5Big7xv zb1Ew`Xj;|D2kzGja*C$eS44(d&RMU~c_Y14V9_TLTz0J#uHlsx`S6{nhsA0dWZ#cG zJ?`fO50E>*X4TQLv#nl%3GOk*UkAgt=IY+u0LNXqeln3Z zv$~&Li`ZJOKkFuS)dJRA>)b_Da%Q~axwA_8zNK{BH{#}#m}zGcuckz}riDE-z_Ms> zR8-EqAMcfyGJCtvTpaUVQtajhUS%c@Yj}&6Zz;-M7MZzqv3kA7{SuW$oW#=0az2wQ zg-WG@Vb4|D`pl~Il54N7Hmsauc_ne-a!o5#j3WaBBh@Wuefb!QJIOn5;d)%A#s+5% zuD$H=VNux9bE-}1&bcYGZ+>1Fo;3Z@e&zX^n!?JK*adSbONm$XW9z;Q^L>9U!}Toj2WdafJ%oL#h|yWWwyAGxzfrAWdDTtaKl zK4`5tDpPg5>z$MNv=X0LZ0d6l%D{(D8oT@+w0?ce$DZ6pv>{1&Ok67Ix1 zH}3=IEhPJEhItCC8E=`T`N5(k?G=B4+xzZ?<4!~ ze~z6Wk9!CHTI(0rLJ4{JU?E-puc;xusR?>G?;4vt;q~iI9=kDL=z0Rr%O$vU`30X$ zDZRFyZ`(omOy@u|i6h;wtJlP;+}$|Ak|k2dea7n?U1*$T!sXqqOjq^NxLPMmk~&qI zYg0W?yK8T(6+Ea+$YyspKK?kP$+B`~t3^Pib_`!6xCs32!i@pqXfFV6PmBIR<-QW= zN8L{pt0Vap0x`Gzn#E@zh@H)0FfVfA_Iu4fjYZ+umO1LXIbVc$pY+E234u)ttcrl$ z>s92z4vT%n6cMb>=XT6;l0+9e(|CZG)$@C7t7Z7Ez@a)h)!hyuV&B5K%%)P5?Lk|C zZZSVzdXp{@OXSP0hoU-gF8s8Um(#xzjP2Vem zec#-^JqTa&Y#QJ>-FBxd7tf`XB6e^JPUgagB8iBSEps;92KG`!#mvVcPQ5yNC-GEG zTiHEDYfH+0O15}r^+ z#jxj=@x8iNHWALe!P3R67TwmhItn**0JwnzSV2O&KE8KcT+0hWH^OPD1pwiuyx=b@ zNf5Jh0{9X)8;~Es)$t@%(3!OnbY+`@?i{mGX7Yy}8T_*0a6g;kaFPq;*=px5EhO{Cp%1kI<0?*|h8v!6WnO3cCJRF2-CRrU3JiLJnj@6;L)!0kWYAc_}F{2P))3HmCrz zQ&N&gE70;`!6*eJ4^1IR{f6j4(-l&X!tjHxkbHA^Zhrnhr9g{exN|xrS`5Pq=#Xf& zG%P=#ra-TyVFfgW%cZo5OSIwFL9WtXAlFOa+ubmI5t*3=g#Y zF%;70p5;{ZeFL}&}yOY1N1*Q;*<(kTB!7vM$QokF)yr2FlIU@$Ph58$Bz z0J?xQG=MlS4L6jA22eS42g|9*9pX@$#*sUeM(z+t?hr@r5J&D1rx}2pW&m*_`VDCW zUYY@v-;bAO0HqoAgbbiGGC<=ryf96}3pouhy3XJrX+!!u*O_>Si38V{uJmQ&USptX zKp#l(?>%^7;2%h(q@YWS#9;a!JhKlkR#Vd)ERILlgu!Hr@jA@V;sk4BJ-H#p*4EqC zDGjC*tl=@3Oi6)Bn^QwFpul18fpkbpg0+peH$xyPBqb%`$OUhPKyWb32o7clB*9Z< zN=i~NLjavrLtwgJ01bufP+>p-jR2I95|TpmKpQL2!oV>g(4RvS2pK4*ou%m(h6r3A zX#s&`9LU1ZG&;{CkOK!4fLDTnBys`M!vuz>Q&9OZ0hGQl!~!jSDg|~s*w52opC{sB ze|Cf2luD(*G13LcOAGA!s2FjSK8&IE5#W%J25w!vM0^VyQM!t)inj&RTiJ!wXzFgz z3^IqzB7I0L$llljsGq})thBy9UOyjtFO_*hYM_sgcMk>44jeH0V1FDyELc{S1F-;A zS;T^k^~4biG&V*Irq}O;e}j$$+E_#G?HKIn05iP3j|87TkGK~SqG!-KBg5+mN(aLm z8ybhIM`%C19UX$H$KY6JgXbY$0AT%rEpHC;u`rQ$Y=rxUdsc5*Kvc8jaYaO$^)cI6){P6K0r)I6DY4Wr4&B zLQUBraey#0HV|&c4v7PVo3n$zHj99(TZO^3?Ly%C4nYvJTL9eLBLHsM3WKKD>5!B` zQ=BsR3aR6PD(Fa>327E2HAu5TM~Wusc!)>~(gM)+3~m;92Jd;FnSib=M5d6;;5{%R zb4V7DEJ0V!CP-F*oU?gkc>ksUtAYP&V4ND5J>J2^jt*vcFflQWCrB&fLdT%O59PVJ zhid#toR=FNgD!q3&r8#wEBr`!wzvQu5zX?Q>nlSJ4i@WC*CN*-xU66F^V5crWevQ9gsq$I@z1o(a=k7LL~ z7m_~`o;_Ozha1$8Q}{WBehvAlO4EL60y5}8GDrZ< zXh&F}71JbW2A~8KfEWj&UWV#4+Z4p`b{uAj4&WC zha`}X@3~+Iz^WRlOHU&KngK>#j}+_o@LdBC1H-`gT+krWX3-;!)6?{FBp~%20a}FL zFP9%Emqcwa#(`=G>BBZ0qZDQhmZKJg_g8<=bBFKWr!dyg(YkpE+|R*SGpDVU!+VlU zFC54^DLv}`qa%49T>nNiA9Q7Ips#!Xx90tCU2gvK`(F+GPcL=J^>No{)~we#o@&mUb6c$ zCc*<|NJBk-#+{j9xkQ&ujB zI~`#kN~7W!f*-}wkG~Ld!JqZ@tK}eeSnsS5J1fMFXm|`LJx&}5`@dK3W^7#Wnm+_P zBZkp&j1fa2Y=eIjJ0}gh85jt43kaIXXv?xmo@eHrka!Z|vQv12HN#+!I5E z`(fbuW>gFiJL|uXJ!vKt#z3e3HlVdboH7;e#i3(2<)Fg-I@BR!qY#eof3MFZ&*Y@l zI|KJf&ge@p2Dq09Vu$$Qxb7!}{m-iRk@!)%KL)txi3;~Z4Pb}u@GsW;ELiWeG9V51 znX#}B&4Y2E7-H=OpNE@q{%hFLxwIpBF2t{vPREa8_{linXT;#1vMRWjOzLOP$-hf( z>=?$0;~~PnkqY;~K{EM6Vo-T(0K{A0}VUGmu*hR z{tw3hvBN%N3G3Yw`X5Te+F{J`(3w1s3-+1EbnFQKcrgrX1Jqvs@ADGe%M0s$EbK$$ zK)=y=upBc6SjGYAACCcI=Y*6Fi8_jgwZlLxD26fnQfJmb8^gHRN5(TemhX@0e=vr> zg`W}6U>x6VhoA3DqsGGD9uL1DhB3!OXO=k}59TqD@(0Nb{)Ut_luTioK_>7wjc!5C zIr@w}b`Fez3)0wQfKl&bae7;PcTA7%?f2xucM0G)wt_KO!Ewx>F~;=BI0j=Fb4>pp zv}0R^xM4eti~+^+gE$6b81p(kwzuDti(-K9bc|?+pJEl@H+jSYuxZQV8rl8 zjp@M{#%qItIUFN~KcO9Hed*`$5A-2~pAo~K&<-Q+`9`$CK>rzqAI4w~$F%vs9s{~x zg4BP%Gy*@m?;D6=SRX?888Q6peF@_4Z->8wAH~Cn!R$|Hhq2cIzFYqT_+cDourHbY z0qroxJnrZ4Gh+Ay+F`_c%+KRT>y3qw{)89?=hJ@=KO=@ep)aBJ$c!JHfBMJpsP*3G za7|)VJJ8B;4?n{~ldJF7%jmb`-ftIvNd~ekoufG(`K(3=LNc;HBY& z(lp#q8XAD#cIf}k49zX_i`*fO+#!zKA&%T3j@%)R+#yag067CU%yUEe47>wzGU8^` z1EXFT^@I!{J!F8!X?S6ph8J=gUi5tl93*W>7}_uR<2N2~e}FaG?}KPyugQ=-OGEZs z!GBoyYY+H*ANn4?Z)X4l+7H%`17i5~zRlRIX?t)6_eu=g2Q`3WBhxSUeea+M-S?RL zX9oBGKn%a!H+*hx4d2(I!gsi+@SQK%<{X22M~2tMulJoa)0*+z9=-YO+;DFEm5eE1U9b^B(Z}2^9!Qk`!A$wUE z7$Ar5?NRg2&G!AZqnmE64eh^Anss3i!{}%6@Et+4rr!=}!SBF8eZ2*J3ujCWbl;3; z48H~goPSv(8X61fKKdpP!Z7$88NL^Z?j`!^*I?-P4X^pMxyWz~@$(UeAcTSDd(`vO z{~rc;9|GfMJcApU3k}22a!&)k4{CU!e_ny^Y3cO;tOvOMKEyWz!vG(Kp*;hB?d|R3`2X~=5a6#^o5@qn?J-bI8Ppip{-yG z!k|VcGsq!jF~}7DMr49Wap-s&>o=U^T0!Lcy}!(bhtYsPQy z4|EJe{12QL#=c(suQ89Mhw9<`bui%nx7Nep`C&*M3~vMEACmcRYYRGtANq$F%zh&V zc)cEVeHz*Z1N)L7k-(k3np#{GcDh2Q@ya0YHl*n7fl*ZPAsbU-a94MYYtA#&!c`xGIaV;yzsmrjfieTEtqB_WgZp2*NplHx=$O{M~2#i_vJ{ps-NgK zQsxKK_CBM2PP_je+Xft`(vYfXXgIUr{=PA=7a8`2EHk)Ym2QKIforz# tySWtj{oF3N9@_;i*Fv5S)9x^z=nlWP>jpp-9)52ZmLVA=i*%6g{{fxOO~wEK literal 0 HcmV?d00001 diff --git a/packages/celest_auth/example/windows/runner/runner.exe.manifest b/packages/celest_auth/example/windows/runner/runner.exe.manifest new file mode 100644 index 00000000..a42ea768 --- /dev/null +++ b/packages/celest_auth/example/windows/runner/runner.exe.manifest @@ -0,0 +1,20 @@ + + + + + PerMonitorV2 + + + + + + + + + + + + + + + diff --git a/packages/celest_auth/example/windows/runner/utils.cpp b/packages/celest_auth/example/windows/runner/utils.cpp new file mode 100644 index 00000000..b2b08734 --- /dev/null +++ b/packages/celest_auth/example/windows/runner/utils.cpp @@ -0,0 +1,65 @@ +#include "utils.h" + +#include +#include +#include +#include + +#include + +void CreateAndAttachConsole() { + if (::AllocConsole()) { + FILE *unused; + if (freopen_s(&unused, "CONOUT$", "w", stdout)) { + _dup2(_fileno(stdout), 1); + } + if (freopen_s(&unused, "CONOUT$", "w", stderr)) { + _dup2(_fileno(stdout), 2); + } + std::ios::sync_with_stdio(); + FlutterDesktopResyncOutputStreams(); + } +} + +std::vector GetCommandLineArguments() { + // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. + int argc; + wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); + if (argv == nullptr) { + return std::vector(); + } + + std::vector command_line_arguments; + + // Skip the first argument as it's the binary name. + for (int i = 1; i < argc; i++) { + command_line_arguments.push_back(Utf8FromUtf16(argv[i])); + } + + ::LocalFree(argv); + + return command_line_arguments; +} + +std::string Utf8FromUtf16(const wchar_t* utf16_string) { + if (utf16_string == nullptr) { + return std::string(); + } + int target_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + -1, nullptr, 0, nullptr, nullptr) + -1; // remove the trailing null character + int input_length = (int)wcslen(utf16_string); + std::string utf8_string; + if (target_length <= 0 || target_length > utf8_string.max_size()) { + return utf8_string; + } + utf8_string.resize(target_length); + int converted_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + input_length, utf8_string.data(), target_length, nullptr, nullptr); + if (converted_length == 0) { + return std::string(); + } + return utf8_string; +} diff --git a/packages/celest_auth/example/windows/runner/utils.h b/packages/celest_auth/example/windows/runner/utils.h new file mode 100644 index 00000000..3879d547 --- /dev/null +++ b/packages/celest_auth/example/windows/runner/utils.h @@ -0,0 +1,19 @@ +#ifndef RUNNER_UTILS_H_ +#define RUNNER_UTILS_H_ + +#include +#include + +// Creates a console for the process, and redirects stdout and stderr to +// it for both the runner and the Flutter library. +void CreateAndAttachConsole(); + +// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string +// encoded in UTF-8. Returns an empty std::string on failure. +std::string Utf8FromUtf16(const wchar_t* utf16_string); + +// Gets the command line arguments passed in as a std::vector, +// encoded in UTF-8. Returns an empty std::vector on failure. +std::vector GetCommandLineArguments(); + +#endif // RUNNER_UTILS_H_ diff --git a/packages/celest_auth/example/windows/runner/win32_window.cpp b/packages/celest_auth/example/windows/runner/win32_window.cpp new file mode 100644 index 00000000..60608d0f --- /dev/null +++ b/packages/celest_auth/example/windows/runner/win32_window.cpp @@ -0,0 +1,288 @@ +#include "win32_window.h" + +#include +#include + +#include "resource.h" + +namespace { + +/// Window attribute that enables dark mode window decorations. +/// +/// Redefined in case the developer's machine has a Windows SDK older than +/// version 10.0.22000.0. +/// See: https://docs.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute +#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE +#define DWMWA_USE_IMMERSIVE_DARK_MODE 20 +#endif + +constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; + +/// Registry key for app theme preference. +/// +/// A value of 0 indicates apps should use dark mode. A non-zero or missing +/// value indicates apps should use light mode. +constexpr const wchar_t kGetPreferredBrightnessRegKey[] = + L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"; +constexpr const wchar_t kGetPreferredBrightnessRegValue[] = L"AppsUseLightTheme"; + +// The number of Win32Window objects that currently exist. +static int g_active_window_count = 0; + +using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd); + +// Scale helper to convert logical scaler values to physical using passed in +// scale factor +int Scale(int source, double scale_factor) { + return static_cast(source * scale_factor); +} + +// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. +// This API is only needed for PerMonitor V1 awareness mode. +void EnableFullDpiSupportIfAvailable(HWND hwnd) { + HMODULE user32_module = LoadLibraryA("User32.dll"); + if (!user32_module) { + return; + } + auto enable_non_client_dpi_scaling = + reinterpret_cast( + GetProcAddress(user32_module, "EnableNonClientDpiScaling")); + if (enable_non_client_dpi_scaling != nullptr) { + enable_non_client_dpi_scaling(hwnd); + } + FreeLibrary(user32_module); +} + +} // namespace + +// Manages the Win32Window's window class registration. +class WindowClassRegistrar { + public: + ~WindowClassRegistrar() = default; + + // Returns the singleton registrar instance. + static WindowClassRegistrar* GetInstance() { + if (!instance_) { + instance_ = new WindowClassRegistrar(); + } + return instance_; + } + + // Returns the name of the window class, registering the class if it hasn't + // previously been registered. + const wchar_t* GetWindowClass(); + + // Unregisters the window class. Should only be called if there are no + // instances of the window. + void UnregisterWindowClass(); + + private: + WindowClassRegistrar() = default; + + static WindowClassRegistrar* instance_; + + bool class_registered_ = false; +}; + +WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr; + +const wchar_t* WindowClassRegistrar::GetWindowClass() { + if (!class_registered_) { + WNDCLASS window_class{}; + window_class.hCursor = LoadCursor(nullptr, IDC_ARROW); + window_class.lpszClassName = kWindowClassName; + window_class.style = CS_HREDRAW | CS_VREDRAW; + window_class.cbClsExtra = 0; + window_class.cbWndExtra = 0; + window_class.hInstance = GetModuleHandle(nullptr); + window_class.hIcon = + LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON)); + window_class.hbrBackground = 0; + window_class.lpszMenuName = nullptr; + window_class.lpfnWndProc = Win32Window::WndProc; + RegisterClass(&window_class); + class_registered_ = true; + } + return kWindowClassName; +} + +void WindowClassRegistrar::UnregisterWindowClass() { + UnregisterClass(kWindowClassName, nullptr); + class_registered_ = false; +} + +Win32Window::Win32Window() { + ++g_active_window_count; +} + +Win32Window::~Win32Window() { + --g_active_window_count; + Destroy(); +} + +bool Win32Window::Create(const std::wstring& title, + const Point& origin, + const Size& size) { + Destroy(); + + const wchar_t* window_class = + WindowClassRegistrar::GetInstance()->GetWindowClass(); + + const POINT target_point = {static_cast(origin.x), + static_cast(origin.y)}; + HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST); + UINT dpi = FlutterDesktopGetDpiForMonitor(monitor); + double scale_factor = dpi / 96.0; + + HWND window = CreateWindow( + window_class, title.c_str(), WS_OVERLAPPEDWINDOW, + Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), + Scale(size.width, scale_factor), Scale(size.height, scale_factor), + nullptr, nullptr, GetModuleHandle(nullptr), this); + + if (!window) { + return false; + } + + UpdateTheme(window); + + return OnCreate(); +} + +bool Win32Window::Show() { + return ShowWindow(window_handle_, SW_SHOWNORMAL); +} + +// static +LRESULT CALLBACK Win32Window::WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + if (message == WM_NCCREATE) { + auto window_struct = reinterpret_cast(lparam); + SetWindowLongPtr(window, GWLP_USERDATA, + reinterpret_cast(window_struct->lpCreateParams)); + + auto that = static_cast(window_struct->lpCreateParams); + EnableFullDpiSupportIfAvailable(window); + that->window_handle_ = window; + } else if (Win32Window* that = GetThisFromHandle(window)) { + return that->MessageHandler(window, message, wparam, lparam); + } + + return DefWindowProc(window, message, wparam, lparam); +} + +LRESULT +Win32Window::MessageHandler(HWND hwnd, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + switch (message) { + case WM_DESTROY: + window_handle_ = nullptr; + Destroy(); + if (quit_on_close_) { + PostQuitMessage(0); + } + return 0; + + case WM_DPICHANGED: { + auto newRectSize = reinterpret_cast(lparam); + LONG newWidth = newRectSize->right - newRectSize->left; + LONG newHeight = newRectSize->bottom - newRectSize->top; + + SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth, + newHeight, SWP_NOZORDER | SWP_NOACTIVATE); + + return 0; + } + case WM_SIZE: { + RECT rect = GetClientArea(); + if (child_content_ != nullptr) { + // Size and position the child window. + MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left, + rect.bottom - rect.top, TRUE); + } + return 0; + } + + case WM_ACTIVATE: + if (child_content_ != nullptr) { + SetFocus(child_content_); + } + return 0; + + case WM_DWMCOLORIZATIONCOLORCHANGED: + UpdateTheme(hwnd); + return 0; + } + + return DefWindowProc(window_handle_, message, wparam, lparam); +} + +void Win32Window::Destroy() { + OnDestroy(); + + if (window_handle_) { + DestroyWindow(window_handle_); + window_handle_ = nullptr; + } + if (g_active_window_count == 0) { + WindowClassRegistrar::GetInstance()->UnregisterWindowClass(); + } +} + +Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept { + return reinterpret_cast( + GetWindowLongPtr(window, GWLP_USERDATA)); +} + +void Win32Window::SetChildContent(HWND content) { + child_content_ = content; + SetParent(content, window_handle_); + RECT frame = GetClientArea(); + + MoveWindow(content, frame.left, frame.top, frame.right - frame.left, + frame.bottom - frame.top, true); + + SetFocus(child_content_); +} + +RECT Win32Window::GetClientArea() { + RECT frame; + GetClientRect(window_handle_, &frame); + return frame; +} + +HWND Win32Window::GetHandle() { + return window_handle_; +} + +void Win32Window::SetQuitOnClose(bool quit_on_close) { + quit_on_close_ = quit_on_close; +} + +bool Win32Window::OnCreate() { + // No-op; provided for subclasses. + return true; +} + +void Win32Window::OnDestroy() { + // No-op; provided for subclasses. +} + +void Win32Window::UpdateTheme(HWND const window) { + DWORD light_mode; + DWORD light_mode_size = sizeof(light_mode); + LSTATUS result = RegGetValue(HKEY_CURRENT_USER, kGetPreferredBrightnessRegKey, + kGetPreferredBrightnessRegValue, + RRF_RT_REG_DWORD, nullptr, &light_mode, + &light_mode_size); + + if (result == ERROR_SUCCESS) { + BOOL enable_dark_mode = light_mode == 0; + DwmSetWindowAttribute(window, DWMWA_USE_IMMERSIVE_DARK_MODE, + &enable_dark_mode, sizeof(enable_dark_mode)); + } +} diff --git a/packages/celest_auth/example/windows/runner/win32_window.h b/packages/celest_auth/example/windows/runner/win32_window.h new file mode 100644 index 00000000..e901dde6 --- /dev/null +++ b/packages/celest_auth/example/windows/runner/win32_window.h @@ -0,0 +1,102 @@ +#ifndef RUNNER_WIN32_WINDOW_H_ +#define RUNNER_WIN32_WINDOW_H_ + +#include + +#include +#include +#include + +// A class abstraction for a high DPI-aware Win32 Window. Intended to be +// inherited from by classes that wish to specialize with custom +// rendering and input handling +class Win32Window { + public: + struct Point { + unsigned int x; + unsigned int y; + Point(unsigned int x, unsigned int y) : x(x), y(y) {} + }; + + struct Size { + unsigned int width; + unsigned int height; + Size(unsigned int width, unsigned int height) + : width(width), height(height) {} + }; + + Win32Window(); + virtual ~Win32Window(); + + // Creates a win32 window with |title| that is positioned and sized using + // |origin| and |size|. New windows are created on the default monitor. Window + // sizes are specified to the OS in physical pixels, hence to ensure a + // consistent size this function will scale the inputted width and height as + // as appropriate for the default monitor. The window is invisible until + // |Show| is called. Returns true if the window was created successfully. + bool Create(const std::wstring& title, const Point& origin, const Size& size); + + // Show the current window. Returns true if the window was successfully shown. + bool Show(); + + // Release OS resources associated with window. + void Destroy(); + + // Inserts |content| into the window tree. + void SetChildContent(HWND content); + + // Returns the backing Window handle to enable clients to set icon and other + // window properties. Returns nullptr if the window has been destroyed. + HWND GetHandle(); + + // If true, closing this window will quit the application. + void SetQuitOnClose(bool quit_on_close); + + // Return a RECT representing the bounds of the current client area. + RECT GetClientArea(); + + protected: + // Processes and route salient window messages for mouse handling, + // size change and DPI. Delegates handling of these to member overloads that + // inheriting classes can handle. + virtual LRESULT MessageHandler(HWND window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Called when CreateAndShow is called, allowing subclass window-related + // setup. Subclasses should return false if setup fails. + virtual bool OnCreate(); + + // Called when Destroy is called. + virtual void OnDestroy(); + + private: + friend class WindowClassRegistrar; + + // OS callback called by message pump. Handles the WM_NCCREATE message which + // is passed when the non-client area is being created and enables automatic + // non-client DPI scaling so that the non-client area automatically + // responds to changes in DPI. All other messages are handled by + // MessageHandler. + static LRESULT CALLBACK WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Retrieves a class instance pointer for |window| + static Win32Window* GetThisFromHandle(HWND const window) noexcept; + + // Update the window frame's theme to match the system theme. + static void UpdateTheme(HWND const window); + + bool quit_on_close_ = false; + + // window handle for top level window. + HWND window_handle_ = nullptr; + + // window handle for hosted content. + HWND child_content_ = nullptr; +}; + +#endif // RUNNER_WIN32_WINDOW_H_ diff --git a/packages/celest_auth/ffigen.authentication_services.yaml b/packages/celest_auth/ffigen.authentication_services.yaml new file mode 100644 index 00000000..4b2a1e0a --- /dev/null +++ b/packages/celest_auth/ffigen.authentication_services.yaml @@ -0,0 +1,59 @@ +name: AuthenticationServices +description: | + Bindings for AuthenticationServices on macOS/iOS. + + Regenerate bindings with `dart run ffigen --config=ffigen.authentication_services.yaml`. +language: "objc" +output: + bindings: "lib/src/platform/darwin/authentication_services.ffi.dart" + symbol-file: + output: "package:celest_auth/src/platform/darwin/authentication_services.yaml" + import-path: "package:celest_auth/src/platform/darwin/authentication_services.ffi.dart" +headers: + entry-points: + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASWebAuthenticationSession.h" + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h" + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h" + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/runtime.h" + include-directives: + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/**/*.h" + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASWebAuthenticationSession.h" + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASFoundation.h" + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h" + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/AppKit.h" + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h" + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h" +# import: +# symbol-files: +# - 'package:celest_auth/src/platform/darwin/foundation.yaml' +preamble: | + // ignore_for_file: type=lint + // ignore_for_file: return_of_invalid_type + // ignore_for_file: unnecessary_non_null_assertion +comments: + style: any + length: full + +exclude-all-by-default: true +objc-interfaces: + include: + - ASWebAuthenticationSession + - NSWindow + - NSApplication + exclude: + - NS.* +functions: + include: + - objc_.* + - protocol_.* +structs: + include: + - objc_.* +typedefs: + include: + - ASWebAuthenticationSessionCompletionHandler + - ASPresentationAnchor + - Protocol +enums: + include: + - AS.* diff --git a/packages/celest_auth/ffigen.foundation.yaml b/packages/celest_auth/ffigen.foundation.yaml new file mode 100644 index 00000000..bdcf007c --- /dev/null +++ b/packages/celest_auth/ffigen.foundation.yaml @@ -0,0 +1,38 @@ +name: Foundation +description: | + Bindings for Foundation on macOS/iOS. + + Regenerate bindings with `dart run ffigen --config=ffigen.foundation.yaml`. +language: "objc" +output: + bindings: "lib/src/platform/darwin/foundation.ffi.dart" + symbol-file: + output: "package:celest_auth/src/platform/darwin/foundation.yaml" + import-path: "package:celest_auth/src/platform/darwin/foundation.ffi.dart" +headers: + entry-points: + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSString.h" + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSURL.h" + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSError.h" + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSZone.h" + include-directives: + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h" + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSString.h" + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSURL.h" + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSError.h" + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSZone.h" +preamble: | + // ignore_for_file: type=lint + // ignore_for_file: return_of_invalid_type + // ignore_for_file: unnecessary_non_null_assertion +comments: + style: any + length: full + +exclude-all-by-default: true +objc-interfaces: + include: + - NS.* +structs: + rename: + "_(.*)": "$1" diff --git a/packages/celest_auth/ffigen.uikit.yaml b/packages/celest_auth/ffigen.uikit.yaml new file mode 100644 index 00000000..2ca59c30 --- /dev/null +++ b/packages/celest_auth/ffigen.uikit.yaml @@ -0,0 +1,41 @@ +name: UIKit +description: | + Bindings for UIKit on iOS. + + Regenerate bindings with `dart run ffigen --config=ffigen.uikit.yaml`. +language: "objc" +output: + bindings: "lib/src/platform/darwin/uikit.ffi.dart" +compiler-opts: + - "-F/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks" + - "-mios-version-min=15.0" + - "-isysroot" + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk" +headers: + entry-points: + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h" + include-directives: + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/*.h" + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h" + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h" + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h" +import: + symbol-files: + - "package:celest_auth/src/platform/darwin/foundation.yaml" +preamble: | + // ignore_for_file: type=lint + // ignore_for_file: return_of_invalid_type + // ignore_for_file: unnecessary_non_null_assertion +comments: + style: any + length: full + +compiler-opts-automatic: + macos: + include-c-standard-library: false +exclude-all-by-default: true +objc-interfaces: + include: + - UIWindow + - UIViewController + - UIImage diff --git a/packages/celest_auth/jnigen.yaml b/packages/celest_auth/jnigen.yaml new file mode 100644 index 00000000..be8b94ea --- /dev/null +++ b/packages/celest_auth/jnigen.yaml @@ -0,0 +1,68 @@ +# Regenerate bindings with `dart run jnigen --config jnigen.yaml`. + +summarizer: + backend: asm + +android_sdk_config: + add_gradle_deps: true + android_example: "example/" + +suspend_fun_to_async: true + +output: + bindings_type: dart_only + dart: + path: "lib/src/platform/android/jni_bindings.ffi.dart" + structure: single_file + +classes: + - android.net.Uri + - androidx.browser.customtabs.CustomTabsIntent + - androidx.browser.customtabs.CustomTabsService + - android.app.Activity + - android.content.Context + - android.content.Intent + - android.content.pm.PackageManager + - android.content.pm.ResolveInfo + - android.content.pm.ActivityInfo + - android.content.pm.PackageItemInfo + - dev.celest.celest_auth.CelestAuth + - androidx.credentials.CreateCredentialRequest + - androidx.credentials.CreateCredentialResponse + - androidx.credentials.CreatePublicKeyCredentialRequest + - androidx.credentials.CreatePublicKeyCredentialResponse + - androidx.credentials.Credential + - androidx.credentials.CredentialManager + - androidx.credentials.CredentialManagerCallback + - androidx.credentials.GetCredentialRequest + - androidx.credentials.GetCredentialResponse + - androidx.credentials.GetPublicKeyCredentialOption + - androidx.credentials.PublicKeyCredential + - androidx.credentials.exceptions.CreateCredentialCancellationException + - androidx.credentials.exceptions.CreateCredentialException + - androidx.credentials.exceptions.GetCredentialCancellationException + - androidx.credentials.exceptions.GetCredentialException + - androidx.credentials.exceptions.NoCredentialException + - androidx.credentials.exceptions.CreateCredentialInterruptedException + - androidx.credentials.exceptions.CreateCredentialProviderConfigurationException + - androidx.credentials.exceptions.CreateCredentialUnknownException + - androidx.credentials.exceptions.CreateCredentialCustomException + - androidx.credentials.exceptions.publickeycredential.CreatePublicKeyCredentialDomException + - androidx.credentials.exceptions.publickeycredential.CreatePublicKeyCredentialException + - androidx.credentials.exceptions.publickeycredential.GetPublicKeyCredentialDomException + - android.os.CancellationSignal + - android.os.Bundle + - android.os.BaseBundle + - java.lang.Runnable + - java.lang.Exception + - java.lang.Throwable + - java.util.concurrent.Executor + - java.util.concurrent.Executors + - com.google.android.gms.fido.Fido + - com.google.android.gms.fido.fido2.Fido2ApiClient + - com.google.android.gms.tasks.Task + - com.google.android.gms.tasks.OnSuccessListener + - com.google.android.gms.tasks.OnFailureListener + +enable_experiment: + - "interface_implementation" diff --git a/packages/celest_auth/lib/celest_auth.dart b/packages/celest_auth/lib/celest_auth.dart new file mode 100644 index 00000000..09374ea4 --- /dev/null +++ b/packages/celest_auth/lib/celest_auth.dart @@ -0,0 +1,4 @@ +library; + +export 'src/client/auth_client.dart'; +export 'src/client/passkeys/passkey_client.dart'; diff --git a/packages/celest_auth/lib/src/client/auth_client.android.dart b/packages/celest_auth/lib/src/client/auth_client.android.dart new file mode 100644 index 00000000..28aa725b --- /dev/null +++ b/packages/celest_auth/lib/src/client/auth_client.android.dart @@ -0,0 +1,123 @@ +import 'dart:async'; + +import 'package:celest_auth/src/client/auth_client_platform.vm.dart'; +import 'package:celest_auth/src/platform/android/jni_bindings.ffi.dart' + as android show Uri; +import 'package:celest_auth/src/platform/android/jni_bindings.ffi.dart' + hide Uri, Exception; +import 'package:jni/jni.dart'; +import 'package:logging/logging.dart'; + +final class AuthClientAndroid extends AuthClientPlatform { + AuthClientAndroid() : super.base() { + Jni.initDLApi(); + _celestAuth.init(_applicationContext); + } + + static final Logger _logger = Logger('Celest.AuthClientAndroid'); + + /// A code to identify the result of the custom tabs request. + static const int _customTabsRequestCode = 7777; + + late final CelestAuth _celestAuth = CelestAuth(); + + late final Activity _mainActivity = + Activity.fromRef(Jni.getCurrentActivity()); + late final Context _applicationContext = + Context.fromRef(Jni.getCachedApplicationContext()); + + /// The application ID of the installed package which can handle custom tabs, + /// typically a browser like Chrome. + /// + /// Adapted from: https://github.com/GoogleChrome/custom-tabs-client/blob/f55501961a211a92eacbe3c2f15d7c58c19c8ef9/shared/src/main/java/org/chromium/customtabsclient/shared/CustomTabsHelper.java#L64 + String? get browserPackageName { + final packageManager = _applicationContext.getPackageManager(); + final browserIntent = Intent() + ..setAction(Intent.ACTION_VIEW.toJString()) + ..addCategory(Intent.CATEGORY_BROWSABLE.toJString()) + ..setData(android.Uri.parse('https://google.com'.toJString())); + final defaultBrowserHandler = packageManager.resolveActivity1( + browserIntent, + PackageManager_ResolveInfoFlags.of(PackageManager.MATCH_DEFAULT_ONLY), + ); + final defaultBroswerPackageName = defaultBrowserHandler.resolvedPackageName; + + // Get all apps that can handle browser intents. + final resolvedActivityList = packageManager.queryIntentActivities1( + browserIntent, + PackageManager_ResolveInfoFlags.of(PackageManager.MATCH_ALL), + ); + final packagesSupportingCustomTabs = []; + for (final info in resolvedActivityList) { + final infoPackageName = info.resolvedPackageName; + assert(infoPackageName != null); + final customTabsIntent = Intent() + ..setAction(CustomTabsService.ACTION_CUSTOM_TABS_CONNECTION.toJString()) + ..setPackage(infoPackageName!.toJString()); + // Check if the package also resolves the Custom Tabs service. + final resolvedService = packageManager.resolveService1( + customTabsIntent, + PackageManager_ResolveInfoFlags.of(0), + ); + if (resolvedService.resolvedPackageName case final resolvedPackage?) { + packagesSupportingCustomTabs.add(resolvedPackage); + } + } + _logger + ..fine('defaultBroswerPackageName: $defaultBroswerPackageName') + ..fine('packagesSupportingCustomTabs: $packagesSupportingCustomTabs'); + if (packagesSupportingCustomTabs.isEmpty) { + return null; + } + if (defaultBroswerPackageName != null && + packagesSupportingCustomTabs.contains(defaultBroswerPackageName)) { + return defaultBroswerPackageName; + } + return packagesSupportingCustomTabs.first; + } + + Future _launchCustomTabsIntent({ + required Uri uri, + }) async { + final intent = CustomTabsIntent_Builder() + .setShareState(CustomTabsIntent.SHARE_STATE_OFF) + .build(); + final useBrowserPackage = browserPackageName; + if (useBrowserPackage == null) { + throw Exception('No browser supporting custom tabs found'); + } + _logger.fine('Using browser package: $useBrowserPackage'); + final thisApplicationPackage = _applicationContext + .getPackageName() + .toDartString(releaseOriginal: true); + intent.intent + ..setPackage(useBrowserPackage.toJString()) + ..putExtra12( + Intent.EXTRA_REFERRER.toJString(), + android.Uri.parse('android-app://$thisApplicationPackage'.toJString()), + ) + ..setData(android.Uri.parse(uri.toString().toJString())); + + // Should be launched from the main activity and not the application context so that + // FLAG_ACTIVITY_NEW_TASK does not have to be used which would always launch the tab + // in a separate process instead of an embedded tab. + _mainActivity.startActivityForResult(intent.intent, _customTabsRequestCode); + } + + Future> startSignIn({ + required Uri uri, + String? callbackUrlScheme, + }) async { + throw UnimplementedError(); + } +} + +extension on ResolveInfo { + String? get resolvedPackageName { + if (isNull) return null; + if (activityInfo.isNull) return null; + return PackageItemInfo.fromRef(activityInfo.reference) + .packageName + .toDartString(releaseOriginal: true); + } +} diff --git a/packages/celest_auth/lib/src/client/auth_client.dart b/packages/celest_auth/lib/src/client/auth_client.dart new file mode 100644 index 00000000..2753a290 --- /dev/null +++ b/packages/celest_auth/lib/src/client/auth_client.dart @@ -0,0 +1,10 @@ +import 'package:celest_auth/src/client/auth_client_platform.vm.dart' + if (dart.library.js_interop) 'package:celest_auth/src/client/auth_client_platform.web.dart'; +import 'package:meta/meta.dart'; + +abstract base class AuthClient { + factory AuthClient() = AuthClientPlatform; + + @protected + AuthClient.base(); +} diff --git a/packages/celest_auth/lib/src/client/auth_client.darwin.dart b/packages/celest_auth/lib/src/client/auth_client.darwin.dart new file mode 100644 index 00000000..7db56298 --- /dev/null +++ b/packages/celest_auth/lib/src/client/auth_client.darwin.dart @@ -0,0 +1,67 @@ +import 'dart:async'; +import 'dart:ffi'; +import 'dart:io'; + +import 'package:celest_auth/src/client/auth_client_platform.vm.dart'; +import 'package:celest_auth/src/platform/darwin/authentication_services.ffi.dart'; + +final class AuthClientDarwin extends AuthClientPlatform { + AuthClientDarwin() : super.base(); + + final _authenticationServices = + AuthenticationServices(DynamicLibrary.process()); + + Future> startSignIn({ + required Uri uri, + String? callbackUrlScheme, + }) async { + final url = NSURL.URLWithString_( + _authenticationServices, + uri.toString().toNSString(_authenticationServices), + ); + if (url == null) { + throw ArgumentError.value(uri, 'uri', 'Invalid URI'); + } + final parameters = Completer>(); + final session = ASWebAuthenticationSession.alloc(_authenticationServices) + .initWithURL_callbackURLScheme_completionHandler_( + url, + callbackUrlScheme?.toNSString(_authenticationServices), + DartASWebAuthenticationSessionCompletionHandler.listener( + _authenticationServices, + (url, error) { + if (error case final error?) { + return parameters.completeError(error); + } + if (url?.absoluteString case final url?) { + final uri = Uri.parse(url.toString()); + return parameters.complete(uri.queryParameters); + } + parameters.completeError( + StateError('Invalid response from authentication session'), + ); + }, + ), + ); + + NSObject? presentationAnchor; + if (Platform.isMacOS) { + final windows = + NSApplication.getSharedApplication(_authenticationServices).windows; + for (var i = 0; i < windows.count; i++) { + final window = NSWindow.castFrom(windows.objectAtIndex_(i)); + presentationAnchor ??= window; + if (window.keyWindow) { + presentationAnchor = window; + break; + } + } + } + session.presentationContextProvider = presentationAnchor; + session.prefersEphemeralWebBrowserSession = false; + if (!session.start()) { + throw StateError('Failed to start authentication session'); + } + return parameters.future; + } +} diff --git a/packages/celest_auth/lib/src/client/auth_client.native.dart b/packages/celest_auth/lib/src/client/auth_client.native.dart new file mode 100644 index 00000000..8d5aaad6 --- /dev/null +++ b/packages/celest_auth/lib/src/client/auth_client.native.dart @@ -0,0 +1,98 @@ +import 'dart:io'; + +import 'package:celest_auth/src/client/auth_client_platform.vm.dart'; + +final class AuthClientNative extends AuthClientPlatform { + AuthClientNative() : super.base(); + + // /// Launches the given URL. + // Future _launchUrl(String url) async { + // final String command; + // if (os.isWindows) { + // command = 'powershell'; + // } else if (os.isLinux) { + // command = 'xdg-open'; + // } else if (os.isMacOS) { + // command = 'open'; + // } else { + // throw UnsupportedError('Unsupported OS: ${os.operatingSystem}'); + // } + + // final arguments = os.isWindows ? ['start-process', '"$url"'] : [url]; + // final couldNotLaunch = '"$command ${arguments.join(' ')}" command failed'; + // try { + // final res = await Process.run( + // command, + // arguments, + // stdoutEncoding: utf8, + // stderrEncoding: utf8, + // ); + // if (res.exitCode != 0) { + // throw UrlLauncherException( + // couldNotLaunch, + // underlyingException: '${res.stdout}\n${res.stderr}', + // ); + // } + // } on Exception catch (e) { + // throw UrlLauncherException( + // couldNotLaunch, + // underlyingException: e, + // ); + // } + // } + + // @override + // Future> startSignIn({ + // required Uri uri, + // String? callbackUrlScheme, + // }) async { + // final server = await HttpServer.bind(InternetAddress.loopbackIPv4, 0); + // await _launchUrl(uri.toString()); + // await for (final request in server) { + // final method = request.method; + // if (method != 'GET') { + // await request.respond( + // HttpStatus.methodNotAllowed, + // 'Request must be GET', + // ); + // continue; + // } + // if (request.uri.path != signInRedirectUri.path) { + // await request.respond(HttpStatus.notFound, 'Not found'); + // continue; + // } + // final queryParams = request.uri.queryParameters; + // if ((!queryParams.containsKey('code') && + // !queryParams.containsKey('error')) || + // !queryParams.containsKey('state')) { + // await request.respond( + // HttpStatus.badRequest, + // 'Missing parameter', + // ); + // continue; + // } + // await request.respond( + // HttpStatus.ok, + // _htmlForParams(queryParams, signIn: true), + // headers: { + // 'Content-Type': 'text/html', + // }, + // ); + // return queryParams; + // } + // } +} + +extension on HttpRequest { + Future respond( + int statusCode, + String body, { + Map? headers, + }) async { + response.statusCode = statusCode; + headers?.forEach(response.headers.add); + response.writeln(body); + await response.flush(); + await response.close(); + } +} diff --git a/packages/celest_auth/lib/src/client/auth_client.web.dart b/packages/celest_auth/lib/src/client/auth_client.web.dart new file mode 100644 index 00000000..7c57d58f --- /dev/null +++ b/packages/celest_auth/lib/src/client/auth_client.web.dart @@ -0,0 +1,20 @@ +import 'package:celest_auth/src/client/auth_client_platform.web.dart'; +import 'package:path/path.dart'; +import 'package:web/web.dart'; + +final class AuthClientWeb extends AuthClientPlatform { + AuthClientWeb() : super.base(); + + String get _baseUrl { + final baseElement = document.querySelector('base') as HTMLBaseElement?; + final basePath = baseElement?.href ?? '/'; + return url.join(window.location.origin, basePath); + } + + Future> startSignIn({ + required Uri uri, + String? callbackUrlScheme, + }) async { + throw UnimplementedError(); + } +} diff --git a/packages/celest_auth/lib/src/client/auth_client_platform.vm.dart b/packages/celest_auth/lib/src/client/auth_client_platform.vm.dart new file mode 100644 index 00000000..b80fca1f --- /dev/null +++ b/packages/celest_auth/lib/src/client/auth_client_platform.vm.dart @@ -0,0 +1,28 @@ +import 'package:celest_auth/src/client/auth_client.android.dart'; +import 'package:celest_auth/src/client/auth_client.dart'; +import 'package:celest_auth/src/client/auth_client.darwin.dart'; +import 'package:celest_auth/src/client/auth_client.native.dart'; +// ignore: implementation_imports +import 'package:celest_core/src/util/globals.dart'; +import 'package:meta/meta.dart'; +import 'package:os_detect/os_detect.dart' as os; + +abstract base class AuthClientPlatform extends AuthClient { + factory AuthClientPlatform() { + if (kIsDartNative) { + return AuthClientNative(); + } + if (os.isIOS || os.isMacOS) { + return AuthClientDarwin(); + } + if (os.isAndroid) { + return AuthClientAndroid(); + } + throw UnsupportedError( + 'The current platform is not supported: ${os.operatingSystem}', + ); + } + + @protected + AuthClientPlatform.base() : super.base(); +} diff --git a/packages/celest_auth/lib/src/client/auth_client_platform.web.dart b/packages/celest_auth/lib/src/client/auth_client_platform.web.dart new file mode 100644 index 00000000..1901343a --- /dev/null +++ b/packages/celest_auth/lib/src/client/auth_client_platform.web.dart @@ -0,0 +1,20 @@ +import 'package:celest_auth/src/client/auth_client.dart'; +import 'package:celest_auth/src/client/auth_client.web.dart'; +// ignore: implementation_imports +import 'package:celest_core/src/util/globals.dart'; +import 'package:meta/meta.dart'; +import 'package:os_detect/os_detect.dart' as os; + +abstract base class AuthClientPlatform extends AuthClient { + factory AuthClientPlatform() { + if (kIsWeb) { + return AuthClientWeb(); + } + throw UnsupportedError( + 'The current platform is not supported: ${os.operatingSystem}', + ); + } + + @protected + AuthClientPlatform.base() : super.base(); +} diff --git a/packages/celest_auth/lib/src/client/base64_raw_url.dart b/packages/celest_auth/lib/src/client/base64_raw_url.dart new file mode 100644 index 00000000..7374e626 --- /dev/null +++ b/packages/celest_auth/lib/src/client/base64_raw_url.dart @@ -0,0 +1,39 @@ +import 'dart:convert'; +import 'dart:typed_data'; + +/// base64url encoding without padding, as defined by +/// [RFC 7515](https://datatracker.ietf.org/doc/html/rfc7515#appendix-C). +const base64RawUrl = _Base64RawUrlCodec(); + +class _Base64RawUrlCodec extends Codec { + const _Base64RawUrlCodec(); + + @override + Converter get decoder => + const _StripPaddingDecoder().fuse(const Base64Decoder()).cast(); + + @override + Converter get encoder => + const Base64Encoder.urlSafe().fuse(const _StripPaddingEncoder()).cast(); +} + +/// Strips padding from a base64-encoded string. +class _StripPaddingEncoder extends Converter { + const _StripPaddingEncoder(); + + @override + String convert(String input) { + return input.split('=').first; + } +} + +/// Adds back stripped padding to a base64-encoded string. +class _StripPaddingDecoder extends Converter { + const _StripPaddingDecoder(); + + @override + String convert(String input) { + final len = input.length; + return input + '=' * ((4 - len % 4) % 4); + } +} diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_client.android.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_client.android.dart new file mode 100644 index 00000000..2e1d6a4f --- /dev/null +++ b/packages/celest_auth/lib/src/client/passkeys/passkey_client.android.dart @@ -0,0 +1,188 @@ +import 'dart:async'; +import 'dart:convert'; + +import 'package:celest_auth/src/client/passkeys/passkey_client_platform.vm.dart'; +import 'package:celest_auth/src/client/passkeys/passkey_models.dart'; +import 'package:celest_auth/src/platform/android/jni_bindings.ffi.dart' + hide Exception, Uri; +import 'package:celest_auth/src/platform/android/jni_helpers.dart'; +import 'package:jni/jni.dart'; + +final class PasskeyClientAndroid extends PasskeyClientPlatform { + PasskeyClientAndroid() : super.base(); + + late final Activity _mainActivity = + Activity.fromRef(Jni.getCurrentActivity()); + late final Context _mainActivityContext = + Context.fromRef(_mainActivity.reference); + late final Context _applicationContext = + Context.fromRef(Jni.getCachedApplicationContext()); + late final Executor _threadPool = Executor.fromRef( + Executors.newCachedThreadPool().reference, + ); + late final CredentialManager _credentialManager = + CredentialManager.create(_applicationContext); + + @override + Future get isSupported async { + final callback = Completer(); + final client = Fido.getFido2ApiClient(_mainActivity); + final isAvailable = client.isUserVerifyingPlatformAuthenticatorAvailable(); + isAvailable + ..addOnSuccessListener( + OnSuccessListener.implement( + $OnSuccessListenerImpl( + TResult: isAvailable.TResult, + onSuccess: (boolean) => callback.complete( + boolean.booleanValue(releaseOriginal: true), + ), + ), + ), + ) + ..addOnFailureListener( + OnFailureListener.implement( + // TODO(dnys1): Convert to PasskeyException + $OnFailureListenerImpl(onFailure: callback.completeError), + ), + ); + return callback.future; + } + + @override + Future register( + PasskeyRegistrationOptions options, + ) async { + final request = CreatePublicKeyCredentialRequest.new7( + jsonEncode(options.toJson()).toJString(), + ); + final responseCallback = Completer(); + _credentialManager.createCredentialAsync( + _mainActivityContext, + request, + CancellationSignal(), + _threadPool, + CredentialManagerCallback.implement( + $CredentialManagerCallbackImpl( + R: CreateCredentialResponse.type, + E: CreateCredentialException.type, + onResult: (resp) => responseCallback + .complete(resp.as(CreatePublicKeyCredentialResponse.type)), + onError: responseCallback.completeError, + ), + ), + ); + try { + final response = await responseCallback.future; + final passkeyJson = response + .getRegistrationResponseJson() + .toDartString(releaseOriginal: true); + return PasskeyRegistrationResponse.fromJson( + jsonDecode(passkeyJson) as Map, + ); + } on CreateCredentialException catch (e) { + if (e.instanceOf(CreatePublicKeyCredentialDomException.type)) { + // Handle the passkey DOM errors thrown according to the + // WebAuthn spec using e.domError + throw Exception( + 'An error occurred while creating a passkey, please check logs for additional details.', + ); + } + if (e.instanceOf(CreateCredentialCancellationException.type)) { + // The user intentionally canceled the operation and chose not + // to register the credential. + throw Exception( + "The user intentionally canceled the operation and chose not to register the credential. Check logs for additional details."); + } + if (e.instanceOf(CreateCredentialInterruptedException.type)) { + // Retry-able error. Consider retrying the call. + throw Exception( + "The operation was interrupted, please retry the call. Check logs for additional details."); + } + if (e.instanceOf(CreateCredentialProviderConfigurationException.type)) { + // Your app is missing the provider configuration dependency. + // Most likely, you're missing "credentials-play-services-auth". + throw Exception( + "Your app is missing the provider configuration dependency. Check logs for additional details."); + } + if (e.instanceOf(CreateCredentialUnknownException.type)) { + throw Exception( + "An unknown error occurred while creating passkey. Check logs for additional details."); + } + if (e.instanceOf(CreateCredentialCustomException.type)) { + // You have encountered an error from a 3rd-party SDK. If you + // make the API call with a request object that's a subclass of + // CreateCustomCredentialRequest using a 3rd-party SDK, then you + // should check for any custom exception type constants within + // that SDK to match with e.type. Otherwise, drop or log the + // exception. + throw Exception( + "An unknown error occurred from a 3rd party SDK. Check logs for additional details."); + } + throw Exception( + "Unexpected exception type: " + "${e.getType().toDartString(releaseOriginal: true)}", + ); + } + } + + @override + Future authenticate( + PasskeyAuthenticationRequest request, + ) async { + final jRequest = GetCredentialRequest_Builder() + .addCredentialOption( + GetPublicKeyCredentialOption.new3( + jsonEncode(request.toJson()).toJString(), + ), + ) + .build(); + final responseCallback = Completer(); + _credentialManager.getCredentialAsync( + _mainActivityContext, + jRequest, + CancellationSignal(), + _threadPool, + CredentialManagerCallback.implement( + $CredentialManagerCallbackImpl( + R: GetCredentialResponse.type, + E: GetCredentialException.type, + onResult: (resp) => responseCallback.complete(resp), + onError: responseCallback.completeError, + ), + ), + ); + try { + final response = await responseCallback.future; + final passkeyJson = response + .getCredential() + .as(PublicKeyCredential.type) + .getAuthenticationResponseJson() + .toDartString(releaseOriginal: true); + return PasskeyAuthenticationResponse.fromJson( + jsonDecode(passkeyJson) as Map, + ); + } on GetCredentialException catch (e) { + if (e.instanceOf(GetCredentialCancellationException.type)) { + // The user intentionally canceled the operation and chose not + // to authenticate the credential. + throw Exception( + "The user intentionally canceled the operation and chose not to authenticate the credential. Check logs for additional details."); + } + if (e.instanceOf(NoCredentialException.type)) { + // TODO(dnys1): Handle + } + if (e.instanceOf(GetPublicKeyCredentialDomException.type)) { + final message = e.getMessage().toDartString(releaseOriginal: true); + if (message == 'Failed to decrypt credential.') { + // TODO(dnys1): Sync account not available + } + } + throw Exception( + "Unexpected exception type: " + "${e.getType().toDartString(releaseOriginal: true)}", + ); + } + } +} diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_client.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_client.dart new file mode 100644 index 00000000..e25cb476 --- /dev/null +++ b/packages/celest_auth/lib/src/client/passkeys/passkey_client.dart @@ -0,0 +1,19 @@ +import 'package:celest_auth/src/client/passkeys/passkey_client_platform.vm.dart' + if (dart.library.js_interop) 'package:celest_auth/src/client/passkeys/passkey_client_platform.web.dart'; +import 'package:celest_auth/src/client/passkeys/passkey_models.dart'; +import 'package:meta/meta.dart'; + +abstract base class PasskeyClient { + factory PasskeyClient() = PasskeyClientPlatform; + + @protected + PasskeyClient.base(); + + Future get isSupported; + Future register( + PasskeyRegistrationOptions options, + ); + Future authenticate( + PasskeyAuthenticationRequest request, + ); +} diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_client.darwin.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_client.darwin.dart new file mode 100644 index 00000000..70f05efc --- /dev/null +++ b/packages/celest_auth/lib/src/client/passkeys/passkey_client.darwin.dart @@ -0,0 +1,23 @@ +import 'package:celest_auth/src/client/passkeys/passkey_client_platform.vm.dart'; +import 'package:celest_auth/src/client/passkeys/passkey_models.dart'; + +final class PasskeyClientDarwin extends PasskeyClientPlatform { + PasskeyClientDarwin() : super.base(); + + @override + Future get isSupported => throw UnimplementedError(); + + @override + Future register( + PasskeyRegistrationOptions options, + ) { + throw UnimplementedError(); + } + + @override + Future authenticate( + PasskeyAuthenticationRequest request, + ) { + throw UnimplementedError(); + } +} diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_client.web.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_client.web.dart new file mode 100644 index 00000000..eb01216c --- /dev/null +++ b/packages/celest_auth/lib/src/client/passkeys/passkey_client.web.dart @@ -0,0 +1,244 @@ +import 'dart:convert'; +import 'dart:js_interop'; +import 'dart:js_interop_unsafe'; +import 'dart:typed_data'; + +import 'package:celest_auth/src/client/passkeys/passkey_client_platform.web.dart'; +import 'package:celest_auth/src/client/passkeys/passkey_exception.dart'; +import 'package:celest_auth/src/client/passkeys/passkey_models.dart'; +import 'package:web/web.dart' + hide + COSEAlgorithmIdentifier, + AuthenticatorTransport, + AuthenticatorAttachment; + +final class PasskeyClientWeb extends PasskeyClientPlatform { + PasskeyClientWeb() : super.base(); + + @override + Future get isSupported async { + final publicKeyCredential = window.getProperty('PublicKeyCredential'.toJS); + if (!publicKeyCredential.typeofEquals('function')) { + return false; + } + return PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() + .toDart + .then((value) => value.toDart); + } + + static Uint8List _getRandomValues(int size) { + final values = Uint8List(size); + window.crypto.getRandomValues(values.toJS); + return values; + } + + @override + Future register( + PasskeyRegistrationOptions options, + ) async { + if (!await isSupported) { + throw const PasskeyException( + message: 'Passkeys are not supported in this environment', + ); + } + final credential = await window.navigator.credentials + .create( + CredentialCreationOptions( + publicKey: PublicKeyCredentialCreationOptions( + challenge: + (options.challenge ?? _getRandomValues(32)).buffer.toJS, + rp: PublicKeyCredentialRpEntity( + id: options.rpId, + )..name = options.rpName, + user: PublicKeyCredentialUserEntity( + id: utf8.encode(options.userId).buffer.toJS, + displayName: options.userDisplayName ?? '', + )..name = options.userName, + // This Relying Party will accept either an ES256 or RS256 + // credential, but prefers an ES256 credential. + pubKeyCredParams: [ + for (final algId in COSEAlgorithmIdentifier.defaultSupported) + PublicKeyCredentialParameters( + type: 'public-key', + alg: algId, + ), + ].toJS, + authenticatorSelection: AuthenticatorSelectionCriteria( + // Try to use UV if possible. This is also the default. + userVerification: 'preferred', + ), + timeout: const Duration(minutes: 5).inMilliseconds, + ), + ), + ) + .toDart + .onError( + (error, stackTrace) => Error.throwWithStackTrace( + (error as RegistrationError).toPasskeyException(), + stackTrace, + ), + ) as PublicKeyCredential?; + if (credential == null) { + throw const PasskeyException(message: 'Registration was not completed'); + } + assert(credential.type == 'public-key'); + final response = credential.response as AuthenticatorAttestationResponse; + return PasskeyRegistrationResponse( + id: credential.id, + rawId: credential.rawId.toDart.asUint8List(), + clientData: PasskeyClientData.fromJson( + jsonDecode( + utf8.decode(response.clientDataJSON.toDart.asUint8List()), + ) as Map, + ), + attestationObject: response.attestationObject.toDart.asUint8List(), + transports: response.transports, + publicKeyAlgorithm: response.publicKeyAlgorithm, + publicKey: response.publicKey, + authenticatorData: response.authenticatorData, + authenticatorAttachment: + credential.authenticatorAttachment as AuthenticatorAttachment?, + ); + } + + @override + Future authenticate( + PasskeyAuthenticationRequest request, + ) async { + if (!await isSupported) { + throw const PasskeyException( + message: 'Passkeys are not supported in this environment', + ); + } + final credential = await window.navigator.credentials + .get( + CredentialRequestOptions( + publicKey: PublicKeyCredentialRequestOptions( + challenge: request.challenge.buffer.toJS, + rpId: request.rpId, + allowCredentials: + (request.allowCredentials ?? const []) + .map( + (credential) => PublicKeyCredentialDescriptor( + id: credential.id.buffer.toJS, + type: 'public-key', + transports: (credential.transports ?? + const []) + .map((transport) => transport.toJS) + .toList() + .toJS, + ), + ) + .toList() + .toJS, + userVerification: request.userVerification, + timeout: const Duration(minutes: 5).inMilliseconds, + ), + ), + ) + .toDart + .onError( + (error, stackTrace) => Error.throwWithStackTrace( + (error as AuthenticationError).toPasskeyException(), + stackTrace, + ), + ) as PublicKeyCredential?; + if (credential == null) { + throw const PasskeyException( + message: 'Authentication was not completed', + ); + } + assert(credential.type == 'public-key'); + final response = credential.response as AuthenticatorAssertionResponse; + return PasskeyAuthenticationResponse( + id: credential.id, + rawId: credential.rawId.toDart.asUint8List(), + clientData: PasskeyClientData.fromJson( + jsonDecode( + utf8.decode(response.clientDataJSON.toDart.asUint8List()), + ) as Map, + ), + authenticatorData: response.authenticatorData.toDart.asUint8List(), + signature: response.signature.toDart.asUint8List(), + userHandle: response.userHandle?.toDart.asUint8List(), + authenticatorAttachment: + credential.authenticatorAttachment as AuthenticatorAttachment?, + ); + } +} + +extension on AuthenticatorAttestationResponse { + @JS('getTransports') + external JSArray _getTransports(); + + List? get transports { + // Continue to play it safe with `getTransports()` for now, even when L3 + // types say it's required + if (!getProperty('getTransports'.toJS).typeofEquals('function')) { + return null; + } + final transports = _getTransports(); + return transports.toDart.cast(); + } + + @JS('getPublicKeyAlgorithm') + external COSEAlgorithmIdentifier _getPublicKeyAlgorithm(); + + COSEAlgorithmIdentifier? get publicKeyAlgorithm { + // L3 says this is required, but browser and webview support are still + // not guaranteed. + if (!getProperty('getPublicKeyAlgorithm'.toJS).typeofEquals('function')) { + return null; + } + return _getPublicKeyAlgorithm(); + } + + @JS('getPublicKey') + external JSArrayBuffer _getPublicKey(); + + Uint8List? get publicKey { + // L3 says this is required, but browser and webview support are still + // not guaranteed. + if (!getProperty('getPublicKey'.toJS).typeofEquals('function')) { + return null; + } + final publicKey = _getPublicKey(); + return publicKey.toDart.asUint8List(); + } + + @JS('getAuthenticatorData') + external JSArrayBuffer _getAuthenticatorData(); + + Uint8List? get authenticatorData { + // L3 says this is required, but browser and webview support are still + // not guaranteed. + if (!getProperty('getAuthenticatorData'.toJS).typeofEquals('function')) { + return null; + } + final authenticatorData = _getAuthenticatorData(); + return authenticatorData.toDart.asUint8List(); + } +} + +@JS('Error') +extension type JSError._(JSObject e) implements JSObject { + external String get message; + external String get name; + external String get stack; +} + +extension type RegistrationError._(JSError _) implements JSError { + // TODO(dnys1): Cover all cases + // https://github.com/MasterKale/SimpleWebAuthn/blob/634ceabdb05f4b5e56132fff7c57598caa2401a8/packages/browser/src/helpers/identifyRegistrationError.ts#L7 + PasskeyException toPasskeyException() { + return PasskeyException(message: '$name: $message'); + } +} + +extension type AuthenticationError._(JSError _) implements JSError { + // TODO(dnys1): Cover all cases + // https://github.com/MasterKale/SimpleWebAuthn/blob/634ceabdb05f4b5e56132fff7c57598caa2401a8/packages/browser/src/helpers/identifyAuthenticationError.ts#L7 + PasskeyException toPasskeyException() { + return PasskeyException(message: '$name: $message'); + } +} diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_client_platform.vm.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_client_platform.vm.dart new file mode 100644 index 00000000..54fd6835 --- /dev/null +++ b/packages/celest_auth/lib/src/client/passkeys/passkey_client_platform.vm.dart @@ -0,0 +1,26 @@ +import 'package:celest_auth/src/client/passkeys/passkey_client.android.dart'; +import 'package:celest_auth/src/client/passkeys/passkey_client.dart'; +import 'package:celest_auth/src/client/passkeys/passkey_client.darwin.dart'; +// ignore: implementation_imports +import 'package:celest_core/src/util/globals.dart'; +import 'package:meta/meta.dart'; +import 'package:os_detect/os_detect.dart' as os; + +abstract base class PasskeyClientPlatform extends PasskeyClient { + factory PasskeyClientPlatform() { + if (kIsFlutter) { + if (os.isIOS || os.isMacOS) { + return PasskeyClientDarwin(); + } + if (os.isAndroid) { + return PasskeyClientAndroid(); + } + } + throw UnsupportedError( + 'The current platform is not supported: ${os.operatingSystem}', + ); + } + + @protected + PasskeyClientPlatform.base() : super.base(); +} diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_client_platform.web.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_client_platform.web.dart new file mode 100644 index 00000000..67da2c28 --- /dev/null +++ b/packages/celest_auth/lib/src/client/passkeys/passkey_client_platform.web.dart @@ -0,0 +1,20 @@ +import 'package:celest_auth/src/client/passkeys/passkey_client.dart'; +import 'package:celest_auth/src/client/passkeys/passkey_client.web.dart'; +// ignore: implementation_imports +import 'package:celest_core/src/util/globals.dart'; +import 'package:meta/meta.dart'; +import 'package:os_detect/os_detect.dart' as os; + +abstract base class PasskeyClientPlatform extends PasskeyClient { + factory PasskeyClientPlatform() { + if (kIsWeb) { + return PasskeyClientWeb(); + } + throw UnsupportedError( + 'The current platform is not supported: ${os.operatingSystem}', + ); + } + + @protected + PasskeyClientPlatform.base() : super.base(); +} diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_exception.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_exception.dart new file mode 100644 index 00000000..0084b774 --- /dev/null +++ b/packages/celest_auth/lib/src/client/passkeys/passkey_exception.dart @@ -0,0 +1,13 @@ +import 'package:celest_core/celest_core.dart'; + +final class PasskeyException implements CelestException { + const PasskeyException({ + required this.message, + }); + + @override + final String message; + + @override + String toString() => 'PasskeyException: $message'; +} diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_models.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_models.dart new file mode 100644 index 00000000..12118529 --- /dev/null +++ b/packages/celest_auth/lib/src/client/passkeys/passkey_models.dart @@ -0,0 +1,610 @@ +import 'dart:convert'; +import 'dart:typed_data'; + +import 'package:celest_auth/src/client/base64_raw_url.dart'; + +/// A simple test to determine if a hostname is a properly-formatted domain name +/// +/// A "valid domain" is defined here: https://url.spec.whatwg.org/#valid-domain +bool _isValidDomain(String hostname) { + return hostname == 'localhost' || _validDomain.hasMatch(hostname); +} + +/// From: https://www.oreilly.com/library/view/regular-expressions-cookbook/9781449327453/ch08s15.html +final _validDomain = RegExp(r'^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$'); + +final class PasskeyRegistrationOptions { + PasskeyRegistrationOptions({ + required this.rpName, + required this.rpId, + required this.userId, + required this.userName, + this.userDisplayName, + this.challenge, + this.timeout = const Duration(minutes: 5), + }) : assert( + _isValidDomain(rpId), + 'Invalid rpId (must be a valid domain): $rpId', + ); + + factory PasskeyRegistrationOptions.fromJson(Map json) { + if (json + case { + 'rp': { + 'name': final String rpName, + 'id': final String rpId, + }, + 'user': { + 'id': final String userId, + 'name': final String userName, + } && + final user, + }) { + return PasskeyRegistrationOptions( + rpName: rpName, + rpId: rpId, + userId: userId, + userName: userName, + userDisplayName: user['displayName'] as String?, + challenge: json['challenge'] != null + ? base64RawUrl.decode(json['challenge'] as String) + : null, + timeout: Duration(milliseconds: (json['timeout'] as num).toInt()), + ); + } + throw FormatException('Invalid registration options: $json'); + } + + final String rpName; + final String rpId; + final String userId; + final String userName; + final String? userDisplayName; + final Uint8List? challenge; + final Duration timeout; + + Map toJson() => { + 'rp': { + 'name': rpName, + 'id': rpId, + }, + 'user': { + 'id': userId, + 'name': userName, + if (userDisplayName != null) 'displayName': userDisplayName, + }, + if (challenge case final challenge?) + 'challenge': base64RawUrl.encode(challenge), + 'timeout': timeout.inMilliseconds, + }; + + @override + String toString() { + final buffer = StringBuffer() + ..writeln('PasskeyRegistrationOptions(') + ..writeln(' rpName: $rpName,') + ..writeln(' rpId: $rpId,') + ..writeln(' userId: $userId,') + ..writeln(' userName: $userName,'); + if (userDisplayName != null) { + buffer.writeln(' userDisplayName: $userDisplayName,'); + } + if (challenge != null) { + buffer.writeln(' challenge: ${base64RawUrl.encode(challenge!)},'); + } + buffer + ..writeln(' timeout: $timeout,') + ..write(')'); + return buffer.toString(); + } +} + +final class PasskeyRegistrationResponse { + const PasskeyRegistrationResponse({ + required this.id, + required this.rawId, + required this.clientData, + required this.attestationObject, + this.transports, + this.publicKeyAlgorithm, + this.publicKey, + this.authenticatorData, + this.authenticatorAttachment, + }); + + factory PasskeyRegistrationResponse.fromJson(Map json) { + if (json + case { + 'id': final String id, + 'rawId': final String rawId, + 'type': 'public-key', + 'response': { + 'clientDataJSON': final String clientDataJson, + 'attestationObject': final String attestationObject, + } && + final response, + }) { + return PasskeyRegistrationResponse( + id: id, + rawId: base64RawUrl.decode(rawId), + clientData: PasskeyClientData.fromJson( + jsonDecode( + utf8.decode(base64RawUrl.decode(clientDataJson)), + ) as Map, + ), + attestationObject: base64RawUrl.decode(attestationObject), + transports: response['transports'] as List?, + publicKeyAlgorithm: response['publicKeyAlgorithm'] != null + ? COSEAlgorithmIdentifier._( + response['publicKeyAlgorithm'] as int, + ) + : null, + publicKey: response['publicKey'] != null + ? base64RawUrl.decode(response['publicKey'] as String) + : null, + authenticatorData: response['authenticatorData'] != null + ? base64RawUrl.decode(response['authenticatorData'] as String) + : null, + authenticatorAttachment: + json['authenticatorAttachment'] as AuthenticatorAttachment?, + ); + } + throw FormatException('Invalid registration response: $json'); + } + + final String id; + final Uint8List rawId; + String get type => 'public-key'; + final PasskeyClientData clientData; + final Uint8List attestationObject; + final List? transports; + final COSEAlgorithmIdentifier? publicKeyAlgorithm; + final Uint8List? publicKey; + final Uint8List? authenticatorData; + final AuthenticatorAttachment? authenticatorAttachment; + + Map toJson() => { + 'id': id, + 'rawId': base64RawUrl.encode(rawId), + 'type': type, + 'response': { + 'clientDataJSON': base64RawUrl.encode( + utf8.encode( + jsonEncode(clientData.toJson()), + ), + ), + 'attestationObject': base64RawUrl.encode(attestationObject), + if (transports != null) 'transports': transports, + if (publicKeyAlgorithm != null) + 'publicKeyAlgorithm': publicKeyAlgorithm, + if (publicKey != null) 'publicKey': base64RawUrl.encode(publicKey!), + if (authenticatorData != null) + 'authenticatorData': base64RawUrl.encode(authenticatorData!), + }, + if (authenticatorAttachment != null) + 'authenticatorAttachment': authenticatorAttachment, + }; + + @override + String toString() { + final buffer = StringBuffer() + ..writeln('PasskeyRegistrationResponse(') + ..writeln(' id: $id,') + ..writeln(' rawId: $rawId,') + ..writeln(' clientData: PasskeyClientData(') + ..writeln(' challenge: ${base64RawUrl.encode(clientData.challenge)},') + ..writeln(' crossOrigin: ${clientData.crossOrigin},') + ..writeln(' origin: ${clientData.origin},') + ..writeln(' type: ${clientData.type},'); + if (clientData.tokenBinding case final tokenBinding?) { + buffer + ..writeln(' tokenBinding: PasskeyClientDataTokenBinding(') + ..writeln(' id: ${base64RawUrl.encode(tokenBinding.id)},') + ..writeln(' status: ${tokenBinding.status},') + ..writeln(' ),'); + } + buffer + ..writeln(' ),') + ..writeln( + ' attestationObject: ${base64RawUrl.encode(attestationObject)},') + ..writeln(' transports: ${transports?.join(', ')},') + ..writeln(' publicKeyAlgorithm: $publicKeyAlgorithm,') + ..writeln( + ' publicKey: ${base64RawUrl.encode(publicKey ?? Uint8List(0))},') + ..writeln( + ' authenticatorData: ${base64RawUrl.encode(authenticatorData ?? Uint8List(0))},') + ..writeln(' authenticatorAttachment: $authenticatorAttachment,') + ..write(')'); + return buffer.toString(); + } +} + +/// The client data returned by the authenticator during registration and +/// authentication. +/// +/// See: https://developer.mozilla.org/en-US/docs/Web/API/AuthenticatorResponse/clientDataJSON +final class PasskeyClientData { + const PasskeyClientData({ + required this.challenge, + bool? crossOrigin, + required this.origin, + required this.type, + this.tokenBinding, + }) : crossOrigin = crossOrigin ?? false; + + factory PasskeyClientData.fromJson(Map json) { + if (json + case { + 'challenge': final String challenge, + 'origin': final String origin, + 'type': final String type, + }) { + return PasskeyClientData( + challenge: base64RawUrl.decode(challenge), + crossOrigin: json['crossOrigin'] as bool?, + origin: origin, + type: type, + tokenBinding: json['tokenBinding'] != null + ? PasskeyClientDataTokenBinding.fromJson( + json['tokenBinding'] as Map, + ) + : null, + ); + } + throw FormatException('Invalid client data: $json'); + } + + final Uint8List challenge; + final bool crossOrigin; + final String origin; + final String type; + final PasskeyClientDataTokenBinding? tokenBinding; + + Map toJson() => { + 'challenge': base64RawUrl.encode(challenge), + if (crossOrigin) 'crossOrigin': crossOrigin, + 'origin': origin, + 'type': type, + if (tokenBinding != null) 'tokenBinding': tokenBinding!.toJson(), + }; + + @override + String toString() { + final buffer = StringBuffer() + ..writeln('PasskeyClientData(') + ..writeln(' challenge: ${base64RawUrl.encode(challenge)},') + ..writeln(' crossOrigin: $crossOrigin,') + ..writeln(' origin: $origin,') + ..writeln(' type: $type,'); + if (tokenBinding case final tokenBinding?) { + buffer + ..writeln(' tokenBinding: PasskeyClientDataTokenBinding(') + ..writeln(' id: ${base64RawUrl.encode(tokenBinding.id)},') + ..writeln(' status: ${tokenBinding.status},') + ..writeln(' ),'); + } + buffer.write(')'); + return buffer.toString(); + } +} + +final class PasskeyClientDataTokenBinding { + const PasskeyClientDataTokenBinding({ + required this.id, + required this.status, + }); + + factory PasskeyClientDataTokenBinding.fromJson(Map json) { + if (json + case { + 'id': final String id, + 'status': final String status, + }) { + return PasskeyClientDataTokenBinding( + id: base64RawUrl.decode(id), + status: status, + ); + } + throw FormatException('Invalid token binding: $json'); + } + + /// The token binding ID which was used for communication. + final Uint8List id; + + /// Either "supported" or "present". + final String status; + + Map toJson() => { + 'id': base64RawUrl.encode(id), + 'status': status, + }; + + @override + String toString() { + final buffer = StringBuffer() + ..writeln('PasskeyClientDataTokenBinding(') + ..writeln(' id: ${base64RawUrl.encode(id)},') + ..writeln(' status: $status,') + ..write(')'); + return buffer.toString(); + } +} + +final class PasskeyDescriptor { + const PasskeyDescriptor({ + required this.id, + this.transports, + }); + + factory PasskeyDescriptor.fromJson(Map json) { + if (json + case { + 'id': final String id, + }) { + return PasskeyDescriptor( + id: base64RawUrl.decode(id), + transports: (json['transports'] as List?)?.cast(), + ); + } + throw FormatException('Invalid passkey descriptor: $json'); + } + + final Uint8List id; + final List? transports; + + Map toJson() => { + 'id': base64RawUrl.encode(id), + if (transports != null) 'transports': transports, + }; + + @override + String toString() => 'PasskeyDescriptor(' + 'id: ${base64RawUrl.encode(id)}, ' + 'transports: ${transports?.join(', ')})'; +} + +final class PasskeyAuthenticationRequest { + PasskeyAuthenticationRequest({ + required this.rpId, + required this.challenge, + this.timeout = const Duration(minutes: 5), + this.allowCredentials, + UserVerificationRequirement? userVerification, + }) : assert( + _isValidDomain(rpId), + 'Invalid rpId (must be a valid domain): $rpId', + ), + userVerification = + userVerification ?? UserVerificationRequirement.preferred; + + factory PasskeyAuthenticationRequest.fromJson(Map json) { + if (json + case { + 'rpId': final String rpId, + 'challenge': final String challenge, + 'timeout': final int timeout, + }) { + return PasskeyAuthenticationRequest( + rpId: rpId, + challenge: base64RawUrl.decode(challenge), + timeout: Duration(milliseconds: timeout), + ); + } + throw FormatException('Invalid authentication request: $json'); + } + + final String rpId; + final Uint8List challenge; + final Duration timeout; + final List? allowCredentials; + final UserVerificationRequirement userVerification; + + Map toJson() => { + 'rpId': rpId, + 'challenge': base64RawUrl.encode(challenge), + 'timeout': timeout.inMilliseconds, + if (allowCredentials case final allowCredentials?) + 'allowCredentials': + allowCredentials.map((el) => el.toJson()).toList(), + 'userVerification': userVerification, + }; + + @override + String toString() { + final buffer = StringBuffer() + ..writeln('PasskeyAuthenticationRequest(') + ..writeln(' rpId: $rpId,') + ..writeln(' challenge: ${base64RawUrl.encode(challenge)},') + ..writeln(' timeout: $timeout,') + ..writeln(' allowCredentials: ${allowCredentials?.join(', ')},') + ..writeln(' userVerification: $userVerification,') + ..write(')'); + return buffer.toString(); + } +} + +final class PasskeyAuthenticationResponse { + const PasskeyAuthenticationResponse({ + required this.id, + required this.rawId, + required this.clientData, + required this.authenticatorData, + required this.signature, + this.userHandle, + this.authenticatorAttachment, + }); + + factory PasskeyAuthenticationResponse.fromJson(Map json) { + if (json + case { + 'id': final String id, + 'rawId': final String rawId, + 'type': 'public-key', + 'response': { + 'clientDataJSON': final String clientDataJson, + 'authenticatorData': final String authenticatorData, + 'signature': final String signature, + } && + final response, + }) { + return PasskeyAuthenticationResponse( + id: id, + rawId: base64RawUrl.decode(rawId), + clientData: PasskeyClientData.fromJson( + jsonDecode( + utf8.decode(base64RawUrl.decode(clientDataJson)), + ) as Map, + ), + authenticatorData: base64RawUrl.decode(authenticatorData), + signature: base64RawUrl.decode(signature), + userHandle: response['userHandle'] != null + ? base64RawUrl.decode(response['userHandle'] as String) + : null, + authenticatorAttachment: + json['authenticatorAttachment'] as AuthenticatorAttachment?, + ); + } + throw FormatException('Invalid authentication response: $json'); + } + + final String id; + final Uint8List rawId; + String get type => 'public-key'; + final PasskeyClientData clientData; + final Uint8List authenticatorData; + final Uint8List signature; + final Uint8List? userHandle; + final AuthenticatorAttachment? authenticatorAttachment; + + Map toJson() => { + 'id': id, + 'rawId': base64RawUrl.encode(rawId), + 'type': type, + 'response': { + 'clientDataJSON': base64RawUrl.encode( + utf8.encode( + jsonEncode(clientData.toJson()), + ), + ), + 'authenticatorData': base64RawUrl.encode(authenticatorData), + 'signature': base64RawUrl.encode(signature), + if (userHandle != null) + 'userHandle': base64RawUrl.encode(userHandle!), + }, + if (authenticatorAttachment != null) + 'authenticatorAttachment': authenticatorAttachment, + }; + + @override + String toString() { + final buffer = StringBuffer() + ..writeln('PasskeyAuthenticationResponse(') + ..writeln(' id: $id,') + ..writeln(' rawId: $rawId,') + ..writeln(' clientData: PasskeyClientData(') + ..writeln(' challenge: ${base64RawUrl.encode(clientData.challenge)},') + ..writeln(' crossOrigin: ${clientData.crossOrigin},') + ..writeln(' origin: ${clientData.origin},') + ..writeln(' type: ${clientData.type},'); + if (clientData.tokenBinding case final tokenBinding?) { + buffer + ..writeln(' tokenBinding: PasskeyClientDataTokenBinding(') + ..writeln(' id: ${base64RawUrl.encode(tokenBinding.id)},') + ..writeln(' status: ${tokenBinding.status},') + ..writeln(' ),'); + } + buffer + ..writeln(' ),') + ..writeln( + ' authenticatorData: ${base64RawUrl.encode(authenticatorData)},') + ..writeln(' signature: ${base64RawUrl.encode(signature)},') + ..writeln(' authenticatorAttachment: $authenticatorAttachment,') + ..write(')'); + return buffer.toString(); + } +} + +/// Supported crypto algo identifiers. +/// +/// See: +/// - https://w3c.github.io/webauthn/#sctn-alg-identifier +/// - https://www.iana.org/assignments/cose/cose.xhtml#algorithms +extension type const COSEAlgorithmIdentifier._(int algId) implements int { + static const List defaultSupported = [ + // In first position to encourage authenticators to use this over ES256 + edDsa, + es256, + rs256, + ]; + + static const List prioritized = [ + // In first position to encourage authenticators to use this over ES256 + edDsa, + es256, + es512, + rsaPss256, + rsaPss384, + rsaPss512, + rs256, + rs384, + rs512, + rsSha1, // ignore: deprecated_member_use_from_same_package + ]; + + /// EdDSA + static const edDsa = COSEAlgorithmIdentifier._(-8); + + /// ECDSA w/ SHA-256 + static const es256 = COSEAlgorithmIdentifier._(-7); + + /// ECDSA w/ SHA-512 + static const es512 = COSEAlgorithmIdentifier._(-36); + + /// RSASSA-PSS w/ SHA-256 + static const rsaPss256 = COSEAlgorithmIdentifier._(-37); + + /// RSASSA-PSS w/ SHA-384 + static const rsaPss384 = COSEAlgorithmIdentifier._(-38); + + /// RSASSA-PSS w/ SHA-512 + static const rsaPss512 = COSEAlgorithmIdentifier._(-39); + + /// RSASSA-PKCS1-v1_5 w/ SHA-256 + static const rs256 = COSEAlgorithmIdentifier._(-257); + + /// RSASSA-PKCS1-v1_5 w/ SHA-384 + static const rs384 = COSEAlgorithmIdentifier._(-258); + + /// RSASSA-PKCS1-v1_5 w/ SHA-512 + static const rs512 = COSEAlgorithmIdentifier._(-259); + + // RSASSA-PKCS1-v1_5 w/ SHA-1 (Deprecated; here for legacy support) + @Deprecated('SHA-1 is deprecated and should not be used for new applications') + static const rsSha1 = COSEAlgorithmIdentifier._(-65535); +} + +/// A super class of TypeScript's `AuthenticatorTransport` that includes +/// support for the latest transports. +extension type const AuthenticatorTransport._(String transport) + implements String { + static const ble = AuthenticatorTransport._('ble'); + static const cable = AuthenticatorTransport._('cable'); + static const hybrid = AuthenticatorTransport._('hybrid'); + static const internal = AuthenticatorTransport._('internal'); + static const nfc = AuthenticatorTransport._('nfc'); + static const smartCard = AuthenticatorTransport._('smart-card'); + static const usb = AuthenticatorTransport._('usb'); +} + +extension type const AuthenticatorAttachment._(String attachment) + implements String { + static const crossPlatform = AuthenticatorAttachment._('cross-platform'); + static const platform = AuthenticatorAttachment._('platform'); +} + +extension type const UserVerificationRequirement._(String requirement) + implements String { + static const discouraged = UserVerificationRequirement._('discouraged'); + static const preferred = UserVerificationRequirement._('preferred'); + static const required = UserVerificationRequirement._('required'); +} diff --git a/packages/celest_auth/lib/src/client/social/oauth_parameters.dart b/packages/celest_auth/lib/src/client/social/oauth_parameters.dart new file mode 100644 index 00000000..56152ef9 --- /dev/null +++ b/packages/celest_auth/lib/src/client/social/oauth_parameters.dart @@ -0,0 +1,278 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +library amplify_auth_cognito.hostedui.oauth_parameters; + +import 'package:built_collection/built_collection.dart'; +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; +import 'package:built_value/standard_json_plugin.dart'; + +part 'oauth_parameters.g.dart'; + +/// Error codes of a failed OAuth flow. +/// +/// References: +/// - [OAuth 2.0 Error Codes](https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.2.1) +/// - [OIDC Error Codes](https://openid.net/specs/openid-connect-core-1_0.html#AuthError) +class OAuthErrorCode extends EnumClass { + const OAuthErrorCode._(super.name); + + /// The request is missing a required parameter, includes an invalid parameter + /// value, includes a parameter more than once, or is otherwise malformed. + @BuiltValueEnumConst(wireName: 'invalid_request') + static const OAuthErrorCode invalidRequest = _$invalidRequest; + + /// The client is not authorized to request an authorization code using this + /// method. + @BuiltValueEnumConst(wireName: 'unauthorized_client') + static const OAuthErrorCode unauthorizedClient = _$unauthorizedClient; + + /// The resource owner or authorization server denied the request. + @BuiltValueEnumConst(wireName: 'access_denied') + static const OAuthErrorCode accessDenied = _$accessDenied; + + /// The authorization server does not support obtaining an authorization code + /// using this method. + @BuiltValueEnumConst(wireName: 'unsupported_response_type') + static const OAuthErrorCode unsupportedResponseType = + _$unsupportedResponseType; + + /// The requested scope is invalid, unknown, or malformed. + @BuiltValueEnumConst(wireName: 'invalid_scope') + static const OAuthErrorCode invalidScope = _$invalidScope; + + /// The authorization server encountered an unexpected condition that + /// prevented it from fulfilling the request. + /// + /// (This error code is needed because a 500 Internal Server Error HTTP status + /// code cannot be returned to the client via an HTTP redirect.) + @BuiltValueEnumConst(wireName: 'server_error') + static const OAuthErrorCode serverError = _$serverError; + + /// The authorization server is currently unable to handle the request due to + /// a temporary overloading or maintenance of the server. + /// + /// (This error code is needed because a 503 Service Unavailable HTTP status + /// code cannot be returned to the client via an HTTP redirect.) + @BuiltValueEnumConst(wireName: 'temporarily_unavailable') + static const OAuthErrorCode temporarilyUnavailable = _$temporarilyUnavailable; + + /// The Authorization Server requires End-User interaction of some form to + /// proceed. + /// + /// This error MAY be returned when the `prompt` parameter value in the + /// Authentication Request is `none`, but the Authentication Request cannot be + /// completed without displaying a user interface for End-User interaction. + @BuiltValueEnumConst(wireName: 'interaction_required') + static const OAuthErrorCode interactionRequired = _$interactionRequired; + + /// The Authorization Server requires End-User authentication. + /// + /// This error MAY be returned when the `prompt` parameter value in the + /// Authentication Request is `none`, but the Authentication Request cannot be + /// completed without displaying a user interface for End-User authentication. + @BuiltValueEnumConst(wireName: 'login_required') + static const OAuthErrorCode loginRequired = _$loginRequired; + + /// The End-User is REQUIRED to select a session at the Authorization Server. + /// + /// The End-User MAY be authenticated at the Authorization Server with + /// different associated accounts, but the End-User did not select a session. + /// This error MAY be returned when the `prompt` parameter value in the + /// Authentication Request is `none`, but the Authentication Request cannot be + /// completed without displaying a user interface to prompt for a session to + /// use. + @BuiltValueEnumConst(wireName: 'account_selection_required') + static const OAuthErrorCode accountSelectionRequired = + _$accountSelectionRequired; + + /// The Authorization Server requires End-User consent. + /// + /// This error MAY be returned when the `prompt` parameter value in the + /// Authentication Request is `none`, but the Authentication Request cannot be + /// completed without displaying a user interface for End-User consent. + @BuiltValueEnumConst(wireName: 'consent_required') + static const OAuthErrorCode consentRequired = _$consentRequired; + + /// The `request_uri` in the Authorization Request returns an error or + /// contains invalid data. + @BuiltValueEnumConst(wireName: 'invalid_request_uri') + static const OAuthErrorCode invalidRequestUri = _$invalidRequestUri; + + /// The `request` parameter contains an invalid Request Object. + @BuiltValueEnumConst(wireName: 'invalid_request_object') + static const OAuthErrorCode invalidRequestObject = _$invalidRequestObject; + + /// The OP does not support use of the `request` parameter defined in + /// [Section 6](https://openid.net/specs/openid-connect-core-1_0.html#JWTRequests). + @BuiltValueEnumConst(wireName: 'request_not_supported') + static const OAuthErrorCode requestNotSupported = _$requestNotSupported; + + /// The OP does not support use of the `request_uri` parameter defined in + /// [Section 6](https://openid.net/specs/openid-connect-core-1_0.html#JWTRequests). + @BuiltValueEnumConst(wireName: 'request_uri_not_supported') + static const OAuthErrorCode requestUriNotSupported = _$requestUriNotSupported; + + /// The OP does not support use of the `registration` parameter defined in + /// [Section 7.2.1](https://openid.net/specs/openid-connect-core-1_0.html#RegistrationParameter). + @BuiltValueEnumConst(wireName: 'registration_uri_not_supported') + static const OAuthErrorCode registrationUriNotSupported = + _$registrationUriNotSupported; + + /// The user-facing description of the error. + String get description { + switch (this) { + case OAuthErrorCode.accessDenied: + return 'The resource owner or authorization server denied the request.'; + case OAuthErrorCode.invalidRequest: + return 'The request is missing a required parameter, includes an ' + 'invalid parameter value, includes a parameter more than once, or ' + 'is otherwise malformed.'; + case OAuthErrorCode.invalidScope: + return 'The requested scope is invalid, unknown, or malformed.'; + case OAuthErrorCode.serverError: + return 'The authorization server encountered an unexpected condition ' + 'that prevented it from fulfilling the request.'; + case OAuthErrorCode.temporarilyUnavailable: + return 'The authorization server is currently unable to handle the ' + 'request due to a temporary overloading or maintenance of the ' + 'server.'; + case OAuthErrorCode.unauthorizedClient: + return 'The client is not authorized to request an authorization code ' + 'using this method.'; + case OAuthErrorCode.unsupportedResponseType: + return 'The authorization server does not support obtaining an ' + 'authorization code using this method.'; + case OAuthErrorCode.accountSelectionRequired: + case OAuthErrorCode.consentRequired: + case OAuthErrorCode.interactionRequired: + case OAuthErrorCode.invalidRequestObject: + case OAuthErrorCode.invalidRequestUri: + case OAuthErrorCode.loginRequired: + case OAuthErrorCode.registrationUriNotSupported: + case OAuthErrorCode.requestNotSupported: + case OAuthErrorCode.requestUriNotSupported: + return 'An unknown error occurred.'; + } + throw ArgumentError('Invalid code: $this'); + } + + /// All [OAuthErrorCode] values. + static BuiltSet get values => _$values; + + /// The [OAuthErrorCode] value for [name]. + static OAuthErrorCode valueOf(String name) => _$valueOf(name); + + /// The [OAuthErrorCode] serializer. + static Serializer get serializer => + _$oAuthErrorCodeSerializer; +} + +/// {@template amplify_auth_cognito.oauth_parameters} +/// Query parameters of the OAuth redirect. +/// +/// [Reference](https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.2) +/// {@endtemplate} +abstract class OAuthParameters + implements Built { + /// {@macro amplify_auth_cognito.oauth_parameters} + factory OAuthParameters([void Function(OAuthParametersBuilder) updates]) = + _$OAuthParameters; + OAuthParameters._(); + + /// Parses [json] into an [OAuthParameters] object. + factory OAuthParameters.fromJson(Map json) { + json = json.map((key, value) { + return MapEntry( + key, + // On some platforms, these are still encoded at this point. + value is String ? Uri.decodeQueryComponent(value) : '', + ); + }); + return _serializers.deserializeWith(serializer, json)!; + } + + /// Parses OAuth parameters from a [uri]. + static OAuthParameters? fromUri(Uri uri) { + final parameters = {...uri.queryParameters}; + + // Handle fragment as well e.g. /#/auth?code=...&state=... + final fragment = uri.fragment; + final parts = fragment.split('?'); + if (parts.length == 2) { + parameters.addAll(Uri.splitQueryString(parts[1])); + } + + // Only a redirect if it contains this combination of parameters. + // https://www.rfc-editor.org/rfc/rfc6749#section-4.1.2 + // https://www.rfc-editor.org/rfc/rfc6749#section-4.1.3 + if (parameters.containsKey('state') && + (parameters.containsKey('code') || parameters.containsKey('error'))) { + return OAuthParameters.fromJson(parameters); + } + return null; + } + + @BuiltValueHook(finalizeBuilder: true) + static void _finalize(OAuthParametersBuilder b) { + if ((b.code == null && b.error == null) || b.state == null) { + throw Exception('Invalid OAuth response'); + } + } + + /// The exact state parameter received from the client. + /// + /// Required for all responses. + String get state; + + /// REQUIRED. The authorization code generated by the authorization server. + /// + /// The authorization code MUST expire shortly after it is issued to mitigate + /// the risk of leaks. A maximum authorization code lifetime of 10 minutes is + /// RECOMMENDED. The client MUST NOT use the authorization code more than + /// once. If an authorization code is used more than once, the authorization + /// server MUST deny the request and SHOULD revoke (when possible) all tokens + /// previously issued based on that authorization code. The authorization code + /// is bound to the client identifier and redirection URI. + String? get code; + + /// The error parameter. + /// + /// **Required** for error responses. + /// + /// [Reference](https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.2.1) + OAuthErrorCode? get error; + + /// The error_description parameter. + /// + /// **Optional** for error responses. + /// + /// [Reference](https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.2.1) + @BuiltValueField(wireName: 'error_description') + String? get errorDescription; + + /// The error_uri parameter. + /// + /// **Optional** for error responses. + /// + /// [Reference](https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.2.1) + @BuiltValueField(wireName: 'error_uri') + String? get errorUri; + + /// The [OAuthParameters] serializer. + static Serializer get serializer => + _$oAuthParametersSerializer; + + /// The JSON representation of `this`. + Map toJson() => + (_serializers.serializeWith(serializer, this) as Map).cast(); +} + +/// Serializers for OAuth flow parameters. +@SerializersFor([ + OAuthErrorCode, + OAuthParameters, +]) +final Serializers _serializers = + (_$_serializers.toBuilder()..addPlugin(StandardJsonPlugin())).build(); diff --git a/packages/celest_auth/lib/src/client/social/oauth_parameters.g.dart b/packages/celest_auth/lib/src/client/social/oauth_parameters.g.dart new file mode 100644 index 00000000..00e49467 --- /dev/null +++ b/packages/celest_auth/lib/src/client/social/oauth_parameters.g.dart @@ -0,0 +1,385 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'oauth_parameters.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +const OAuthErrorCode _$invalidRequest = + const OAuthErrorCode._('invalidRequest'); +const OAuthErrorCode _$unauthorizedClient = + const OAuthErrorCode._('unauthorizedClient'); +const OAuthErrorCode _$accessDenied = const OAuthErrorCode._('accessDenied'); +const OAuthErrorCode _$unsupportedResponseType = + const OAuthErrorCode._('unsupportedResponseType'); +const OAuthErrorCode _$invalidScope = const OAuthErrorCode._('invalidScope'); +const OAuthErrorCode _$serverError = const OAuthErrorCode._('serverError'); +const OAuthErrorCode _$temporarilyUnavailable = + const OAuthErrorCode._('temporarilyUnavailable'); +const OAuthErrorCode _$interactionRequired = + const OAuthErrorCode._('interactionRequired'); +const OAuthErrorCode _$loginRequired = const OAuthErrorCode._('loginRequired'); +const OAuthErrorCode _$accountSelectionRequired = + const OAuthErrorCode._('accountSelectionRequired'); +const OAuthErrorCode _$consentRequired = + const OAuthErrorCode._('consentRequired'); +const OAuthErrorCode _$invalidRequestUri = + const OAuthErrorCode._('invalidRequestUri'); +const OAuthErrorCode _$invalidRequestObject = + const OAuthErrorCode._('invalidRequestObject'); +const OAuthErrorCode _$requestNotSupported = + const OAuthErrorCode._('requestNotSupported'); +const OAuthErrorCode _$requestUriNotSupported = + const OAuthErrorCode._('requestUriNotSupported'); +const OAuthErrorCode _$registrationUriNotSupported = + const OAuthErrorCode._('registrationUriNotSupported'); + +OAuthErrorCode _$valueOf(String name) { + switch (name) { + case 'invalidRequest': + return _$invalidRequest; + case 'unauthorizedClient': + return _$unauthorizedClient; + case 'accessDenied': + return _$accessDenied; + case 'unsupportedResponseType': + return _$unsupportedResponseType; + case 'invalidScope': + return _$invalidScope; + case 'serverError': + return _$serverError; + case 'temporarilyUnavailable': + return _$temporarilyUnavailable; + case 'interactionRequired': + return _$interactionRequired; + case 'loginRequired': + return _$loginRequired; + case 'accountSelectionRequired': + return _$accountSelectionRequired; + case 'consentRequired': + return _$consentRequired; + case 'invalidRequestUri': + return _$invalidRequestUri; + case 'invalidRequestObject': + return _$invalidRequestObject; + case 'requestNotSupported': + return _$requestNotSupported; + case 'requestUriNotSupported': + return _$requestUriNotSupported; + case 'registrationUriNotSupported': + return _$registrationUriNotSupported; + default: + throw new ArgumentError(name); + } +} + +final BuiltSet _$values = + new BuiltSet(const [ + _$invalidRequest, + _$unauthorizedClient, + _$accessDenied, + _$unsupportedResponseType, + _$invalidScope, + _$serverError, + _$temporarilyUnavailable, + _$interactionRequired, + _$loginRequired, + _$accountSelectionRequired, + _$consentRequired, + _$invalidRequestUri, + _$invalidRequestObject, + _$requestNotSupported, + _$requestUriNotSupported, + _$registrationUriNotSupported, +]); + +Serializers _$_serializers = (new Serializers().toBuilder() + ..add(OAuthErrorCode.serializer) + ..add(OAuthParameters.serializer)) + .build(); +Serializer _$oAuthErrorCodeSerializer = + new _$OAuthErrorCodeSerializer(); +Serializer _$oAuthParametersSerializer = + new _$OAuthParametersSerializer(); + +class _$OAuthErrorCodeSerializer + implements PrimitiveSerializer { + static const Map _toWire = const { + 'invalidRequest': 'invalid_request', + 'unauthorizedClient': 'unauthorized_client', + 'accessDenied': 'access_denied', + 'unsupportedResponseType': 'unsupported_response_type', + 'invalidScope': 'invalid_scope', + 'serverError': 'server_error', + 'temporarilyUnavailable': 'temporarily_unavailable', + 'interactionRequired': 'interaction_required', + 'loginRequired': 'login_required', + 'accountSelectionRequired': 'account_selection_required', + 'consentRequired': 'consent_required', + 'invalidRequestUri': 'invalid_request_uri', + 'invalidRequestObject': 'invalid_request_object', + 'requestNotSupported': 'request_not_supported', + 'requestUriNotSupported': 'request_uri_not_supported', + 'registrationUriNotSupported': 'registration_uri_not_supported', + }; + static const Map _fromWire = const { + 'invalid_request': 'invalidRequest', + 'unauthorized_client': 'unauthorizedClient', + 'access_denied': 'accessDenied', + 'unsupported_response_type': 'unsupportedResponseType', + 'invalid_scope': 'invalidScope', + 'server_error': 'serverError', + 'temporarily_unavailable': 'temporarilyUnavailable', + 'interaction_required': 'interactionRequired', + 'login_required': 'loginRequired', + 'account_selection_required': 'accountSelectionRequired', + 'consent_required': 'consentRequired', + 'invalid_request_uri': 'invalidRequestUri', + 'invalid_request_object': 'invalidRequestObject', + 'request_not_supported': 'requestNotSupported', + 'request_uri_not_supported': 'requestUriNotSupported', + 'registration_uri_not_supported': 'registrationUriNotSupported', + }; + + @override + final Iterable types = const [OAuthErrorCode]; + @override + final String wireName = 'OAuthErrorCode'; + + @override + Object serialize(Serializers serializers, OAuthErrorCode object, + {FullType specifiedType = FullType.unspecified}) => + _toWire[object.name] ?? object.name; + + @override + OAuthErrorCode deserialize(Serializers serializers, Object serialized, + {FullType specifiedType = FullType.unspecified}) => + OAuthErrorCode.valueOf( + _fromWire[serialized] ?? (serialized is String ? serialized : '')); +} + +class _$OAuthParametersSerializer + implements StructuredSerializer { + @override + final Iterable types = const [OAuthParameters, _$OAuthParameters]; + @override + final String wireName = 'OAuthParameters'; + + @override + Iterable serialize(Serializers serializers, OAuthParameters object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + 'state', + serializers.serialize(object.state, + specifiedType: const FullType(String)), + ]; + Object? value; + value = object.code; + if (value != null) { + result + ..add('code') + ..add(serializers.serialize(value, + specifiedType: const FullType(String))); + } + value = object.error; + if (value != null) { + result + ..add('error') + ..add(serializers.serialize(value, + specifiedType: const FullType(OAuthErrorCode))); + } + value = object.errorDescription; + if (value != null) { + result + ..add('error_description') + ..add(serializers.serialize(value, + specifiedType: const FullType(String))); + } + value = object.errorUri; + if (value != null) { + result + ..add('error_uri') + ..add(serializers.serialize(value, + specifiedType: const FullType(String))); + } + return result; + } + + @override + OAuthParameters deserialize( + Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = new OAuthParametersBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case 'state': + result.state = serializers.deserialize(value, + specifiedType: const FullType(String))! as String; + break; + case 'code': + result.code = serializers.deserialize(value, + specifiedType: const FullType(String)) as String?; + break; + case 'error': + result.error = serializers.deserialize(value, + specifiedType: const FullType(OAuthErrorCode)) as OAuthErrorCode?; + break; + case 'error_description': + result.errorDescription = serializers.deserialize(value, + specifiedType: const FullType(String)) as String?; + break; + case 'error_uri': + result.errorUri = serializers.deserialize(value, + specifiedType: const FullType(String)) as String?; + break; + } + } + + return result.build(); + } +} + +class _$OAuthParameters extends OAuthParameters { + @override + final String state; + @override + final String? code; + @override + final OAuthErrorCode? error; + @override + final String? errorDescription; + @override + final String? errorUri; + + factory _$OAuthParameters([void Function(OAuthParametersBuilder)? updates]) => + (new OAuthParametersBuilder()..update(updates))._build(); + + _$OAuthParameters._( + {required this.state, + this.code, + this.error, + this.errorDescription, + this.errorUri}) + : super._() { + BuiltValueNullFieldError.checkNotNull(state, r'OAuthParameters', 'state'); + } + + @override + OAuthParameters rebuild(void Function(OAuthParametersBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + OAuthParametersBuilder toBuilder() => + new OAuthParametersBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is OAuthParameters && + state == other.state && + code == other.code && + error == other.error && + errorDescription == other.errorDescription && + errorUri == other.errorUri; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, state.hashCode); + _$hash = $jc(_$hash, code.hashCode); + _$hash = $jc(_$hash, error.hashCode); + _$hash = $jc(_$hash, errorDescription.hashCode); + _$hash = $jc(_$hash, errorUri.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } + + @override + String toString() { + return (newBuiltValueToStringHelper(r'OAuthParameters') + ..add('state', state) + ..add('code', code) + ..add('error', error) + ..add('errorDescription', errorDescription) + ..add('errorUri', errorUri)) + .toString(); + } +} + +class OAuthParametersBuilder + implements Builder { + _$OAuthParameters? _$v; + + String? _state; + String? get state => _$this._state; + set state(String? state) => _$this._state = state; + + String? _code; + String? get code => _$this._code; + set code(String? code) => _$this._code = code; + + OAuthErrorCode? _error; + OAuthErrorCode? get error => _$this._error; + set error(OAuthErrorCode? error) => _$this._error = error; + + String? _errorDescription; + String? get errorDescription => _$this._errorDescription; + set errorDescription(String? errorDescription) => + _$this._errorDescription = errorDescription; + + String? _errorUri; + String? get errorUri => _$this._errorUri; + set errorUri(String? errorUri) => _$this._errorUri = errorUri; + + OAuthParametersBuilder(); + + OAuthParametersBuilder get _$this { + final $v = _$v; + if ($v != null) { + _state = $v.state; + _code = $v.code; + _error = $v.error; + _errorDescription = $v.errorDescription; + _errorUri = $v.errorUri; + _$v = null; + } + return this; + } + + @override + void replace(OAuthParameters other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$OAuthParameters; + } + + @override + void update(void Function(OAuthParametersBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + OAuthParameters build() => _build(); + + _$OAuthParameters _build() { + OAuthParameters._finalize(this); + final _$result = _$v ?? + new _$OAuthParameters._( + state: BuiltValueNullFieldError.checkNotNull( + state, r'OAuthParameters', 'state'), + code: code, + error: error, + errorDescription: errorDescription, + errorUri: errorUri); + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/packages/celest_auth/lib/src/platform/android/jni_bindings.ffi.dart b/packages/celest_auth/lib/src/platform/android/jni_bindings.ffi.dart new file mode 100644 index 00000000..9ae7b6ad --- /dev/null +++ b/packages/celest_auth/lib/src/platform/android/jni_bindings.ffi.dart @@ -0,0 +1,28827 @@ +// Autogenerated by jnigen. DO NOT EDIT! + +// ignore_for_file: annotate_overrides +// ignore_for_file: camel_case_extensions +// ignore_for_file: camel_case_types +// ignore_for_file: constant_identifier_names +// ignore_for_file: file_names +// ignore_for_file: lines_longer_than_80_chars +// ignore_for_file: no_leading_underscores_for_local_identifiers +// ignore_for_file: non_constant_identifier_names +// ignore_for_file: overridden_fields +// ignore_for_file: unnecessary_cast +// ignore_for_file: unused_element +// ignore_for_file: unused_field +// ignore_for_file: unused_import +// ignore_for_file: unused_local_variable +// ignore_for_file: unused_shown_name + +import "dart:isolate" show ReceivePort; +import "dart:ffi" as ffi; +import "package:jni/internal_helpers_for_jnigen.dart"; +import "package:jni/jni.dart" as jni; + +/// from: android.net.Uri$Builder +class Uri_Builder extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Uri_Builder.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"android/net/Uri$Builder"); + + /// The type which includes information such as the signature of this class. + static const type = $Uri_BuilderType(); + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory Uri_Builder() { + return Uri_Builder.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_scheme = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"scheme", r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); + + /// from: public android.net.Uri$Builder scheme(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Uri_Builder scheme( + jni.JString string, + ) { + return const $Uri_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_scheme, jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_opaquePart = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"opaquePart", + r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); + + /// from: public android.net.Uri$Builder opaquePart(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Uri_Builder opaquePart( + jni.JString string, + ) { + return const $Uri_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_opaquePart, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_encodedOpaquePart = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"encodedOpaquePart", + r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); + + /// from: public android.net.Uri$Builder encodedOpaquePart(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Uri_Builder encodedOpaquePart( + jni.JString string, + ) { + return const $Uri_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_encodedOpaquePart, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_authority = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"authority", r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); + + /// from: public android.net.Uri$Builder authority(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Uri_Builder authority( + jni.JString string, + ) { + return const $Uri_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_authority, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_encodedAuthority = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"encodedAuthority", + r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); + + /// from: public android.net.Uri$Builder encodedAuthority(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Uri_Builder encodedAuthority( + jni.JString string, + ) { + return const $Uri_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_encodedAuthority, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_path = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"path", r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); + + /// from: public android.net.Uri$Builder path(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Uri_Builder path( + jni.JString string, + ) { + return const $Uri_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_path, jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_encodedPath = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"encodedPath", + r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); + + /// from: public android.net.Uri$Builder encodedPath(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Uri_Builder encodedPath( + jni.JString string, + ) { + return const $Uri_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_encodedPath, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_appendPath = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"appendPath", + r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); + + /// from: public android.net.Uri$Builder appendPath(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Uri_Builder appendPath( + jni.JString string, + ) { + return const $Uri_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_appendPath, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_appendEncodedPath = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"appendEncodedPath", + r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); + + /// from: public android.net.Uri$Builder appendEncodedPath(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Uri_Builder appendEncodedPath( + jni.JString string, + ) { + return const $Uri_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_appendEncodedPath, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_query = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"query", r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); + + /// from: public android.net.Uri$Builder query(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Uri_Builder query( + jni.JString string, + ) { + return const $Uri_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_query, jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_encodedQuery = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"encodedQuery", + r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); + + /// from: public android.net.Uri$Builder encodedQuery(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Uri_Builder encodedQuery( + jni.JString string, + ) { + return const $Uri_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_encodedQuery, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_fragment = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"fragment", r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); + + /// from: public android.net.Uri$Builder fragment(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Uri_Builder fragment( + jni.JString string, + ) { + return const $Uri_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_fragment, jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_encodedFragment = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"encodedFragment", + r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); + + /// from: public android.net.Uri$Builder encodedFragment(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Uri_Builder encodedFragment( + jni.JString string, + ) { + return const $Uri_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_encodedFragment, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_appendQueryParameter = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"appendQueryParameter", + r"(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$Builder;"); + + /// from: public android.net.Uri$Builder appendQueryParameter(java.lang.String string, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + Uri_Builder appendQueryParameter( + jni.JString string, + jni.JString string1, + ) { + return const $Uri_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_appendQueryParameter, + jni.JniCallType.objectType, + [string.reference, string1.reference]).object); + } + + static final _id_clearQuery = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"clearQuery", r"()Landroid/net/Uri$Builder;"); + + /// from: public android.net.Uri$Builder clearQuery() + /// The returned object must be released after use, by calling the [release] method. + Uri_Builder clearQuery() { + return const $Uri_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, _id_clearQuery, jni.JniCallType.objectType, []).object); + } + + static final _id_build = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"build", r"()Landroid/net/Uri;"); + + /// from: public android.net.Uri build() + /// The returned object must be released after use, by calling the [release] method. + Uri build() { + return const $UriType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_build, jni.JniCallType.objectType, []).object); + } + + static final _id_toString1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"toString", r"()Ljava/lang/String;"); + + /// from: public java.lang.String toString() + /// The returned object must be released after use, by calling the [release] method. + jni.JString toString1() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_toString1, jni.JniCallType.objectType, []).object); + } +} + +final class $Uri_BuilderType extends jni.JObjType { + const $Uri_BuilderType(); + + @override + String get signature => r"Landroid/net/Uri$Builder;"; + + @override + Uri_Builder fromRef(jni.JObjectPtr ref) => Uri_Builder.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($Uri_BuilderType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($Uri_BuilderType) && other is $Uri_BuilderType; + } +} + +/// from: android.net.Uri +class Uri extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Uri.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"android/net/Uri"); + + /// The type which includes information such as the signature of this class. + static const type = $UriType(); + static final _id_CREATOR = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"CREATOR", + r"Landroid/os/Parcelable$Creator;", + ); + + /// from: static public final android.os.Parcelable$Creator CREATOR + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject get CREATOR => const jni.JObjectType().fromRef(jni + .Jni.accessors + .getStaticField(_class.reference, _id_CREATOR, jni.JniCallType.objectType) + .object); + + static final _id_EMPTY = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"EMPTY", + r"Landroid/net/Uri;", + ); + + /// from: static public final android.net.Uri EMPTY + /// The returned object must be released after use, by calling the [release] method. + static Uri get EMPTY => const $UriType().fromRef(jni.Jni.accessors + .getStaticField(_class.reference, _id_EMPTY, jni.JniCallType.objectType) + .object); + + static final _id_isHierarchical = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isHierarchical", r"()Z"); + + /// from: public abstract boolean isHierarchical() + bool isHierarchical() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isHierarchical, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_isOpaque = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isOpaque", r"()Z"); + + /// from: public boolean isOpaque() + bool isOpaque() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isOpaque, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_isRelative = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isRelative", r"()Z"); + + /// from: public abstract boolean isRelative() + bool isRelative() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isRelative, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_isAbsolute = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isAbsolute", r"()Z"); + + /// from: public boolean isAbsolute() + bool isAbsolute() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isAbsolute, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_getScheme = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getScheme", r"()Ljava/lang/String;"); + + /// from: public abstract java.lang.String getScheme() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getScheme() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getScheme, jni.JniCallType.objectType, []).object); + } + + static final _id_getSchemeSpecificPart = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getSchemeSpecificPart", r"()Ljava/lang/String;"); + + /// from: public abstract java.lang.String getSchemeSpecificPart() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getSchemeSpecificPart() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getSchemeSpecificPart, + jni.JniCallType.objectType, []).object); + } + + static final _id_getEncodedSchemeSpecificPart = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getEncodedSchemeSpecificPart", + r"()Ljava/lang/String;"); + + /// from: public abstract java.lang.String getEncodedSchemeSpecificPart() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getEncodedSchemeSpecificPart() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getEncodedSchemeSpecificPart, + jni.JniCallType.objectType, []).object); + } + + static final _id_getAuthority = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getAuthority", r"()Ljava/lang/String;"); + + /// from: public abstract java.lang.String getAuthority() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getAuthority() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getAuthority, jni.JniCallType.objectType, []).object); + } + + static final _id_getEncodedAuthority = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getEncodedAuthority", r"()Ljava/lang/String;"); + + /// from: public abstract java.lang.String getEncodedAuthority() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getEncodedAuthority() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getEncodedAuthority, + jni.JniCallType.objectType, []).object); + } + + static final _id_getUserInfo = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getUserInfo", r"()Ljava/lang/String;"); + + /// from: public abstract java.lang.String getUserInfo() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getUserInfo() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getUserInfo, jni.JniCallType.objectType, []).object); + } + + static final _id_getEncodedUserInfo = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getEncodedUserInfo", r"()Ljava/lang/String;"); + + /// from: public abstract java.lang.String getEncodedUserInfo() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getEncodedUserInfo() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getEncodedUserInfo, + jni.JniCallType.objectType, []).object); + } + + static final _id_getHost = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getHost", r"()Ljava/lang/String;"); + + /// from: public abstract java.lang.String getHost() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getHost() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getHost, jni.JniCallType.objectType, []).object); + } + + static final _id_getPort = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"getPort", r"()I"); + + /// from: public abstract int getPort() + int getPort() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getPort, jni.JniCallType.intType, []).integer; + } + + static final _id_getPath = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getPath", r"()Ljava/lang/String;"); + + /// from: public abstract java.lang.String getPath() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getPath() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getPath, jni.JniCallType.objectType, []).object); + } + + static final _id_getEncodedPath = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getEncodedPath", r"()Ljava/lang/String;"); + + /// from: public abstract java.lang.String getEncodedPath() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getEncodedPath() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getEncodedPath, jni.JniCallType.objectType, []).object); + } + + static final _id_getQuery = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getQuery", r"()Ljava/lang/String;"); + + /// from: public abstract java.lang.String getQuery() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getQuery() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getQuery, jni.JniCallType.objectType, []).object); + } + + static final _id_getEncodedQuery = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getEncodedQuery", r"()Ljava/lang/String;"); + + /// from: public abstract java.lang.String getEncodedQuery() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getEncodedQuery() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getEncodedQuery, jni.JniCallType.objectType, []).object); + } + + static final _id_getFragment = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getFragment", r"()Ljava/lang/String;"); + + /// from: public abstract java.lang.String getFragment() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getFragment() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getFragment, jni.JniCallType.objectType, []).object); + } + + static final _id_getEncodedFragment = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getEncodedFragment", r"()Ljava/lang/String;"); + + /// from: public abstract java.lang.String getEncodedFragment() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getEncodedFragment() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getEncodedFragment, + jni.JniCallType.objectType, []).object); + } + + static final _id_getPathSegments = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getPathSegments", r"()Ljava/util/List;"); + + /// from: public abstract java.util.List getPathSegments() + /// The returned object must be released after use, by calling the [release] method. + jni.JList getPathSegments() { + return const jni.JListType(jni.JStringType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getPathSegments, + jni.JniCallType.objectType, []).object); + } + + static final _id_getLastPathSegment = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getLastPathSegment", r"()Ljava/lang/String;"); + + /// from: public abstract java.lang.String getLastPathSegment() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getLastPathSegment() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getLastPathSegment, + jni.JniCallType.objectType, []).object); + } + + static final _id_equals1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"equals", r"(Ljava/lang/Object;)Z"); + + /// from: public boolean equals(java.lang.Object object) + bool equals1( + jni.JObject object, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_equals1, + jni.JniCallType.booleanType, [object.reference]).boolean; + } + + static final _id_hashCode1 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"hashCode", r"()I"); + + /// from: public int hashCode() + int hashCode1() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_hashCode1, jni.JniCallType.intType, []).integer; + } + + static final _id_compareTo = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"compareTo", r"(Landroid/net/Uri;)I"); + + /// from: public int compareTo(android.net.Uri uri) + int compareTo( + Uri uri, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_compareTo, + jni.JniCallType.intType, [uri.reference]).integer; + } + + static final _id_toString1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"toString", r"()Ljava/lang/String;"); + + /// from: public abstract java.lang.String toString() + /// The returned object must be released after use, by calling the [release] method. + jni.JString toString1() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_toString1, jni.JniCallType.objectType, []).object); + } + + static final _id_buildUpon = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"buildUpon", r"()Landroid/net/Uri$Builder;"); + + /// from: public abstract android.net.Uri$Builder buildUpon() + /// The returned object must be released after use, by calling the [release] method. + Uri_Builder buildUpon() { + return const $Uri_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, _id_buildUpon, jni.JniCallType.objectType, []).object); + } + + static final _id_parse = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, r"parse", r"(Ljava/lang/String;)Landroid/net/Uri;"); + + /// from: static public android.net.Uri parse(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + static Uri parse( + jni.JString string, + ) { + return const $UriType().fromRef(jni.Jni.accessors.callStaticMethodWithArgs( + _class.reference, + _id_parse, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_fromFile = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, r"fromFile", r"(Ljava/io/File;)Landroid/net/Uri;"); + + /// from: static public android.net.Uri fromFile(java.io.File file) + /// The returned object must be released after use, by calling the [release] method. + static Uri fromFile( + jni.JObject file, + ) { + return const $UriType().fromRef(jni.Jni.accessors.callStaticMethodWithArgs( + _class.reference, + _id_fromFile, + jni.JniCallType.objectType, + [file.reference]).object); + } + + static final _id_fromParts = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"fromParts", + r"(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;"); + + /// from: static public android.net.Uri fromParts(java.lang.String string, java.lang.String string1, java.lang.String string2) + /// The returned object must be released after use, by calling the [release] method. + static Uri fromParts( + jni.JString string, + jni.JString string1, + jni.JString string2, + ) { + return const $UriType().fromRef(jni.Jni.accessors.callStaticMethodWithArgs( + _class.reference, + _id_fromParts, + jni.JniCallType.objectType, + [string.reference, string1.reference, string2.reference]).object); + } + + static final _id_getQueryParameterNames = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getQueryParameterNames", r"()Ljava/util/Set;"); + + /// from: public java.util.Set getQueryParameterNames() + /// The returned object must be released after use, by calling the [release] method. + jni.JSet getQueryParameterNames() { + return const jni.JSetType(jni.JStringType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getQueryParameterNames, + jni.JniCallType.objectType, []).object); + } + + static final _id_getQueryParameters = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getQueryParameters", + r"(Ljava/lang/String;)Ljava/util/List;"); + + /// from: public java.util.List getQueryParameters(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JList getQueryParameters( + jni.JString string, + ) { + return const jni.JListType(jni.JStringType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getQueryParameters, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getQueryParameter = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getQueryParameter", + r"(Ljava/lang/String;)Ljava/lang/String;"); + + /// from: public java.lang.String getQueryParameter(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JString getQueryParameter( + jni.JString string, + ) { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getQueryParameter, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getBooleanQueryParameter = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getBooleanQueryParameter", r"(Ljava/lang/String;Z)Z"); + + /// from: public boolean getBooleanQueryParameter(java.lang.String string, boolean z) + bool getBooleanQueryParameter( + jni.JString string, + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getBooleanQueryParameter, + jni.JniCallType.booleanType, + [string.reference, z ? 1 : 0]).boolean; + } + + static final _id_normalizeScheme = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"normalizeScheme", r"()Landroid/net/Uri;"); + + /// from: public android.net.Uri normalizeScheme() + /// The returned object must be released after use, by calling the [release] method. + Uri normalizeScheme() { + return const $UriType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_normalizeScheme, jni.JniCallType.objectType, []).object); + } + + static final _id_writeToParcel = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"writeToParcel", + r"(Landroid/os/Parcel;Landroid/net/Uri;)V"); + + /// from: static public void writeToParcel(android.os.Parcel parcel, android.net.Uri uri) + static void writeToParcel( + jni.JObject parcel, + Uri uri, + ) { + return jni.Jni.accessors.callStaticMethodWithArgs( + _class.reference, + _id_writeToParcel, + jni.JniCallType.voidType, + [parcel.reference, uri.reference]).check(); + } + + static final _id_encode = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, r"encode", r"(Ljava/lang/String;)Ljava/lang/String;"); + + /// from: static public java.lang.String encode(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + static jni.JString encode( + jni.JString string, + ) { + return const jni.JStringType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_encode, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_encode1 = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"encode", + r"(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"); + + /// from: static public java.lang.String encode(java.lang.String string, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + static jni.JString encode1( + jni.JString string, + jni.JString string1, + ) { + return const jni.JStringType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_encode1, + jni.JniCallType.objectType, + [string.reference, string1.reference]).object); + } + + static final _id_decode = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, r"decode", r"(Ljava/lang/String;)Ljava/lang/String;"); + + /// from: static public java.lang.String decode(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + static jni.JString decode( + jni.JString string, + ) { + return const jni.JStringType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_decode, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_withAppendedPath = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"withAppendedPath", + r"(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;"); + + /// from: static public android.net.Uri withAppendedPath(android.net.Uri uri, java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + static Uri withAppendedPath( + Uri uri, + jni.JString string, + ) { + return const $UriType().fromRef(jni.Jni.accessors.callStaticMethodWithArgs( + _class.reference, + _id_withAppendedPath, + jni.JniCallType.objectType, + [uri.reference, string.reference]).object); + } + + static final _id_compareTo1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"compareTo", r"(Ljava/lang/Object;)I"); + + /// from: public int compareTo(java.lang.Object object) + int compareTo1( + jni.JObject object, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_compareTo1, + jni.JniCallType.intType, [object.reference]).integer; + } +} + +final class $UriType extends jni.JObjType { + const $UriType(); + + @override + String get signature => r"Landroid/net/Uri;"; + + @override + Uri fromRef(jni.JObjectPtr ref) => Uri.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($UriType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($UriType) && other is $UriType; + } +} + +/// from: androidx.browser.customtabs.CustomTabsIntent$ActivityHeightResizeBehavior +class CustomTabsIntent_ActivityHeightResizeBehavior extends jni.JObject { + @override + late final jni.JObjType $type = + type; + + CustomTabsIntent_ActivityHeightResizeBehavior.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/browser/customtabs/CustomTabsIntent$ActivityHeightResizeBehavior"); + + /// The type which includes information such as the signature of this class. + static const type = $CustomTabsIntent_ActivityHeightResizeBehaviorType(); + + /// Maps a specific port to the implemented interface. + static final Map + _$impls = {}; + ReceivePort? _$p; + + static jni.JObjectPtr _$invoke( + int port, + jni.JObjectPtr descriptor, + jni.JObjectPtr args, + ) { + return _$invokeMethod( + port, + $MethodInvocation.fromAddresses( + 0, + descriptor.address, + args.address, + ), + ); + } + + static final ffi.Pointer< + ffi.NativeFunction< + jni.JObjectPtr Function( + ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> + _$invokePointer = ffi.Pointer.fromFunction(_$invoke); + + static ffi.Pointer _$invokeMethod( + int $p, + $MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + } catch (e) { + return ProtectedJniExtensions.newDartException(e.toString()); + } + return jni.nullptr; + } + + factory CustomTabsIntent_ActivityHeightResizeBehavior.implement( + $CustomTabsIntent_ActivityHeightResizeBehaviorImpl $impl, + ) { + final $p = ReceivePort(); + final $x = CustomTabsIntent_ActivityHeightResizeBehavior.fromRef( + ProtectedJniExtensions.newPortProxy( + r"androidx.browser.customtabs.CustomTabsIntent$ActivityHeightResizeBehavior", + $p, + _$invokePointer, + ), + ).._$p = $p; + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + $p.listen(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = $MethodInvocation.fromMessage($m as List); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + ProtectedJniExtensions.returnResult($i.result, $r); + }); + return $x; + } +} + +abstract class $CustomTabsIntent_ActivityHeightResizeBehaviorImpl { + factory $CustomTabsIntent_ActivityHeightResizeBehaviorImpl() = + _$CustomTabsIntent_ActivityHeightResizeBehaviorImpl; +} + +class _$CustomTabsIntent_ActivityHeightResizeBehaviorImpl + implements $CustomTabsIntent_ActivityHeightResizeBehaviorImpl { + _$CustomTabsIntent_ActivityHeightResizeBehaviorImpl(); +} + +final class $CustomTabsIntent_ActivityHeightResizeBehaviorType + extends jni.JObjType { + const $CustomTabsIntent_ActivityHeightResizeBehaviorType(); + + @override + String get signature => + r"Landroidx/browser/customtabs/CustomTabsIntent$ActivityHeightResizeBehavior;"; + + @override + CustomTabsIntent_ActivityHeightResizeBehavior fromRef(jni.JObjectPtr ref) => + CustomTabsIntent_ActivityHeightResizeBehavior.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => + ($CustomTabsIntent_ActivityHeightResizeBehaviorType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($CustomTabsIntent_ActivityHeightResizeBehaviorType) && + other is $CustomTabsIntent_ActivityHeightResizeBehaviorType; + } +} + +/// from: androidx.browser.customtabs.CustomTabsIntent$Builder +class CustomTabsIntent_Builder extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CustomTabsIntent_Builder.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/browser/customtabs/CustomTabsIntent$Builder"); + + /// The type which includes information such as the signature of this class. + static const type = $CustomTabsIntent_BuilderType(); + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory CustomTabsIntent_Builder() { + return CustomTabsIntent_Builder.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_new1 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Landroidx/browser/customtabs/CustomTabsSession;)V"); + + /// from: public void (androidx.browser.customtabs.CustomTabsSession customTabsSession) + /// The returned object must be released after use, by calling the [release] method. + factory CustomTabsIntent_Builder.new1( + jni.JObject customTabsSession, + ) { + return CustomTabsIntent_Builder.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new1, [customTabsSession.reference]).object); + } + + static final _id_setSession = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setSession", + r"(Landroidx/browser/customtabs/CustomTabsSession;)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setSession(androidx.browser.customtabs.CustomTabsSession customTabsSession) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setSession( + jni.JObject customTabsSession, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setSession, + jni.JniCallType.objectType, [customTabsSession.reference]).object); + } + + static final _id_setPendingSession = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setPendingSession", + r"(Landroidx/browser/customtabs/CustomTabsSession$PendingSession;)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setPendingSession(androidx.browser.customtabs.CustomTabsSession$PendingSession pendingSession) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setPendingSession( + jni.JObject pendingSession, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setPendingSession, + jni.JniCallType.objectType, [pendingSession.reference]).object); + } + + static final _id_setToolbarColor = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setToolbarColor", + r"(I)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setToolbarColor(int i) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setToolbarColor( + int i, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setToolbarColor, + jni.JniCallType.objectType, [jni.JValueInt(i)]).object); + } + + static final _id_enableUrlBarHiding = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"enableUrlBarHiding", + r"()Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder enableUrlBarHiding() + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder enableUrlBarHiding() { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_enableUrlBarHiding, + jni.JniCallType.objectType, []).object); + } + + static final _id_setUrlBarHidingEnabled = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setUrlBarHidingEnabled", + r"(Z)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setUrlBarHidingEnabled(boolean z) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setUrlBarHidingEnabled( + bool z, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setUrlBarHidingEnabled, + jni.JniCallType.objectType, [z ? 1 : 0]).object); + } + + static final _id_setCloseButtonIcon = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setCloseButtonIcon", + r"(Landroid/graphics/Bitmap;)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setCloseButtonIcon(android.graphics.Bitmap bitmap) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setCloseButtonIcon( + jni.JObject bitmap, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setCloseButtonIcon, + jni.JniCallType.objectType, [bitmap.reference]).object); + } + + static final _id_setShowTitle = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setShowTitle", + r"(Z)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setShowTitle(boolean z) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setShowTitle( + bool z, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setShowTitle, + jni.JniCallType.objectType, [z ? 1 : 0]).object); + } + + static final _id_addMenuItem = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addMenuItem", + r"(Ljava/lang/String;Landroid/app/PendingIntent;)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder addMenuItem(java.lang.String string, android.app.PendingIntent pendingIntent) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder addMenuItem( + jni.JString string, + jni.JObject pendingIntent, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_addMenuItem, + jni.JniCallType.objectType, + [string.reference, pendingIntent.reference]).object); + } + + static final _id_addDefaultShareMenuItem = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addDefaultShareMenuItem", + r"()Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder addDefaultShareMenuItem() + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder addDefaultShareMenuItem() { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_addDefaultShareMenuItem, + jni.JniCallType.objectType, []).object); + } + + static final _id_setDefaultShareMenuItemEnabled = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setDefaultShareMenuItemEnabled", + r"(Z)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setDefaultShareMenuItemEnabled(boolean z) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setDefaultShareMenuItemEnabled( + bool z, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setDefaultShareMenuItemEnabled, + jni.JniCallType.objectType, [z ? 1 : 0]).object); + } + + static final _id_setShareState = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setShareState", + r"(I)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setShareState(int i) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setShareState( + int i, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setShareState, + jni.JniCallType.objectType, [jni.JValueInt(i)]).object); + } + + static final _id_setActionButton = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setActionButton", + r"(Landroid/graphics/Bitmap;Ljava/lang/String;Landroid/app/PendingIntent;Z)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setActionButton(android.graphics.Bitmap bitmap, java.lang.String string, android.app.PendingIntent pendingIntent, boolean z) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setActionButton( + jni.JObject bitmap, + jni.JString string, + jni.JObject pendingIntent, + bool z, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, _id_setActionButton, jni.JniCallType.objectType, [ + bitmap.reference, + string.reference, + pendingIntent.reference, + z ? 1 : 0 + ]).object); + } + + static final _id_setActionButton1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setActionButton", + r"(Landroid/graphics/Bitmap;Ljava/lang/String;Landroid/app/PendingIntent;)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setActionButton(android.graphics.Bitmap bitmap, java.lang.String string, android.app.PendingIntent pendingIntent) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setActionButton1( + jni.JObject bitmap, + jni.JString string, + jni.JObject pendingIntent, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, _id_setActionButton1, jni.JniCallType.objectType, [ + bitmap.reference, + string.reference, + pendingIntent.reference + ]).object); + } + + static final _id_addToolbarItem = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addToolbarItem", + r"(ILandroid/graphics/Bitmap;Ljava/lang/String;Landroid/app/PendingIntent;)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder addToolbarItem(int i, android.graphics.Bitmap bitmap, java.lang.String string, android.app.PendingIntent pendingIntent) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder addToolbarItem( + int i, + jni.JObject bitmap, + jni.JString string, + jni.JObject pendingIntent, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, _id_addToolbarItem, jni.JniCallType.objectType, [ + jni.JValueInt(i), + bitmap.reference, + string.reference, + pendingIntent.reference + ]).object); + } + + static final _id_setSecondaryToolbarColor = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setSecondaryToolbarColor", + r"(I)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setSecondaryToolbarColor(int i) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setSecondaryToolbarColor( + int i, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setSecondaryToolbarColor, + jni.JniCallType.objectType, [jni.JValueInt(i)]).object); + } + + static final _id_setNavigationBarColor = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setNavigationBarColor", + r"(I)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setNavigationBarColor(int i) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setNavigationBarColor( + int i, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setNavigationBarColor, + jni.JniCallType.objectType, [jni.JValueInt(i)]).object); + } + + static final _id_setNavigationBarDividerColor = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setNavigationBarDividerColor", + r"(I)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setNavigationBarDividerColor(int i) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setNavigationBarDividerColor( + int i, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setNavigationBarDividerColor, + jni.JniCallType.objectType, [jni.JValueInt(i)]).object); + } + + static final _id_setSecondaryToolbarViews = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setSecondaryToolbarViews", + r"(Landroid/widget/RemoteViews;[ILandroid/app/PendingIntent;)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setSecondaryToolbarViews(android.widget.RemoteViews remoteViews, int[] is, android.app.PendingIntent pendingIntent) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setSecondaryToolbarViews( + jni.JObject remoteViews, + jni.JArray is0, + jni.JObject pendingIntent, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setSecondaryToolbarViews, + jni.JniCallType.objectType, [ + remoteViews.reference, + is0.reference, + pendingIntent.reference + ]).object); + } + + static final _id_setSecondaryToolbarSwipeUpGesture = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setSecondaryToolbarSwipeUpGesture", + r"(Landroid/app/PendingIntent;)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setSecondaryToolbarSwipeUpGesture(android.app.PendingIntent pendingIntent) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setSecondaryToolbarSwipeUpGesture( + jni.JObject pendingIntent, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setSecondaryToolbarSwipeUpGesture, + jni.JniCallType.objectType, [pendingIntent.reference]).object); + } + + static final _id_setInstantAppsEnabled = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setInstantAppsEnabled", + r"(Z)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setInstantAppsEnabled(boolean z) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setInstantAppsEnabled( + bool z, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setInstantAppsEnabled, + jni.JniCallType.objectType, [z ? 1 : 0]).object); + } + + static final _id_setStartAnimations = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setStartAnimations", + r"(Landroid/content/Context;II)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setStartAnimations(android.content.Context context, int i, int i1) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setStartAnimations( + Context context, + int i, + int i1, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_setStartAnimations, + jni.JniCallType.objectType, + [context.reference, jni.JValueInt(i), jni.JValueInt(i1)]).object); + } + + static final _id_setExitAnimations = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setExitAnimations", + r"(Landroid/content/Context;II)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setExitAnimations(android.content.Context context, int i, int i1) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setExitAnimations( + Context context, + int i, + int i1, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_setExitAnimations, + jni.JniCallType.objectType, + [context.reference, jni.JValueInt(i), jni.JValueInt(i1)]).object); + } + + static final _id_setColorScheme = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setColorScheme", + r"(I)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setColorScheme(int i) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setColorScheme( + int i, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setColorScheme, + jni.JniCallType.objectType, [jni.JValueInt(i)]).object); + } + + static final _id_setColorSchemeParams = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setColorSchemeParams", + r"(ILandroidx/browser/customtabs/CustomTabColorSchemeParams;)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setColorSchemeParams(int i, androidx.browser.customtabs.CustomTabColorSchemeParams customTabColorSchemeParams) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setColorSchemeParams( + int i, + jni.JObject customTabColorSchemeParams, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_setColorSchemeParams, + jni.JniCallType.objectType, + [jni.JValueInt(i), customTabColorSchemeParams.reference]).object); + } + + static final _id_setDefaultColorSchemeParams = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setDefaultColorSchemeParams", + r"(Landroidx/browser/customtabs/CustomTabColorSchemeParams;)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setDefaultColorSchemeParams(androidx.browser.customtabs.CustomTabColorSchemeParams customTabColorSchemeParams) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setDefaultColorSchemeParams( + jni.JObject customTabColorSchemeParams, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_setDefaultColorSchemeParams, + jni.JniCallType.objectType, + [customTabColorSchemeParams.reference]).object); + } + + static final _id_setInitialActivityHeightPx = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setInitialActivityHeightPx", + r"(II)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setInitialActivityHeightPx(int i, int i1) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setInitialActivityHeightPx( + int i, + int i1, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_setInitialActivityHeightPx, + jni.JniCallType.objectType, + [jni.JValueInt(i), jni.JValueInt(i1)]).object); + } + + static final _id_setInitialActivityHeightPx1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setInitialActivityHeightPx", + r"(I)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setInitialActivityHeightPx(int i) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setInitialActivityHeightPx1( + int i, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setInitialActivityHeightPx1, + jni.JniCallType.objectType, [jni.JValueInt(i)]).object); + } + + static final _id_setToolbarCornerRadiusDp = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setToolbarCornerRadiusDp", + r"(I)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setToolbarCornerRadiusDp(int i) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setToolbarCornerRadiusDp( + int i, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setToolbarCornerRadiusDp, + jni.JniCallType.objectType, [jni.JValueInt(i)]).object); + } + + static final _id_setCloseButtonPosition = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setCloseButtonPosition", + r"(I)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setCloseButtonPosition(int i) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setCloseButtonPosition( + int i, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setCloseButtonPosition, + jni.JniCallType.objectType, [jni.JValueInt(i)]).object); + } + + static final _id_setBookmarksButtonEnabled = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setBookmarksButtonEnabled", + r"(Z)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setBookmarksButtonEnabled(boolean z) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setBookmarksButtonEnabled( + bool z, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setBookmarksButtonEnabled, + jni.JniCallType.objectType, [z ? 1 : 0]).object); + } + + static final _id_setDownloadButtonEnabled = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setDownloadButtonEnabled", + r"(Z)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setDownloadButtonEnabled(boolean z) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setDownloadButtonEnabled( + bool z, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setDownloadButtonEnabled, + jni.JniCallType.objectType, [z ? 1 : 0]).object); + } + + static final _id_setSendToExternalDefaultHandlerEnabled = jni.Jni.accessors + .getMethodIDOf( + _class.reference, + r"setSendToExternalDefaultHandlerEnabled", + r"(Z)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setSendToExternalDefaultHandlerEnabled(boolean z) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setSendToExternalDefaultHandlerEnabled( + bool z, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_setSendToExternalDefaultHandlerEnabled, + jni.JniCallType.objectType, + [z ? 1 : 0]).object); + } + + static final _id_setTranslateLocale = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setTranslateLocale", + r"(Ljava/util/Locale;)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setTranslateLocale(java.util.Locale locale) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setTranslateLocale( + jni.JObject locale, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setTranslateLocale, + jni.JniCallType.objectType, [locale.reference]).object); + } + + static final _id_setBackgroundInteractionEnabled = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setBackgroundInteractionEnabled", + r"(Z)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setBackgroundInteractionEnabled(boolean z) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setBackgroundInteractionEnabled( + bool z, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setBackgroundInteractionEnabled, + jni.JniCallType.objectType, [z ? 1 : 0]).object); + } + + static final _id_setShareIdentityEnabled = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setShareIdentityEnabled", + r"(Z)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setShareIdentityEnabled(boolean z) + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent_Builder setShareIdentityEnabled( + bool z, + ) { + return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setShareIdentityEnabled, + jni.JniCallType.objectType, [z ? 1 : 0]).object); + } + + static final _id_build = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"build", r"()Landroidx/browser/customtabs/CustomTabsIntent;"); + + /// from: public androidx.browser.customtabs.CustomTabsIntent build() + /// The returned object must be released after use, by calling the [release] method. + CustomTabsIntent build() { + return const $CustomTabsIntentType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, _id_build, jni.JniCallType.objectType, []).object); + } +} + +final class $CustomTabsIntent_BuilderType + extends jni.JObjType { + const $CustomTabsIntent_BuilderType(); + + @override + String get signature => + r"Landroidx/browser/customtabs/CustomTabsIntent$Builder;"; + + @override + CustomTabsIntent_Builder fromRef(jni.JObjectPtr ref) => + CustomTabsIntent_Builder.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CustomTabsIntent_BuilderType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CustomTabsIntent_BuilderType) && + other is $CustomTabsIntent_BuilderType; + } +} + +/// from: androidx.browser.customtabs.CustomTabsIntent$CloseButtonPosition +class CustomTabsIntent_CloseButtonPosition extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CustomTabsIntent_CloseButtonPosition.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/browser/customtabs/CustomTabsIntent$CloseButtonPosition"); + + /// The type which includes information such as the signature of this class. + static const type = $CustomTabsIntent_CloseButtonPositionType(); + + /// Maps a specific port to the implemented interface. + static final Map _$impls = {}; + ReceivePort? _$p; + + static jni.JObjectPtr _$invoke( + int port, + jni.JObjectPtr descriptor, + jni.JObjectPtr args, + ) { + return _$invokeMethod( + port, + $MethodInvocation.fromAddresses( + 0, + descriptor.address, + args.address, + ), + ); + } + + static final ffi.Pointer< + ffi.NativeFunction< + jni.JObjectPtr Function( + ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> + _$invokePointer = ffi.Pointer.fromFunction(_$invoke); + + static ffi.Pointer _$invokeMethod( + int $p, + $MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + } catch (e) { + return ProtectedJniExtensions.newDartException(e.toString()); + } + return jni.nullptr; + } + + factory CustomTabsIntent_CloseButtonPosition.implement( + $CustomTabsIntent_CloseButtonPositionImpl $impl, + ) { + final $p = ReceivePort(); + final $x = CustomTabsIntent_CloseButtonPosition.fromRef( + ProtectedJniExtensions.newPortProxy( + r"androidx.browser.customtabs.CustomTabsIntent$CloseButtonPosition", + $p, + _$invokePointer, + ), + ).._$p = $p; + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + $p.listen(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = $MethodInvocation.fromMessage($m as List); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + ProtectedJniExtensions.returnResult($i.result, $r); + }); + return $x; + } +} + +abstract class $CustomTabsIntent_CloseButtonPositionImpl { + factory $CustomTabsIntent_CloseButtonPositionImpl() = + _$CustomTabsIntent_CloseButtonPositionImpl; +} + +class _$CustomTabsIntent_CloseButtonPositionImpl + implements $CustomTabsIntent_CloseButtonPositionImpl { + _$CustomTabsIntent_CloseButtonPositionImpl(); +} + +final class $CustomTabsIntent_CloseButtonPositionType + extends jni.JObjType { + const $CustomTabsIntent_CloseButtonPositionType(); + + @override + String get signature => + r"Landroidx/browser/customtabs/CustomTabsIntent$CloseButtonPosition;"; + + @override + CustomTabsIntent_CloseButtonPosition fromRef(jni.JObjectPtr ref) => + CustomTabsIntent_CloseButtonPosition.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CustomTabsIntent_CloseButtonPositionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CustomTabsIntent_CloseButtonPositionType) && + other is $CustomTabsIntent_CloseButtonPositionType; + } +} + +/// from: androidx.browser.customtabs.CustomTabsIntent$ColorScheme +class CustomTabsIntent_ColorScheme extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CustomTabsIntent_ColorScheme.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/browser/customtabs/CustomTabsIntent$ColorScheme"); + + /// The type which includes information such as the signature of this class. + static const type = $CustomTabsIntent_ColorSchemeType(); + + /// Maps a specific port to the implemented interface. + static final Map _$impls = {}; + ReceivePort? _$p; + + static jni.JObjectPtr _$invoke( + int port, + jni.JObjectPtr descriptor, + jni.JObjectPtr args, + ) { + return _$invokeMethod( + port, + $MethodInvocation.fromAddresses( + 0, + descriptor.address, + args.address, + ), + ); + } + + static final ffi.Pointer< + ffi.NativeFunction< + jni.JObjectPtr Function( + ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> + _$invokePointer = ffi.Pointer.fromFunction(_$invoke); + + static ffi.Pointer _$invokeMethod( + int $p, + $MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + } catch (e) { + return ProtectedJniExtensions.newDartException(e.toString()); + } + return jni.nullptr; + } + + factory CustomTabsIntent_ColorScheme.implement( + $CustomTabsIntent_ColorSchemeImpl $impl, + ) { + final $p = ReceivePort(); + final $x = CustomTabsIntent_ColorScheme.fromRef( + ProtectedJniExtensions.newPortProxy( + r"androidx.browser.customtabs.CustomTabsIntent$ColorScheme", + $p, + _$invokePointer, + ), + ).._$p = $p; + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + $p.listen(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = $MethodInvocation.fromMessage($m as List); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + ProtectedJniExtensions.returnResult($i.result, $r); + }); + return $x; + } +} + +abstract class $CustomTabsIntent_ColorSchemeImpl { + factory $CustomTabsIntent_ColorSchemeImpl() = + _$CustomTabsIntent_ColorSchemeImpl; +} + +class _$CustomTabsIntent_ColorSchemeImpl + implements $CustomTabsIntent_ColorSchemeImpl { + _$CustomTabsIntent_ColorSchemeImpl(); +} + +final class $CustomTabsIntent_ColorSchemeType + extends jni.JObjType { + const $CustomTabsIntent_ColorSchemeType(); + + @override + String get signature => + r"Landroidx/browser/customtabs/CustomTabsIntent$ColorScheme;"; + + @override + CustomTabsIntent_ColorScheme fromRef(jni.JObjectPtr ref) => + CustomTabsIntent_ColorScheme.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CustomTabsIntent_ColorSchemeType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CustomTabsIntent_ColorSchemeType) && + other is $CustomTabsIntent_ColorSchemeType; + } +} + +/// from: androidx.browser.customtabs.CustomTabsIntent$ShareState +class CustomTabsIntent_ShareState extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CustomTabsIntent_ShareState.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/browser/customtabs/CustomTabsIntent$ShareState"); + + /// The type which includes information such as the signature of this class. + static const type = $CustomTabsIntent_ShareStateType(); + + /// Maps a specific port to the implemented interface. + static final Map _$impls = {}; + ReceivePort? _$p; + + static jni.JObjectPtr _$invoke( + int port, + jni.JObjectPtr descriptor, + jni.JObjectPtr args, + ) { + return _$invokeMethod( + port, + $MethodInvocation.fromAddresses( + 0, + descriptor.address, + args.address, + ), + ); + } + + static final ffi.Pointer< + ffi.NativeFunction< + jni.JObjectPtr Function( + ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> + _$invokePointer = ffi.Pointer.fromFunction(_$invoke); + + static ffi.Pointer _$invokeMethod( + int $p, + $MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + } catch (e) { + return ProtectedJniExtensions.newDartException(e.toString()); + } + return jni.nullptr; + } + + factory CustomTabsIntent_ShareState.implement( + $CustomTabsIntent_ShareStateImpl $impl, + ) { + final $p = ReceivePort(); + final $x = CustomTabsIntent_ShareState.fromRef( + ProtectedJniExtensions.newPortProxy( + r"androidx.browser.customtabs.CustomTabsIntent$ShareState", + $p, + _$invokePointer, + ), + ).._$p = $p; + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + $p.listen(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = $MethodInvocation.fromMessage($m as List); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + ProtectedJniExtensions.returnResult($i.result, $r); + }); + return $x; + } +} + +abstract class $CustomTabsIntent_ShareStateImpl { + factory $CustomTabsIntent_ShareStateImpl() = + _$CustomTabsIntent_ShareStateImpl; +} + +class _$CustomTabsIntent_ShareStateImpl + implements $CustomTabsIntent_ShareStateImpl { + _$CustomTabsIntent_ShareStateImpl(); +} + +final class $CustomTabsIntent_ShareStateType + extends jni.JObjType { + const $CustomTabsIntent_ShareStateType(); + + @override + String get signature => + r"Landroidx/browser/customtabs/CustomTabsIntent$ShareState;"; + + @override + CustomTabsIntent_ShareState fromRef(jni.JObjectPtr ref) => + CustomTabsIntent_ShareState.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CustomTabsIntent_ShareStateType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CustomTabsIntent_ShareStateType) && + other is $CustomTabsIntent_ShareStateType; + } +} + +/// from: androidx.browser.customtabs.CustomTabsIntent +class CustomTabsIntent extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CustomTabsIntent.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/browser/customtabs/CustomTabsIntent"); + + /// The type which includes information such as the signature of this class. + static const type = $CustomTabsIntentType(); + + /// from: static public final java.lang.String EXTRA_SESSION + static const EXTRA_SESSION = r"""android.support.customtabs.extra.SESSION"""; + + /// from: static public final java.lang.String EXTRA_SESSION_ID + static const EXTRA_SESSION_ID = + r"""android.support.customtabs.extra.SESSION_ID"""; + + /// from: static public final int COLOR_SCHEME_SYSTEM + static const COLOR_SCHEME_SYSTEM = 0; + + /// from: static public final int COLOR_SCHEME_LIGHT + static const COLOR_SCHEME_LIGHT = 1; + + /// from: static public final int COLOR_SCHEME_DARK + static const COLOR_SCHEME_DARK = 2; + + /// from: static public final java.lang.String EXTRA_COLOR_SCHEME + static const EXTRA_COLOR_SCHEME = + r"""androidx.browser.customtabs.extra.COLOR_SCHEME"""; + + /// from: static public final java.lang.String EXTRA_TOOLBAR_COLOR + static const EXTRA_TOOLBAR_COLOR = + r"""android.support.customtabs.extra.TOOLBAR_COLOR"""; + + /// from: static public final java.lang.String EXTRA_ENABLE_URLBAR_HIDING + static const EXTRA_ENABLE_URLBAR_HIDING = + r"""android.support.customtabs.extra.ENABLE_URLBAR_HIDING"""; + + /// from: static public final java.lang.String EXTRA_CLOSE_BUTTON_ICON + static const EXTRA_CLOSE_BUTTON_ICON = + r"""android.support.customtabs.extra.CLOSE_BUTTON_ICON"""; + + /// from: static public final java.lang.String EXTRA_TITLE_VISIBILITY_STATE + static const EXTRA_TITLE_VISIBILITY_STATE = + r"""android.support.customtabs.extra.TITLE_VISIBILITY"""; + + /// from: static public final java.lang.String EXTRA_DISABLE_BOOKMARKS_BUTTON + static const EXTRA_DISABLE_BOOKMARKS_BUTTON = + r"""org.chromium.chrome.browser.customtabs.EXTRA_DISABLE_STAR_BUTTON"""; + + /// from: static public final java.lang.String EXTRA_DISABLE_DOWNLOAD_BUTTON + static const EXTRA_DISABLE_DOWNLOAD_BUTTON = + r"""org.chromium.chrome.browser.customtabs.EXTRA_DISABLE_DOWNLOAD_BUTTON"""; + + /// from: static public final java.lang.String EXTRA_SEND_TO_EXTERNAL_DEFAULT_HANDLER + static const EXTRA_SEND_TO_EXTERNAL_DEFAULT_HANDLER = + r"""android.support.customtabs.extra.SEND_TO_EXTERNAL_HANDLER"""; + + /// from: static public final java.lang.String EXTRA_TRANSLATE_LANGUAGE_TAG + static const EXTRA_TRANSLATE_LANGUAGE_TAG = + r"""androidx.browser.customtabs.extra.TRANSLATE_LANGUAGE_TAG"""; + + /// from: static public final java.lang.String EXTRA_DISABLE_BACKGROUND_INTERACTION + static const EXTRA_DISABLE_BACKGROUND_INTERACTION = + r"""androidx.browser.customtabs.extra.DISABLE_BACKGROUND_INTERACTION"""; + + /// from: static public final java.lang.String EXTRA_SECONDARY_TOOLBAR_SWIPE_UP_GESTURE + static const EXTRA_SECONDARY_TOOLBAR_SWIPE_UP_GESTURE = + r"""androidx.browser.customtabs.extra.SECONDARY_TOOLBAR_SWIPE_UP_GESTURE"""; + + /// from: static public final int NO_TITLE + static const NO_TITLE = 0; + + /// from: static public final int SHOW_PAGE_TITLE + static const SHOW_PAGE_TITLE = 1; + + /// from: static public final java.lang.String EXTRA_ACTION_BUTTON_BUNDLE + static const EXTRA_ACTION_BUTTON_BUNDLE = + r"""android.support.customtabs.extra.ACTION_BUTTON_BUNDLE"""; + + /// from: static public final java.lang.String EXTRA_TOOLBAR_ITEMS + static const EXTRA_TOOLBAR_ITEMS = + r"""android.support.customtabs.extra.TOOLBAR_ITEMS"""; + + /// from: static public final java.lang.String EXTRA_SECONDARY_TOOLBAR_COLOR + static const EXTRA_SECONDARY_TOOLBAR_COLOR = + r"""android.support.customtabs.extra.SECONDARY_TOOLBAR_COLOR"""; + + /// from: static public final java.lang.String KEY_ICON + static const KEY_ICON = r"""android.support.customtabs.customaction.ICON"""; + + /// from: static public final java.lang.String KEY_DESCRIPTION + static const KEY_DESCRIPTION = + r"""android.support.customtabs.customaction.DESCRIPTION"""; + + /// from: static public final java.lang.String KEY_PENDING_INTENT + static const KEY_PENDING_INTENT = + r"""android.support.customtabs.customaction.PENDING_INTENT"""; + + /// from: static public final java.lang.String EXTRA_TINT_ACTION_BUTTON + static const EXTRA_TINT_ACTION_BUTTON = + r"""android.support.customtabs.extra.TINT_ACTION_BUTTON"""; + + /// from: static public final java.lang.String EXTRA_MENU_ITEMS + static const EXTRA_MENU_ITEMS = + r"""android.support.customtabs.extra.MENU_ITEMS"""; + + /// from: static public final java.lang.String KEY_MENU_ITEM_TITLE + static const KEY_MENU_ITEM_TITLE = + r"""android.support.customtabs.customaction.MENU_ITEM_TITLE"""; + + /// from: static public final java.lang.String EXTRA_EXIT_ANIMATION_BUNDLE + static const EXTRA_EXIT_ANIMATION_BUNDLE = + r"""android.support.customtabs.extra.EXIT_ANIMATION_BUNDLE"""; + + /// from: static public final int SHARE_STATE_DEFAULT + static const SHARE_STATE_DEFAULT = 0; + + /// from: static public final int SHARE_STATE_ON + static const SHARE_STATE_ON = 1; + + /// from: static public final int SHARE_STATE_OFF + static const SHARE_STATE_OFF = 2; + + /// from: static public final java.lang.String EXTRA_SHARE_STATE + static const EXTRA_SHARE_STATE = + r"""androidx.browser.customtabs.extra.SHARE_STATE"""; + + /// from: static public final java.lang.String EXTRA_DEFAULT_SHARE_MENU_ITEM + static const EXTRA_DEFAULT_SHARE_MENU_ITEM = + r"""android.support.customtabs.extra.SHARE_MENU_ITEM"""; + + /// from: static public final java.lang.String EXTRA_REMOTEVIEWS + static const EXTRA_REMOTEVIEWS = + r"""android.support.customtabs.extra.EXTRA_REMOTEVIEWS"""; + + /// from: static public final java.lang.String EXTRA_REMOTEVIEWS_VIEW_IDS + static const EXTRA_REMOTEVIEWS_VIEW_IDS = + r"""android.support.customtabs.extra.EXTRA_REMOTEVIEWS_VIEW_IDS"""; + + /// from: static public final java.lang.String EXTRA_REMOTEVIEWS_PENDINGINTENT + static const EXTRA_REMOTEVIEWS_PENDINGINTENT = + r"""android.support.customtabs.extra.EXTRA_REMOTEVIEWS_PENDINGINTENT"""; + + /// from: static public final java.lang.String EXTRA_REMOTEVIEWS_CLICKED_ID + static const EXTRA_REMOTEVIEWS_CLICKED_ID = + r"""android.support.customtabs.extra.EXTRA_REMOTEVIEWS_CLICKED_ID"""; + + /// from: static public final java.lang.String EXTRA_ENABLE_INSTANT_APPS + static const EXTRA_ENABLE_INSTANT_APPS = + r"""android.support.customtabs.extra.EXTRA_ENABLE_INSTANT_APPS"""; + + /// from: static public final java.lang.String EXTRA_COLOR_SCHEME_PARAMS + static const EXTRA_COLOR_SCHEME_PARAMS = + r"""androidx.browser.customtabs.extra.COLOR_SCHEME_PARAMS"""; + + /// from: static public final java.lang.String EXTRA_NAVIGATION_BAR_COLOR + static const EXTRA_NAVIGATION_BAR_COLOR = + r"""androidx.browser.customtabs.extra.NAVIGATION_BAR_COLOR"""; + + /// from: static public final java.lang.String EXTRA_INITIAL_ACTIVITY_HEIGHT_PX + static const EXTRA_INITIAL_ACTIVITY_HEIGHT_PX = + r"""androidx.browser.customtabs.extra.INITIAL_ACTIVITY_HEIGHT_PX"""; + + /// from: static public final int ACTIVITY_HEIGHT_DEFAULT + static const ACTIVITY_HEIGHT_DEFAULT = 0; + + /// from: static public final int ACTIVITY_HEIGHT_ADJUSTABLE + static const ACTIVITY_HEIGHT_ADJUSTABLE = 1; + + /// from: static public final int ACTIVITY_HEIGHT_FIXED + static const ACTIVITY_HEIGHT_FIXED = 2; + + /// from: static public final java.lang.String EXTRA_ACTIVITY_HEIGHT_RESIZE_BEHAVIOR + static const EXTRA_ACTIVITY_HEIGHT_RESIZE_BEHAVIOR = + r"""androidx.browser.customtabs.extra.ACTIVITY_HEIGHT_RESIZE_BEHAVIOR"""; + + /// from: static public final java.lang.String EXTRA_TOOLBAR_CORNER_RADIUS_DP + static const EXTRA_TOOLBAR_CORNER_RADIUS_DP = + r"""androidx.browser.customtabs.extra.TOOLBAR_CORNER_RADIUS_DP"""; + + /// from: static public final int CLOSE_BUTTON_POSITION_DEFAULT + static const CLOSE_BUTTON_POSITION_DEFAULT = 0; + + /// from: static public final int CLOSE_BUTTON_POSITION_START + static const CLOSE_BUTTON_POSITION_START = 1; + + /// from: static public final int CLOSE_BUTTON_POSITION_END + static const CLOSE_BUTTON_POSITION_END = 2; + + /// from: static public final java.lang.String EXTRA_CLOSE_BUTTON_POSITION + static const EXTRA_CLOSE_BUTTON_POSITION = + r"""androidx.browser.customtabs.extra.CLOSE_BUTTON_POSITION"""; + + /// from: static public final java.lang.String EXTRA_NAVIGATION_BAR_DIVIDER_COLOR + static const EXTRA_NAVIGATION_BAR_DIVIDER_COLOR = + r"""androidx.browser.customtabs.extra.NAVIGATION_BAR_DIVIDER_COLOR"""; + + /// from: static public final java.lang.String KEY_ID + static const KEY_ID = r"""android.support.customtabs.customaction.ID"""; + + /// from: static public final int TOOLBAR_ACTION_BUTTON_ID + static const TOOLBAR_ACTION_BUTTON_ID = 0; + + static final _id_intent = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"intent", + r"Landroid/content/Intent;", + ); + + /// from: public final android.content.Intent intent + /// The returned object must be released after use, by calling the [release] method. + Intent get intent => const $IntentType().fromRef(jni.Jni.accessors + .getField(reference, _id_intent, jni.JniCallType.objectType) + .object); + + static final _id_startAnimationBundle = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"startAnimationBundle", + r"Landroid/os/Bundle;", + ); + + /// from: public final android.os.Bundle startAnimationBundle + /// The returned object must be released after use, by calling the [release] method. + Bundle get startAnimationBundle => const $BundleType().fromRef(jni + .Jni.accessors + .getField(reference, _id_startAnimationBundle, jni.JniCallType.objectType) + .object); + + static final _id_launchUrl = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"launchUrl", r"(Landroid/content/Context;Landroid/net/Uri;)V"); + + /// from: public void launchUrl(android.content.Context context, android.net.Uri uri) + void launchUrl( + Context context, + Uri uri, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_launchUrl, + jni.JniCallType.voidType, [context.reference, uri.reference]).check(); + } + + static final _id_getMaxToolbarItems = jni.Jni.accessors + .getStaticMethodIDOf(_class.reference, r"getMaxToolbarItems", r"()I"); + + /// from: static public int getMaxToolbarItems() + static int getMaxToolbarItems() { + return jni.Jni.accessors.callStaticMethodWithArgs(_class.reference, + _id_getMaxToolbarItems, jni.JniCallType.intType, []).integer; + } + + static final _id_setAlwaysUseBrowserUI = jni.Jni.accessors + .getStaticMethodIDOf(_class.reference, r"setAlwaysUseBrowserUI", + r"(Landroid/content/Intent;)Landroid/content/Intent;"); + + /// from: static public android.content.Intent setAlwaysUseBrowserUI(android.content.Intent intent) + /// The returned object must be released after use, by calling the [release] method. + static Intent setAlwaysUseBrowserUI( + Intent intent, + ) { + return const $IntentType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_setAlwaysUseBrowserUI, + jni.JniCallType.objectType, [intent.reference]).object); + } + + static final _id_shouldAlwaysUseBrowserUI = jni.Jni.accessors + .getStaticMethodIDOf(_class.reference, r"shouldAlwaysUseBrowserUI", + r"(Landroid/content/Intent;)Z"); + + /// from: static public boolean shouldAlwaysUseBrowserUI(android.content.Intent intent) + static bool shouldAlwaysUseBrowserUI( + Intent intent, + ) { + return jni.Jni.accessors.callStaticMethodWithArgs( + _class.reference, + _id_shouldAlwaysUseBrowserUI, + jni.JniCallType.booleanType, + [intent.reference]).boolean; + } + + static final _id_getColorSchemeParams = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"getColorSchemeParams", + r"(Landroid/content/Intent;I)Landroidx/browser/customtabs/CustomTabColorSchemeParams;"); + + /// from: static public androidx.browser.customtabs.CustomTabColorSchemeParams getColorSchemeParams(android.content.Intent intent, int i) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject getColorSchemeParams( + Intent intent, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_getColorSchemeParams, + jni.JniCallType.objectType, + [intent.reference, jni.JValueInt(i)]).object); + } + + static final _id_getActivityResizeBehavior = jni.Jni.accessors + .getStaticMethodIDOf(_class.reference, r"getActivityResizeBehavior", + r"(Landroid/content/Intent;)I"); + + /// from: static public int getActivityResizeBehavior(android.content.Intent intent) + static int getActivityResizeBehavior( + Intent intent, + ) { + return jni.Jni.accessors.callStaticMethodWithArgs( + _class.reference, + _id_getActivityResizeBehavior, + jni.JniCallType.intType, + [intent.reference]).integer; + } + + static final _id_getInitialActivityHeightPx = jni.Jni.accessors + .getStaticMethodIDOf(_class.reference, r"getInitialActivityHeightPx", + r"(Landroid/content/Intent;)I"); + + /// from: static public int getInitialActivityHeightPx(android.content.Intent intent) + static int getInitialActivityHeightPx( + Intent intent, + ) { + return jni.Jni.accessors.callStaticMethodWithArgs( + _class.reference, + _id_getInitialActivityHeightPx, + jni.JniCallType.intType, + [intent.reference]).integer; + } + + static final _id_getToolbarCornerRadiusDp = jni.Jni.accessors + .getStaticMethodIDOf(_class.reference, r"getToolbarCornerRadiusDp", + r"(Landroid/content/Intent;)I"); + + /// from: static public int getToolbarCornerRadiusDp(android.content.Intent intent) + static int getToolbarCornerRadiusDp( + Intent intent, + ) { + return jni.Jni.accessors.callStaticMethodWithArgs( + _class.reference, + _id_getToolbarCornerRadiusDp, + jni.JniCallType.intType, + [intent.reference]).integer; + } + + static final _id_getCloseButtonPosition = jni.Jni.accessors + .getStaticMethodIDOf(_class.reference, r"getCloseButtonPosition", + r"(Landroid/content/Intent;)I"); + + /// from: static public int getCloseButtonPosition(android.content.Intent intent) + static int getCloseButtonPosition( + Intent intent, + ) { + return jni.Jni.accessors.callStaticMethodWithArgs( + _class.reference, + _id_getCloseButtonPosition, + jni.JniCallType.intType, + [intent.reference]).integer; + } + + static final _id_isBookmarksButtonEnabled = jni.Jni.accessors + .getStaticMethodIDOf(_class.reference, r"isBookmarksButtonEnabled", + r"(Landroid/content/Intent;)Z"); + + /// from: static public boolean isBookmarksButtonEnabled(android.content.Intent intent) + static bool isBookmarksButtonEnabled( + Intent intent, + ) { + return jni.Jni.accessors.callStaticMethodWithArgs( + _class.reference, + _id_isBookmarksButtonEnabled, + jni.JniCallType.booleanType, + [intent.reference]).boolean; + } + + static final _id_isDownloadButtonEnabled = jni.Jni.accessors + .getStaticMethodIDOf(_class.reference, r"isDownloadButtonEnabled", + r"(Landroid/content/Intent;)Z"); + + /// from: static public boolean isDownloadButtonEnabled(android.content.Intent intent) + static bool isDownloadButtonEnabled( + Intent intent, + ) { + return jni.Jni.accessors.callStaticMethodWithArgs( + _class.reference, + _id_isDownloadButtonEnabled, + jni.JniCallType.booleanType, + [intent.reference]).boolean; + } + + static final _id_isSendToExternalDefaultHandlerEnabled = jni.Jni.accessors + .getStaticMethodIDOf( + _class.reference, + r"isSendToExternalDefaultHandlerEnabled", + r"(Landroid/content/Intent;)Z"); + + /// from: static public boolean isSendToExternalDefaultHandlerEnabled(android.content.Intent intent) + static bool isSendToExternalDefaultHandlerEnabled( + Intent intent, + ) { + return jni.Jni.accessors.callStaticMethodWithArgs( + _class.reference, + _id_isSendToExternalDefaultHandlerEnabled, + jni.JniCallType.booleanType, + [intent.reference]).boolean; + } + + static final _id_getTranslateLocale = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"getTranslateLocale", + r"(Landroid/content/Intent;)Ljava/util/Locale;"); + + /// from: static public java.util.Locale getTranslateLocale(android.content.Intent intent) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject getTranslateLocale( + Intent intent, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_getTranslateLocale, + jni.JniCallType.objectType, [intent.reference]).object); + } + + static final _id_isBackgroundInteractionEnabled = jni.Jni.accessors + .getStaticMethodIDOf(_class.reference, r"isBackgroundInteractionEnabled", + r"(Landroid/content/Intent;)Z"); + + /// from: static public boolean isBackgroundInteractionEnabled(android.content.Intent intent) + static bool isBackgroundInteractionEnabled( + Intent intent, + ) { + return jni.Jni.accessors.callStaticMethodWithArgs( + _class.reference, + _id_isBackgroundInteractionEnabled, + jni.JniCallType.booleanType, + [intent.reference]).boolean; + } + + static final _id_getSecondaryToolbarSwipeUpGesture = jni.Jni.accessors + .getStaticMethodIDOf( + _class.reference, + r"getSecondaryToolbarSwipeUpGesture", + r"(Landroid/content/Intent;)Landroid/app/PendingIntent;"); + + /// from: static public android.app.PendingIntent getSecondaryToolbarSwipeUpGesture(android.content.Intent intent) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject getSecondaryToolbarSwipeUpGesture( + Intent intent, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_getSecondaryToolbarSwipeUpGesture, + jni.JniCallType.objectType, + [intent.reference]).object); + } +} + +final class $CustomTabsIntentType extends jni.JObjType { + const $CustomTabsIntentType(); + + @override + String get signature => r"Landroidx/browser/customtabs/CustomTabsIntent;"; + + @override + CustomTabsIntent fromRef(jni.JObjectPtr ref) => CustomTabsIntent.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CustomTabsIntentType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CustomTabsIntentType) && + other is $CustomTabsIntentType; + } +} + +/// from: androidx.browser.customtabs.CustomTabsService$FilePurpose +class CustomTabsService_FilePurpose extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CustomTabsService_FilePurpose.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/browser/customtabs/CustomTabsService$FilePurpose"); + + /// The type which includes information such as the signature of this class. + static const type = $CustomTabsService_FilePurposeType(); + + /// Maps a specific port to the implemented interface. + static final Map _$impls = {}; + ReceivePort? _$p; + + static jni.JObjectPtr _$invoke( + int port, + jni.JObjectPtr descriptor, + jni.JObjectPtr args, + ) { + return _$invokeMethod( + port, + $MethodInvocation.fromAddresses( + 0, + descriptor.address, + args.address, + ), + ); + } + + static final ffi.Pointer< + ffi.NativeFunction< + jni.JObjectPtr Function( + ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> + _$invokePointer = ffi.Pointer.fromFunction(_$invoke); + + static ffi.Pointer _$invokeMethod( + int $p, + $MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + } catch (e) { + return ProtectedJniExtensions.newDartException(e.toString()); + } + return jni.nullptr; + } + + factory CustomTabsService_FilePurpose.implement( + $CustomTabsService_FilePurposeImpl $impl, + ) { + final $p = ReceivePort(); + final $x = CustomTabsService_FilePurpose.fromRef( + ProtectedJniExtensions.newPortProxy( + r"androidx.browser.customtabs.CustomTabsService$FilePurpose", + $p, + _$invokePointer, + ), + ).._$p = $p; + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + $p.listen(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = $MethodInvocation.fromMessage($m as List); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + ProtectedJniExtensions.returnResult($i.result, $r); + }); + return $x; + } +} + +abstract class $CustomTabsService_FilePurposeImpl { + factory $CustomTabsService_FilePurposeImpl() = + _$CustomTabsService_FilePurposeImpl; +} + +class _$CustomTabsService_FilePurposeImpl + implements $CustomTabsService_FilePurposeImpl { + _$CustomTabsService_FilePurposeImpl(); +} + +final class $CustomTabsService_FilePurposeType + extends jni.JObjType { + const $CustomTabsService_FilePurposeType(); + + @override + String get signature => + r"Landroidx/browser/customtabs/CustomTabsService$FilePurpose;"; + + @override + CustomTabsService_FilePurpose fromRef(jni.JObjectPtr ref) => + CustomTabsService_FilePurpose.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CustomTabsService_FilePurposeType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CustomTabsService_FilePurposeType) && + other is $CustomTabsService_FilePurposeType; + } +} + +/// from: androidx.browser.customtabs.CustomTabsService$Relation +class CustomTabsService_Relation extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CustomTabsService_Relation.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/browser/customtabs/CustomTabsService$Relation"); + + /// The type which includes information such as the signature of this class. + static const type = $CustomTabsService_RelationType(); + + /// Maps a specific port to the implemented interface. + static final Map _$impls = {}; + ReceivePort? _$p; + + static jni.JObjectPtr _$invoke( + int port, + jni.JObjectPtr descriptor, + jni.JObjectPtr args, + ) { + return _$invokeMethod( + port, + $MethodInvocation.fromAddresses( + 0, + descriptor.address, + args.address, + ), + ); + } + + static final ffi.Pointer< + ffi.NativeFunction< + jni.JObjectPtr Function( + ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> + _$invokePointer = ffi.Pointer.fromFunction(_$invoke); + + static ffi.Pointer _$invokeMethod( + int $p, + $MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + } catch (e) { + return ProtectedJniExtensions.newDartException(e.toString()); + } + return jni.nullptr; + } + + factory CustomTabsService_Relation.implement( + $CustomTabsService_RelationImpl $impl, + ) { + final $p = ReceivePort(); + final $x = CustomTabsService_Relation.fromRef( + ProtectedJniExtensions.newPortProxy( + r"androidx.browser.customtabs.CustomTabsService$Relation", + $p, + _$invokePointer, + ), + ).._$p = $p; + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + $p.listen(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = $MethodInvocation.fromMessage($m as List); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + ProtectedJniExtensions.returnResult($i.result, $r); + }); + return $x; + } +} + +abstract class $CustomTabsService_RelationImpl { + factory $CustomTabsService_RelationImpl() = _$CustomTabsService_RelationImpl; +} + +class _$CustomTabsService_RelationImpl + implements $CustomTabsService_RelationImpl { + _$CustomTabsService_RelationImpl(); +} + +final class $CustomTabsService_RelationType + extends jni.JObjType { + const $CustomTabsService_RelationType(); + + @override + String get signature => + r"Landroidx/browser/customtabs/CustomTabsService$Relation;"; + + @override + CustomTabsService_Relation fromRef(jni.JObjectPtr ref) => + CustomTabsService_Relation.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CustomTabsService_RelationType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CustomTabsService_RelationType) && + other is $CustomTabsService_RelationType; + } +} + +/// from: androidx.browser.customtabs.CustomTabsService$Result +class CustomTabsService_Result extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CustomTabsService_Result.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/browser/customtabs/CustomTabsService$Result"); + + /// The type which includes information such as the signature of this class. + static const type = $CustomTabsService_ResultType(); + + /// Maps a specific port to the implemented interface. + static final Map _$impls = {}; + ReceivePort? _$p; + + static jni.JObjectPtr _$invoke( + int port, + jni.JObjectPtr descriptor, + jni.JObjectPtr args, + ) { + return _$invokeMethod( + port, + $MethodInvocation.fromAddresses( + 0, + descriptor.address, + args.address, + ), + ); + } + + static final ffi.Pointer< + ffi.NativeFunction< + jni.JObjectPtr Function( + ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> + _$invokePointer = ffi.Pointer.fromFunction(_$invoke); + + static ffi.Pointer _$invokeMethod( + int $p, + $MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + } catch (e) { + return ProtectedJniExtensions.newDartException(e.toString()); + } + return jni.nullptr; + } + + factory CustomTabsService_Result.implement( + $CustomTabsService_ResultImpl $impl, + ) { + final $p = ReceivePort(); + final $x = CustomTabsService_Result.fromRef( + ProtectedJniExtensions.newPortProxy( + r"androidx.browser.customtabs.CustomTabsService$Result", + $p, + _$invokePointer, + ), + ).._$p = $p; + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + $p.listen(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = $MethodInvocation.fromMessage($m as List); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + ProtectedJniExtensions.returnResult($i.result, $r); + }); + return $x; + } +} + +abstract class $CustomTabsService_ResultImpl { + factory $CustomTabsService_ResultImpl() = _$CustomTabsService_ResultImpl; +} + +class _$CustomTabsService_ResultImpl implements $CustomTabsService_ResultImpl { + _$CustomTabsService_ResultImpl(); +} + +final class $CustomTabsService_ResultType + extends jni.JObjType { + const $CustomTabsService_ResultType(); + + @override + String get signature => + r"Landroidx/browser/customtabs/CustomTabsService$Result;"; + + @override + CustomTabsService_Result fromRef(jni.JObjectPtr ref) => + CustomTabsService_Result.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CustomTabsService_ResultType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CustomTabsService_ResultType) && + other is $CustomTabsService_ResultType; + } +} + +/// from: androidx.browser.customtabs.CustomTabsService +class CustomTabsService extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CustomTabsService.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/browser/customtabs/CustomTabsService"); + + /// The type which includes information such as the signature of this class. + static const type = $CustomTabsServiceType(); + + /// from: static public final java.lang.String ACTION_CUSTOM_TABS_CONNECTION + static const ACTION_CUSTOM_TABS_CONNECTION = + r"""android.support.customtabs.action.CustomTabsService"""; + + /// from: static public final java.lang.String CATEGORY_NAVBAR_COLOR_CUSTOMIZATION + static const CATEGORY_NAVBAR_COLOR_CUSTOMIZATION = + r"""androidx.browser.customtabs.category.NavBarColorCustomization"""; + + /// from: static public final java.lang.String CATEGORY_COLOR_SCHEME_CUSTOMIZATION + static const CATEGORY_COLOR_SCHEME_CUSTOMIZATION = + r"""androidx.browser.customtabs.category.ColorSchemeCustomization"""; + + /// from: static public final java.lang.String TRUSTED_WEB_ACTIVITY_CATEGORY + static const TRUSTED_WEB_ACTIVITY_CATEGORY = + r"""androidx.browser.trusted.category.TrustedWebActivities"""; + + /// from: static public final java.lang.String CATEGORY_WEB_SHARE_TARGET_V2 + static const CATEGORY_WEB_SHARE_TARGET_V2 = + r"""androidx.browser.trusted.category.WebShareTargetV2"""; + + /// from: static public final java.lang.String CATEGORY_TRUSTED_WEB_ACTIVITY_IMMERSIVE_MODE + static const CATEGORY_TRUSTED_WEB_ACTIVITY_IMMERSIVE_MODE = + r"""androidx.browser.trusted.category.ImmersiveMode"""; + + /// from: static public final java.lang.String KEY_URL + static const KEY_URL = r"""android.support.customtabs.otherurls.URL"""; + + /// from: static public final java.lang.String KEY_SUCCESS + static const KEY_SUCCESS = r"""androidx.browser.customtabs.SUCCESS"""; + + /// from: static public final int RESULT_SUCCESS + static const RESULT_SUCCESS = 0; + + /// from: static public final int RESULT_FAILURE_DISALLOWED + static const RESULT_FAILURE_DISALLOWED = -1; + + /// from: static public final int RESULT_FAILURE_REMOTE_ERROR + static const RESULT_FAILURE_REMOTE_ERROR = -2; + + /// from: static public final int RESULT_FAILURE_MESSAGING_ERROR + static const RESULT_FAILURE_MESSAGING_ERROR = -3; + + /// from: static public final int RELATION_USE_AS_ORIGIN + static const RELATION_USE_AS_ORIGIN = 1; + + /// from: static public final int RELATION_HANDLE_ALL_URLS + static const RELATION_HANDLE_ALL_URLS = 2; + + /// from: static public final int FILE_PURPOSE_TRUSTED_WEB_ACTIVITY_SPLASH_IMAGE + static const FILE_PURPOSE_TRUSTED_WEB_ACTIVITY_SPLASH_IMAGE = 1; + + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory CustomTabsService() { + return CustomTabsService.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_onBind = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"onBind", r"(Landroid/content/Intent;)Landroid/os/IBinder;"); + + /// from: public android.os.IBinder onBind(android.content.Intent intent) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject onBind( + Intent intent, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onBind, + jni.JniCallType.objectType, + [intent.reference]).object); + } + + static final _id_cleanUpSession = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"cleanUpSession", + r"(Landroidx/browser/customtabs/CustomTabsSessionToken;)Z"); + + /// from: protected boolean cleanUpSession(androidx.browser.customtabs.CustomTabsSessionToken customTabsSessionToken) + bool cleanUpSession( + jni.JObject customTabsSessionToken, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_cleanUpSession, + jni.JniCallType.booleanType, + [customTabsSessionToken.reference]).boolean; + } + + static final _id_warmup = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"warmup", r"(J)Z"); + + /// from: protected abstract boolean warmup(long j) + bool warmup( + int j, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_warmup, jni.JniCallType.booleanType, [j]).boolean; + } + + static final _id_newSession = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"newSession", + r"(Landroidx/browser/customtabs/CustomTabsSessionToken;)Z"); + + /// from: protected abstract boolean newSession(androidx.browser.customtabs.CustomTabsSessionToken customTabsSessionToken) + bool newSession( + jni.JObject customTabsSessionToken, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_newSession, + jni.JniCallType.booleanType, + [customTabsSessionToken.reference]).boolean; + } + + static final _id_mayLaunchUrl = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"mayLaunchUrl", + r"(Landroidx/browser/customtabs/CustomTabsSessionToken;Landroid/net/Uri;Landroid/os/Bundle;Ljava/util/List;)Z"); + + /// from: protected abstract boolean mayLaunchUrl(androidx.browser.customtabs.CustomTabsSessionToken customTabsSessionToken, android.net.Uri uri, android.os.Bundle bundle, java.util.List list) + bool mayLaunchUrl( + jni.JObject customTabsSessionToken, + Uri uri, + Bundle bundle, + jni.JList list, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_mayLaunchUrl, jni.JniCallType.booleanType, [ + customTabsSessionToken.reference, + uri.reference, + bundle.reference, + list.reference + ]).boolean; + } + + static final _id_extraCommand = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"extraCommand", + r"(Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;"); + + /// from: protected abstract android.os.Bundle extraCommand(java.lang.String string, android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + Bundle extraCommand( + jni.JString string, + Bundle bundle, + ) { + return const $BundleType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_extraCommand, + jni.JniCallType.objectType, + [string.reference, bundle.reference]).object); + } + + static final _id_updateVisuals = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"updateVisuals", + r"(Landroidx/browser/customtabs/CustomTabsSessionToken;Landroid/os/Bundle;)Z"); + + /// from: protected abstract boolean updateVisuals(androidx.browser.customtabs.CustomTabsSessionToken customTabsSessionToken, android.os.Bundle bundle) + bool updateVisuals( + jni.JObject customTabsSessionToken, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_updateVisuals, + jni.JniCallType.booleanType, + [customTabsSessionToken.reference, bundle.reference]).boolean; + } + + static final _id_requestPostMessageChannel = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"requestPostMessageChannel", + r"(Landroidx/browser/customtabs/CustomTabsSessionToken;Landroid/net/Uri;)Z"); + + /// from: protected abstract boolean requestPostMessageChannel(androidx.browser.customtabs.CustomTabsSessionToken customTabsSessionToken, android.net.Uri uri) + bool requestPostMessageChannel( + jni.JObject customTabsSessionToken, + Uri uri, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_requestPostMessageChannel, + jni.JniCallType.booleanType, + [customTabsSessionToken.reference, uri.reference]).boolean; + } + + static final _id_requestPostMessageChannel1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"requestPostMessageChannel", + r"(Landroidx/browser/customtabs/CustomTabsSessionToken;Landroid/net/Uri;Landroid/net/Uri;Landroid/os/Bundle;)Z"); + + /// from: protected boolean requestPostMessageChannel(androidx.browser.customtabs.CustomTabsSessionToken customTabsSessionToken, android.net.Uri uri, android.net.Uri uri1, android.os.Bundle bundle) + bool requestPostMessageChannel1( + jni.JObject customTabsSessionToken, + Uri uri, + Uri uri1, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_requestPostMessageChannel1, jni.JniCallType.booleanType, [ + customTabsSessionToken.reference, + uri.reference, + uri1.reference, + bundle.reference + ]).boolean; + } + + static final _id_postMessage = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"postMessage", + r"(Landroidx/browser/customtabs/CustomTabsSessionToken;Ljava/lang/String;Landroid/os/Bundle;)I"); + + /// from: protected abstract int postMessage(androidx.browser.customtabs.CustomTabsSessionToken customTabsSessionToken, java.lang.String string, android.os.Bundle bundle) + int postMessage( + jni.JObject customTabsSessionToken, + jni.JString string, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_postMessage, jni.JniCallType.intType, [ + customTabsSessionToken.reference, + string.reference, + bundle.reference + ]).integer; + } + + static final _id_validateRelationship = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"validateRelationship", + r"(Landroidx/browser/customtabs/CustomTabsSessionToken;ILandroid/net/Uri;Landroid/os/Bundle;)Z"); + + /// from: protected abstract boolean validateRelationship(androidx.browser.customtabs.CustomTabsSessionToken customTabsSessionToken, int i, android.net.Uri uri, android.os.Bundle bundle) + bool validateRelationship( + jni.JObject customTabsSessionToken, + int i, + Uri uri, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_validateRelationship, jni.JniCallType.booleanType, [ + customTabsSessionToken.reference, + jni.JValueInt(i), + uri.reference, + bundle.reference + ]).boolean; + } + + static final _id_receiveFile = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"receiveFile", + r"(Landroidx/browser/customtabs/CustomTabsSessionToken;Landroid/net/Uri;ILandroid/os/Bundle;)Z"); + + /// from: protected abstract boolean receiveFile(androidx.browser.customtabs.CustomTabsSessionToken customTabsSessionToken, android.net.Uri uri, int i, android.os.Bundle bundle) + bool receiveFile( + jni.JObject customTabsSessionToken, + Uri uri, + int i, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_receiveFile, jni.JniCallType.booleanType, [ + customTabsSessionToken.reference, + uri.reference, + jni.JValueInt(i), + bundle.reference + ]).boolean; + } + + static final _id_isEngagementSignalsApiAvailable = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isEngagementSignalsApiAvailable", + r"(Landroidx/browser/customtabs/CustomTabsSessionToken;Landroid/os/Bundle;)Z"); + + /// from: protected boolean isEngagementSignalsApiAvailable(androidx.browser.customtabs.CustomTabsSessionToken customTabsSessionToken, android.os.Bundle bundle) + bool isEngagementSignalsApiAvailable( + jni.JObject customTabsSessionToken, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_isEngagementSignalsApiAvailable, + jni.JniCallType.booleanType, + [customTabsSessionToken.reference, bundle.reference]).boolean; + } + + static final _id_setEngagementSignalsCallback = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setEngagementSignalsCallback", + r"(Landroidx/browser/customtabs/CustomTabsSessionToken;Landroidx/browser/customtabs/EngagementSignalsCallback;Landroid/os/Bundle;)Z"); + + /// from: protected boolean setEngagementSignalsCallback(androidx.browser.customtabs.CustomTabsSessionToken customTabsSessionToken, androidx.browser.customtabs.EngagementSignalsCallback engagementSignalsCallback, android.os.Bundle bundle) + bool setEngagementSignalsCallback( + jni.JObject customTabsSessionToken, + jni.JObject engagementSignalsCallback, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_setEngagementSignalsCallback, jni.JniCallType.booleanType, [ + customTabsSessionToken.reference, + engagementSignalsCallback.reference, + bundle.reference + ]).boolean; + } +} + +final class $CustomTabsServiceType extends jni.JObjType { + const $CustomTabsServiceType(); + + @override + String get signature => r"Landroidx/browser/customtabs/CustomTabsService;"; + + @override + CustomTabsService fromRef(jni.JObjectPtr ref) => + CustomTabsService.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CustomTabsServiceType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CustomTabsServiceType) && + other is $CustomTabsServiceType; + } +} + +/// from: android.app.Activity$ScreenCaptureCallback +class Activity_ScreenCaptureCallback extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Activity_ScreenCaptureCallback.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"android/app/Activity$ScreenCaptureCallback"); + + /// The type which includes information such as the signature of this class. + static const type = $Activity_ScreenCaptureCallbackType(); + static final _id_onScreenCaptured = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onScreenCaptured", r"()V"); + + /// from: public abstract void onScreenCaptured() + void onScreenCaptured() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onScreenCaptured, jni.JniCallType.voidType, []).check(); + } + + /// Maps a specific port to the implemented interface. + static final Map _$impls = {}; + ReceivePort? _$p; + + static jni.JObjectPtr _$invoke( + int port, + jni.JObjectPtr descriptor, + jni.JObjectPtr args, + ) { + return _$invokeMethod( + port, + $MethodInvocation.fromAddresses( + 0, + descriptor.address, + args.address, + ), + ); + } + + static final ffi.Pointer< + ffi.NativeFunction< + jni.JObjectPtr Function( + ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> + _$invokePointer = ffi.Pointer.fromFunction(_$invoke); + + static ffi.Pointer _$invokeMethod( + int $p, + $MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + if ($d == r"onScreenCaptured()V") { + _$impls[$p]!.onScreenCaptured(); + return jni.nullptr; + } + } catch (e) { + return ProtectedJniExtensions.newDartException(e.toString()); + } + return jni.nullptr; + } + + factory Activity_ScreenCaptureCallback.implement( + $Activity_ScreenCaptureCallbackImpl $impl, + ) { + final $p = ReceivePort(); + final $x = Activity_ScreenCaptureCallback.fromRef( + ProtectedJniExtensions.newPortProxy( + r"android.app.Activity$ScreenCaptureCallback", + $p, + _$invokePointer, + ), + ).._$p = $p; + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + $p.listen(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = $MethodInvocation.fromMessage($m as List); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + ProtectedJniExtensions.returnResult($i.result, $r); + }); + return $x; + } +} + +abstract class $Activity_ScreenCaptureCallbackImpl { + factory $Activity_ScreenCaptureCallbackImpl({ + required void Function() onScreenCaptured, + }) = _$Activity_ScreenCaptureCallbackImpl; + + void onScreenCaptured(); +} + +class _$Activity_ScreenCaptureCallbackImpl + implements $Activity_ScreenCaptureCallbackImpl { + _$Activity_ScreenCaptureCallbackImpl({ + required void Function() onScreenCaptured, + }) : _onScreenCaptured = onScreenCaptured; + + final void Function() _onScreenCaptured; + + void onScreenCaptured() { + return _onScreenCaptured(); + } +} + +final class $Activity_ScreenCaptureCallbackType + extends jni.JObjType { + const $Activity_ScreenCaptureCallbackType(); + + @override + String get signature => r"Landroid/app/Activity$ScreenCaptureCallback;"; + + @override + Activity_ScreenCaptureCallback fromRef(jni.JObjectPtr ref) => + Activity_ScreenCaptureCallback.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($Activity_ScreenCaptureCallbackType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($Activity_ScreenCaptureCallbackType) && + other is $Activity_ScreenCaptureCallbackType; + } +} + +/// from: android.app.Activity +class Activity extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Activity.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"android/app/Activity"); + + /// The type which includes information such as the signature of this class. + static const type = $ActivityType(); + + /// from: static public final int DEFAULT_KEYS_DIALER + static const DEFAULT_KEYS_DIALER = 1; + + /// from: static public final int DEFAULT_KEYS_DISABLE + static const DEFAULT_KEYS_DISABLE = 0; + + /// from: static public final int DEFAULT_KEYS_SEARCH_GLOBAL + static const DEFAULT_KEYS_SEARCH_GLOBAL = 4; + + /// from: static public final int DEFAULT_KEYS_SEARCH_LOCAL + static const DEFAULT_KEYS_SEARCH_LOCAL = 3; + + /// from: static public final int DEFAULT_KEYS_SHORTCUT + static const DEFAULT_KEYS_SHORTCUT = 2; + + static final _id_FOCUSED_STATE_SET = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"FOCUSED_STATE_SET", + r"[I", + ); + + /// from: static protected final int[] FOCUSED_STATE_SET + /// The returned object must be released after use, by calling the [release] method. + static jni.JArray get FOCUSED_STATE_SET => + const jni.JArrayType(jni.jintType()).fromRef(jni.Jni.accessors + .getStaticField(_class.reference, _id_FOCUSED_STATE_SET, + jni.JniCallType.objectType) + .object); + + /// from: static public final int FULLSCREEN_MODE_REQUEST_ENTER + static const FULLSCREEN_MODE_REQUEST_ENTER = 1; + + /// from: static public final int FULLSCREEN_MODE_REQUEST_EXIT + static const FULLSCREEN_MODE_REQUEST_EXIT = 0; + + /// from: static public final int OVERRIDE_TRANSITION_CLOSE + static const OVERRIDE_TRANSITION_CLOSE = 1; + + /// from: static public final int OVERRIDE_TRANSITION_OPEN + static const OVERRIDE_TRANSITION_OPEN = 0; + + /// from: static public final int RESULT_CANCELED + static const RESULT_CANCELED = 0; + + /// from: static public final int RESULT_FIRST_USER + static const RESULT_FIRST_USER = 1; + + /// from: static public final int RESULT_OK + static const RESULT_OK = -1; + + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory Activity() { + return Activity.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_getIntent = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getIntent", r"()Landroid/content/Intent;"); + + /// from: public android.content.Intent getIntent() + /// The returned object must be released after use, by calling the [release] method. + Intent getIntent() { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getIntent, jni.JniCallType.objectType, []).object); + } + + static final _id_setIntent = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setIntent", r"(Landroid/content/Intent;)V"); + + /// from: public void setIntent(android.content.Intent intent) + void setIntent( + Intent intent, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setIntent, + jni.JniCallType.voidType, [intent.reference]).check(); + } + + static final _id_setLocusContext = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setLocusContext", + r"(Landroid/content/LocusId;Landroid/os/Bundle;)V"); + + /// from: public void setLocusContext(android.content.LocusId locusId, android.os.Bundle bundle) + void setLocusContext( + jni.JObject locusId, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setLocusContext, + jni.JniCallType.voidType, + [locusId.reference, bundle.reference]).check(); + } + + static final _id_getApplication = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getApplication", r"()Landroid/app/Application;"); + + /// from: public final android.app.Application getApplication() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getApplication() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getApplication, jni.JniCallType.objectType, []).object); + } + + static final _id_isChild = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isChild", r"()Z"); + + /// from: public final boolean isChild() + bool isChild() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isChild, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_getParent = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getParent", r"()Landroid/app/Activity;"); + + /// from: public final android.app.Activity getParent() + /// The returned object must be released after use, by calling the [release] method. + Activity getParent() { + return const $ActivityType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getParent, jni.JniCallType.objectType, []).object); + } + + static final _id_getWindowManager = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getWindowManager", r"()Landroid/view/WindowManager;"); + + /// from: public android.view.WindowManager getWindowManager() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getWindowManager() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getWindowManager, + jni.JniCallType.objectType, []).object); + } + + static final _id_getWindow = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getWindow", r"()Landroid/view/Window;"); + + /// from: public android.view.Window getWindow() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getWindow() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getWindow, jni.JniCallType.objectType, []).object); + } + + static final _id_getLoaderManager = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getLoaderManager", r"()Landroid/app/LoaderManager;"); + + /// from: public android.app.LoaderManager getLoaderManager() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getLoaderManager() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getLoaderManager, + jni.JniCallType.objectType, []).object); + } + + static final _id_getCurrentFocus = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getCurrentFocus", r"()Landroid/view/View;"); + + /// from: public android.view.View getCurrentFocus() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getCurrentFocus() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getCurrentFocus, jni.JniCallType.objectType, []).object); + } + + static final _id_attachBaseContext = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"attachBaseContext", r"(Landroid/content/Context;)V"); + + /// from: protected void attachBaseContext(android.content.Context context) + void attachBaseContext( + Context context, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_attachBaseContext, + jni.JniCallType.voidType, + [context.reference]).check(); + } + + static final _id_registerActivityLifecycleCallbacks = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"registerActivityLifecycleCallbacks", + r"(Landroid/app/Application$ActivityLifecycleCallbacks;)V"); + + /// from: public void registerActivityLifecycleCallbacks(android.app.Application$ActivityLifecycleCallbacks activityLifecycleCallbacks) + void registerActivityLifecycleCallbacks( + jni.JObject activityLifecycleCallbacks, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_registerActivityLifecycleCallbacks, + jni.JniCallType.voidType, + [activityLifecycleCallbacks.reference]).check(); + } + + static final _id_unregisterActivityLifecycleCallbacks = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"unregisterActivityLifecycleCallbacks", + r"(Landroid/app/Application$ActivityLifecycleCallbacks;)V"); + + /// from: public void unregisterActivityLifecycleCallbacks(android.app.Application$ActivityLifecycleCallbacks activityLifecycleCallbacks) + void unregisterActivityLifecycleCallbacks( + jni.JObject activityLifecycleCallbacks, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_unregisterActivityLifecycleCallbacks, + jni.JniCallType.voidType, + [activityLifecycleCallbacks.reference]).check(); + } + + static final _id_registerComponentCallbacks = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"registerComponentCallbacks", + r"(Landroid/content/ComponentCallbacks;)V"); + + /// from: public void registerComponentCallbacks(android.content.ComponentCallbacks componentCallbacks) + void registerComponentCallbacks( + jni.JObject componentCallbacks, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_registerComponentCallbacks, + jni.JniCallType.voidType, + [componentCallbacks.reference]).check(); + } + + static final _id_unregisterComponentCallbacks = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"unregisterComponentCallbacks", + r"(Landroid/content/ComponentCallbacks;)V"); + + /// from: public void unregisterComponentCallbacks(android.content.ComponentCallbacks componentCallbacks) + void unregisterComponentCallbacks( + jni.JObject componentCallbacks, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_unregisterComponentCallbacks, + jni.JniCallType.voidType, + [componentCallbacks.reference]).check(); + } + + static final _id_onCreate = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onCreate", r"(Landroid/os/Bundle;)V"); + + /// from: protected void onCreate(android.os.Bundle bundle) + void onCreate( + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onCreate, + jni.JniCallType.voidType, [bundle.reference]).check(); + } + + static final _id_getSplashScreen = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getSplashScreen", r"()Landroid/window/SplashScreen;"); + + /// from: public final android.window.SplashScreen getSplashScreen() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getSplashScreen() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getSplashScreen, jni.JniCallType.objectType, []).object); + } + + static final _id_onCreate1 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"onCreate", r"(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V"); + + /// from: public void onCreate(android.os.Bundle bundle, android.os.PersistableBundle persistableBundle) + void onCreate1( + Bundle bundle, + jni.JObject persistableBundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onCreate1, + jni.JniCallType.voidType, + [bundle.reference, persistableBundle.reference]).check(); + } + + static final _id_onRestoreInstanceState = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onRestoreInstanceState", r"(Landroid/os/Bundle;)V"); + + /// from: protected void onRestoreInstanceState(android.os.Bundle bundle) + void onRestoreInstanceState( + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onRestoreInstanceState, + jni.JniCallType.voidType, + [bundle.reference]).check(); + } + + static final _id_onRestoreInstanceState1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onRestoreInstanceState", + r"(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V"); + + /// from: public void onRestoreInstanceState(android.os.Bundle bundle, android.os.PersistableBundle persistableBundle) + void onRestoreInstanceState1( + Bundle bundle, + jni.JObject persistableBundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onRestoreInstanceState1, + jni.JniCallType.voidType, + [bundle.reference, persistableBundle.reference]).check(); + } + + static final _id_onPostCreate = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onPostCreate", r"(Landroid/os/Bundle;)V"); + + /// from: protected void onPostCreate(android.os.Bundle bundle) + void onPostCreate( + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onPostCreate, + jni.JniCallType.voidType, [bundle.reference]).check(); + } + + static final _id_onPostCreate1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onPostCreate", + r"(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V"); + + /// from: public void onPostCreate(android.os.Bundle bundle, android.os.PersistableBundle persistableBundle) + void onPostCreate1( + Bundle bundle, + jni.JObject persistableBundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onPostCreate1, + jni.JniCallType.voidType, + [bundle.reference, persistableBundle.reference]).check(); + } + + static final _id_onStart = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"onStart", r"()V"); + + /// from: protected void onStart() + void onStart() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onStart, jni.JniCallType.voidType, []).check(); + } + + static final _id_onRestart = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"onRestart", r"()V"); + + /// from: protected void onRestart() + void onRestart() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onRestart, jni.JniCallType.voidType, []).check(); + } + + static final _id_onStateNotSaved = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onStateNotSaved", r"()V"); + + /// from: public void onStateNotSaved() + void onStateNotSaved() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onStateNotSaved, jni.JniCallType.voidType, []).check(); + } + + static final _id_onResume = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"onResume", r"()V"); + + /// from: protected void onResume() + void onResume() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onResume, jni.JniCallType.voidType, []).check(); + } + + static final _id_onPostResume = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onPostResume", r"()V"); + + /// from: protected void onPostResume() + void onPostResume() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onPostResume, jni.JniCallType.voidType, []).check(); + } + + static final _id_onTopResumedActivityChanged = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onTopResumedActivityChanged", r"(Z)V"); + + /// from: public void onTopResumedActivityChanged(boolean z) + void onTopResumedActivityChanged( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onTopResumedActivityChanged, + jni.JniCallType.voidType, + [z ? 1 : 0]).check(); + } + + static final _id_isVoiceInteraction = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isVoiceInteraction", r"()Z"); + + /// from: public boolean isVoiceInteraction() + bool isVoiceInteraction() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_isVoiceInteraction, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_isVoiceInteractionRoot = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isVoiceInteractionRoot", r"()Z"); + + /// from: public boolean isVoiceInteractionRoot() + bool isVoiceInteractionRoot() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_isVoiceInteractionRoot, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_getVoiceInteractor = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getVoiceInteractor", + r"()Landroid/app/VoiceInteractor;"); + + /// from: public android.app.VoiceInteractor getVoiceInteractor() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getVoiceInteractor() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getVoiceInteractor, + jni.JniCallType.objectType, []).object); + } + + static final _id_isLocalVoiceInteractionSupported = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"isLocalVoiceInteractionSupported", r"()Z"); + + /// from: public boolean isLocalVoiceInteractionSupported() + bool isLocalVoiceInteractionSupported() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_isLocalVoiceInteractionSupported, + jni.JniCallType.booleanType, []).boolean; + } + + static final _id_startLocalVoiceInteraction = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startLocalVoiceInteraction", + r"(Landroid/os/Bundle;)V"); + + /// from: public void startLocalVoiceInteraction(android.os.Bundle bundle) + void startLocalVoiceInteraction( + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startLocalVoiceInteraction, + jni.JniCallType.voidType, + [bundle.reference]).check(); + } + + static final _id_onLocalVoiceInteractionStarted = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"onLocalVoiceInteractionStarted", r"()V"); + + /// from: public void onLocalVoiceInteractionStarted() + void onLocalVoiceInteractionStarted() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onLocalVoiceInteractionStarted, + jni.JniCallType.voidType, []).check(); + } + + static final _id_onLocalVoiceInteractionStopped = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"onLocalVoiceInteractionStopped", r"()V"); + + /// from: public void onLocalVoiceInteractionStopped() + void onLocalVoiceInteractionStopped() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onLocalVoiceInteractionStopped, + jni.JniCallType.voidType, []).check(); + } + + static final _id_stopLocalVoiceInteraction = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"stopLocalVoiceInteraction", r"()V"); + + /// from: public void stopLocalVoiceInteraction() + void stopLocalVoiceInteraction() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_stopLocalVoiceInteraction, jni.JniCallType.voidType, []).check(); + } + + static final _id_onNewIntent = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onNewIntent", r"(Landroid/content/Intent;)V"); + + /// from: protected void onNewIntent(android.content.Intent intent) + void onNewIntent( + Intent intent, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onNewIntent, + jni.JniCallType.voidType, [intent.reference]).check(); + } + + static final _id_onSaveInstanceState = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onSaveInstanceState", r"(Landroid/os/Bundle;)V"); + + /// from: protected void onSaveInstanceState(android.os.Bundle bundle) + void onSaveInstanceState( + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onSaveInstanceState, + jni.JniCallType.voidType, + [bundle.reference]).check(); + } + + static final _id_onSaveInstanceState1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onSaveInstanceState", + r"(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V"); + + /// from: public void onSaveInstanceState(android.os.Bundle bundle, android.os.PersistableBundle persistableBundle) + void onSaveInstanceState1( + Bundle bundle, + jni.JObject persistableBundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onSaveInstanceState1, + jni.JniCallType.voidType, + [bundle.reference, persistableBundle.reference]).check(); + } + + static final _id_onPause = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"onPause", r"()V"); + + /// from: protected void onPause() + void onPause() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onPause, jni.JniCallType.voidType, []).check(); + } + + static final _id_onUserLeaveHint = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onUserLeaveHint", r"()V"); + + /// from: protected void onUserLeaveHint() + void onUserLeaveHint() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onUserLeaveHint, jni.JniCallType.voidType, []).check(); + } + + static final _id_onCreateThumbnail = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onCreateThumbnail", + r"(Landroid/graphics/Bitmap;Landroid/graphics/Canvas;)Z"); + + /// from: public boolean onCreateThumbnail(android.graphics.Bitmap bitmap, android.graphics.Canvas canvas) + bool onCreateThumbnail( + jni.JObject bitmap, + jni.JObject canvas, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onCreateThumbnail, + jni.JniCallType.booleanType, + [bitmap.reference, canvas.reference]).boolean; + } + + static final _id_onCreateDescription = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onCreateDescription", r"()Ljava/lang/CharSequence;"); + + /// from: public java.lang.CharSequence onCreateDescription() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject onCreateDescription() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onCreateDescription, + jni.JniCallType.objectType, []).object); + } + + static final _id_onProvideAssistData = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onProvideAssistData", r"(Landroid/os/Bundle;)V"); + + /// from: public void onProvideAssistData(android.os.Bundle bundle) + void onProvideAssistData( + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onProvideAssistData, + jni.JniCallType.voidType, + [bundle.reference]).check(); + } + + static final _id_onProvideAssistContent = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onProvideAssistContent", + r"(Landroid/app/assist/AssistContent;)V"); + + /// from: public void onProvideAssistContent(android.app.assist.AssistContent assistContent) + void onProvideAssistContent( + jni.JObject assistContent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onProvideAssistContent, + jni.JniCallType.voidType, + [assistContent.reference]).check(); + } + + static final _id_onGetDirectActions = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onGetDirectActions", + r"(Landroid/os/CancellationSignal;Ljava/util/function/Consumer;)V"); + + /// from: public void onGetDirectActions(android.os.CancellationSignal cancellationSignal, java.util.function.Consumer consumer) + void onGetDirectActions( + CancellationSignal cancellationSignal, + jni.JObject consumer, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onGetDirectActions, + jni.JniCallType.voidType, + [cancellationSignal.reference, consumer.reference]).check(); + } + + static final _id_onPerformDirectAction = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onPerformDirectAction", + r"(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;Ljava/util/function/Consumer;)V"); + + /// from: public void onPerformDirectAction(java.lang.String string, android.os.Bundle bundle, android.os.CancellationSignal cancellationSignal, java.util.function.Consumer consumer) + void onPerformDirectAction( + jni.JString string, + Bundle bundle, + CancellationSignal cancellationSignal, + jni.JObject consumer, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onPerformDirectAction, jni.JniCallType.voidType, [ + string.reference, + bundle.reference, + cancellationSignal.reference, + consumer.reference + ]).check(); + } + + static final _id_requestShowKeyboardShortcuts = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"requestShowKeyboardShortcuts", r"()V"); + + /// from: public final void requestShowKeyboardShortcuts() + void requestShowKeyboardShortcuts() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_requestShowKeyboardShortcuts, jni.JniCallType.voidType, []).check(); + } + + static final _id_dismissKeyboardShortcutsHelper = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"dismissKeyboardShortcutsHelper", r"()V"); + + /// from: public final void dismissKeyboardShortcutsHelper() + void dismissKeyboardShortcutsHelper() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_dismissKeyboardShortcutsHelper, + jni.JniCallType.voidType, []).check(); + } + + static final _id_onProvideKeyboardShortcuts = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onProvideKeyboardShortcuts", + r"(Ljava/util/List;Landroid/view/Menu;I)V"); + + /// from: public void onProvideKeyboardShortcuts(java.util.List list, android.view.Menu menu, int i) + void onProvideKeyboardShortcuts( + jni.JList list, + jni.JObject menu, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onProvideKeyboardShortcuts, + jni.JniCallType.voidType, + [list.reference, menu.reference, jni.JValueInt(i)]).check(); + } + + static final _id_showAssist = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"showAssist", r"(Landroid/os/Bundle;)Z"); + + /// from: public boolean showAssist(android.os.Bundle bundle) + bool showAssist( + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_showAssist, + jni.JniCallType.booleanType, [bundle.reference]).boolean; + } + + static final _id_onStop = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"onStop", r"()V"); + + /// from: protected void onStop() + void onStop() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onStop, jni.JniCallType.voidType, []).check(); + } + + static final _id_onDestroy = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"onDestroy", r"()V"); + + /// from: protected void onDestroy() + void onDestroy() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onDestroy, jni.JniCallType.voidType, []).check(); + } + + static final _id_reportFullyDrawn = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"reportFullyDrawn", r"()V"); + + /// from: public void reportFullyDrawn() + void reportFullyDrawn() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_reportFullyDrawn, jni.JniCallType.voidType, []).check(); + } + + static final _id_onMultiWindowModeChanged = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onMultiWindowModeChanged", + r"(ZLandroid/content/res/Configuration;)V"); + + /// from: public void onMultiWindowModeChanged(boolean z, android.content.res.Configuration configuration) + void onMultiWindowModeChanged( + bool z, + jni.JObject configuration, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onMultiWindowModeChanged, + jni.JniCallType.voidType, + [z ? 1 : 0, configuration.reference]).check(); + } + + static final _id_onMultiWindowModeChanged1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onMultiWindowModeChanged", r"(Z)V"); + + /// from: public void onMultiWindowModeChanged(boolean z) + void onMultiWindowModeChanged1( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onMultiWindowModeChanged1, + jni.JniCallType.voidType, + [z ? 1 : 0]).check(); + } + + static final _id_isInMultiWindowMode = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isInMultiWindowMode", r"()Z"); + + /// from: public boolean isInMultiWindowMode() + bool isInMultiWindowMode() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_isInMultiWindowMode, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_onPictureInPictureModeChanged = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onPictureInPictureModeChanged", + r"(ZLandroid/content/res/Configuration;)V"); + + /// from: public void onPictureInPictureModeChanged(boolean z, android.content.res.Configuration configuration) + void onPictureInPictureModeChanged( + bool z, + jni.JObject configuration, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onPictureInPictureModeChanged, + jni.JniCallType.voidType, + [z ? 1 : 0, configuration.reference]).check(); + } + + static final _id_onPictureInPictureUiStateChanged = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onPictureInPictureUiStateChanged", + r"(Landroid/app/PictureInPictureUiState;)V"); + + /// from: public void onPictureInPictureUiStateChanged(android.app.PictureInPictureUiState pictureInPictureUiState) + void onPictureInPictureUiStateChanged( + jni.JObject pictureInPictureUiState, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onPictureInPictureUiStateChanged, + jni.JniCallType.voidType, + [pictureInPictureUiState.reference]).check(); + } + + static final _id_onPictureInPictureModeChanged1 = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"onPictureInPictureModeChanged", r"(Z)V"); + + /// from: public void onPictureInPictureModeChanged(boolean z) + void onPictureInPictureModeChanged1( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onPictureInPictureModeChanged1, + jni.JniCallType.voidType, + [z ? 1 : 0]).check(); + } + + static final _id_isInPictureInPictureMode = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isInPictureInPictureMode", r"()Z"); + + /// from: public boolean isInPictureInPictureMode() + bool isInPictureInPictureMode() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_isInPictureInPictureMode, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_enterPictureInPictureMode = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"enterPictureInPictureMode", r"()V"); + + /// from: public void enterPictureInPictureMode() + void enterPictureInPictureMode() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_enterPictureInPictureMode, jni.JniCallType.voidType, []).check(); + } + + static final _id_enterPictureInPictureMode1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"enterPictureInPictureMode", + r"(Landroid/app/PictureInPictureParams;)Z"); + + /// from: public boolean enterPictureInPictureMode(android.app.PictureInPictureParams pictureInPictureParams) + bool enterPictureInPictureMode1( + jni.JObject pictureInPictureParams, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_enterPictureInPictureMode1, + jni.JniCallType.booleanType, + [pictureInPictureParams.reference]).boolean; + } + + static final _id_setPictureInPictureParams = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setPictureInPictureParams", + r"(Landroid/app/PictureInPictureParams;)V"); + + /// from: public void setPictureInPictureParams(android.app.PictureInPictureParams pictureInPictureParams) + void setPictureInPictureParams( + jni.JObject pictureInPictureParams, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setPictureInPictureParams, + jni.JniCallType.voidType, + [pictureInPictureParams.reference]).check(); + } + + static final _id_getMaxNumPictureInPictureActions = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"getMaxNumPictureInPictureActions", r"()I"); + + /// from: public int getMaxNumPictureInPictureActions() + int getMaxNumPictureInPictureActions() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getMaxNumPictureInPictureActions, + jni.JniCallType.intType, []).integer; + } + + static final _id_onPictureInPictureRequested = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onPictureInPictureRequested", r"()Z"); + + /// from: public boolean onPictureInPictureRequested() + bool onPictureInPictureRequested() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onPictureInPictureRequested, + jni.JniCallType.booleanType, []).boolean; + } + + static final _id_requestFullscreenMode = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"requestFullscreenMode", + r"(ILandroid/os/OutcomeReceiver;)V"); + + /// from: public void requestFullscreenMode(int i, android.os.OutcomeReceiver outcomeReceiver) + void requestFullscreenMode( + int i, + jni.JObject outcomeReceiver, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_requestFullscreenMode, + jni.JniCallType.voidType, + [jni.JValueInt(i), outcomeReceiver.reference]).check(); + } + + static final _id_setShouldDockBigOverlays = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setShouldDockBigOverlays", r"(Z)V"); + + /// from: public void setShouldDockBigOverlays(boolean z) + void setShouldDockBigOverlays( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setShouldDockBigOverlays, + jni.JniCallType.voidType, + [z ? 1 : 0]).check(); + } + + static final _id_shouldDockBigOverlays = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"shouldDockBigOverlays", r"()Z"); + + /// from: public boolean shouldDockBigOverlays() + bool shouldDockBigOverlays() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_shouldDockBigOverlays, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_onConfigurationChanged = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onConfigurationChanged", + r"(Landroid/content/res/Configuration;)V"); + + /// from: public void onConfigurationChanged(android.content.res.Configuration configuration) + void onConfigurationChanged( + jni.JObject configuration, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onConfigurationChanged, + jni.JniCallType.voidType, + [configuration.reference]).check(); + } + + static final _id_getChangingConfigurations = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getChangingConfigurations", r"()I"); + + /// from: public int getChangingConfigurations() + int getChangingConfigurations() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_getChangingConfigurations, jni.JniCallType.intType, []).integer; + } + + static final _id_getLastNonConfigurationInstance = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getLastNonConfigurationInstance", + r"()Ljava/lang/Object;"); + + /// from: public java.lang.Object getLastNonConfigurationInstance() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getLastNonConfigurationInstance() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getLastNonConfigurationInstance, + jni.JniCallType.objectType, []).object); + } + + static final _id_onRetainNonConfigurationInstance = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onRetainNonConfigurationInstance", + r"()Ljava/lang/Object;"); + + /// from: public java.lang.Object onRetainNonConfigurationInstance() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject onRetainNonConfigurationInstance() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onRetainNonConfigurationInstance, + jni.JniCallType.objectType, []).object); + } + + static final _id_onLowMemory = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"onLowMemory", r"()V"); + + /// from: public void onLowMemory() + void onLowMemory() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onLowMemory, jni.JniCallType.voidType, []).check(); + } + + static final _id_onTrimMemory = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onTrimMemory", r"(I)V"); + + /// from: public void onTrimMemory(int i) + void onTrimMemory( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onTrimMemory, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_getFragmentManager = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getFragmentManager", + r"()Landroid/app/FragmentManager;"); + + /// from: public android.app.FragmentManager getFragmentManager() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getFragmentManager() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getFragmentManager, + jni.JniCallType.objectType, []).object); + } + + static final _id_onAttachFragment = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onAttachFragment", r"(Landroid/app/Fragment;)V"); + + /// from: public void onAttachFragment(android.app.Fragment fragment) + void onAttachFragment( + jni.JObject fragment, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onAttachFragment, + jni.JniCallType.voidType, [fragment.reference]).check(); + } + + static final _id_managedQuery = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"managedQuery", + r"(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;"); + + /// from: public final android.database.Cursor managedQuery(android.net.Uri uri, java.lang.String[] strings, java.lang.String string, java.lang.String[] strings1, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject managedQuery( + Uri uri, + jni.JArray strings, + jni.JString string, + jni.JArray strings1, + jni.JString string1, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_managedQuery, jni.JniCallType.objectType, [ + uri.reference, + strings.reference, + string.reference, + strings1.reference, + string1.reference + ]).object); + } + + static final _id_startManagingCursor = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startManagingCursor", + r"(Landroid/database/Cursor;)V"); + + /// from: public void startManagingCursor(android.database.Cursor cursor) + void startManagingCursor( + jni.JObject cursor, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startManagingCursor, + jni.JniCallType.voidType, + [cursor.reference]).check(); + } + + static final _id_stopManagingCursor = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"stopManagingCursor", r"(Landroid/database/Cursor;)V"); + + /// from: public void stopManagingCursor(android.database.Cursor cursor) + void stopManagingCursor( + jni.JObject cursor, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_stopManagingCursor, + jni.JniCallType.voidType, + [cursor.reference]).check(); + } + + static final _id_findViewById = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"findViewById", r"(I)Landroid/view/View;"); + + /// from: public T findViewById(int i) + /// The returned object must be released after use, by calling the [release] method. + $T findViewById<$T extends jni.JObject>( + int i, { + required jni.JObjType<$T> T, + }) { + return T.fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_findViewById, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_requireViewById = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"requireViewById", r"(I)Landroid/view/View;"); + + /// from: public final T requireViewById(int i) + /// The returned object must be released after use, by calling the [release] method. + $T requireViewById<$T extends jni.JObject>( + int i, { + required jni.JObjType<$T> T, + }) { + return T.fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_requireViewById, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_getActionBar = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getActionBar", r"()Landroid/app/ActionBar;"); + + /// from: public android.app.ActionBar getActionBar() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getActionBar() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getActionBar, jni.JniCallType.objectType, []).object); + } + + static final _id_setActionBar = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setActionBar", r"(Landroid/widget/Toolbar;)V"); + + /// from: public void setActionBar(android.widget.Toolbar toolbar) + void setActionBar( + jni.JObject toolbar, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setActionBar, + jni.JniCallType.voidType, [toolbar.reference]).check(); + } + + static final _id_setContentView = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setContentView", r"(I)V"); + + /// from: public void setContentView(int i) + void setContentView( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setContentView, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_setContentView1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setContentView", r"(Landroid/view/View;)V"); + + /// from: public void setContentView(android.view.View view) + void setContentView1( + jni.JObject view, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setContentView1, + jni.JniCallType.voidType, [view.reference]).check(); + } + + static final _id_setContentView2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setContentView", + r"(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V"); + + /// from: public void setContentView(android.view.View view, android.view.ViewGroup$LayoutParams layoutParams) + void setContentView2( + jni.JObject view, + jni.JObject layoutParams, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setContentView2, + jni.JniCallType.voidType, + [view.reference, layoutParams.reference]).check(); + } + + static final _id_addContentView = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addContentView", + r"(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V"); + + /// from: public void addContentView(android.view.View view, android.view.ViewGroup$LayoutParams layoutParams) + void addContentView( + jni.JObject view, + jni.JObject layoutParams, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addContentView, + jni.JniCallType.voidType, + [view.reference, layoutParams.reference]).check(); + } + + static final _id_getContentTransitionManager = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getContentTransitionManager", + r"()Landroid/transition/TransitionManager;"); + + /// from: public android.transition.TransitionManager getContentTransitionManager() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getContentTransitionManager() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getContentTransitionManager, + jni.JniCallType.objectType, []).object); + } + + static final _id_setContentTransitionManager = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setContentTransitionManager", + r"(Landroid/transition/TransitionManager;)V"); + + /// from: public void setContentTransitionManager(android.transition.TransitionManager transitionManager) + void setContentTransitionManager( + jni.JObject transitionManager, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setContentTransitionManager, + jni.JniCallType.voidType, + [transitionManager.reference]).check(); + } + + static final _id_getContentScene = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getContentScene", r"()Landroid/transition/Scene;"); + + /// from: public android.transition.Scene getContentScene() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getContentScene() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getContentScene, jni.JniCallType.objectType, []).object); + } + + static final _id_setFinishOnTouchOutside = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setFinishOnTouchOutside", r"(Z)V"); + + /// from: public void setFinishOnTouchOutside(boolean z) + void setFinishOnTouchOutside( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setFinishOnTouchOutside, + jni.JniCallType.voidType, + [z ? 1 : 0]).check(); + } + + static final _id_setDefaultKeyMode = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setDefaultKeyMode", r"(I)V"); + + /// from: public final void setDefaultKeyMode(int i) + void setDefaultKeyMode( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setDefaultKeyMode, + jni.JniCallType.voidType, + [jni.JValueInt(i)]).check(); + } + + static final _id_onKeyDown = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onKeyDown", r"(ILandroid/view/KeyEvent;)Z"); + + /// from: public boolean onKeyDown(int i, android.view.KeyEvent keyEvent) + bool onKeyDown( + int i, + jni.JObject keyEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onKeyDown, + jni.JniCallType.booleanType, + [jni.JValueInt(i), keyEvent.reference]).boolean; + } + + static final _id_onKeyLongPress = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onKeyLongPress", r"(ILandroid/view/KeyEvent;)Z"); + + /// from: public boolean onKeyLongPress(int i, android.view.KeyEvent keyEvent) + bool onKeyLongPress( + int i, + jni.JObject keyEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onKeyLongPress, + jni.JniCallType.booleanType, + [jni.JValueInt(i), keyEvent.reference]).boolean; + } + + static final _id_onKeyUp = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onKeyUp", r"(ILandroid/view/KeyEvent;)Z"); + + /// from: public boolean onKeyUp(int i, android.view.KeyEvent keyEvent) + bool onKeyUp( + int i, + jni.JObject keyEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onKeyUp, + jni.JniCallType.booleanType, + [jni.JValueInt(i), keyEvent.reference]).boolean; + } + + static final _id_onKeyMultiple = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onKeyMultiple", r"(IILandroid/view/KeyEvent;)Z"); + + /// from: public boolean onKeyMultiple(int i, int i1, android.view.KeyEvent keyEvent) + bool onKeyMultiple( + int i, + int i1, + jni.JObject keyEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onKeyMultiple, + jni.JniCallType.booleanType, + [jni.JValueInt(i), jni.JValueInt(i1), keyEvent.reference]).boolean; + } + + static final _id_onBackPressed = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onBackPressed", r"()V"); + + /// from: public void onBackPressed() + void onBackPressed() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onBackPressed, jni.JniCallType.voidType, []).check(); + } + + static final _id_onKeyShortcut = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onKeyShortcut", r"(ILandroid/view/KeyEvent;)Z"); + + /// from: public boolean onKeyShortcut(int i, android.view.KeyEvent keyEvent) + bool onKeyShortcut( + int i, + jni.JObject keyEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onKeyShortcut, + jni.JniCallType.booleanType, + [jni.JValueInt(i), keyEvent.reference]).boolean; + } + + static final _id_onTouchEvent = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onTouchEvent", r"(Landroid/view/MotionEvent;)Z"); + + /// from: public boolean onTouchEvent(android.view.MotionEvent motionEvent) + bool onTouchEvent( + jni.JObject motionEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onTouchEvent, + jni.JniCallType.booleanType, [motionEvent.reference]).boolean; + } + + static final _id_onTrackballEvent = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onTrackballEvent", r"(Landroid/view/MotionEvent;)Z"); + + /// from: public boolean onTrackballEvent(android.view.MotionEvent motionEvent) + bool onTrackballEvent( + jni.JObject motionEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onTrackballEvent, + jni.JniCallType.booleanType, [motionEvent.reference]).boolean; + } + + static final _id_onGenericMotionEvent = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onGenericMotionEvent", + r"(Landroid/view/MotionEvent;)Z"); + + /// from: public boolean onGenericMotionEvent(android.view.MotionEvent motionEvent) + bool onGenericMotionEvent( + jni.JObject motionEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onGenericMotionEvent, + jni.JniCallType.booleanType, + [motionEvent.reference]).boolean; + } + + static final _id_onUserInteraction = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onUserInteraction", r"()V"); + + /// from: public void onUserInteraction() + void onUserInteraction() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onUserInteraction, jni.JniCallType.voidType, []).check(); + } + + static final _id_onWindowAttributesChanged = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onWindowAttributesChanged", + r"(Landroid/view/WindowManager$LayoutParams;)V"); + + /// from: public void onWindowAttributesChanged(android.view.WindowManager$LayoutParams layoutParams) + void onWindowAttributesChanged( + jni.JObject layoutParams, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onWindowAttributesChanged, + jni.JniCallType.voidType, + [layoutParams.reference]).check(); + } + + static final _id_onContentChanged = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onContentChanged", r"()V"); + + /// from: public void onContentChanged() + void onContentChanged() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onContentChanged, jni.JniCallType.voidType, []).check(); + } + + static final _id_onWindowFocusChanged = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onWindowFocusChanged", r"(Z)V"); + + /// from: public void onWindowFocusChanged(boolean z) + void onWindowFocusChanged( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onWindowFocusChanged, + jni.JniCallType.voidType, + [z ? 1 : 0]).check(); + } + + static final _id_onAttachedToWindow = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onAttachedToWindow", r"()V"); + + /// from: public void onAttachedToWindow() + void onAttachedToWindow() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_onAttachedToWindow, jni.JniCallType.voidType, []).check(); + } + + static final _id_onDetachedFromWindow = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onDetachedFromWindow", r"()V"); + + /// from: public void onDetachedFromWindow() + void onDetachedFromWindow() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_onDetachedFromWindow, jni.JniCallType.voidType, []).check(); + } + + static final _id_hasWindowFocus = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"hasWindowFocus", r"()Z"); + + /// from: public boolean hasWindowFocus() + bool hasWindowFocus() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_hasWindowFocus, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_dispatchKeyEvent = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"dispatchKeyEvent", r"(Landroid/view/KeyEvent;)Z"); + + /// from: public boolean dispatchKeyEvent(android.view.KeyEvent keyEvent) + bool dispatchKeyEvent( + jni.JObject keyEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_dispatchKeyEvent, + jni.JniCallType.booleanType, [keyEvent.reference]).boolean; + } + + static final _id_dispatchKeyShortcutEvent = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"dispatchKeyShortcutEvent", + r"(Landroid/view/KeyEvent;)Z"); + + /// from: public boolean dispatchKeyShortcutEvent(android.view.KeyEvent keyEvent) + bool dispatchKeyShortcutEvent( + jni.JObject keyEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_dispatchKeyShortcutEvent, + jni.JniCallType.booleanType, + [keyEvent.reference]).boolean; + } + + static final _id_dispatchTouchEvent = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"dispatchTouchEvent", + r"(Landroid/view/MotionEvent;)Z"); + + /// from: public boolean dispatchTouchEvent(android.view.MotionEvent motionEvent) + bool dispatchTouchEvent( + jni.JObject motionEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_dispatchTouchEvent, + jni.JniCallType.booleanType, + [motionEvent.reference]).boolean; + } + + static final _id_dispatchTrackballEvent = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"dispatchTrackballEvent", + r"(Landroid/view/MotionEvent;)Z"); + + /// from: public boolean dispatchTrackballEvent(android.view.MotionEvent motionEvent) + bool dispatchTrackballEvent( + jni.JObject motionEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_dispatchTrackballEvent, + jni.JniCallType.booleanType, + [motionEvent.reference]).boolean; + } + + static final _id_dispatchGenericMotionEvent = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"dispatchGenericMotionEvent", + r"(Landroid/view/MotionEvent;)Z"); + + /// from: public boolean dispatchGenericMotionEvent(android.view.MotionEvent motionEvent) + bool dispatchGenericMotionEvent( + jni.JObject motionEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_dispatchGenericMotionEvent, + jni.JniCallType.booleanType, + [motionEvent.reference]).boolean; + } + + static final _id_dispatchPopulateAccessibilityEvent = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"dispatchPopulateAccessibilityEvent", + r"(Landroid/view/accessibility/AccessibilityEvent;)Z"); + + /// from: public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent accessibilityEvent) + bool dispatchPopulateAccessibilityEvent( + jni.JObject accessibilityEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_dispatchPopulateAccessibilityEvent, + jni.JniCallType.booleanType, + [accessibilityEvent.reference]).boolean; + } + + static final _id_onCreatePanelView = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onCreatePanelView", r"(I)Landroid/view/View;"); + + /// from: public android.view.View onCreatePanelView(int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject onCreatePanelView( + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onCreatePanelView, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_onCreatePanelMenu = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onCreatePanelMenu", r"(ILandroid/view/Menu;)Z"); + + /// from: public boolean onCreatePanelMenu(int i, android.view.Menu menu) + bool onCreatePanelMenu( + int i, + jni.JObject menu, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onCreatePanelMenu, + jni.JniCallType.booleanType, + [jni.JValueInt(i), menu.reference]).boolean; + } + + static final _id_onPreparePanel = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onPreparePanel", + r"(ILandroid/view/View;Landroid/view/Menu;)Z"); + + /// from: public boolean onPreparePanel(int i, android.view.View view, android.view.Menu menu) + bool onPreparePanel( + int i, + jni.JObject view, + jni.JObject menu, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onPreparePanel, + jni.JniCallType.booleanType, + [jni.JValueInt(i), view.reference, menu.reference]).boolean; + } + + static final _id_onMenuOpened = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onMenuOpened", r"(ILandroid/view/Menu;)Z"); + + /// from: public boolean onMenuOpened(int i, android.view.Menu menu) + bool onMenuOpened( + int i, + jni.JObject menu, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onMenuOpened, + jni.JniCallType.booleanType, + [jni.JValueInt(i), menu.reference]).boolean; + } + + static final _id_onMenuItemSelected = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onMenuItemSelected", r"(ILandroid/view/MenuItem;)Z"); + + /// from: public boolean onMenuItemSelected(int i, android.view.MenuItem menuItem) + bool onMenuItemSelected( + int i, + jni.JObject menuItem, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onMenuItemSelected, + jni.JniCallType.booleanType, + [jni.JValueInt(i), menuItem.reference]).boolean; + } + + static final _id_onPanelClosed = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onPanelClosed", r"(ILandroid/view/Menu;)V"); + + /// from: public void onPanelClosed(int i, android.view.Menu menu) + void onPanelClosed( + int i, + jni.JObject menu, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onPanelClosed, + jni.JniCallType.voidType, [jni.JValueInt(i), menu.reference]).check(); + } + + static final _id_invalidateOptionsMenu = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"invalidateOptionsMenu", r"()V"); + + /// from: public void invalidateOptionsMenu() + void invalidateOptionsMenu() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_invalidateOptionsMenu, jni.JniCallType.voidType, []).check(); + } + + static final _id_onCreateOptionsMenu = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onCreateOptionsMenu", r"(Landroid/view/Menu;)Z"); + + /// from: public boolean onCreateOptionsMenu(android.view.Menu menu) + bool onCreateOptionsMenu( + jni.JObject menu, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onCreateOptionsMenu, + jni.JniCallType.booleanType, + [menu.reference]).boolean; + } + + static final _id_onPrepareOptionsMenu = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onPrepareOptionsMenu", r"(Landroid/view/Menu;)Z"); + + /// from: public boolean onPrepareOptionsMenu(android.view.Menu menu) + bool onPrepareOptionsMenu( + jni.JObject menu, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onPrepareOptionsMenu, + jni.JniCallType.booleanType, + [menu.reference]).boolean; + } + + static final _id_onOptionsItemSelected = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onOptionsItemSelected", + r"(Landroid/view/MenuItem;)Z"); + + /// from: public boolean onOptionsItemSelected(android.view.MenuItem menuItem) + bool onOptionsItemSelected( + jni.JObject menuItem, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onOptionsItemSelected, + jni.JniCallType.booleanType, + [menuItem.reference]).boolean; + } + + static final _id_onNavigateUp = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onNavigateUp", r"()Z"); + + /// from: public boolean onNavigateUp() + bool onNavigateUp() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onNavigateUp, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_onNavigateUpFromChild = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onNavigateUpFromChild", r"(Landroid/app/Activity;)Z"); + + /// from: public boolean onNavigateUpFromChild(android.app.Activity activity) + bool onNavigateUpFromChild( + Activity activity, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onNavigateUpFromChild, + jni.JniCallType.booleanType, + [activity.reference]).boolean; + } + + static final _id_onCreateNavigateUpTaskStack = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onCreateNavigateUpTaskStack", + r"(Landroid/app/TaskStackBuilder;)V"); + + /// from: public void onCreateNavigateUpTaskStack(android.app.TaskStackBuilder taskStackBuilder) + void onCreateNavigateUpTaskStack( + jni.JObject taskStackBuilder, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onCreateNavigateUpTaskStack, + jni.JniCallType.voidType, + [taskStackBuilder.reference]).check(); + } + + static final _id_onPrepareNavigateUpTaskStack = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onPrepareNavigateUpTaskStack", + r"(Landroid/app/TaskStackBuilder;)V"); + + /// from: public void onPrepareNavigateUpTaskStack(android.app.TaskStackBuilder taskStackBuilder) + void onPrepareNavigateUpTaskStack( + jni.JObject taskStackBuilder, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onPrepareNavigateUpTaskStack, + jni.JniCallType.voidType, + [taskStackBuilder.reference]).check(); + } + + static final _id_onOptionsMenuClosed = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onOptionsMenuClosed", r"(Landroid/view/Menu;)V"); + + /// from: public void onOptionsMenuClosed(android.view.Menu menu) + void onOptionsMenuClosed( + jni.JObject menu, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onOptionsMenuClosed, + jni.JniCallType.voidType, + [menu.reference]).check(); + } + + static final _id_openOptionsMenu = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"openOptionsMenu", r"()V"); + + /// from: public void openOptionsMenu() + void openOptionsMenu() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_openOptionsMenu, jni.JniCallType.voidType, []).check(); + } + + static final _id_closeOptionsMenu = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"closeOptionsMenu", r"()V"); + + /// from: public void closeOptionsMenu() + void closeOptionsMenu() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_closeOptionsMenu, jni.JniCallType.voidType, []).check(); + } + + static final _id_onCreateContextMenu = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onCreateContextMenu", + r"(Landroid/view/ContextMenu;Landroid/view/View;Landroid/view/ContextMenu$ContextMenuInfo;)V"); + + /// from: public void onCreateContextMenu(android.view.ContextMenu contextMenu, android.view.View view, android.view.ContextMenu$ContextMenuInfo contextMenuInfo) + void onCreateContextMenu( + jni.JObject contextMenu, + jni.JObject view, + jni.JObject contextMenuInfo, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onCreateContextMenu, jni.JniCallType.voidType, [ + contextMenu.reference, + view.reference, + contextMenuInfo.reference + ]).check(); + } + + static final _id_registerForContextMenu = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"registerForContextMenu", r"(Landroid/view/View;)V"); + + /// from: public void registerForContextMenu(android.view.View view) + void registerForContextMenu( + jni.JObject view, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_registerForContextMenu, + jni.JniCallType.voidType, + [view.reference]).check(); + } + + static final _id_unregisterForContextMenu = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"unregisterForContextMenu", r"(Landroid/view/View;)V"); + + /// from: public void unregisterForContextMenu(android.view.View view) + void unregisterForContextMenu( + jni.JObject view, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_unregisterForContextMenu, + jni.JniCallType.voidType, + [view.reference]).check(); + } + + static final _id_openContextMenu = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"openContextMenu", r"(Landroid/view/View;)V"); + + /// from: public void openContextMenu(android.view.View view) + void openContextMenu( + jni.JObject view, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_openContextMenu, + jni.JniCallType.voidType, [view.reference]).check(); + } + + static final _id_closeContextMenu = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"closeContextMenu", r"()V"); + + /// from: public void closeContextMenu() + void closeContextMenu() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_closeContextMenu, jni.JniCallType.voidType, []).check(); + } + + static final _id_onContextItemSelected = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onContextItemSelected", + r"(Landroid/view/MenuItem;)Z"); + + /// from: public boolean onContextItemSelected(android.view.MenuItem menuItem) + bool onContextItemSelected( + jni.JObject menuItem, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onContextItemSelected, + jni.JniCallType.booleanType, + [menuItem.reference]).boolean; + } + + static final _id_onContextMenuClosed = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onContextMenuClosed", r"(Landroid/view/Menu;)V"); + + /// from: public void onContextMenuClosed(android.view.Menu menu) + void onContextMenuClosed( + jni.JObject menu, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onContextMenuClosed, + jni.JniCallType.voidType, + [menu.reference]).check(); + } + + static final _id_onCreateDialog = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onCreateDialog", r"(I)Landroid/app/Dialog;"); + + /// from: protected android.app.Dialog onCreateDialog(int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject onCreateDialog( + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onCreateDialog, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_onCreateDialog1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onCreateDialog", + r"(ILandroid/os/Bundle;)Landroid/app/Dialog;"); + + /// from: protected android.app.Dialog onCreateDialog(int i, android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject onCreateDialog1( + int i, + Bundle bundle, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onCreateDialog1, + jni.JniCallType.objectType, + [jni.JValueInt(i), bundle.reference]).object); + } + + static final _id_onPrepareDialog = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onPrepareDialog", r"(ILandroid/app/Dialog;)V"); + + /// from: protected void onPrepareDialog(int i, android.app.Dialog dialog) + void onPrepareDialog( + int i, + jni.JObject dialog, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onPrepareDialog, + jni.JniCallType.voidType, [jni.JValueInt(i), dialog.reference]).check(); + } + + static final _id_onPrepareDialog1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onPrepareDialog", + r"(ILandroid/app/Dialog;Landroid/os/Bundle;)V"); + + /// from: protected void onPrepareDialog(int i, android.app.Dialog dialog, android.os.Bundle bundle) + void onPrepareDialog1( + int i, + jni.JObject dialog, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onPrepareDialog1, + jni.JniCallType.voidType, + [jni.JValueInt(i), dialog.reference, bundle.reference]).check(); + } + + static final _id_showDialog = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"showDialog", r"(I)V"); + + /// from: public final void showDialog(int i) + void showDialog( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_showDialog, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_showDialog1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"showDialog", r"(ILandroid/os/Bundle;)Z"); + + /// from: public final boolean showDialog(int i, android.os.Bundle bundle) + bool showDialog1( + int i, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_showDialog1, + jni.JniCallType.booleanType, + [jni.JValueInt(i), bundle.reference]).boolean; + } + + static final _id_dismissDialog = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"dismissDialog", r"(I)V"); + + /// from: public final void dismissDialog(int i) + void dismissDialog( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_dismissDialog, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_removeDialog = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"removeDialog", r"(I)V"); + + /// from: public final void removeDialog(int i) + void removeDialog( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_removeDialog, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_onSearchRequested = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onSearchRequested", r"(Landroid/view/SearchEvent;)Z"); + + /// from: public boolean onSearchRequested(android.view.SearchEvent searchEvent) + bool onSearchRequested( + jni.JObject searchEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onSearchRequested, + jni.JniCallType.booleanType, + [searchEvent.reference]).boolean; + } + + static final _id_onSearchRequested1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onSearchRequested", r"()Z"); + + /// from: public boolean onSearchRequested() + bool onSearchRequested1() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_onSearchRequested1, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_getSearchEvent = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getSearchEvent", r"()Landroid/view/SearchEvent;"); + + /// from: public final android.view.SearchEvent getSearchEvent() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getSearchEvent() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getSearchEvent, jni.JniCallType.objectType, []).object); + } + + static final _id_startSearch = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startSearch", + r"(Ljava/lang/String;ZLandroid/os/Bundle;Z)V"); + + /// from: public void startSearch(java.lang.String string, boolean z, android.os.Bundle bundle, boolean z1) + void startSearch( + jni.JString string, + bool z, + Bundle bundle, + bool z1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startSearch, + jni.JniCallType.voidType, + [string.reference, z ? 1 : 0, bundle.reference, z1 ? 1 : 0]).check(); + } + + static final _id_triggerSearch = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"triggerSearch", + r"(Ljava/lang/String;Landroid/os/Bundle;)V"); + + /// from: public void triggerSearch(java.lang.String string, android.os.Bundle bundle) + void triggerSearch( + jni.JString string, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_triggerSearch, + jni.JniCallType.voidType, [string.reference, bundle.reference]).check(); + } + + static final _id_takeKeyEvents = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"takeKeyEvents", r"(Z)V"); + + /// from: public void takeKeyEvents(boolean z) + void takeKeyEvents( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_takeKeyEvents, + jni.JniCallType.voidType, [z ? 1 : 0]).check(); + } + + static final _id_requestWindowFeature = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"requestWindowFeature", r"(I)Z"); + + /// from: public final boolean requestWindowFeature(int i) + bool requestWindowFeature( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_requestWindowFeature, + jni.JniCallType.booleanType, + [jni.JValueInt(i)]).boolean; + } + + static final _id_setFeatureDrawableResource = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setFeatureDrawableResource", r"(II)V"); + + /// from: public final void setFeatureDrawableResource(int i, int i1) + void setFeatureDrawableResource( + int i, + int i1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setFeatureDrawableResource, + jni.JniCallType.voidType, + [jni.JValueInt(i), jni.JValueInt(i1)]).check(); + } + + static final _id_setFeatureDrawableUri = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setFeatureDrawableUri", r"(ILandroid/net/Uri;)V"); + + /// from: public final void setFeatureDrawableUri(int i, android.net.Uri uri) + void setFeatureDrawableUri( + int i, + Uri uri, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setFeatureDrawableUri, + jni.JniCallType.voidType, + [jni.JValueInt(i), uri.reference]).check(); + } + + static final _id_setFeatureDrawable = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setFeatureDrawable", + r"(ILandroid/graphics/drawable/Drawable;)V"); + + /// from: public final void setFeatureDrawable(int i, android.graphics.drawable.Drawable drawable) + void setFeatureDrawable( + int i, + jni.JObject drawable, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setFeatureDrawable, + jni.JniCallType.voidType, + [jni.JValueInt(i), drawable.reference]).check(); + } + + static final _id_setFeatureDrawableAlpha = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setFeatureDrawableAlpha", r"(II)V"); + + /// from: public final void setFeatureDrawableAlpha(int i, int i1) + void setFeatureDrawableAlpha( + int i, + int i1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setFeatureDrawableAlpha, + jni.JniCallType.voidType, + [jni.JValueInt(i), jni.JValueInt(i1)]).check(); + } + + static final _id_getLayoutInflater = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getLayoutInflater", + r"()Landroid/view/LayoutInflater;"); + + /// from: public android.view.LayoutInflater getLayoutInflater() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getLayoutInflater() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getLayoutInflater, + jni.JniCallType.objectType, []).object); + } + + static final _id_getMenuInflater = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getMenuInflater", r"()Landroid/view/MenuInflater;"); + + /// from: public android.view.MenuInflater getMenuInflater() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getMenuInflater() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getMenuInflater, jni.JniCallType.objectType, []).object); + } + + static final _id_setTheme = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"setTheme", r"(I)V"); + + /// from: public void setTheme(int i) + void setTheme( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setTheme, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_onApplyThemeResource = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onApplyThemeResource", + r"(Landroid/content/res/Resources$Theme;IZ)V"); + + /// from: protected void onApplyThemeResource(android.content.res.Resources$Theme theme, int i, boolean z) + void onApplyThemeResource( + jni.JObject theme, + int i, + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onApplyThemeResource, + jni.JniCallType.voidType, + [theme.reference, jni.JValueInt(i), z ? 1 : 0]).check(); + } + + static final _id_requestPermissions = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"requestPermissions", r"([Ljava/lang/String;I)V"); + + /// from: public final void requestPermissions(java.lang.String[] strings, int i) + void requestPermissions( + jni.JArray strings, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_requestPermissions, + jni.JniCallType.voidType, + [strings.reference, jni.JValueInt(i)]).check(); + } + + static final _id_onRequestPermissionsResult = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onRequestPermissionsResult", + r"(I[Ljava/lang/String;[I)V"); + + /// from: public void onRequestPermissionsResult(int i, java.lang.String[] strings, int[] is) + void onRequestPermissionsResult( + int i, + jni.JArray strings, + jni.JArray is0, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onRequestPermissionsResult, + jni.JniCallType.voidType, + [jni.JValueInt(i), strings.reference, is0.reference]).check(); + } + + static final _id_shouldShowRequestPermissionRationale = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"shouldShowRequestPermissionRationale", + r"(Ljava/lang/String;)Z"); + + /// from: public boolean shouldShowRequestPermissionRationale(java.lang.String string) + bool shouldShowRequestPermissionRationale( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_shouldShowRequestPermissionRationale, + jni.JniCallType.booleanType, + [string.reference]).boolean; + } + + static final _id_startActivityForResult = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActivityForResult", + r"(Landroid/content/Intent;I)V"); + + /// from: public void startActivityForResult(android.content.Intent intent, int i) + void startActivityForResult( + Intent intent, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startActivityForResult, + jni.JniCallType.voidType, + [intent.reference, jni.JValueInt(i)]).check(); + } + + static final _id_startActivityForResult1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActivityForResult", + r"(Landroid/content/Intent;ILandroid/os/Bundle;)V"); + + /// from: public void startActivityForResult(android.content.Intent intent, int i, android.os.Bundle bundle) + void startActivityForResult1( + Intent intent, + int i, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startActivityForResult1, + jni.JniCallType.voidType, + [intent.reference, jni.JValueInt(i), bundle.reference]).check(); + } + + static final _id_isActivityTransitionRunning = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isActivityTransitionRunning", r"()Z"); + + /// from: public boolean isActivityTransitionRunning() + bool isActivityTransitionRunning() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_isActivityTransitionRunning, + jni.JniCallType.booleanType, []).boolean; + } + + static final _id_startIntentSenderForResult = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startIntentSenderForResult", + r"(Landroid/content/IntentSender;ILandroid/content/Intent;III)V"); + + /// from: public void startIntentSenderForResult(android.content.IntentSender intentSender, int i, android.content.Intent intent, int i1, int i2, int i3) + void startIntentSenderForResult( + jni.JObject intentSender, + int i, + Intent intent, + int i1, + int i2, + int i3, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_startIntentSenderForResult, jni.JniCallType.voidType, [ + intentSender.reference, + jni.JValueInt(i), + intent.reference, + jni.JValueInt(i1), + jni.JValueInt(i2), + jni.JValueInt(i3) + ]).check(); + } + + static final _id_startIntentSenderForResult1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startIntentSenderForResult", + r"(Landroid/content/IntentSender;ILandroid/content/Intent;IIILandroid/os/Bundle;)V"); + + /// from: public void startIntentSenderForResult(android.content.IntentSender intentSender, int i, android.content.Intent intent, int i1, int i2, int i3, android.os.Bundle bundle) + void startIntentSenderForResult1( + jni.JObject intentSender, + int i, + Intent intent, + int i1, + int i2, + int i3, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_startIntentSenderForResult1, jni.JniCallType.voidType, [ + intentSender.reference, + jni.JValueInt(i), + intent.reference, + jni.JValueInt(i1), + jni.JValueInt(i2), + jni.JValueInt(i3), + bundle.reference + ]).check(); + } + + static final _id_startActivity = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"startActivity", r"(Landroid/content/Intent;)V"); + + /// from: public void startActivity(android.content.Intent intent) + void startActivity( + Intent intent, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_startActivity, + jni.JniCallType.voidType, [intent.reference]).check(); + } + + static final _id_startActivity1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActivity", + r"(Landroid/content/Intent;Landroid/os/Bundle;)V"); + + /// from: public void startActivity(android.content.Intent intent, android.os.Bundle bundle) + void startActivity1( + Intent intent, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_startActivity1, + jni.JniCallType.voidType, [intent.reference, bundle.reference]).check(); + } + + static final _id_startActivities = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"startActivities", r"([Landroid/content/Intent;)V"); + + /// from: public void startActivities(android.content.Intent[] intents) + void startActivities( + jni.JArray intents, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_startActivities, + jni.JniCallType.voidType, [intents.reference]).check(); + } + + static final _id_startActivities1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActivities", + r"([Landroid/content/Intent;Landroid/os/Bundle;)V"); + + /// from: public void startActivities(android.content.Intent[] intents, android.os.Bundle bundle) + void startActivities1( + jni.JArray intents, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startActivities1, + jni.JniCallType.voidType, + [intents.reference, bundle.reference]).check(); + } + + static final _id_startIntentSender = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startIntentSender", + r"(Landroid/content/IntentSender;Landroid/content/Intent;III)V"); + + /// from: public void startIntentSender(android.content.IntentSender intentSender, android.content.Intent intent, int i, int i1, int i2) + void startIntentSender( + jni.JObject intentSender, + Intent intent, + int i, + int i1, + int i2, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_startIntentSender, jni.JniCallType.voidType, [ + intentSender.reference, + intent.reference, + jni.JValueInt(i), + jni.JValueInt(i1), + jni.JValueInt(i2) + ]).check(); + } + + static final _id_startIntentSender1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startIntentSender", + r"(Landroid/content/IntentSender;Landroid/content/Intent;IIILandroid/os/Bundle;)V"); + + /// from: public void startIntentSender(android.content.IntentSender intentSender, android.content.Intent intent, int i, int i1, int i2, android.os.Bundle bundle) + void startIntentSender1( + jni.JObject intentSender, + Intent intent, + int i, + int i1, + int i2, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_startIntentSender1, jni.JniCallType.voidType, [ + intentSender.reference, + intent.reference, + jni.JValueInt(i), + jni.JValueInt(i1), + jni.JValueInt(i2), + bundle.reference + ]).check(); + } + + static final _id_startActivityIfNeeded = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActivityIfNeeded", + r"(Landroid/content/Intent;I)Z"); + + /// from: public boolean startActivityIfNeeded(android.content.Intent intent, int i) + bool startActivityIfNeeded( + Intent intent, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startActivityIfNeeded, + jni.JniCallType.booleanType, + [intent.reference, jni.JValueInt(i)]).boolean; + } + + static final _id_startActivityIfNeeded1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActivityIfNeeded", + r"(Landroid/content/Intent;ILandroid/os/Bundle;)Z"); + + /// from: public boolean startActivityIfNeeded(android.content.Intent intent, int i, android.os.Bundle bundle) + bool startActivityIfNeeded1( + Intent intent, + int i, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startActivityIfNeeded1, + jni.JniCallType.booleanType, + [intent.reference, jni.JValueInt(i), bundle.reference]).boolean; + } + + static final _id_startNextMatchingActivity = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startNextMatchingActivity", + r"(Landroid/content/Intent;)Z"); + + /// from: public boolean startNextMatchingActivity(android.content.Intent intent) + bool startNextMatchingActivity( + Intent intent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startNextMatchingActivity, + jni.JniCallType.booleanType, + [intent.reference]).boolean; + } + + static final _id_startNextMatchingActivity1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startNextMatchingActivity", + r"(Landroid/content/Intent;Landroid/os/Bundle;)Z"); + + /// from: public boolean startNextMatchingActivity(android.content.Intent intent, android.os.Bundle bundle) + bool startNextMatchingActivity1( + Intent intent, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startNextMatchingActivity1, + jni.JniCallType.booleanType, + [intent.reference, bundle.reference]).boolean; + } + + static final _id_startActivityFromChild = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActivityFromChild", + r"(Landroid/app/Activity;Landroid/content/Intent;I)V"); + + /// from: public void startActivityFromChild(android.app.Activity activity, android.content.Intent intent, int i) + void startActivityFromChild( + Activity activity, + Intent intent, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startActivityFromChild, + jni.JniCallType.voidType, + [activity.reference, intent.reference, jni.JValueInt(i)]).check(); + } + + static final _id_startActivityFromChild1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActivityFromChild", + r"(Landroid/app/Activity;Landroid/content/Intent;ILandroid/os/Bundle;)V"); + + /// from: public void startActivityFromChild(android.app.Activity activity, android.content.Intent intent, int i, android.os.Bundle bundle) + void startActivityFromChild1( + Activity activity, + Intent intent, + int i, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_startActivityFromChild1, jni.JniCallType.voidType, [ + activity.reference, + intent.reference, + jni.JValueInt(i), + bundle.reference + ]).check(); + } + + static final _id_startActivityFromFragment = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActivityFromFragment", + r"(Landroid/app/Fragment;Landroid/content/Intent;I)V"); + + /// from: public void startActivityFromFragment(android.app.Fragment fragment, android.content.Intent intent, int i) + void startActivityFromFragment( + jni.JObject fragment, + Intent intent, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startActivityFromFragment, + jni.JniCallType.voidType, + [fragment.reference, intent.reference, jni.JValueInt(i)]).check(); + } + + static final _id_startActivityFromFragment1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActivityFromFragment", + r"(Landroid/app/Fragment;Landroid/content/Intent;ILandroid/os/Bundle;)V"); + + /// from: public void startActivityFromFragment(android.app.Fragment fragment, android.content.Intent intent, int i, android.os.Bundle bundle) + void startActivityFromFragment1( + jni.JObject fragment, + Intent intent, + int i, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_startActivityFromFragment1, jni.JniCallType.voidType, [ + fragment.reference, + intent.reference, + jni.JValueInt(i), + bundle.reference + ]).check(); + } + + static final _id_startIntentSenderFromChild = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startIntentSenderFromChild", + r"(Landroid/app/Activity;Landroid/content/IntentSender;ILandroid/content/Intent;III)V"); + + /// from: public void startIntentSenderFromChild(android.app.Activity activity, android.content.IntentSender intentSender, int i, android.content.Intent intent, int i1, int i2, int i3) + void startIntentSenderFromChild( + Activity activity, + jni.JObject intentSender, + int i, + Intent intent, + int i1, + int i2, + int i3, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_startIntentSenderFromChild, jni.JniCallType.voidType, [ + activity.reference, + intentSender.reference, + jni.JValueInt(i), + intent.reference, + jni.JValueInt(i1), + jni.JValueInt(i2), + jni.JValueInt(i3) + ]).check(); + } + + static final _id_startIntentSenderFromChild1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startIntentSenderFromChild", + r"(Landroid/app/Activity;Landroid/content/IntentSender;ILandroid/content/Intent;IIILandroid/os/Bundle;)V"); + + /// from: public void startIntentSenderFromChild(android.app.Activity activity, android.content.IntentSender intentSender, int i, android.content.Intent intent, int i1, int i2, int i3, android.os.Bundle bundle) + void startIntentSenderFromChild1( + Activity activity, + jni.JObject intentSender, + int i, + Intent intent, + int i1, + int i2, + int i3, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_startIntentSenderFromChild1, jni.JniCallType.voidType, [ + activity.reference, + intentSender.reference, + jni.JValueInt(i), + intent.reference, + jni.JValueInt(i1), + jni.JValueInt(i2), + jni.JValueInt(i3), + bundle.reference + ]).check(); + } + + static final _id_overrideActivityTransition = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"overrideActivityTransition", r"(III)V"); + + /// from: public void overrideActivityTransition(int i, int i1, int i2) + void overrideActivityTransition( + int i, + int i1, + int i2, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_overrideActivityTransition, + jni.JniCallType.voidType, + [jni.JValueInt(i), jni.JValueInt(i1), jni.JValueInt(i2)]).check(); + } + + static final _id_overrideActivityTransition1 = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"overrideActivityTransition", r"(IIII)V"); + + /// from: public void overrideActivityTransition(int i, int i1, int i2, int i3) + void overrideActivityTransition1( + int i, + int i1, + int i2, + int i3, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_overrideActivityTransition1, jni.JniCallType.voidType, [ + jni.JValueInt(i), + jni.JValueInt(i1), + jni.JValueInt(i2), + jni.JValueInt(i3) + ]).check(); + } + + static final _id_clearOverrideActivityTransition = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"clearOverrideActivityTransition", r"(I)V"); + + /// from: public void clearOverrideActivityTransition(int i) + void clearOverrideActivityTransition( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_clearOverrideActivityTransition, + jni.JniCallType.voidType, + [jni.JValueInt(i)]).check(); + } + + static final _id_overridePendingTransition = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"overridePendingTransition", r"(II)V"); + + /// from: public void overridePendingTransition(int i, int i1) + void overridePendingTransition( + int i, + int i1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_overridePendingTransition, + jni.JniCallType.voidType, + [jni.JValueInt(i), jni.JValueInt(i1)]).check(); + } + + static final _id_overridePendingTransition1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"overridePendingTransition", r"(III)V"); + + /// from: public void overridePendingTransition(int i, int i1, int i2) + void overridePendingTransition1( + int i, + int i1, + int i2, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_overridePendingTransition1, + jni.JniCallType.voidType, + [jni.JValueInt(i), jni.JValueInt(i1), jni.JValueInt(i2)]).check(); + } + + static final _id_setResult = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"setResult", r"(I)V"); + + /// from: public final void setResult(int i) + void setResult( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setResult, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_setResult1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setResult", r"(ILandroid/content/Intent;)V"); + + /// from: public final void setResult(int i, android.content.Intent intent) + void setResult1( + int i, + Intent intent, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setResult1, + jni.JniCallType.voidType, [jni.JValueInt(i), intent.reference]).check(); + } + + static final _id_getReferrer = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getReferrer", r"()Landroid/net/Uri;"); + + /// from: public android.net.Uri getReferrer() + /// The returned object must be released after use, by calling the [release] method. + Uri getReferrer() { + return const $UriType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getReferrer, jni.JniCallType.objectType, []).object); + } + + static final _id_onProvideReferrer = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onProvideReferrer", r"()Landroid/net/Uri;"); + + /// from: public android.net.Uri onProvideReferrer() + /// The returned object must be released after use, by calling the [release] method. + Uri onProvideReferrer() { + return const $UriType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onProvideReferrer, + jni.JniCallType.objectType, []).object); + } + + static final _id_getCallingPackage = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getCallingPackage", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getCallingPackage() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getCallingPackage() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getCallingPackage, + jni.JniCallType.objectType, []).object); + } + + static final _id_getCallingActivity = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getCallingActivity", + r"()Landroid/content/ComponentName;"); + + /// from: public android.content.ComponentName getCallingActivity() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getCallingActivity() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getCallingActivity, + jni.JniCallType.objectType, []).object); + } + + static final _id_getLaunchedFromUid = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getLaunchedFromUid", r"()I"); + + /// from: public int getLaunchedFromUid() + int getLaunchedFromUid() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getLaunchedFromUid, jni.JniCallType.intType, []).integer; + } + + static final _id_getLaunchedFromPackage = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getLaunchedFromPackage", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getLaunchedFromPackage() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getLaunchedFromPackage() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getLaunchedFromPackage, + jni.JniCallType.objectType, []).object); + } + + static final _id_setVisible = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"setVisible", r"(Z)V"); + + /// from: public void setVisible(boolean z) + void setVisible( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setVisible, + jni.JniCallType.voidType, [z ? 1 : 0]).check(); + } + + static final _id_isFinishing = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isFinishing", r"()Z"); + + /// from: public boolean isFinishing() + bool isFinishing() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isFinishing, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_isDestroyed = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isDestroyed", r"()Z"); + + /// from: public boolean isDestroyed() + bool isDestroyed() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isDestroyed, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_isChangingConfigurations = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isChangingConfigurations", r"()Z"); + + /// from: public boolean isChangingConfigurations() + bool isChangingConfigurations() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_isChangingConfigurations, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_recreate = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"recreate", r"()V"); + + /// from: public void recreate() + void recreate() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_recreate, jni.JniCallType.voidType, []).check(); + } + + static final _id_finish = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"finish", r"()V"); + + /// from: public void finish() + void finish() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_finish, jni.JniCallType.voidType, []).check(); + } + + static final _id_finishAffinity = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"finishAffinity", r"()V"); + + /// from: public void finishAffinity() + void finishAffinity() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_finishAffinity, jni.JniCallType.voidType, []).check(); + } + + static final _id_finishFromChild = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"finishFromChild", r"(Landroid/app/Activity;)V"); + + /// from: public void finishFromChild(android.app.Activity activity) + void finishFromChild( + Activity activity, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_finishFromChild, + jni.JniCallType.voidType, [activity.reference]).check(); + } + + static final _id_finishAfterTransition = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"finishAfterTransition", r"()V"); + + /// from: public void finishAfterTransition() + void finishAfterTransition() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_finishAfterTransition, jni.JniCallType.voidType, []).check(); + } + + static final _id_finishActivity = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"finishActivity", r"(I)V"); + + /// from: public void finishActivity(int i) + void finishActivity( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_finishActivity, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_finishActivityFromChild = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"finishActivityFromChild", + r"(Landroid/app/Activity;I)V"); + + /// from: public void finishActivityFromChild(android.app.Activity activity, int i) + void finishActivityFromChild( + Activity activity, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_finishActivityFromChild, + jni.JniCallType.voidType, + [activity.reference, jni.JValueInt(i)]).check(); + } + + static final _id_finishAndRemoveTask = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"finishAndRemoveTask", r"()V"); + + /// from: public void finishAndRemoveTask() + void finishAndRemoveTask() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_finishAndRemoveTask, jni.JniCallType.voidType, []).check(); + } + + static final _id_releaseInstance = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"releaseInstance", r"()Z"); + + /// from: public boolean releaseInstance() + bool releaseInstance() { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_releaseInstance, + jni.JniCallType.booleanType, []).boolean; + } + + static final _id_onActivityResult = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onActivityResult", r"(IILandroid/content/Intent;)V"); + + /// from: protected void onActivityResult(int i, int i1, android.content.Intent intent) + void onActivityResult( + int i, + int i1, + Intent intent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onActivityResult, + jni.JniCallType.voidType, + [jni.JValueInt(i), jni.JValueInt(i1), intent.reference]).check(); + } + + static final _id_onActivityReenter = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onActivityReenter", r"(ILandroid/content/Intent;)V"); + + /// from: public void onActivityReenter(int i, android.content.Intent intent) + void onActivityReenter( + int i, + Intent intent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onActivityReenter, + jni.JniCallType.voidType, + [jni.JValueInt(i), intent.reference]).check(); + } + + static final _id_createPendingResult = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createPendingResult", + r"(ILandroid/content/Intent;I)Landroid/app/PendingIntent;"); + + /// from: public android.app.PendingIntent createPendingResult(int i, android.content.Intent intent, int i1) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject createPendingResult( + int i, + Intent intent, + int i1, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createPendingResult, + jni.JniCallType.objectType, + [jni.JValueInt(i), intent.reference, jni.JValueInt(i1)]).object); + } + + static final _id_setRequestedOrientation = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setRequestedOrientation", r"(I)V"); + + /// from: public void setRequestedOrientation(int i) + void setRequestedOrientation( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setRequestedOrientation, + jni.JniCallType.voidType, + [jni.JValueInt(i)]).check(); + } + + static final _id_getRequestedOrientation = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getRequestedOrientation", r"()I"); + + /// from: public int getRequestedOrientation() + int getRequestedOrientation() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_getRequestedOrientation, jni.JniCallType.intType, []).integer; + } + + static final _id_getTaskId = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"getTaskId", r"()I"); + + /// from: public int getTaskId() + int getTaskId() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getTaskId, jni.JniCallType.intType, []).integer; + } + + static final _id_isTaskRoot = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isTaskRoot", r"()Z"); + + /// from: public boolean isTaskRoot() + bool isTaskRoot() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isTaskRoot, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_moveTaskToBack = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"moveTaskToBack", r"(Z)Z"); + + /// from: public boolean moveTaskToBack(boolean z) + bool moveTaskToBack( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_moveTaskToBack, + jni.JniCallType.booleanType, [z ? 1 : 0]).boolean; + } + + static final _id_getLocalClassName = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getLocalClassName", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getLocalClassName() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getLocalClassName() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getLocalClassName, + jni.JniCallType.objectType, []).object); + } + + static final _id_getComponentName = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getComponentName", + r"()Landroid/content/ComponentName;"); + + /// from: public android.content.ComponentName getComponentName() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getComponentName() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getComponentName, + jni.JniCallType.objectType, []).object); + } + + static final _id_getPreferences = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getPreferences", + r"(I)Landroid/content/SharedPreferences;"); + + /// from: public android.content.SharedPreferences getPreferences(int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getPreferences( + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getPreferences, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_isLaunchedFromBubble = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isLaunchedFromBubble", r"()Z"); + + /// from: public boolean isLaunchedFromBubble() + bool isLaunchedFromBubble() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_isLaunchedFromBubble, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_getSystemService = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getSystemService", + r"(Ljava/lang/String;)Ljava/lang/Object;"); + + /// from: public java.lang.Object getSystemService(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getSystemService( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getSystemService, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_setTitle = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setTitle", r"(Ljava/lang/CharSequence;)V"); + + /// from: public void setTitle(java.lang.CharSequence charSequence) + void setTitle( + jni.JObject charSequence, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setTitle, + jni.JniCallType.voidType, [charSequence.reference]).check(); + } + + static final _id_setTitle1 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"setTitle", r"(I)V"); + + /// from: public void setTitle(int i) + void setTitle1( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setTitle1, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_setTitleColor = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setTitleColor", r"(I)V"); + + /// from: public void setTitleColor(int i) + void setTitleColor( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setTitleColor, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_getTitle = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getTitle", r"()Ljava/lang/CharSequence;"); + + /// from: public final java.lang.CharSequence getTitle() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getTitle() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getTitle, jni.JniCallType.objectType, []).object); + } + + static final _id_getTitleColor = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getTitleColor", r"()I"); + + /// from: public final int getTitleColor() + int getTitleColor() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getTitleColor, jni.JniCallType.intType, []).integer; + } + + static final _id_onTitleChanged = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onTitleChanged", r"(Ljava/lang/CharSequence;I)V"); + + /// from: protected void onTitleChanged(java.lang.CharSequence charSequence, int i) + void onTitleChanged( + jni.JObject charSequence, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onTitleChanged, + jni.JniCallType.voidType, + [charSequence.reference, jni.JValueInt(i)]).check(); + } + + static final _id_onChildTitleChanged = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onChildTitleChanged", + r"(Landroid/app/Activity;Ljava/lang/CharSequence;)V"); + + /// from: protected void onChildTitleChanged(android.app.Activity activity, java.lang.CharSequence charSequence) + void onChildTitleChanged( + Activity activity, + jni.JObject charSequence, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onChildTitleChanged, + jni.JniCallType.voidType, + [activity.reference, charSequence.reference]).check(); + } + + static final _id_setTaskDescription = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setTaskDescription", + r"(Landroid/app/ActivityManager$TaskDescription;)V"); + + /// from: public void setTaskDescription(android.app.ActivityManager$TaskDescription taskDescription) + void setTaskDescription( + jni.JObject taskDescription, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setTaskDescription, + jni.JniCallType.voidType, + [taskDescription.reference]).check(); + } + + static final _id_setProgressBarVisibility = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setProgressBarVisibility", r"(Z)V"); + + /// from: public final void setProgressBarVisibility(boolean z) + void setProgressBarVisibility( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setProgressBarVisibility, + jni.JniCallType.voidType, + [z ? 1 : 0]).check(); + } + + static final _id_setProgressBarIndeterminateVisibility = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"setProgressBarIndeterminateVisibility", r"(Z)V"); + + /// from: public final void setProgressBarIndeterminateVisibility(boolean z) + void setProgressBarIndeterminateVisibility( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setProgressBarIndeterminateVisibility, + jni.JniCallType.voidType, + [z ? 1 : 0]).check(); + } + + static final _id_setProgressBarIndeterminate = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setProgressBarIndeterminate", r"(Z)V"); + + /// from: public final void setProgressBarIndeterminate(boolean z) + void setProgressBarIndeterminate( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setProgressBarIndeterminate, + jni.JniCallType.voidType, + [z ? 1 : 0]).check(); + } + + static final _id_setProgress = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setProgress", r"(I)V"); + + /// from: public final void setProgress(int i) + void setProgress( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setProgress, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_setSecondaryProgress = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setSecondaryProgress", r"(I)V"); + + /// from: public final void setSecondaryProgress(int i) + void setSecondaryProgress( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setSecondaryProgress, + jni.JniCallType.voidType, + [jni.JValueInt(i)]).check(); + } + + static final _id_setVolumeControlStream = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setVolumeControlStream", r"(I)V"); + + /// from: public final void setVolumeControlStream(int i) + void setVolumeControlStream( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setVolumeControlStream, + jni.JniCallType.voidType, + [jni.JValueInt(i)]).check(); + } + + static final _id_getVolumeControlStream = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getVolumeControlStream", r"()I"); + + /// from: public final int getVolumeControlStream() + int getVolumeControlStream() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_getVolumeControlStream, jni.JniCallType.intType, []).integer; + } + + static final _id_setMediaController = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setMediaController", + r"(Landroid/media/session/MediaController;)V"); + + /// from: public final void setMediaController(android.media.session.MediaController mediaController) + void setMediaController( + jni.JObject mediaController, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setMediaController, + jni.JniCallType.voidType, + [mediaController.reference]).check(); + } + + static final _id_getMediaController = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getMediaController", + r"()Landroid/media/session/MediaController;"); + + /// from: public final android.media.session.MediaController getMediaController() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getMediaController() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getMediaController, + jni.JniCallType.objectType, []).object); + } + + static final _id_runOnUiThread = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"runOnUiThread", r"(Ljava/lang/Runnable;)V"); + + /// from: public final void runOnUiThread(java.lang.Runnable runnable) + void runOnUiThread( + Runnable runnable, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_runOnUiThread, + jni.JniCallType.voidType, [runnable.reference]).check(); + } + + static final _id_onCreateView = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onCreateView", + r"(Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;"); + + /// from: public android.view.View onCreateView(java.lang.String string, android.content.Context context, android.util.AttributeSet attributeSet) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject onCreateView( + jni.JString string, + Context context, + jni.JObject attributeSet, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onCreateView, + jni.JniCallType.objectType, + [string.reference, context.reference, attributeSet.reference]).object); + } + + static final _id_onCreateView1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onCreateView", + r"(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;"); + + /// from: public android.view.View onCreateView(android.view.View view, java.lang.String string, android.content.Context context, android.util.AttributeSet attributeSet) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject onCreateView1( + jni.JObject view, + jni.JString string, + Context context, + jni.JObject attributeSet, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_onCreateView1, jni.JniCallType.objectType, [ + view.reference, + string.reference, + context.reference, + attributeSet.reference + ]).object); + } + + static final _id_dump = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"dump", + r"(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V"); + + /// from: public void dump(java.lang.String string, java.io.FileDescriptor fileDescriptor, java.io.PrintWriter printWriter, java.lang.String[] strings) + void dump( + jni.JString string, + jni.JObject fileDescriptor, + jni.JObject printWriter, + jni.JArray strings, + ) { + return jni.Jni.accessors + .callMethodWithArgs(reference, _id_dump, jni.JniCallType.voidType, [ + string.reference, + fileDescriptor.reference, + printWriter.reference, + strings.reference + ]).check(); + } + + static final _id_isImmersive = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isImmersive", r"()Z"); + + /// from: public boolean isImmersive() + bool isImmersive() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isImmersive, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_setTranslucent = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setTranslucent", r"(Z)Z"); + + /// from: public boolean setTranslucent(boolean z) + bool setTranslucent( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setTranslucent, + jni.JniCallType.booleanType, [z ? 1 : 0]).boolean; + } + + static final _id_requestVisibleBehind = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"requestVisibleBehind", r"(Z)Z"); + + /// from: public boolean requestVisibleBehind(boolean z) + bool requestVisibleBehind( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_requestVisibleBehind, + jni.JniCallType.booleanType, + [z ? 1 : 0]).boolean; + } + + static final _id_onVisibleBehindCanceled = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onVisibleBehindCanceled", r"()V"); + + /// from: public void onVisibleBehindCanceled() + void onVisibleBehindCanceled() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_onVisibleBehindCanceled, jni.JniCallType.voidType, []).check(); + } + + static final _id_onEnterAnimationComplete = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onEnterAnimationComplete", r"()V"); + + /// from: public void onEnterAnimationComplete() + void onEnterAnimationComplete() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_onEnterAnimationComplete, jni.JniCallType.voidType, []).check(); + } + + static final _id_setImmersive = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setImmersive", r"(Z)V"); + + /// from: public void setImmersive(boolean z) + void setImmersive( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setImmersive, + jni.JniCallType.voidType, [z ? 1 : 0]).check(); + } + + static final _id_setVrModeEnabled = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setVrModeEnabled", + r"(ZLandroid/content/ComponentName;)V"); + + /// from: public void setVrModeEnabled(boolean z, android.content.ComponentName componentName) + void setVrModeEnabled( + bool z, + jni.JObject componentName, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setVrModeEnabled, + jni.JniCallType.voidType, [z ? 1 : 0, componentName.reference]).check(); + } + + static final _id_startActionMode = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActionMode", + r"(Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode;"); + + /// from: public android.view.ActionMode startActionMode(android.view.ActionMode$Callback callback) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject startActionMode( + jni.JObject callback, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startActionMode, + jni.JniCallType.objectType, + [callback.reference]).object); + } + + static final _id_startActionMode1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActionMode", + r"(Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;"); + + /// from: public android.view.ActionMode startActionMode(android.view.ActionMode$Callback callback, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject startActionMode1( + jni.JObject callback, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startActionMode1, + jni.JniCallType.objectType, + [callback.reference, jni.JValueInt(i)]).object); + } + + static final _id_onWindowStartingActionMode = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onWindowStartingActionMode", + r"(Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode;"); + + /// from: public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode$Callback callback) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject onWindowStartingActionMode( + jni.JObject callback, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onWindowStartingActionMode, + jni.JniCallType.objectType, + [callback.reference]).object); + } + + static final _id_onWindowStartingActionMode1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onWindowStartingActionMode", + r"(Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;"); + + /// from: public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode$Callback callback, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject onWindowStartingActionMode1( + jni.JObject callback, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onWindowStartingActionMode1, + jni.JniCallType.objectType, + [callback.reference, jni.JValueInt(i)]).object); + } + + static final _id_onActionModeStarted = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onActionModeStarted", + r"(Landroid/view/ActionMode;)V"); + + /// from: public void onActionModeStarted(android.view.ActionMode actionMode) + void onActionModeStarted( + jni.JObject actionMode, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onActionModeStarted, + jni.JniCallType.voidType, + [actionMode.reference]).check(); + } + + static final _id_onActionModeFinished = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onActionModeFinished", + r"(Landroid/view/ActionMode;)V"); + + /// from: public void onActionModeFinished(android.view.ActionMode actionMode) + void onActionModeFinished( + jni.JObject actionMode, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onActionModeFinished, + jni.JniCallType.voidType, + [actionMode.reference]).check(); + } + + static final _id_shouldUpRecreateTask = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"shouldUpRecreateTask", + r"(Landroid/content/Intent;)Z"); + + /// from: public boolean shouldUpRecreateTask(android.content.Intent intent) + bool shouldUpRecreateTask( + Intent intent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_shouldUpRecreateTask, + jni.JniCallType.booleanType, + [intent.reference]).boolean; + } + + static final _id_navigateUpTo = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"navigateUpTo", r"(Landroid/content/Intent;)Z"); + + /// from: public boolean navigateUpTo(android.content.Intent intent) + bool navigateUpTo( + Intent intent, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_navigateUpTo, + jni.JniCallType.booleanType, [intent.reference]).boolean; + } + + static final _id_navigateUpToFromChild = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"navigateUpToFromChild", + r"(Landroid/app/Activity;Landroid/content/Intent;)Z"); + + /// from: public boolean navigateUpToFromChild(android.app.Activity activity, android.content.Intent intent) + bool navigateUpToFromChild( + Activity activity, + Intent intent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_navigateUpToFromChild, + jni.JniCallType.booleanType, + [activity.reference, intent.reference]).boolean; + } + + static final _id_getParentActivityIntent = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getParentActivityIntent", + r"()Landroid/content/Intent;"); + + /// from: public android.content.Intent getParentActivityIntent() + /// The returned object must be released after use, by calling the [release] method. + Intent getParentActivityIntent() { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getParentActivityIntent, + jni.JniCallType.objectType, []).object); + } + + static final _id_setEnterSharedElementCallback = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setEnterSharedElementCallback", + r"(Landroid/app/SharedElementCallback;)V"); + + /// from: public void setEnterSharedElementCallback(android.app.SharedElementCallback sharedElementCallback) + void setEnterSharedElementCallback( + jni.JObject sharedElementCallback, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setEnterSharedElementCallback, + jni.JniCallType.voidType, + [sharedElementCallback.reference]).check(); + } + + static final _id_setExitSharedElementCallback = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setExitSharedElementCallback", + r"(Landroid/app/SharedElementCallback;)V"); + + /// from: public void setExitSharedElementCallback(android.app.SharedElementCallback sharedElementCallback) + void setExitSharedElementCallback( + jni.JObject sharedElementCallback, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setExitSharedElementCallback, + jni.JniCallType.voidType, + [sharedElementCallback.reference]).check(); + } + + static final _id_postponeEnterTransition = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"postponeEnterTransition", r"()V"); + + /// from: public void postponeEnterTransition() + void postponeEnterTransition() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_postponeEnterTransition, jni.JniCallType.voidType, []).check(); + } + + static final _id_startPostponedEnterTransition = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"startPostponedEnterTransition", r"()V"); + + /// from: public void startPostponedEnterTransition() + void startPostponedEnterTransition() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startPostponedEnterTransition, + jni.JniCallType.voidType, []).check(); + } + + static final _id_requestDragAndDropPermissions = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"requestDragAndDropPermissions", + r"(Landroid/view/DragEvent;)Landroid/view/DragAndDropPermissions;"); + + /// from: public android.view.DragAndDropPermissions requestDragAndDropPermissions(android.view.DragEvent dragEvent) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject requestDragAndDropPermissions( + jni.JObject dragEvent, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_requestDragAndDropPermissions, + jni.JniCallType.objectType, + [dragEvent.reference]).object); + } + + static final _id_startLockTask = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"startLockTask", r"()V"); + + /// from: public void startLockTask() + void startLockTask() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_startLockTask, jni.JniCallType.voidType, []).check(); + } + + static final _id_stopLockTask = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"stopLockTask", r"()V"); + + /// from: public void stopLockTask() + void stopLockTask() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_stopLockTask, jni.JniCallType.voidType, []).check(); + } + + static final _id_showLockTaskEscapeMessage = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"showLockTaskEscapeMessage", r"()V"); + + /// from: public void showLockTaskEscapeMessage() + void showLockTaskEscapeMessage() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_showLockTaskEscapeMessage, jni.JniCallType.voidType, []).check(); + } + + static final _id_setRecentsScreenshotEnabled = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setRecentsScreenshotEnabled", r"(Z)V"); + + /// from: public void setRecentsScreenshotEnabled(boolean z) + void setRecentsScreenshotEnabled( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setRecentsScreenshotEnabled, + jni.JniCallType.voidType, + [z ? 1 : 0]).check(); + } + + static final _id_setShowWhenLocked = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setShowWhenLocked", r"(Z)V"); + + /// from: public void setShowWhenLocked(boolean z) + void setShowWhenLocked( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_setShowWhenLocked, jni.JniCallType.voidType, [z ? 1 : 0]).check(); + } + + static final _id_setInheritShowWhenLocked = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setInheritShowWhenLocked", r"(Z)V"); + + /// from: public void setInheritShowWhenLocked(boolean z) + void setInheritShowWhenLocked( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setInheritShowWhenLocked, + jni.JniCallType.voidType, + [z ? 1 : 0]).check(); + } + + static final _id_setTurnScreenOn = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setTurnScreenOn", r"(Z)V"); + + /// from: public void setTurnScreenOn(boolean z) + void setTurnScreenOn( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setTurnScreenOn, + jni.JniCallType.voidType, [z ? 1 : 0]).check(); + } + + static final _id_getOnBackInvokedDispatcher = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getOnBackInvokedDispatcher", + r"()Landroid/window/OnBackInvokedDispatcher;"); + + /// from: public android.window.OnBackInvokedDispatcher getOnBackInvokedDispatcher() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getOnBackInvokedDispatcher() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getOnBackInvokedDispatcher, + jni.JniCallType.objectType, []).object); + } + + static final _id_registerScreenCaptureCallback = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"registerScreenCaptureCallback", + r"(Ljava/util/concurrent/Executor;Landroid/app/Activity$ScreenCaptureCallback;)V"); + + /// from: public void registerScreenCaptureCallback(java.util.concurrent.Executor executor, android.app.Activity$ScreenCaptureCallback screenCaptureCallback) + void registerScreenCaptureCallback( + Executor executor, + Activity_ScreenCaptureCallback screenCaptureCallback, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_registerScreenCaptureCallback, + jni.JniCallType.voidType, + [executor.reference, screenCaptureCallback.reference]).check(); + } + + static final _id_unregisterScreenCaptureCallback = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"unregisterScreenCaptureCallback", + r"(Landroid/app/Activity$ScreenCaptureCallback;)V"); + + /// from: public void unregisterScreenCaptureCallback(android.app.Activity$ScreenCaptureCallback screenCaptureCallback) + void unregisterScreenCaptureCallback( + Activity_ScreenCaptureCallback screenCaptureCallback, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_unregisterScreenCaptureCallback, + jni.JniCallType.voidType, + [screenCaptureCallback.reference]).check(); + } +} + +final class $ActivityType extends jni.JObjType { + const $ActivityType(); + + @override + String get signature => r"Landroid/app/Activity;"; + + @override + Activity fromRef(jni.JObjectPtr ref) => Activity.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($ActivityType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($ActivityType) && other is $ActivityType; + } +} + +/// from: android.content.Context$BindServiceFlags +class Context_BindServiceFlags extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Context_BindServiceFlags.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"android/content/Context$BindServiceFlags"); + + /// The type which includes information such as the signature of this class. + static const type = $Context_BindServiceFlagsType(); + static final _id_of = jni.Jni.accessors.getStaticMethodIDOf(_class.reference, + r"of", r"(J)Landroid/content/Context$BindServiceFlags;"); + + /// from: static public android.content.Context$BindServiceFlags of(long j) + /// The returned object must be released after use, by calling the [release] method. + static Context_BindServiceFlags of( + int j, + ) { + return const $Context_BindServiceFlagsType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, _id_of, jni.JniCallType.objectType, [j]).object); + } +} + +final class $Context_BindServiceFlagsType + extends jni.JObjType { + const $Context_BindServiceFlagsType(); + + @override + String get signature => r"Landroid/content/Context$BindServiceFlags;"; + + @override + Context_BindServiceFlags fromRef(jni.JObjectPtr ref) => + Context_BindServiceFlags.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($Context_BindServiceFlagsType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($Context_BindServiceFlagsType) && + other is $Context_BindServiceFlagsType; + } +} + +/// from: android.content.Context +class Context extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Context.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"android/content/Context"); + + /// The type which includes information such as the signature of this class. + static const type = $ContextType(); + + /// from: static public final java.lang.String ACCESSIBILITY_SERVICE + static const ACCESSIBILITY_SERVICE = r"""accessibility"""; + + /// from: static public final java.lang.String ACCOUNT_SERVICE + static const ACCOUNT_SERVICE = r"""account"""; + + /// from: static public final java.lang.String ACTIVITY_SERVICE + static const ACTIVITY_SERVICE = r"""activity"""; + + /// from: static public final java.lang.String ALARM_SERVICE + static const ALARM_SERVICE = r"""alarm"""; + + /// from: static public final java.lang.String APPWIDGET_SERVICE + static const APPWIDGET_SERVICE = r"""appwidget"""; + + /// from: static public final java.lang.String APP_OPS_SERVICE + static const APP_OPS_SERVICE = r"""appops"""; + + /// from: static public final java.lang.String APP_SEARCH_SERVICE + static const APP_SEARCH_SERVICE = r"""app_search"""; + + /// from: static public final java.lang.String AUDIO_SERVICE + static const AUDIO_SERVICE = r"""audio"""; + + /// from: static public final java.lang.String BATTERY_SERVICE + static const BATTERY_SERVICE = r"""batterymanager"""; + + /// from: static public final int BIND_ABOVE_CLIENT + static const BIND_ABOVE_CLIENT = 8; + + /// from: static public final int BIND_ADJUST_WITH_ACTIVITY + static const BIND_ADJUST_WITH_ACTIVITY = 128; + + /// from: static public final int BIND_ALLOW_ACTIVITY_STARTS + static const BIND_ALLOW_ACTIVITY_STARTS = 512; + + /// from: static public final int BIND_ALLOW_OOM_MANAGEMENT + static const BIND_ALLOW_OOM_MANAGEMENT = 16; + + /// from: static public final int BIND_AUTO_CREATE + static const BIND_AUTO_CREATE = 1; + + /// from: static public final int BIND_DEBUG_UNBIND + static const BIND_DEBUG_UNBIND = 2; + + /// from: static public final int BIND_EXTERNAL_SERVICE + static const BIND_EXTERNAL_SERVICE = -2147483648; + + /// from: static public final long BIND_EXTERNAL_SERVICE_LONG + static const BIND_EXTERNAL_SERVICE_LONG = 4611686018427387904; + + /// from: static public final int BIND_IMPORTANT + static const BIND_IMPORTANT = 64; + + /// from: static public final int BIND_INCLUDE_CAPABILITIES + static const BIND_INCLUDE_CAPABILITIES = 4096; + + /// from: static public final int BIND_NOT_FOREGROUND + static const BIND_NOT_FOREGROUND = 4; + + /// from: static public final int BIND_NOT_PERCEPTIBLE + static const BIND_NOT_PERCEPTIBLE = 256; + + /// from: static public final int BIND_SHARED_ISOLATED_PROCESS + static const BIND_SHARED_ISOLATED_PROCESS = 8192; + + /// from: static public final int BIND_WAIVE_PRIORITY + static const BIND_WAIVE_PRIORITY = 32; + + /// from: static public final java.lang.String BIOMETRIC_SERVICE + static const BIOMETRIC_SERVICE = r"""biometric"""; + + /// from: static public final java.lang.String BLOB_STORE_SERVICE + static const BLOB_STORE_SERVICE = r"""blob_store"""; + + /// from: static public final java.lang.String BLUETOOTH_SERVICE + static const BLUETOOTH_SERVICE = r"""bluetooth"""; + + /// from: static public final java.lang.String BUGREPORT_SERVICE + static const BUGREPORT_SERVICE = r"""bugreport"""; + + /// from: static public final java.lang.String CAMERA_SERVICE + static const CAMERA_SERVICE = r"""camera"""; + + /// from: static public final java.lang.String CAPTIONING_SERVICE + static const CAPTIONING_SERVICE = r"""captioning"""; + + /// from: static public final java.lang.String CARRIER_CONFIG_SERVICE + static const CARRIER_CONFIG_SERVICE = r"""carrier_config"""; + + /// from: static public final java.lang.String CLIPBOARD_SERVICE + static const CLIPBOARD_SERVICE = r"""clipboard"""; + + /// from: static public final java.lang.String COMPANION_DEVICE_SERVICE + static const COMPANION_DEVICE_SERVICE = r"""companiondevice"""; + + /// from: static public final java.lang.String CONNECTIVITY_DIAGNOSTICS_SERVICE + static const CONNECTIVITY_DIAGNOSTICS_SERVICE = + r"""connectivity_diagnostics"""; + + /// from: static public final java.lang.String CONNECTIVITY_SERVICE + static const CONNECTIVITY_SERVICE = r"""connectivity"""; + + /// from: static public final java.lang.String CONSUMER_IR_SERVICE + static const CONSUMER_IR_SERVICE = r"""consumer_ir"""; + + /// from: static public final int CONTEXT_IGNORE_SECURITY + static const CONTEXT_IGNORE_SECURITY = 2; + + /// from: static public final int CONTEXT_INCLUDE_CODE + static const CONTEXT_INCLUDE_CODE = 1; + + /// from: static public final int CONTEXT_RESTRICTED + static const CONTEXT_RESTRICTED = 4; + + /// from: static public final java.lang.String CREDENTIAL_SERVICE + static const CREDENTIAL_SERVICE = r"""credential"""; + + /// from: static public final java.lang.String CROSS_PROFILE_APPS_SERVICE + static const CROSS_PROFILE_APPS_SERVICE = r"""crossprofileapps"""; + + /// from: static public final int DEVICE_ID_DEFAULT + static const DEVICE_ID_DEFAULT = 0; + + /// from: static public final int DEVICE_ID_INVALID + static const DEVICE_ID_INVALID = -1; + + /// from: static public final java.lang.String DEVICE_LOCK_SERVICE + static const DEVICE_LOCK_SERVICE = r"""device_lock"""; + + /// from: static public final java.lang.String DEVICE_POLICY_SERVICE + static const DEVICE_POLICY_SERVICE = r"""device_policy"""; + + /// from: static public final java.lang.String DISPLAY_HASH_SERVICE + static const DISPLAY_HASH_SERVICE = r"""display_hash"""; + + /// from: static public final java.lang.String DISPLAY_SERVICE + static const DISPLAY_SERVICE = r"""display"""; + + /// from: static public final java.lang.String DOMAIN_VERIFICATION_SERVICE + static const DOMAIN_VERIFICATION_SERVICE = r"""domain_verification"""; + + /// from: static public final java.lang.String DOWNLOAD_SERVICE + static const DOWNLOAD_SERVICE = r"""download"""; + + /// from: static public final java.lang.String DROPBOX_SERVICE + static const DROPBOX_SERVICE = r"""dropbox"""; + + /// from: static public final java.lang.String EUICC_SERVICE + static const EUICC_SERVICE = r"""euicc"""; + + /// from: static public final java.lang.String FILE_INTEGRITY_SERVICE + static const FILE_INTEGRITY_SERVICE = r"""file_integrity"""; + + /// from: static public final java.lang.String FINGERPRINT_SERVICE + static const FINGERPRINT_SERVICE = r"""fingerprint"""; + + /// from: static public final java.lang.String GAME_SERVICE + static const GAME_SERVICE = r"""game"""; + + /// from: static public final java.lang.String GRAMMATICAL_INFLECTION_SERVICE + static const GRAMMATICAL_INFLECTION_SERVICE = r"""grammatical_inflection"""; + + /// from: static public final java.lang.String HARDWARE_PROPERTIES_SERVICE + static const HARDWARE_PROPERTIES_SERVICE = r"""hardware_properties"""; + + /// from: static public final java.lang.String HEALTHCONNECT_SERVICE + static const HEALTHCONNECT_SERVICE = r"""healthconnect"""; + + /// from: static public final java.lang.String INPUT_METHOD_SERVICE + static const INPUT_METHOD_SERVICE = r"""input_method"""; + + /// from: static public final java.lang.String INPUT_SERVICE + static const INPUT_SERVICE = r"""input"""; + + /// from: static public final java.lang.String IPSEC_SERVICE + static const IPSEC_SERVICE = r"""ipsec"""; + + /// from: static public final java.lang.String JOB_SCHEDULER_SERVICE + static const JOB_SCHEDULER_SERVICE = r"""jobscheduler"""; + + /// from: static public final java.lang.String KEYGUARD_SERVICE + static const KEYGUARD_SERVICE = r"""keyguard"""; + + /// from: static public final java.lang.String LAUNCHER_APPS_SERVICE + static const LAUNCHER_APPS_SERVICE = r"""launcherapps"""; + + /// from: static public final java.lang.String LAYOUT_INFLATER_SERVICE + static const LAYOUT_INFLATER_SERVICE = r"""layout_inflater"""; + + /// from: static public final java.lang.String LOCALE_SERVICE + static const LOCALE_SERVICE = r"""locale"""; + + /// from: static public final java.lang.String LOCATION_SERVICE + static const LOCATION_SERVICE = r"""location"""; + + /// from: static public final java.lang.String MEDIA_COMMUNICATION_SERVICE + static const MEDIA_COMMUNICATION_SERVICE = r"""media_communication"""; + + /// from: static public final java.lang.String MEDIA_METRICS_SERVICE + static const MEDIA_METRICS_SERVICE = r"""media_metrics"""; + + /// from: static public final java.lang.String MEDIA_PROJECTION_SERVICE + static const MEDIA_PROJECTION_SERVICE = r"""media_projection"""; + + /// from: static public final java.lang.String MEDIA_ROUTER_SERVICE + static const MEDIA_ROUTER_SERVICE = r"""media_router"""; + + /// from: static public final java.lang.String MEDIA_SESSION_SERVICE + static const MEDIA_SESSION_SERVICE = r"""media_session"""; + + /// from: static public final java.lang.String MIDI_SERVICE + static const MIDI_SERVICE = r"""midi"""; + + /// from: static public final int MODE_APPEND + static const MODE_APPEND = 32768; + + /// from: static public final int MODE_ENABLE_WRITE_AHEAD_LOGGING + static const MODE_ENABLE_WRITE_AHEAD_LOGGING = 8; + + /// from: static public final int MODE_MULTI_PROCESS + static const MODE_MULTI_PROCESS = 4; + + /// from: static public final int MODE_NO_LOCALIZED_COLLATORS + static const MODE_NO_LOCALIZED_COLLATORS = 16; + + /// from: static public final int MODE_PRIVATE + static const MODE_PRIVATE = 0; + + /// from: static public final int MODE_WORLD_READABLE + static const MODE_WORLD_READABLE = 1; + + /// from: static public final int MODE_WORLD_WRITEABLE + static const MODE_WORLD_WRITEABLE = 2; + + /// from: static public final java.lang.String NETWORK_STATS_SERVICE + static const NETWORK_STATS_SERVICE = r"""netstats"""; + + /// from: static public final java.lang.String NFC_SERVICE + static const NFC_SERVICE = r"""nfc"""; + + /// from: static public final java.lang.String NOTIFICATION_SERVICE + static const NOTIFICATION_SERVICE = r"""notification"""; + + /// from: static public final java.lang.String NSD_SERVICE + static const NSD_SERVICE = r"""servicediscovery"""; + + /// from: static public final java.lang.String OVERLAY_SERVICE + static const OVERLAY_SERVICE = r"""overlay"""; + + /// from: static public final java.lang.String PEOPLE_SERVICE + static const PEOPLE_SERVICE = r"""people"""; + + /// from: static public final java.lang.String PERFORMANCE_HINT_SERVICE + static const PERFORMANCE_HINT_SERVICE = r"""performance_hint"""; + + /// from: static public final java.lang.String POWER_SERVICE + static const POWER_SERVICE = r"""power"""; + + /// from: static public final java.lang.String PRINT_SERVICE + static const PRINT_SERVICE = r"""print"""; + + /// from: static public final int RECEIVER_EXPORTED + static const RECEIVER_EXPORTED = 2; + + /// from: static public final int RECEIVER_NOT_EXPORTED + static const RECEIVER_NOT_EXPORTED = 4; + + /// from: static public final int RECEIVER_VISIBLE_TO_INSTANT_APPS + static const RECEIVER_VISIBLE_TO_INSTANT_APPS = 1; + + /// from: static public final java.lang.String RESTRICTIONS_SERVICE + static const RESTRICTIONS_SERVICE = r"""restrictions"""; + + /// from: static public final java.lang.String ROLE_SERVICE + static const ROLE_SERVICE = r"""role"""; + + /// from: static public final java.lang.String SEARCH_SERVICE + static const SEARCH_SERVICE = r"""search"""; + + /// from: static public final java.lang.String SENSOR_SERVICE + static const SENSOR_SERVICE = r"""sensor"""; + + /// from: static public final java.lang.String SHORTCUT_SERVICE + static const SHORTCUT_SERVICE = r"""shortcut"""; + + /// from: static public final java.lang.String STATUS_BAR_SERVICE + static const STATUS_BAR_SERVICE = r"""statusbar"""; + + /// from: static public final java.lang.String STORAGE_SERVICE + static const STORAGE_SERVICE = r"""storage"""; + + /// from: static public final java.lang.String STORAGE_STATS_SERVICE + static const STORAGE_STATS_SERVICE = r"""storagestats"""; + + /// from: static public final java.lang.String SYSTEM_HEALTH_SERVICE + static const SYSTEM_HEALTH_SERVICE = r"""systemhealth"""; + + /// from: static public final java.lang.String TELECOM_SERVICE + static const TELECOM_SERVICE = r"""telecom"""; + + /// from: static public final java.lang.String TELEPHONY_IMS_SERVICE + static const TELEPHONY_IMS_SERVICE = r"""telephony_ims"""; + + /// from: static public final java.lang.String TELEPHONY_SERVICE + static const TELEPHONY_SERVICE = r"""phone"""; + + /// from: static public final java.lang.String TELEPHONY_SUBSCRIPTION_SERVICE + static const TELEPHONY_SUBSCRIPTION_SERVICE = + r"""telephony_subscription_service"""; + + /// from: static public final java.lang.String TEXT_CLASSIFICATION_SERVICE + static const TEXT_CLASSIFICATION_SERVICE = r"""textclassification"""; + + /// from: static public final java.lang.String TEXT_SERVICES_MANAGER_SERVICE + static const TEXT_SERVICES_MANAGER_SERVICE = r"""textservices"""; + + /// from: static public final java.lang.String TV_INPUT_SERVICE + static const TV_INPUT_SERVICE = r"""tv_input"""; + + /// from: static public final java.lang.String TV_INTERACTIVE_APP_SERVICE + static const TV_INTERACTIVE_APP_SERVICE = r"""tv_interactive_app"""; + + /// from: static public final java.lang.String UI_MODE_SERVICE + static const UI_MODE_SERVICE = r"""uimode"""; + + /// from: static public final java.lang.String USAGE_STATS_SERVICE + static const USAGE_STATS_SERVICE = r"""usagestats"""; + + /// from: static public final java.lang.String USB_SERVICE + static const USB_SERVICE = r"""usb"""; + + /// from: static public final java.lang.String USER_SERVICE + static const USER_SERVICE = r"""user"""; + + /// from: static public final java.lang.String VIBRATOR_MANAGER_SERVICE + static const VIBRATOR_MANAGER_SERVICE = r"""vibrator_manager"""; + + /// from: static public final java.lang.String VIBRATOR_SERVICE + static const VIBRATOR_SERVICE = r"""vibrator"""; + + /// from: static public final java.lang.String VIRTUAL_DEVICE_SERVICE + static const VIRTUAL_DEVICE_SERVICE = r"""virtualdevice"""; + + /// from: static public final java.lang.String VPN_MANAGEMENT_SERVICE + static const VPN_MANAGEMENT_SERVICE = r"""vpn_management"""; + + /// from: static public final java.lang.String WALLPAPER_SERVICE + static const WALLPAPER_SERVICE = r"""wallpaper"""; + + /// from: static public final java.lang.String WIFI_AWARE_SERVICE + static const WIFI_AWARE_SERVICE = r"""wifiaware"""; + + /// from: static public final java.lang.String WIFI_P2P_SERVICE + static const WIFI_P2P_SERVICE = r"""wifip2p"""; + + /// from: static public final java.lang.String WIFI_RTT_RANGING_SERVICE + static const WIFI_RTT_RANGING_SERVICE = r"""wifirtt"""; + + /// from: static public final java.lang.String WIFI_SERVICE + static const WIFI_SERVICE = r"""wifi"""; + + /// from: static public final java.lang.String WINDOW_SERVICE + static const WINDOW_SERVICE = r"""window"""; + + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory Context() { + return Context.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_getAssets = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getAssets", r"()Landroid/content/res/AssetManager;"); + + /// from: public abstract android.content.res.AssetManager getAssets() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getAssets() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getAssets, jni.JniCallType.objectType, []).object); + } + + static final _id_getResources = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getResources", r"()Landroid/content/res/Resources;"); + + /// from: public abstract android.content.res.Resources getResources() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getResources() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getResources, jni.JniCallType.objectType, []).object); + } + + static final _id_getPackageManager = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getPackageManager", + r"()Landroid/content/pm/PackageManager;"); + + /// from: public abstract android.content.pm.PackageManager getPackageManager() + /// The returned object must be released after use, by calling the [release] method. + PackageManager getPackageManager() { + return const $PackageManagerType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getPackageManager, + jni.JniCallType.objectType, []).object); + } + + static final _id_getContentResolver = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getContentResolver", + r"()Landroid/content/ContentResolver;"); + + /// from: public abstract android.content.ContentResolver getContentResolver() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getContentResolver() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getContentResolver, + jni.JniCallType.objectType, []).object); + } + + static final _id_getMainLooper = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getMainLooper", r"()Landroid/os/Looper;"); + + /// from: public abstract android.os.Looper getMainLooper() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getMainLooper() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getMainLooper, jni.JniCallType.objectType, []).object); + } + + static final _id_getMainExecutor = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getMainExecutor", + r"()Ljava/util/concurrent/Executor;"); + + /// from: public java.util.concurrent.Executor getMainExecutor() + /// The returned object must be released after use, by calling the [release] method. + Executor getMainExecutor() { + return const $ExecutorType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getMainExecutor, jni.JniCallType.objectType, []).object); + } + + static final _id_getApplicationContext = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getApplicationContext", + r"()Landroid/content/Context;"); + + /// from: public abstract android.content.Context getApplicationContext() + /// The returned object must be released after use, by calling the [release] method. + Context getApplicationContext() { + return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getApplicationContext, + jni.JniCallType.objectType, []).object); + } + + static final _id_registerComponentCallbacks = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"registerComponentCallbacks", + r"(Landroid/content/ComponentCallbacks;)V"); + + /// from: public void registerComponentCallbacks(android.content.ComponentCallbacks componentCallbacks) + void registerComponentCallbacks( + jni.JObject componentCallbacks, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_registerComponentCallbacks, + jni.JniCallType.voidType, + [componentCallbacks.reference]).check(); + } + + static final _id_unregisterComponentCallbacks = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"unregisterComponentCallbacks", + r"(Landroid/content/ComponentCallbacks;)V"); + + /// from: public void unregisterComponentCallbacks(android.content.ComponentCallbacks componentCallbacks) + void unregisterComponentCallbacks( + jni.JObject componentCallbacks, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_unregisterComponentCallbacks, + jni.JniCallType.voidType, + [componentCallbacks.reference]).check(); + } + + static final _id_getText = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getText", r"(I)Ljava/lang/CharSequence;"); + + /// from: public final java.lang.CharSequence getText(int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getText( + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getText, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_getString = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getString", r"(I)Ljava/lang/String;"); + + /// from: public final java.lang.String getString(int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JString getString( + int i, + ) { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getString, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_getString1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getString", + r"(I[Ljava/lang/Object;)Ljava/lang/String;"); + + /// from: public final java.lang.String getString(int i, java.lang.Object[] objects) + /// The returned object must be released after use, by calling the [release] method. + jni.JString getString1( + int i, + jni.JArray objects, + ) { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getString1, + jni.JniCallType.objectType, + [jni.JValueInt(i), objects.reference]).object); + } + + static final _id_getColor = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"getColor", r"(I)I"); + + /// from: public final int getColor(int i) + int getColor( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_getColor, + jni.JniCallType.intType, [jni.JValueInt(i)]).integer; + } + + static final _id_getDrawable = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getDrawable", + r"(I)Landroid/graphics/drawable/Drawable;"); + + /// from: public final android.graphics.drawable.Drawable getDrawable(int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getDrawable( + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getDrawable, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_getColorStateList = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getColorStateList", + r"(I)Landroid/content/res/ColorStateList;"); + + /// from: public final android.content.res.ColorStateList getColorStateList(int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getColorStateList( + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getColorStateList, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_setTheme = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"setTheme", r"(I)V"); + + /// from: public abstract void setTheme(int i) + void setTheme( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setTheme, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_getTheme = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"getTheme", r"()Landroid/content/res/Resources$Theme;"); + + /// from: public abstract android.content.res.Resources$Theme getTheme() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getTheme() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getTheme, jni.JniCallType.objectType, []).object); + } + + static final _id_obtainStyledAttributes = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"obtainStyledAttributes", + r"([I)Landroid/content/res/TypedArray;"); + + /// from: public final android.content.res.TypedArray obtainStyledAttributes(int[] is) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject obtainStyledAttributes( + jni.JArray is0, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_obtainStyledAttributes, + jni.JniCallType.objectType, + [is0.reference]).object); + } + + static final _id_obtainStyledAttributes1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"obtainStyledAttributes", + r"(I[I)Landroid/content/res/TypedArray;"); + + /// from: public final android.content.res.TypedArray obtainStyledAttributes(int i, int[] is) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject obtainStyledAttributes1( + int i, + jni.JArray is0, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_obtainStyledAttributes1, + jni.JniCallType.objectType, + [jni.JValueInt(i), is0.reference]).object); + } + + static final _id_obtainStyledAttributes2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"obtainStyledAttributes", + r"(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;"); + + /// from: public final android.content.res.TypedArray obtainStyledAttributes(android.util.AttributeSet attributeSet, int[] is) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject obtainStyledAttributes2( + jni.JObject attributeSet, + jni.JArray is0, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_obtainStyledAttributes2, + jni.JniCallType.objectType, + [attributeSet.reference, is0.reference]).object); + } + + static final _id_obtainStyledAttributes3 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"obtainStyledAttributes", + r"(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;"); + + /// from: public final android.content.res.TypedArray obtainStyledAttributes(android.util.AttributeSet attributeSet, int[] is, int i, int i1) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject obtainStyledAttributes3( + jni.JObject attributeSet, + jni.JArray is0, + int i, + int i1, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_obtainStyledAttributes3, jni.JniCallType.objectType, [ + attributeSet.reference, + is0.reference, + jni.JValueInt(i), + jni.JValueInt(i1) + ]).object); + } + + static final _id_getClassLoader = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getClassLoader", r"()Ljava/lang/ClassLoader;"); + + /// from: public abstract java.lang.ClassLoader getClassLoader() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getClassLoader() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getClassLoader, jni.JniCallType.objectType, []).object); + } + + static final _id_getPackageName = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getPackageName", r"()Ljava/lang/String;"); + + /// from: public abstract java.lang.String getPackageName() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getPackageName() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getPackageName, jni.JniCallType.objectType, []).object); + } + + static final _id_getOpPackageName = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getOpPackageName", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getOpPackageName() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getOpPackageName() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getOpPackageName, + jni.JniCallType.objectType, []).object); + } + + static final _id_getAttributionTag = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getAttributionTag", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getAttributionTag() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getAttributionTag() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getAttributionTag, + jni.JniCallType.objectType, []).object); + } + + static final _id_getAttributionSource = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getAttributionSource", + r"()Landroid/content/AttributionSource;"); + + /// from: public android.content.AttributionSource getAttributionSource() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getAttributionSource() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getAttributionSource, + jni.JniCallType.objectType, []).object); + } + + static final _id_getParams = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getParams", r"()Landroid/content/ContextParams;"); + + /// from: public android.content.ContextParams getParams() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getParams() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getParams, jni.JniCallType.objectType, []).object); + } + + static final _id_getApplicationInfo = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getApplicationInfo", + r"()Landroid/content/pm/ApplicationInfo;"); + + /// from: public abstract android.content.pm.ApplicationInfo getApplicationInfo() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getApplicationInfo() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getApplicationInfo, + jni.JniCallType.objectType, []).object); + } + + static final _id_getPackageResourcePath = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getPackageResourcePath", r"()Ljava/lang/String;"); + + /// from: public abstract java.lang.String getPackageResourcePath() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getPackageResourcePath() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getPackageResourcePath, + jni.JniCallType.objectType, []).object); + } + + static final _id_getPackageCodePath = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getPackageCodePath", r"()Ljava/lang/String;"); + + /// from: public abstract java.lang.String getPackageCodePath() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getPackageCodePath() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getPackageCodePath, + jni.JniCallType.objectType, []).object); + } + + static final _id_getSharedPreferences = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getSharedPreferences", + r"(Ljava/lang/String;I)Landroid/content/SharedPreferences;"); + + /// from: public abstract android.content.SharedPreferences getSharedPreferences(java.lang.String string, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getSharedPreferences( + jni.JString string, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getSharedPreferences, + jni.JniCallType.objectType, + [string.reference, jni.JValueInt(i)]).object); + } + + static final _id_moveSharedPreferencesFrom = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"moveSharedPreferencesFrom", + r"(Landroid/content/Context;Ljava/lang/String;)Z"); + + /// from: public abstract boolean moveSharedPreferencesFrom(android.content.Context context, java.lang.String string) + bool moveSharedPreferencesFrom( + Context context, + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_moveSharedPreferencesFrom, + jni.JniCallType.booleanType, + [context.reference, string.reference]).boolean; + } + + static final _id_deleteSharedPreferences = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"deleteSharedPreferences", r"(Ljava/lang/String;)Z"); + + /// from: public abstract boolean deleteSharedPreferences(java.lang.String string) + bool deleteSharedPreferences( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_deleteSharedPreferences, + jni.JniCallType.booleanType, + [string.reference]).boolean; + } + + static final _id_openFileInput = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"openFileInput", + r"(Ljava/lang/String;)Ljava/io/FileInputStream;"); + + /// from: public abstract java.io.FileInputStream openFileInput(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject openFileInput( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_openFileInput, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_openFileOutput = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"openFileOutput", + r"(Ljava/lang/String;I)Ljava/io/FileOutputStream;"); + + /// from: public abstract java.io.FileOutputStream openFileOutput(java.lang.String string, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject openFileOutput( + jni.JString string, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_openFileOutput, + jni.JniCallType.objectType, + [string.reference, jni.JValueInt(i)]).object); + } + + static final _id_deleteFile = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"deleteFile", r"(Ljava/lang/String;)Z"); + + /// from: public abstract boolean deleteFile(java.lang.String string) + bool deleteFile( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_deleteFile, + jni.JniCallType.booleanType, [string.reference]).boolean; + } + + static final _id_getFileStreamPath = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getFileStreamPath", + r"(Ljava/lang/String;)Ljava/io/File;"); + + /// from: public abstract java.io.File getFileStreamPath(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getFileStreamPath( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getFileStreamPath, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getDataDir = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getDataDir", r"()Ljava/io/File;"); + + /// from: public abstract java.io.File getDataDir() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getDataDir() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getDataDir, jni.JniCallType.objectType, []).object); + } + + static final _id_getFilesDir = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getFilesDir", r"()Ljava/io/File;"); + + /// from: public abstract java.io.File getFilesDir() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getFilesDir() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getFilesDir, jni.JniCallType.objectType, []).object); + } + + static final _id_getNoBackupFilesDir = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getNoBackupFilesDir", r"()Ljava/io/File;"); + + /// from: public abstract java.io.File getNoBackupFilesDir() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getNoBackupFilesDir() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getNoBackupFilesDir, + jni.JniCallType.objectType, []).object); + } + + static final _id_getExternalFilesDir = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getExternalFilesDir", + r"(Ljava/lang/String;)Ljava/io/File;"); + + /// from: public abstract java.io.File getExternalFilesDir(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getExternalFilesDir( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getExternalFilesDir, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getExternalFilesDirs = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getExternalFilesDirs", + r"(Ljava/lang/String;)[Ljava/io/File;"); + + /// from: public abstract java.io.File[] getExternalFilesDirs(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getExternalFilesDirs( + jni.JString string, + ) { + return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getExternalFilesDirs, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getObbDir = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getObbDir", r"()Ljava/io/File;"); + + /// from: public abstract java.io.File getObbDir() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getObbDir() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getObbDir, jni.JniCallType.objectType, []).object); + } + + static final _id_getObbDirs = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getObbDirs", r"()[Ljava/io/File;"); + + /// from: public abstract java.io.File[] getObbDirs() + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getObbDirs() { + return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, _id_getObbDirs, jni.JniCallType.objectType, []).object); + } + + static final _id_getCacheDir = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getCacheDir", r"()Ljava/io/File;"); + + /// from: public abstract java.io.File getCacheDir() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getCacheDir() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getCacheDir, jni.JniCallType.objectType, []).object); + } + + static final _id_getCodeCacheDir = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getCodeCacheDir", r"()Ljava/io/File;"); + + /// from: public abstract java.io.File getCodeCacheDir() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getCodeCacheDir() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getCodeCacheDir, jni.JniCallType.objectType, []).object); + } + + static final _id_getExternalCacheDir = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getExternalCacheDir", r"()Ljava/io/File;"); + + /// from: public abstract java.io.File getExternalCacheDir() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getExternalCacheDir() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getExternalCacheDir, + jni.JniCallType.objectType, []).object); + } + + static final _id_getExternalCacheDirs = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getExternalCacheDirs", r"()[Ljava/io/File;"); + + /// from: public abstract java.io.File[] getExternalCacheDirs() + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getExternalCacheDirs() { + return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getExternalCacheDirs, + jni.JniCallType.objectType, []).object); + } + + static final _id_getExternalMediaDirs = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getExternalMediaDirs", r"()[Ljava/io/File;"); + + /// from: public abstract java.io.File[] getExternalMediaDirs() + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getExternalMediaDirs() { + return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getExternalMediaDirs, + jni.JniCallType.objectType, []).object); + } + + static final _id_fileList = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"fileList", r"()[Ljava/lang/String;"); + + /// from: public abstract java.lang.String[] fileList() + /// The returned object must be released after use, by calling the [release] method. + jni.JArray fileList() { + return const jni.JArrayType(jni.JStringType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, _id_fileList, jni.JniCallType.objectType, []).object); + } + + static final _id_getDir = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getDir", r"(Ljava/lang/String;I)Ljava/io/File;"); + + /// from: public abstract java.io.File getDir(java.lang.String string, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getDir( + jni.JString string, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getDir, + jni.JniCallType.objectType, + [string.reference, jni.JValueInt(i)]).object); + } + + static final _id_openOrCreateDatabase = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"openOrCreateDatabase", + r"(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;"); + + /// from: public abstract android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String string, int i, android.database.sqlite.SQLiteDatabase$CursorFactory cursorFactory) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject openOrCreateDatabase( + jni.JString string, + int i, + jni.JObject cursorFactory, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_openOrCreateDatabase, + jni.JniCallType.objectType, + [string.reference, jni.JValueInt(i), cursorFactory.reference]).object); + } + + static final _id_openOrCreateDatabase1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"openOrCreateDatabase", + r"(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;)Landroid/database/sqlite/SQLiteDatabase;"); + + /// from: public abstract android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String string, int i, android.database.sqlite.SQLiteDatabase$CursorFactory cursorFactory, android.database.DatabaseErrorHandler databaseErrorHandler) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject openOrCreateDatabase1( + jni.JString string, + int i, + jni.JObject cursorFactory, + jni.JObject databaseErrorHandler, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_openOrCreateDatabase1, jni.JniCallType.objectType, [ + string.reference, + jni.JValueInt(i), + cursorFactory.reference, + databaseErrorHandler.reference + ]).object); + } + + static final _id_moveDatabaseFrom = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"moveDatabaseFrom", + r"(Landroid/content/Context;Ljava/lang/String;)Z"); + + /// from: public abstract boolean moveDatabaseFrom(android.content.Context context, java.lang.String string) + bool moveDatabaseFrom( + Context context, + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_moveDatabaseFrom, + jni.JniCallType.booleanType, + [context.reference, string.reference]).boolean; + } + + static final _id_deleteDatabase = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"deleteDatabase", r"(Ljava/lang/String;)Z"); + + /// from: public abstract boolean deleteDatabase(java.lang.String string) + bool deleteDatabase( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_deleteDatabase, + jni.JniCallType.booleanType, [string.reference]).boolean; + } + + static final _id_getDatabasePath = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getDatabasePath", + r"(Ljava/lang/String;)Ljava/io/File;"); + + /// from: public abstract java.io.File getDatabasePath(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getDatabasePath( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getDatabasePath, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_databaseList = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"databaseList", r"()[Ljava/lang/String;"); + + /// from: public abstract java.lang.String[] databaseList() + /// The returned object must be released after use, by calling the [release] method. + jni.JArray databaseList() { + return const jni.JArrayType(jni.JStringType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_databaseList, + jni.JniCallType.objectType, []).object); + } + + static final _id_getWallpaper = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getWallpaper", + r"()Landroid/graphics/drawable/Drawable;"); + + /// from: public abstract android.graphics.drawable.Drawable getWallpaper() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getWallpaper() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getWallpaper, jni.JniCallType.objectType, []).object); + } + + static final _id_peekWallpaper = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"peekWallpaper", + r"()Landroid/graphics/drawable/Drawable;"); + + /// from: public abstract android.graphics.drawable.Drawable peekWallpaper() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject peekWallpaper() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_peekWallpaper, jni.JniCallType.objectType, []).object); + } + + static final _id_getWallpaperDesiredMinimumWidth = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"getWallpaperDesiredMinimumWidth", r"()I"); + + /// from: public abstract int getWallpaperDesiredMinimumWidth() + int getWallpaperDesiredMinimumWidth() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getWallpaperDesiredMinimumWidth, + jni.JniCallType.intType, []).integer; + } + + static final _id_getWallpaperDesiredMinimumHeight = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"getWallpaperDesiredMinimumHeight", r"()I"); + + /// from: public abstract int getWallpaperDesiredMinimumHeight() + int getWallpaperDesiredMinimumHeight() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getWallpaperDesiredMinimumHeight, + jni.JniCallType.intType, []).integer; + } + + static final _id_setWallpaper = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setWallpaper", r"(Landroid/graphics/Bitmap;)V"); + + /// from: public abstract void setWallpaper(android.graphics.Bitmap bitmap) + void setWallpaper( + jni.JObject bitmap, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setWallpaper, + jni.JniCallType.voidType, [bitmap.reference]).check(); + } + + static final _id_setWallpaper1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setWallpaper", r"(Ljava/io/InputStream;)V"); + + /// from: public abstract void setWallpaper(java.io.InputStream inputStream) + void setWallpaper1( + jni.JObject inputStream, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setWallpaper1, + jni.JniCallType.voidType, [inputStream.reference]).check(); + } + + static final _id_clearWallpaper = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"clearWallpaper", r"()V"); + + /// from: public abstract void clearWallpaper() + void clearWallpaper() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_clearWallpaper, jni.JniCallType.voidType, []).check(); + } + + static final _id_startActivity = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"startActivity", r"(Landroid/content/Intent;)V"); + + /// from: public abstract void startActivity(android.content.Intent intent) + void startActivity( + Intent intent, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_startActivity, + jni.JniCallType.voidType, [intent.reference]).check(); + } + + static final _id_startActivity1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActivity", + r"(Landroid/content/Intent;Landroid/os/Bundle;)V"); + + /// from: public abstract void startActivity(android.content.Intent intent, android.os.Bundle bundle) + void startActivity1( + Intent intent, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_startActivity1, + jni.JniCallType.voidType, [intent.reference, bundle.reference]).check(); + } + + static final _id_startActivities = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"startActivities", r"([Landroid/content/Intent;)V"); + + /// from: public abstract void startActivities(android.content.Intent[] intents) + void startActivities( + jni.JArray intents, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_startActivities, + jni.JniCallType.voidType, [intents.reference]).check(); + } + + static final _id_startActivities1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActivities", + r"([Landroid/content/Intent;Landroid/os/Bundle;)V"); + + /// from: public abstract void startActivities(android.content.Intent[] intents, android.os.Bundle bundle) + void startActivities1( + jni.JArray intents, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startActivities1, + jni.JniCallType.voidType, + [intents.reference, bundle.reference]).check(); + } + + static final _id_startIntentSender = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startIntentSender", + r"(Landroid/content/IntentSender;Landroid/content/Intent;III)V"); + + /// from: public abstract void startIntentSender(android.content.IntentSender intentSender, android.content.Intent intent, int i, int i1, int i2) + void startIntentSender( + jni.JObject intentSender, + Intent intent, + int i, + int i1, + int i2, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_startIntentSender, jni.JniCallType.voidType, [ + intentSender.reference, + intent.reference, + jni.JValueInt(i), + jni.JValueInt(i1), + jni.JValueInt(i2) + ]).check(); + } + + static final _id_startIntentSender1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startIntentSender", + r"(Landroid/content/IntentSender;Landroid/content/Intent;IIILandroid/os/Bundle;)V"); + + /// from: public abstract void startIntentSender(android.content.IntentSender intentSender, android.content.Intent intent, int i, int i1, int i2, android.os.Bundle bundle) + void startIntentSender1( + jni.JObject intentSender, + Intent intent, + int i, + int i1, + int i2, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_startIntentSender1, jni.JniCallType.voidType, [ + intentSender.reference, + intent.reference, + jni.JValueInt(i), + jni.JValueInt(i1), + jni.JValueInt(i2), + bundle.reference + ]).check(); + } + + static final _id_sendBroadcast = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"sendBroadcast", r"(Landroid/content/Intent;)V"); + + /// from: public abstract void sendBroadcast(android.content.Intent intent) + void sendBroadcast( + Intent intent, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_sendBroadcast, + jni.JniCallType.voidType, [intent.reference]).check(); + } + + static final _id_sendBroadcast1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendBroadcast", + r"(Landroid/content/Intent;Ljava/lang/String;)V"); + + /// from: public abstract void sendBroadcast(android.content.Intent intent, java.lang.String string) + void sendBroadcast1( + Intent intent, + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_sendBroadcast1, + jni.JniCallType.voidType, [intent.reference, string.reference]).check(); + } + + static final _id_sendBroadcastWithMultiplePermissions = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"sendBroadcastWithMultiplePermissions", + r"(Landroid/content/Intent;[Ljava/lang/String;)V"); + + /// from: public void sendBroadcastWithMultiplePermissions(android.content.Intent intent, java.lang.String[] strings) + void sendBroadcastWithMultiplePermissions( + Intent intent, + jni.JArray strings, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_sendBroadcastWithMultiplePermissions, + jni.JniCallType.voidType, + [intent.reference, strings.reference]).check(); + } + + static final _id_sendBroadcast2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendBroadcast", + r"(Landroid/content/Intent;Ljava/lang/String;Landroid/os/Bundle;)V"); + + /// from: public void sendBroadcast(android.content.Intent intent, java.lang.String string, android.os.Bundle bundle) + void sendBroadcast2( + Intent intent, + jni.JString string, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_sendBroadcast2, + jni.JniCallType.voidType, + [intent.reference, string.reference, bundle.reference]).check(); + } + + static final _id_sendOrderedBroadcast = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendOrderedBroadcast", + r"(Landroid/content/Intent;Ljava/lang/String;)V"); + + /// from: public abstract void sendOrderedBroadcast(android.content.Intent intent, java.lang.String string) + void sendOrderedBroadcast( + Intent intent, + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_sendOrderedBroadcast, + jni.JniCallType.voidType, + [intent.reference, string.reference]).check(); + } + + static final _id_sendOrderedBroadcast1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendOrderedBroadcast", + r"(Landroid/content/Intent;Ljava/lang/String;Landroid/os/Bundle;)V"); + + /// from: public void sendOrderedBroadcast(android.content.Intent intent, java.lang.String string, android.os.Bundle bundle) + void sendOrderedBroadcast1( + Intent intent, + jni.JString string, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_sendOrderedBroadcast1, + jni.JniCallType.voidType, + [intent.reference, string.reference, bundle.reference]).check(); + } + + static final _id_sendOrderedBroadcast2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendOrderedBroadcast", + r"(Landroid/content/Intent;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V"); + + /// from: public abstract void sendOrderedBroadcast(android.content.Intent intent, java.lang.String string, android.content.BroadcastReceiver broadcastReceiver, android.os.Handler handler, int i, java.lang.String string1, android.os.Bundle bundle) + void sendOrderedBroadcast2( + Intent intent, + jni.JString string, + jni.JObject broadcastReceiver, + jni.JObject handler, + int i, + jni.JString string1, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_sendOrderedBroadcast2, jni.JniCallType.voidType, [ + intent.reference, + string.reference, + broadcastReceiver.reference, + handler.reference, + jni.JValueInt(i), + string1.reference, + bundle.reference + ]).check(); + } + + static final _id_sendOrderedBroadcast3 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendOrderedBroadcast", + r"(Landroid/content/Intent;Ljava/lang/String;Landroid/os/Bundle;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V"); + + /// from: public void sendOrderedBroadcast(android.content.Intent intent, java.lang.String string, android.os.Bundle bundle, android.content.BroadcastReceiver broadcastReceiver, android.os.Handler handler, int i, java.lang.String string1, android.os.Bundle bundle1) + void sendOrderedBroadcast3( + Intent intent, + jni.JString string, + Bundle bundle, + jni.JObject broadcastReceiver, + jni.JObject handler, + int i, + jni.JString string1, + Bundle bundle1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_sendOrderedBroadcast3, jni.JniCallType.voidType, [ + intent.reference, + string.reference, + bundle.reference, + broadcastReceiver.reference, + handler.reference, + jni.JValueInt(i), + string1.reference, + bundle1.reference + ]).check(); + } + + static final _id_sendBroadcastAsUser = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendBroadcastAsUser", + r"(Landroid/content/Intent;Landroid/os/UserHandle;)V"); + + /// from: public abstract void sendBroadcastAsUser(android.content.Intent intent, android.os.UserHandle userHandle) + void sendBroadcastAsUser( + Intent intent, + jni.JObject userHandle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_sendBroadcastAsUser, + jni.JniCallType.voidType, + [intent.reference, userHandle.reference]).check(); + } + + static final _id_sendBroadcastAsUser1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendBroadcastAsUser", + r"(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;)V"); + + /// from: public abstract void sendBroadcastAsUser(android.content.Intent intent, android.os.UserHandle userHandle, java.lang.String string) + void sendBroadcastAsUser1( + Intent intent, + jni.JObject userHandle, + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_sendBroadcastAsUser1, + jni.JniCallType.voidType, + [intent.reference, userHandle.reference, string.reference]).check(); + } + + static final _id_sendOrderedBroadcastAsUser = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendOrderedBroadcastAsUser", + r"(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V"); + + /// from: public abstract void sendOrderedBroadcastAsUser(android.content.Intent intent, android.os.UserHandle userHandle, java.lang.String string, android.content.BroadcastReceiver broadcastReceiver, android.os.Handler handler, int i, java.lang.String string1, android.os.Bundle bundle) + void sendOrderedBroadcastAsUser( + Intent intent, + jni.JObject userHandle, + jni.JString string, + jni.JObject broadcastReceiver, + jni.JObject handler, + int i, + jni.JString string1, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_sendOrderedBroadcastAsUser, jni.JniCallType.voidType, [ + intent.reference, + userHandle.reference, + string.reference, + broadcastReceiver.reference, + handler.reference, + jni.JValueInt(i), + string1.reference, + bundle.reference + ]).check(); + } + + static final _id_sendOrderedBroadcast4 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendOrderedBroadcast", + r"(Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V"); + + /// from: public void sendOrderedBroadcast(android.content.Intent intent, java.lang.String string, java.lang.String string1, android.content.BroadcastReceiver broadcastReceiver, android.os.Handler handler, int i, java.lang.String string2, android.os.Bundle bundle) + void sendOrderedBroadcast4( + Intent intent, + jni.JString string, + jni.JString string1, + jni.JObject broadcastReceiver, + jni.JObject handler, + int i, + jni.JString string2, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_sendOrderedBroadcast4, jni.JniCallType.voidType, [ + intent.reference, + string.reference, + string1.reference, + broadcastReceiver.reference, + handler.reference, + jni.JValueInt(i), + string2.reference, + bundle.reference + ]).check(); + } + + static final _id_sendStickyBroadcast = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"sendStickyBroadcast", r"(Landroid/content/Intent;)V"); + + /// from: public abstract void sendStickyBroadcast(android.content.Intent intent) + void sendStickyBroadcast( + Intent intent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_sendStickyBroadcast, + jni.JniCallType.voidType, + [intent.reference]).check(); + } + + static final _id_sendStickyBroadcast1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendStickyBroadcast", + r"(Landroid/content/Intent;Landroid/os/Bundle;)V"); + + /// from: public void sendStickyBroadcast(android.content.Intent intent, android.os.Bundle bundle) + void sendStickyBroadcast1( + Intent intent, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_sendStickyBroadcast1, + jni.JniCallType.voidType, + [intent.reference, bundle.reference]).check(); + } + + static final _id_sendStickyOrderedBroadcast = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendStickyOrderedBroadcast", + r"(Landroid/content/Intent;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V"); + + /// from: public abstract void sendStickyOrderedBroadcast(android.content.Intent intent, android.content.BroadcastReceiver broadcastReceiver, android.os.Handler handler, int i, java.lang.String string, android.os.Bundle bundle) + void sendStickyOrderedBroadcast( + Intent intent, + jni.JObject broadcastReceiver, + jni.JObject handler, + int i, + jni.JString string, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_sendStickyOrderedBroadcast, jni.JniCallType.voidType, [ + intent.reference, + broadcastReceiver.reference, + handler.reference, + jni.JValueInt(i), + string.reference, + bundle.reference + ]).check(); + } + + static final _id_removeStickyBroadcast = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"removeStickyBroadcast", + r"(Landroid/content/Intent;)V"); + + /// from: public abstract void removeStickyBroadcast(android.content.Intent intent) + void removeStickyBroadcast( + Intent intent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_removeStickyBroadcast, + jni.JniCallType.voidType, + [intent.reference]).check(); + } + + static final _id_sendStickyBroadcastAsUser = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendStickyBroadcastAsUser", + r"(Landroid/content/Intent;Landroid/os/UserHandle;)V"); + + /// from: public abstract void sendStickyBroadcastAsUser(android.content.Intent intent, android.os.UserHandle userHandle) + void sendStickyBroadcastAsUser( + Intent intent, + jni.JObject userHandle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_sendStickyBroadcastAsUser, + jni.JniCallType.voidType, + [intent.reference, userHandle.reference]).check(); + } + + static final _id_sendStickyOrderedBroadcastAsUser = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"sendStickyOrderedBroadcastAsUser", + r"(Landroid/content/Intent;Landroid/os/UserHandle;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V"); + + /// from: public abstract void sendStickyOrderedBroadcastAsUser(android.content.Intent intent, android.os.UserHandle userHandle, android.content.BroadcastReceiver broadcastReceiver, android.os.Handler handler, int i, java.lang.String string, android.os.Bundle bundle) + void sendStickyOrderedBroadcastAsUser( + Intent intent, + jni.JObject userHandle, + jni.JObject broadcastReceiver, + jni.JObject handler, + int i, + jni.JString string, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_sendStickyOrderedBroadcastAsUser, jni.JniCallType.voidType, [ + intent.reference, + userHandle.reference, + broadcastReceiver.reference, + handler.reference, + jni.JValueInt(i), + string.reference, + bundle.reference + ]).check(); + } + + static final _id_removeStickyBroadcastAsUser = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"removeStickyBroadcastAsUser", + r"(Landroid/content/Intent;Landroid/os/UserHandle;)V"); + + /// from: public abstract void removeStickyBroadcastAsUser(android.content.Intent intent, android.os.UserHandle userHandle) + void removeStickyBroadcastAsUser( + Intent intent, + jni.JObject userHandle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_removeStickyBroadcastAsUser, + jni.JniCallType.voidType, + [intent.reference, userHandle.reference]).check(); + } + + static final _id_registerReceiver = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"registerReceiver", + r"(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;"); + + /// from: public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver broadcastReceiver, android.content.IntentFilter intentFilter) + /// The returned object must be released after use, by calling the [release] method. + Intent registerReceiver( + jni.JObject broadcastReceiver, + jni.JObject intentFilter, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_registerReceiver, + jni.JniCallType.objectType, + [broadcastReceiver.reference, intentFilter.reference]).object); + } + + static final _id_registerReceiver1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"registerReceiver", + r"(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent;"); + + /// from: public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver broadcastReceiver, android.content.IntentFilter intentFilter, int i) + /// The returned object must be released after use, by calling the [release] method. + Intent registerReceiver1( + jni.JObject broadcastReceiver, + jni.JObject intentFilter, + int i, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_registerReceiver1, jni.JniCallType.objectType, [ + broadcastReceiver.reference, + intentFilter.reference, + jni.JValueInt(i) + ]).object); + } + + static final _id_registerReceiver2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"registerReceiver", + r"(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;"); + + /// from: public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver broadcastReceiver, android.content.IntentFilter intentFilter, java.lang.String string, android.os.Handler handler) + /// The returned object must be released after use, by calling the [release] method. + Intent registerReceiver2( + jni.JObject broadcastReceiver, + jni.JObject intentFilter, + jni.JString string, + jni.JObject handler, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_registerReceiver2, jni.JniCallType.objectType, [ + broadcastReceiver.reference, + intentFilter.reference, + string.reference, + handler.reference + ]).object); + } + + static final _id_registerReceiver3 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"registerReceiver", + r"(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;I)Landroid/content/Intent;"); + + /// from: public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver broadcastReceiver, android.content.IntentFilter intentFilter, java.lang.String string, android.os.Handler handler, int i) + /// The returned object must be released after use, by calling the [release] method. + Intent registerReceiver3( + jni.JObject broadcastReceiver, + jni.JObject intentFilter, + jni.JString string, + jni.JObject handler, + int i, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_registerReceiver3, jni.JniCallType.objectType, [ + broadcastReceiver.reference, + intentFilter.reference, + string.reference, + handler.reference, + jni.JValueInt(i) + ]).object); + } + + static final _id_unregisterReceiver = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"unregisterReceiver", + r"(Landroid/content/BroadcastReceiver;)V"); + + /// from: public abstract void unregisterReceiver(android.content.BroadcastReceiver broadcastReceiver) + void unregisterReceiver( + jni.JObject broadcastReceiver, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_unregisterReceiver, + jni.JniCallType.voidType, + [broadcastReceiver.reference]).check(); + } + + static final _id_startService = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startService", + r"(Landroid/content/Intent;)Landroid/content/ComponentName;"); + + /// from: public abstract android.content.ComponentName startService(android.content.Intent intent) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject startService( + Intent intent, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startService, + jni.JniCallType.objectType, + [intent.reference]).object); + } + + static final _id_startForegroundService = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startForegroundService", + r"(Landroid/content/Intent;)Landroid/content/ComponentName;"); + + /// from: public abstract android.content.ComponentName startForegroundService(android.content.Intent intent) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject startForegroundService( + Intent intent, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startForegroundService, + jni.JniCallType.objectType, + [intent.reference]).object); + } + + static final _id_stopService = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"stopService", r"(Landroid/content/Intent;)Z"); + + /// from: public abstract boolean stopService(android.content.Intent intent) + bool stopService( + Intent intent, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_stopService, + jni.JniCallType.booleanType, [intent.reference]).boolean; + } + + static final _id_bindService = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"bindService", + r"(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z"); + + /// from: public abstract boolean bindService(android.content.Intent intent, android.content.ServiceConnection serviceConnection, int i) + bool bindService( + Intent intent, + jni.JObject serviceConnection, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_bindService, jni.JniCallType.booleanType, [ + intent.reference, + serviceConnection.reference, + jni.JValueInt(i) + ]).boolean; + } + + static final _id_bindService1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"bindService", + r"(Landroid/content/Intent;Landroid/content/ServiceConnection;Landroid/content/Context$BindServiceFlags;)Z"); + + /// from: public boolean bindService(android.content.Intent intent, android.content.ServiceConnection serviceConnection, android.content.Context$BindServiceFlags bindServiceFlags) + bool bindService1( + Intent intent, + jni.JObject serviceConnection, + Context_BindServiceFlags bindServiceFlags, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_bindService1, jni.JniCallType.booleanType, [ + intent.reference, + serviceConnection.reference, + bindServiceFlags.reference + ]).boolean; + } + + static final _id_bindService2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"bindService", + r"(Landroid/content/Intent;ILjava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z"); + + /// from: public boolean bindService(android.content.Intent intent, int i, java.util.concurrent.Executor executor, android.content.ServiceConnection serviceConnection) + bool bindService2( + Intent intent, + int i, + Executor executor, + jni.JObject serviceConnection, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_bindService2, jni.JniCallType.booleanType, [ + intent.reference, + jni.JValueInt(i), + executor.reference, + serviceConnection.reference + ]).boolean; + } + + static final _id_bindService3 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"bindService", + r"(Landroid/content/Intent;Landroid/content/Context$BindServiceFlags;Ljava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z"); + + /// from: public boolean bindService(android.content.Intent intent, android.content.Context$BindServiceFlags bindServiceFlags, java.util.concurrent.Executor executor, android.content.ServiceConnection serviceConnection) + bool bindService3( + Intent intent, + Context_BindServiceFlags bindServiceFlags, + Executor executor, + jni.JObject serviceConnection, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_bindService3, jni.JniCallType.booleanType, [ + intent.reference, + bindServiceFlags.reference, + executor.reference, + serviceConnection.reference + ]).boolean; + } + + static final _id_bindIsolatedService = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"bindIsolatedService", + r"(Landroid/content/Intent;ILjava/lang/String;Ljava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z"); + + /// from: public boolean bindIsolatedService(android.content.Intent intent, int i, java.lang.String string, java.util.concurrent.Executor executor, android.content.ServiceConnection serviceConnection) + bool bindIsolatedService( + Intent intent, + int i, + jni.JString string, + Executor executor, + jni.JObject serviceConnection, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_bindIsolatedService, jni.JniCallType.booleanType, [ + intent.reference, + jni.JValueInt(i), + string.reference, + executor.reference, + serviceConnection.reference + ]).boolean; + } + + static final _id_bindIsolatedService1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"bindIsolatedService", + r"(Landroid/content/Intent;Landroid/content/Context$BindServiceFlags;Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z"); + + /// from: public boolean bindIsolatedService(android.content.Intent intent, android.content.Context$BindServiceFlags bindServiceFlags, java.lang.String string, java.util.concurrent.Executor executor, android.content.ServiceConnection serviceConnection) + bool bindIsolatedService1( + Intent intent, + Context_BindServiceFlags bindServiceFlags, + jni.JString string, + Executor executor, + jni.JObject serviceConnection, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_bindIsolatedService1, jni.JniCallType.booleanType, [ + intent.reference, + bindServiceFlags.reference, + string.reference, + executor.reference, + serviceConnection.reference + ]).boolean; + } + + static final _id_bindServiceAsUser = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"bindServiceAsUser", + r"(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/UserHandle;)Z"); + + /// from: public boolean bindServiceAsUser(android.content.Intent intent, android.content.ServiceConnection serviceConnection, int i, android.os.UserHandle userHandle) + bool bindServiceAsUser( + Intent intent, + jni.JObject serviceConnection, + int i, + jni.JObject userHandle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_bindServiceAsUser, jni.JniCallType.booleanType, [ + intent.reference, + serviceConnection.reference, + jni.JValueInt(i), + userHandle.reference + ]).boolean; + } + + static final _id_bindServiceAsUser1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"bindServiceAsUser", + r"(Landroid/content/Intent;Landroid/content/ServiceConnection;Landroid/content/Context$BindServiceFlags;Landroid/os/UserHandle;)Z"); + + /// from: public boolean bindServiceAsUser(android.content.Intent intent, android.content.ServiceConnection serviceConnection, android.content.Context$BindServiceFlags bindServiceFlags, android.os.UserHandle userHandle) + bool bindServiceAsUser1( + Intent intent, + jni.JObject serviceConnection, + Context_BindServiceFlags bindServiceFlags, + jni.JObject userHandle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_bindServiceAsUser1, jni.JniCallType.booleanType, [ + intent.reference, + serviceConnection.reference, + bindServiceFlags.reference, + userHandle.reference + ]).boolean; + } + + static final _id_updateServiceGroup = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"updateServiceGroup", + r"(Landroid/content/ServiceConnection;II)V"); + + /// from: public void updateServiceGroup(android.content.ServiceConnection serviceConnection, int i, int i1) + void updateServiceGroup( + jni.JObject serviceConnection, + int i, + int i1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_updateServiceGroup, jni.JniCallType.voidType, [ + serviceConnection.reference, + jni.JValueInt(i), + jni.JValueInt(i1) + ]).check(); + } + + static final _id_unbindService = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"unbindService", + r"(Landroid/content/ServiceConnection;)V"); + + /// from: public abstract void unbindService(android.content.ServiceConnection serviceConnection) + void unbindService( + jni.JObject serviceConnection, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_unbindService, + jni.JniCallType.voidType, [serviceConnection.reference]).check(); + } + + static final _id_startInstrumentation = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startInstrumentation", + r"(Landroid/content/ComponentName;Ljava/lang/String;Landroid/os/Bundle;)Z"); + + /// from: public abstract boolean startInstrumentation(android.content.ComponentName componentName, java.lang.String string, android.os.Bundle bundle) + bool startInstrumentation( + jni.JObject componentName, + jni.JString string, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startInstrumentation, + jni.JniCallType.booleanType, + [componentName.reference, string.reference, bundle.reference]).boolean; + } + + static final _id_getSystemService = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getSystemService", + r"(Ljava/lang/String;)Ljava/lang/Object;"); + + /// from: public abstract java.lang.Object getSystemService(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getSystemService( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getSystemService, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getSystemService1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getSystemService", + r"(Ljava/lang/Class;)Ljava/lang/Object;"); + + /// from: public final T getSystemService(java.lang.Class class) + /// The returned object must be released after use, by calling the [release] method. + $T getSystemService1<$T extends jni.JObject>( + jni.JObject class0, { + required jni.JObjType<$T> T, + }) { + return T.fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getSystemService1, + jni.JniCallType.objectType, + [class0.reference]).object); + } + + static final _id_getSystemServiceName = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getSystemServiceName", + r"(Ljava/lang/Class;)Ljava/lang/String;"); + + /// from: public abstract java.lang.String getSystemServiceName(java.lang.Class class) + /// The returned object must be released after use, by calling the [release] method. + jni.JString getSystemServiceName( + jni.JObject class0, + ) { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getSystemServiceName, + jni.JniCallType.objectType, + [class0.reference]).object); + } + + static final _id_checkPermission = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"checkPermission", r"(Ljava/lang/String;II)I"); + + /// from: public abstract int checkPermission(java.lang.String string, int i, int i1) + int checkPermission( + jni.JString string, + int i, + int i1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_checkPermission, + jni.JniCallType.intType, + [string.reference, jni.JValueInt(i), jni.JValueInt(i1)]).integer; + } + + static final _id_checkCallingPermission = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"checkCallingPermission", r"(Ljava/lang/String;)I"); + + /// from: public abstract int checkCallingPermission(java.lang.String string) + int checkCallingPermission( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_checkCallingPermission, + jni.JniCallType.intType, + [string.reference]).integer; + } + + static final _id_checkCallingOrSelfPermission = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"checkCallingOrSelfPermission", + r"(Ljava/lang/String;)I"); + + /// from: public abstract int checkCallingOrSelfPermission(java.lang.String string) + int checkCallingOrSelfPermission( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_checkCallingOrSelfPermission, + jni.JniCallType.intType, + [string.reference]).integer; + } + + static final _id_checkSelfPermission = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"checkSelfPermission", r"(Ljava/lang/String;)I"); + + /// from: public abstract int checkSelfPermission(java.lang.String string) + int checkSelfPermission( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_checkSelfPermission, + jni.JniCallType.intType, + [string.reference]).integer; + } + + static final _id_enforcePermission = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"enforcePermission", + r"(Ljava/lang/String;IILjava/lang/String;)V"); + + /// from: public abstract void enforcePermission(java.lang.String string, int i, int i1, java.lang.String string1) + void enforcePermission( + jni.JString string, + int i, + int i1, + jni.JString string1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_enforcePermission, jni.JniCallType.voidType, [ + string.reference, + jni.JValueInt(i), + jni.JValueInt(i1), + string1.reference + ]).check(); + } + + static final _id_enforceCallingPermission = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"enforceCallingPermission", + r"(Ljava/lang/String;Ljava/lang/String;)V"); + + /// from: public abstract void enforceCallingPermission(java.lang.String string, java.lang.String string1) + void enforceCallingPermission( + jni.JString string, + jni.JString string1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_enforceCallingPermission, + jni.JniCallType.voidType, + [string.reference, string1.reference]).check(); + } + + static final _id_enforceCallingOrSelfPermission = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"enforceCallingOrSelfPermission", + r"(Ljava/lang/String;Ljava/lang/String;)V"); + + /// from: public abstract void enforceCallingOrSelfPermission(java.lang.String string, java.lang.String string1) + void enforceCallingOrSelfPermission( + jni.JString string, + jni.JString string1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_enforceCallingOrSelfPermission, + jni.JniCallType.voidType, + [string.reference, string1.reference]).check(); + } + + static final _id_grantUriPermission = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"grantUriPermission", + r"(Ljava/lang/String;Landroid/net/Uri;I)V"); + + /// from: public abstract void grantUriPermission(java.lang.String string, android.net.Uri uri, int i) + void grantUriPermission( + jni.JString string, + Uri uri, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_grantUriPermission, + jni.JniCallType.voidType, + [string.reference, uri.reference, jni.JValueInt(i)]).check(); + } + + static final _id_revokeUriPermission = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"revokeUriPermission", r"(Landroid/net/Uri;I)V"); + + /// from: public abstract void revokeUriPermission(android.net.Uri uri, int i) + void revokeUriPermission( + Uri uri, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_revokeUriPermission, + jni.JniCallType.voidType, + [uri.reference, jni.JValueInt(i)]).check(); + } + + static final _id_revokeUriPermission1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"revokeUriPermission", + r"(Ljava/lang/String;Landroid/net/Uri;I)V"); + + /// from: public abstract void revokeUriPermission(java.lang.String string, android.net.Uri uri, int i) + void revokeUriPermission1( + jni.JString string, + Uri uri, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_revokeUriPermission1, + jni.JniCallType.voidType, + [string.reference, uri.reference, jni.JValueInt(i)]).check(); + } + + static final _id_checkUriPermission = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"checkUriPermission", r"(Landroid/net/Uri;III)I"); + + /// from: public abstract int checkUriPermission(android.net.Uri uri, int i, int i1, int i2) + int checkUriPermission( + Uri uri, + int i, + int i1, + int i2, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_checkUriPermission, jni.JniCallType.intType, [ + uri.reference, + jni.JValueInt(i), + jni.JValueInt(i1), + jni.JValueInt(i2) + ]).integer; + } + + static final _id_checkUriPermissions = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"checkUriPermissions", r"(Ljava/util/List;III)[I"); + + /// from: public java.lang.Object[] checkUriPermissions(java.util.List list, int i, int i1, int i2) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray checkUriPermissions( + jni.JList list, + int i, + int i1, + int i2, + ) { + return const jni.JArrayType(jni.jintType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, _id_checkUriPermissions, jni.JniCallType.objectType, [ + list.reference, + jni.JValueInt(i), + jni.JValueInt(i1), + jni.JValueInt(i2) + ]).object); + } + + static final _id_checkCallingUriPermission = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"checkCallingUriPermission", r"(Landroid/net/Uri;I)I"); + + /// from: public abstract int checkCallingUriPermission(android.net.Uri uri, int i) + int checkCallingUriPermission( + Uri uri, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_checkCallingUriPermission, + jni.JniCallType.intType, + [uri.reference, jni.JValueInt(i)]).integer; + } + + static final _id_checkCallingUriPermissions = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"checkCallingUriPermissions", + r"(Ljava/util/List;I)[I"); + + /// from: public java.lang.Object[] checkCallingUriPermissions(java.util.List list, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray checkCallingUriPermissions( + jni.JList list, + int i, + ) { + return const jni.JArrayType(jni.jintType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_checkCallingUriPermissions, + jni.JniCallType.objectType, + [list.reference, jni.JValueInt(i)]).object); + } + + static final _id_checkCallingOrSelfUriPermission = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"checkCallingOrSelfUriPermission", + r"(Landroid/net/Uri;I)I"); + + /// from: public abstract int checkCallingOrSelfUriPermission(android.net.Uri uri, int i) + int checkCallingOrSelfUriPermission( + Uri uri, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_checkCallingOrSelfUriPermission, + jni.JniCallType.intType, + [uri.reference, jni.JValueInt(i)]).integer; + } + + static final _id_checkCallingOrSelfUriPermissions = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"checkCallingOrSelfUriPermissions", + r"(Ljava/util/List;I)[I"); + + /// from: public java.lang.Object[] checkCallingOrSelfUriPermissions(java.util.List list, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray checkCallingOrSelfUriPermissions( + jni.JList list, + int i, + ) { + return const jni.JArrayType(jni.jintType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_checkCallingOrSelfUriPermissions, + jni.JniCallType.objectType, + [list.reference, jni.JValueInt(i)]).object); + } + + static final _id_checkUriPermission1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"checkUriPermission", + r"(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;III)I"); + + /// from: public abstract int checkUriPermission(android.net.Uri uri, java.lang.String string, java.lang.String string1, int i, int i1, int i2) + int checkUriPermission1( + Uri uri, + jni.JString string, + jni.JString string1, + int i, + int i1, + int i2, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_checkUriPermission1, jni.JniCallType.intType, [ + uri.reference, + string.reference, + string1.reference, + jni.JValueInt(i), + jni.JValueInt(i1), + jni.JValueInt(i2) + ]).integer; + } + + static final _id_enforceUriPermission = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"enforceUriPermission", + r"(Landroid/net/Uri;IIILjava/lang/String;)V"); + + /// from: public abstract void enforceUriPermission(android.net.Uri uri, int i, int i1, int i2, java.lang.String string) + void enforceUriPermission( + Uri uri, + int i, + int i1, + int i2, + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_enforceUriPermission, jni.JniCallType.voidType, [ + uri.reference, + jni.JValueInt(i), + jni.JValueInt(i1), + jni.JValueInt(i2), + string.reference + ]).check(); + } + + static final _id_enforceCallingUriPermission = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"enforceCallingUriPermission", + r"(Landroid/net/Uri;ILjava/lang/String;)V"); + + /// from: public abstract void enforceCallingUriPermission(android.net.Uri uri, int i, java.lang.String string) + void enforceCallingUriPermission( + Uri uri, + int i, + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_enforceCallingUriPermission, + jni.JniCallType.voidType, + [uri.reference, jni.JValueInt(i), string.reference]).check(); + } + + static final _id_enforceCallingOrSelfUriPermission = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"enforceCallingOrSelfUriPermission", + r"(Landroid/net/Uri;ILjava/lang/String;)V"); + + /// from: public abstract void enforceCallingOrSelfUriPermission(android.net.Uri uri, int i, java.lang.String string) + void enforceCallingOrSelfUriPermission( + Uri uri, + int i, + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_enforceCallingOrSelfUriPermission, + jni.JniCallType.voidType, + [uri.reference, jni.JValueInt(i), string.reference]).check(); + } + + static final _id_enforceUriPermission1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"enforceUriPermission", + r"(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;)V"); + + /// from: public abstract void enforceUriPermission(android.net.Uri uri, java.lang.String string, java.lang.String string1, int i, int i1, int i2, java.lang.String string2) + void enforceUriPermission1( + Uri uri, + jni.JString string, + jni.JString string1, + int i, + int i1, + int i2, + jni.JString string2, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_enforceUriPermission1, jni.JniCallType.voidType, [ + uri.reference, + string.reference, + string1.reference, + jni.JValueInt(i), + jni.JValueInt(i1), + jni.JValueInt(i2), + string2.reference + ]).check(); + } + + static final _id_revokeSelfPermissionOnKill = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"revokeSelfPermissionOnKill", + r"(Ljava/lang/String;)V"); + + /// from: public void revokeSelfPermissionOnKill(java.lang.String string) + void revokeSelfPermissionOnKill( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_revokeSelfPermissionOnKill, + jni.JniCallType.voidType, + [string.reference]).check(); + } + + static final _id_revokeSelfPermissionsOnKill = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"revokeSelfPermissionsOnKill", + r"(Ljava/util/Collection;)V"); + + /// from: public void revokeSelfPermissionsOnKill(java.util.Collection collection) + void revokeSelfPermissionsOnKill( + jni.JObject collection, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_revokeSelfPermissionsOnKill, + jni.JniCallType.voidType, + [collection.reference]).check(); + } + + static final _id_createPackageContext = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createPackageContext", + r"(Ljava/lang/String;I)Landroid/content/Context;"); + + /// from: public abstract android.content.Context createPackageContext(java.lang.String string, int i) + /// The returned object must be released after use, by calling the [release] method. + Context createPackageContext( + jni.JString string, + int i, + ) { + return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createPackageContext, + jni.JniCallType.objectType, + [string.reference, jni.JValueInt(i)]).object); + } + + static final _id_createContextForSplit = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createContextForSplit", + r"(Ljava/lang/String;)Landroid/content/Context;"); + + /// from: public abstract android.content.Context createContextForSplit(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Context createContextForSplit( + jni.JString string, + ) { + return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createContextForSplit, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_createConfigurationContext = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createConfigurationContext", + r"(Landroid/content/res/Configuration;)Landroid/content/Context;"); + + /// from: public abstract android.content.Context createConfigurationContext(android.content.res.Configuration configuration) + /// The returned object must be released after use, by calling the [release] method. + Context createConfigurationContext( + jni.JObject configuration, + ) { + return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createConfigurationContext, + jni.JniCallType.objectType, + [configuration.reference]).object); + } + + static final _id_createDisplayContext = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createDisplayContext", + r"(Landroid/view/Display;)Landroid/content/Context;"); + + /// from: public abstract android.content.Context createDisplayContext(android.view.Display display) + /// The returned object must be released after use, by calling the [release] method. + Context createDisplayContext( + jni.JObject display, + ) { + return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createDisplayContext, + jni.JniCallType.objectType, + [display.reference]).object); + } + + static final _id_createDeviceContext = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createDeviceContext", + r"(I)Landroid/content/Context;"); + + /// from: public android.content.Context createDeviceContext(int i) + /// The returned object must be released after use, by calling the [release] method. + Context createDeviceContext( + int i, + ) { + return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createDeviceContext, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_createWindowContext = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createWindowContext", + r"(ILandroid/os/Bundle;)Landroid/content/Context;"); + + /// from: public android.content.Context createWindowContext(int i, android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + Context createWindowContext( + int i, + Bundle bundle, + ) { + return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createWindowContext, + jni.JniCallType.objectType, + [jni.JValueInt(i), bundle.reference]).object); + } + + static final _id_createWindowContext1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createWindowContext", + r"(Landroid/view/Display;ILandroid/os/Bundle;)Landroid/content/Context;"); + + /// from: public android.content.Context createWindowContext(android.view.Display display, int i, android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + Context createWindowContext1( + jni.JObject display, + int i, + Bundle bundle, + ) { + return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createWindowContext1, + jni.JniCallType.objectType, + [display.reference, jni.JValueInt(i), bundle.reference]).object); + } + + static final _id_createContext = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createContext", + r"(Landroid/content/ContextParams;)Landroid/content/Context;"); + + /// from: public android.content.Context createContext(android.content.ContextParams contextParams) + /// The returned object must be released after use, by calling the [release] method. + Context createContext( + jni.JObject contextParams, + ) { + return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createContext, + jni.JniCallType.objectType, + [contextParams.reference]).object); + } + + static final _id_createAttributionContext = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createAttributionContext", + r"(Ljava/lang/String;)Landroid/content/Context;"); + + /// from: public android.content.Context createAttributionContext(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Context createAttributionContext( + jni.JString string, + ) { + return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createAttributionContext, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_createDeviceProtectedStorageContext = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"createDeviceProtectedStorageContext", + r"()Landroid/content/Context;"); + + /// from: public abstract android.content.Context createDeviceProtectedStorageContext() + /// The returned object must be released after use, by calling the [release] method. + Context createDeviceProtectedStorageContext() { + return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createDeviceProtectedStorageContext, + jni.JniCallType.objectType, []).object); + } + + static final _id_getDisplay = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getDisplay", r"()Landroid/view/Display;"); + + /// from: public android.view.Display getDisplay() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getDisplay() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getDisplay, jni.JniCallType.objectType, []).object); + } + + static final _id_getDeviceId = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"getDeviceId", r"()I"); + + /// from: public int getDeviceId() + int getDeviceId() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getDeviceId, jni.JniCallType.intType, []).integer; + } + + static final _id_registerDeviceIdChangeListener = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"registerDeviceIdChangeListener", + r"(Ljava/util/concurrent/Executor;Ljava/util/function/IntConsumer;)V"); + + /// from: public void registerDeviceIdChangeListener(java.util.concurrent.Executor executor, java.util.function.IntConsumer intConsumer) + void registerDeviceIdChangeListener( + Executor executor, + jni.JObject intConsumer, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_registerDeviceIdChangeListener, + jni.JniCallType.voidType, + [executor.reference, intConsumer.reference]).check(); + } + + static final _id_unregisterDeviceIdChangeListener = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"unregisterDeviceIdChangeListener", + r"(Ljava/util/function/IntConsumer;)V"); + + /// from: public void unregisterDeviceIdChangeListener(java.util.function.IntConsumer intConsumer) + void unregisterDeviceIdChangeListener( + jni.JObject intConsumer, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_unregisterDeviceIdChangeListener, + jni.JniCallType.voidType, + [intConsumer.reference]).check(); + } + + static final _id_isRestricted = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isRestricted", r"()Z"); + + /// from: public boolean isRestricted() + bool isRestricted() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isRestricted, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_isDeviceProtectedStorage = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isDeviceProtectedStorage", r"()Z"); + + /// from: public abstract boolean isDeviceProtectedStorage() + bool isDeviceProtectedStorage() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_isDeviceProtectedStorage, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_isUiContext = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isUiContext", r"()Z"); + + /// from: public boolean isUiContext() + bool isUiContext() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isUiContext, jni.JniCallType.booleanType, []).boolean; + } +} + +final class $ContextType extends jni.JObjType { + const $ContextType(); + + @override + String get signature => r"Landroid/content/Context;"; + + @override + Context fromRef(jni.JObjectPtr ref) => Context.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($ContextType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($ContextType) && other is $ContextType; + } +} + +/// from: android.content.Intent$FilterComparison +class Intent_FilterComparison extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Intent_FilterComparison.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"android/content/Intent$FilterComparison"); + + /// The type which includes information such as the signature of this class. + static const type = $Intent_FilterComparisonType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Landroid/content/Intent;)V"); + + /// from: public void (android.content.Intent intent) + /// The returned object must be released after use, by calling the [release] method. + factory Intent_FilterComparison( + Intent intent, + ) { + return Intent_FilterComparison.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new0, [intent.reference]).object); + } + + static final _id_getIntent = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getIntent", r"()Landroid/content/Intent;"); + + /// from: public android.content.Intent getIntent() + /// The returned object must be released after use, by calling the [release] method. + Intent getIntent() { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getIntent, jni.JniCallType.objectType, []).object); + } + + static final _id_equals1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"equals", r"(Ljava/lang/Object;)Z"); + + /// from: public boolean equals(java.lang.Object object) + bool equals1( + jni.JObject object, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_equals1, + jni.JniCallType.booleanType, [object.reference]).boolean; + } + + static final _id_hashCode1 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"hashCode", r"()I"); + + /// from: public int hashCode() + int hashCode1() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_hashCode1, jni.JniCallType.intType, []).integer; + } +} + +final class $Intent_FilterComparisonType + extends jni.JObjType { + const $Intent_FilterComparisonType(); + + @override + String get signature => r"Landroid/content/Intent$FilterComparison;"; + + @override + Intent_FilterComparison fromRef(jni.JObjectPtr ref) => + Intent_FilterComparison.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($Intent_FilterComparisonType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($Intent_FilterComparisonType) && + other is $Intent_FilterComparisonType; + } +} + +/// from: android.content.Intent$ShortcutIconResource +class Intent_ShortcutIconResource extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Intent_ShortcutIconResource.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"android/content/Intent$ShortcutIconResource"); + + /// The type which includes information such as the signature of this class. + static const type = $Intent_ShortcutIconResourceType(); + static final _id_CREATOR = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"CREATOR", + r"Landroid/os/Parcelable$Creator;", + ); + + /// from: static public final android.os.Parcelable$Creator CREATOR + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject get CREATOR => const jni.JObjectType().fromRef(jni + .Jni.accessors + .getStaticField(_class.reference, _id_CREATOR, jni.JniCallType.objectType) + .object); + + static final _id_packageName = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"packageName", + r"Ljava/lang/String;", + ); + + /// from: public java.lang.String packageName + /// The returned object must be released after use, by calling the [release] method. + jni.JString get packageName => + const jni.JStringType().fromRef(jni.Jni.accessors + .getField(reference, _id_packageName, jni.JniCallType.objectType) + .object); + + /// from: public java.lang.String packageName + /// The returned object must be released after use, by calling the [release] method. + set packageName(jni.JString value) => + jni.Jni.env.SetObjectField(reference, _id_packageName, value.reference); + + static final _id_resourceName = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"resourceName", + r"Ljava/lang/String;", + ); + + /// from: public java.lang.String resourceName + /// The returned object must be released after use, by calling the [release] method. + jni.JString get resourceName => + const jni.JStringType().fromRef(jni.Jni.accessors + .getField(reference, _id_resourceName, jni.JniCallType.objectType) + .object); + + /// from: public java.lang.String resourceName + /// The returned object must be released after use, by calling the [release] method. + set resourceName(jni.JString value) => + jni.Jni.env.SetObjectField(reference, _id_resourceName, value.reference); + + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory Intent_ShortcutIconResource() { + return Intent_ShortcutIconResource.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_fromContext = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"fromContext", + r"(Landroid/content/Context;I)Landroid/content/Intent$ShortcutIconResource;"); + + /// from: static public android.content.Intent$ShortcutIconResource fromContext(android.content.Context context, int i) + /// The returned object must be released after use, by calling the [release] method. + static Intent_ShortcutIconResource fromContext( + Context context, + int i, + ) { + return const $Intent_ShortcutIconResourceType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_fromContext, + jni.JniCallType.objectType, + [context.reference, jni.JValueInt(i)]).object); + } + + static final _id_describeContents = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"describeContents", r"()I"); + + /// from: public int describeContents() + int describeContents() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_describeContents, jni.JniCallType.intType, []).integer; + } + + static final _id_writeToParcel = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"writeToParcel", r"(Landroid/os/Parcel;I)V"); + + /// from: public void writeToParcel(android.os.Parcel parcel, int i) + void writeToParcel( + jni.JObject parcel, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_writeToParcel, + jni.JniCallType.voidType, [parcel.reference, jni.JValueInt(i)]).check(); + } + + static final _id_toString1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"toString", r"()Ljava/lang/String;"); + + /// from: public java.lang.String toString() + /// The returned object must be released after use, by calling the [release] method. + jni.JString toString1() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_toString1, jni.JniCallType.objectType, []).object); + } +} + +final class $Intent_ShortcutIconResourceType + extends jni.JObjType { + const $Intent_ShortcutIconResourceType(); + + @override + String get signature => r"Landroid/content/Intent$ShortcutIconResource;"; + + @override + Intent_ShortcutIconResource fromRef(jni.JObjectPtr ref) => + Intent_ShortcutIconResource.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($Intent_ShortcutIconResourceType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($Intent_ShortcutIconResourceType) && + other is $Intent_ShortcutIconResourceType; + } +} + +/// from: android.content.Intent +class Intent extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Intent.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"android/content/Intent"); + + /// The type which includes information such as the signature of this class. + static const type = $IntentType(); + + /// from: static public final java.lang.String ACTION_AIRPLANE_MODE_CHANGED + static const ACTION_AIRPLANE_MODE_CHANGED = + r"""android.intent.action.AIRPLANE_MODE"""; + + /// from: static public final java.lang.String ACTION_ALL_APPS + static const ACTION_ALL_APPS = r"""android.intent.action.ALL_APPS"""; + + /// from: static public final java.lang.String ACTION_ANSWER + static const ACTION_ANSWER = r"""android.intent.action.ANSWER"""; + + /// from: static public final java.lang.String ACTION_APPLICATION_LOCALE_CHANGED + static const ACTION_APPLICATION_LOCALE_CHANGED = + r"""android.intent.action.APPLICATION_LOCALE_CHANGED"""; + + /// from: static public final java.lang.String ACTION_APPLICATION_PREFERENCES + static const ACTION_APPLICATION_PREFERENCES = + r"""android.intent.action.APPLICATION_PREFERENCES"""; + + /// from: static public final java.lang.String ACTION_APPLICATION_RESTRICTIONS_CHANGED + static const ACTION_APPLICATION_RESTRICTIONS_CHANGED = + r"""android.intent.action.APPLICATION_RESTRICTIONS_CHANGED"""; + + /// from: static public final java.lang.String ACTION_APP_ERROR + static const ACTION_APP_ERROR = r"""android.intent.action.APP_ERROR"""; + + /// from: static public final java.lang.String ACTION_ASSIST + static const ACTION_ASSIST = r"""android.intent.action.ASSIST"""; + + /// from: static public final java.lang.String ACTION_ATTACH_DATA + static const ACTION_ATTACH_DATA = r"""android.intent.action.ATTACH_DATA"""; + + /// from: static public final java.lang.String ACTION_AUTO_REVOKE_PERMISSIONS + static const ACTION_AUTO_REVOKE_PERMISSIONS = + r"""android.intent.action.AUTO_REVOKE_PERMISSIONS"""; + + /// from: static public final java.lang.String ACTION_BATTERY_CHANGED + static const ACTION_BATTERY_CHANGED = + r"""android.intent.action.BATTERY_CHANGED"""; + + /// from: static public final java.lang.String ACTION_BATTERY_LOW + static const ACTION_BATTERY_LOW = r"""android.intent.action.BATTERY_LOW"""; + + /// from: static public final java.lang.String ACTION_BATTERY_OKAY + static const ACTION_BATTERY_OKAY = r"""android.intent.action.BATTERY_OKAY"""; + + /// from: static public final java.lang.String ACTION_BOOT_COMPLETED + static const ACTION_BOOT_COMPLETED = + r"""android.intent.action.BOOT_COMPLETED"""; + + /// from: static public final java.lang.String ACTION_BUG_REPORT + static const ACTION_BUG_REPORT = r"""android.intent.action.BUG_REPORT"""; + + /// from: static public final java.lang.String ACTION_CALL + static const ACTION_CALL = r"""android.intent.action.CALL"""; + + /// from: static public final java.lang.String ACTION_CALL_BUTTON + static const ACTION_CALL_BUTTON = r"""android.intent.action.CALL_BUTTON"""; + + /// from: static public final java.lang.String ACTION_CAMERA_BUTTON + static const ACTION_CAMERA_BUTTON = + r"""android.intent.action.CAMERA_BUTTON"""; + + /// from: static public final java.lang.String ACTION_CARRIER_SETUP + static const ACTION_CARRIER_SETUP = + r"""android.intent.action.CARRIER_SETUP"""; + + /// from: static public final java.lang.String ACTION_CHOOSER + static const ACTION_CHOOSER = r"""android.intent.action.CHOOSER"""; + + /// from: static public final java.lang.String ACTION_CLOSE_SYSTEM_DIALOGS + static const ACTION_CLOSE_SYSTEM_DIALOGS = + r"""android.intent.action.CLOSE_SYSTEM_DIALOGS"""; + + /// from: static public final java.lang.String ACTION_CONFIGURATION_CHANGED + static const ACTION_CONFIGURATION_CHANGED = + r"""android.intent.action.CONFIGURATION_CHANGED"""; + + /// from: static public final java.lang.String ACTION_CREATE_DOCUMENT + static const ACTION_CREATE_DOCUMENT = + r"""android.intent.action.CREATE_DOCUMENT"""; + + /// from: static public final java.lang.String ACTION_CREATE_NOTE + static const ACTION_CREATE_NOTE = r"""android.intent.action.CREATE_NOTE"""; + + /// from: static public final java.lang.String ACTION_CREATE_REMINDER + static const ACTION_CREATE_REMINDER = + r"""android.intent.action.CREATE_REMINDER"""; + + /// from: static public final java.lang.String ACTION_CREATE_SHORTCUT + static const ACTION_CREATE_SHORTCUT = + r"""android.intent.action.CREATE_SHORTCUT"""; + + /// from: static public final java.lang.String ACTION_DATE_CHANGED + static const ACTION_DATE_CHANGED = r"""android.intent.action.DATE_CHANGED"""; + + /// from: static public final java.lang.String ACTION_DEFAULT + static const ACTION_DEFAULT = r"""android.intent.action.VIEW"""; + + /// from: static public final java.lang.String ACTION_DEFINE + static const ACTION_DEFINE = r"""android.intent.action.DEFINE"""; + + /// from: static public final java.lang.String ACTION_DELETE + static const ACTION_DELETE = r"""android.intent.action.DELETE"""; + + /// from: static public final java.lang.String ACTION_DEVICE_STORAGE_LOW + static const ACTION_DEVICE_STORAGE_LOW = + r"""android.intent.action.DEVICE_STORAGE_LOW"""; + + /// from: static public final java.lang.String ACTION_DEVICE_STORAGE_OK + static const ACTION_DEVICE_STORAGE_OK = + r"""android.intent.action.DEVICE_STORAGE_OK"""; + + /// from: static public final java.lang.String ACTION_DIAL + static const ACTION_DIAL = r"""android.intent.action.DIAL"""; + + /// from: static public final java.lang.String ACTION_DOCK_EVENT + static const ACTION_DOCK_EVENT = r"""android.intent.action.DOCK_EVENT"""; + + /// from: static public final java.lang.String ACTION_DREAMING_STARTED + static const ACTION_DREAMING_STARTED = + r"""android.intent.action.DREAMING_STARTED"""; + + /// from: static public final java.lang.String ACTION_DREAMING_STOPPED + static const ACTION_DREAMING_STOPPED = + r"""android.intent.action.DREAMING_STOPPED"""; + + /// from: static public final java.lang.String ACTION_EDIT + static const ACTION_EDIT = r"""android.intent.action.EDIT"""; + + /// from: static public final java.lang.String ACTION_EXTERNAL_APPLICATIONS_AVAILABLE + static const ACTION_EXTERNAL_APPLICATIONS_AVAILABLE = + r"""android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE"""; + + /// from: static public final java.lang.String ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE + static const ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE = + r"""android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE"""; + + /// from: static public final java.lang.String ACTION_FACTORY_TEST + static const ACTION_FACTORY_TEST = r"""android.intent.action.FACTORY_TEST"""; + + /// from: static public final java.lang.String ACTION_GET_CONTENT + static const ACTION_GET_CONTENT = r"""android.intent.action.GET_CONTENT"""; + + /// from: static public final java.lang.String ACTION_GET_RESTRICTION_ENTRIES + static const ACTION_GET_RESTRICTION_ENTRIES = + r"""android.intent.action.GET_RESTRICTION_ENTRIES"""; + + /// from: static public final java.lang.String ACTION_GTALK_SERVICE_CONNECTED + static const ACTION_GTALK_SERVICE_CONNECTED = + r"""android.intent.action.GTALK_CONNECTED"""; + + /// from: static public final java.lang.String ACTION_GTALK_SERVICE_DISCONNECTED + static const ACTION_GTALK_SERVICE_DISCONNECTED = + r"""android.intent.action.GTALK_DISCONNECTED"""; + + /// from: static public final java.lang.String ACTION_HEADSET_PLUG + static const ACTION_HEADSET_PLUG = r"""android.intent.action.HEADSET_PLUG"""; + + /// from: static public final java.lang.String ACTION_INPUT_METHOD_CHANGED + static const ACTION_INPUT_METHOD_CHANGED = + r"""android.intent.action.INPUT_METHOD_CHANGED"""; + + /// from: static public final java.lang.String ACTION_INSERT + static const ACTION_INSERT = r"""android.intent.action.INSERT"""; + + /// from: static public final java.lang.String ACTION_INSERT_OR_EDIT + static const ACTION_INSERT_OR_EDIT = + r"""android.intent.action.INSERT_OR_EDIT"""; + + /// from: static public final java.lang.String ACTION_INSTALL_FAILURE + static const ACTION_INSTALL_FAILURE = + r"""android.intent.action.INSTALL_FAILURE"""; + + /// from: static public final java.lang.String ACTION_INSTALL_PACKAGE + static const ACTION_INSTALL_PACKAGE = + r"""android.intent.action.INSTALL_PACKAGE"""; + + /// from: static public final java.lang.String ACTION_LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE + static const ACTION_LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE = + r"""android.intent.action.LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE"""; + + /// from: static public final java.lang.String ACTION_LOCALE_CHANGED + static const ACTION_LOCALE_CHANGED = + r"""android.intent.action.LOCALE_CHANGED"""; + + /// from: static public final java.lang.String ACTION_LOCKED_BOOT_COMPLETED + static const ACTION_LOCKED_BOOT_COMPLETED = + r"""android.intent.action.LOCKED_BOOT_COMPLETED"""; + + /// from: static public final java.lang.String ACTION_MAIN + static const ACTION_MAIN = r"""android.intent.action.MAIN"""; + + /// from: static public final java.lang.String ACTION_MANAGED_PROFILE_ADDED + static const ACTION_MANAGED_PROFILE_ADDED = + r"""android.intent.action.MANAGED_PROFILE_ADDED"""; + + /// from: static public final java.lang.String ACTION_MANAGED_PROFILE_AVAILABLE + static const ACTION_MANAGED_PROFILE_AVAILABLE = + r"""android.intent.action.MANAGED_PROFILE_AVAILABLE"""; + + /// from: static public final java.lang.String ACTION_MANAGED_PROFILE_REMOVED + static const ACTION_MANAGED_PROFILE_REMOVED = + r"""android.intent.action.MANAGED_PROFILE_REMOVED"""; + + /// from: static public final java.lang.String ACTION_MANAGED_PROFILE_UNAVAILABLE + static const ACTION_MANAGED_PROFILE_UNAVAILABLE = + r"""android.intent.action.MANAGED_PROFILE_UNAVAILABLE"""; + + /// from: static public final java.lang.String ACTION_MANAGED_PROFILE_UNLOCKED + static const ACTION_MANAGED_PROFILE_UNLOCKED = + r"""android.intent.action.MANAGED_PROFILE_UNLOCKED"""; + + /// from: static public final java.lang.String ACTION_MANAGE_NETWORK_USAGE + static const ACTION_MANAGE_NETWORK_USAGE = + r"""android.intent.action.MANAGE_NETWORK_USAGE"""; + + /// from: static public final java.lang.String ACTION_MANAGE_PACKAGE_STORAGE + static const ACTION_MANAGE_PACKAGE_STORAGE = + r"""android.intent.action.MANAGE_PACKAGE_STORAGE"""; + + /// from: static public final java.lang.String ACTION_MANAGE_UNUSED_APPS + static const ACTION_MANAGE_UNUSED_APPS = + r"""android.intent.action.MANAGE_UNUSED_APPS"""; + + /// from: static public final java.lang.String ACTION_MEDIA_BAD_REMOVAL + static const ACTION_MEDIA_BAD_REMOVAL = + r"""android.intent.action.MEDIA_BAD_REMOVAL"""; + + /// from: static public final java.lang.String ACTION_MEDIA_BUTTON + static const ACTION_MEDIA_BUTTON = r"""android.intent.action.MEDIA_BUTTON"""; + + /// from: static public final java.lang.String ACTION_MEDIA_CHECKING + static const ACTION_MEDIA_CHECKING = + r"""android.intent.action.MEDIA_CHECKING"""; + + /// from: static public final java.lang.String ACTION_MEDIA_EJECT + static const ACTION_MEDIA_EJECT = r"""android.intent.action.MEDIA_EJECT"""; + + /// from: static public final java.lang.String ACTION_MEDIA_MOUNTED + static const ACTION_MEDIA_MOUNTED = + r"""android.intent.action.MEDIA_MOUNTED"""; + + /// from: static public final java.lang.String ACTION_MEDIA_NOFS + static const ACTION_MEDIA_NOFS = r"""android.intent.action.MEDIA_NOFS"""; + + /// from: static public final java.lang.String ACTION_MEDIA_REMOVED + static const ACTION_MEDIA_REMOVED = + r"""android.intent.action.MEDIA_REMOVED"""; + + /// from: static public final java.lang.String ACTION_MEDIA_SCANNER_FINISHED + static const ACTION_MEDIA_SCANNER_FINISHED = + r"""android.intent.action.MEDIA_SCANNER_FINISHED"""; + + /// from: static public final java.lang.String ACTION_MEDIA_SCANNER_SCAN_FILE + static const ACTION_MEDIA_SCANNER_SCAN_FILE = + r"""android.intent.action.MEDIA_SCANNER_SCAN_FILE"""; + + /// from: static public final java.lang.String ACTION_MEDIA_SCANNER_STARTED + static const ACTION_MEDIA_SCANNER_STARTED = + r"""android.intent.action.MEDIA_SCANNER_STARTED"""; + + /// from: static public final java.lang.String ACTION_MEDIA_SHARED + static const ACTION_MEDIA_SHARED = r"""android.intent.action.MEDIA_SHARED"""; + + /// from: static public final java.lang.String ACTION_MEDIA_UNMOUNTABLE + static const ACTION_MEDIA_UNMOUNTABLE = + r"""android.intent.action.MEDIA_UNMOUNTABLE"""; + + /// from: static public final java.lang.String ACTION_MEDIA_UNMOUNTED + static const ACTION_MEDIA_UNMOUNTED = + r"""android.intent.action.MEDIA_UNMOUNTED"""; + + /// from: static public final java.lang.String ACTION_MY_PACKAGE_REPLACED + static const ACTION_MY_PACKAGE_REPLACED = + r"""android.intent.action.MY_PACKAGE_REPLACED"""; + + /// from: static public final java.lang.String ACTION_MY_PACKAGE_SUSPENDED + static const ACTION_MY_PACKAGE_SUSPENDED = + r"""android.intent.action.MY_PACKAGE_SUSPENDED"""; + + /// from: static public final java.lang.String ACTION_MY_PACKAGE_UNSUSPENDED + static const ACTION_MY_PACKAGE_UNSUSPENDED = + r"""android.intent.action.MY_PACKAGE_UNSUSPENDED"""; + + /// from: static public final java.lang.String ACTION_NEW_OUTGOING_CALL + static const ACTION_NEW_OUTGOING_CALL = + r"""android.intent.action.NEW_OUTGOING_CALL"""; + + /// from: static public final java.lang.String ACTION_OPEN_DOCUMENT + static const ACTION_OPEN_DOCUMENT = + r"""android.intent.action.OPEN_DOCUMENT"""; + + /// from: static public final java.lang.String ACTION_OPEN_DOCUMENT_TREE + static const ACTION_OPEN_DOCUMENT_TREE = + r"""android.intent.action.OPEN_DOCUMENT_TREE"""; + + /// from: static public final java.lang.String ACTION_PACKAGES_SUSPENDED + static const ACTION_PACKAGES_SUSPENDED = + r"""android.intent.action.PACKAGES_SUSPENDED"""; + + /// from: static public final java.lang.String ACTION_PACKAGES_UNSUSPENDED + static const ACTION_PACKAGES_UNSUSPENDED = + r"""android.intent.action.PACKAGES_UNSUSPENDED"""; + + /// from: static public final java.lang.String ACTION_PACKAGE_ADDED + static const ACTION_PACKAGE_ADDED = + r"""android.intent.action.PACKAGE_ADDED"""; + + /// from: static public final java.lang.String ACTION_PACKAGE_CHANGED + static const ACTION_PACKAGE_CHANGED = + r"""android.intent.action.PACKAGE_CHANGED"""; + + /// from: static public final java.lang.String ACTION_PACKAGE_DATA_CLEARED + static const ACTION_PACKAGE_DATA_CLEARED = + r"""android.intent.action.PACKAGE_DATA_CLEARED"""; + + /// from: static public final java.lang.String ACTION_PACKAGE_FIRST_LAUNCH + static const ACTION_PACKAGE_FIRST_LAUNCH = + r"""android.intent.action.PACKAGE_FIRST_LAUNCH"""; + + /// from: static public final java.lang.String ACTION_PACKAGE_FULLY_REMOVED + static const ACTION_PACKAGE_FULLY_REMOVED = + r"""android.intent.action.PACKAGE_FULLY_REMOVED"""; + + /// from: static public final java.lang.String ACTION_PACKAGE_INSTALL + static const ACTION_PACKAGE_INSTALL = + r"""android.intent.action.PACKAGE_INSTALL"""; + + /// from: static public final java.lang.String ACTION_PACKAGE_NEEDS_VERIFICATION + static const ACTION_PACKAGE_NEEDS_VERIFICATION = + r"""android.intent.action.PACKAGE_NEEDS_VERIFICATION"""; + + /// from: static public final java.lang.String ACTION_PACKAGE_REMOVED + static const ACTION_PACKAGE_REMOVED = + r"""android.intent.action.PACKAGE_REMOVED"""; + + /// from: static public final java.lang.String ACTION_PACKAGE_REPLACED + static const ACTION_PACKAGE_REPLACED = + r"""android.intent.action.PACKAGE_REPLACED"""; + + /// from: static public final java.lang.String ACTION_PACKAGE_RESTARTED + static const ACTION_PACKAGE_RESTARTED = + r"""android.intent.action.PACKAGE_RESTARTED"""; + + /// from: static public final java.lang.String ACTION_PACKAGE_VERIFIED + static const ACTION_PACKAGE_VERIFIED = + r"""android.intent.action.PACKAGE_VERIFIED"""; + + /// from: static public final java.lang.String ACTION_PASTE + static const ACTION_PASTE = r"""android.intent.action.PASTE"""; + + /// from: static public final java.lang.String ACTION_PICK + static const ACTION_PICK = r"""android.intent.action.PICK"""; + + /// from: static public final java.lang.String ACTION_PICK_ACTIVITY + static const ACTION_PICK_ACTIVITY = + r"""android.intent.action.PICK_ACTIVITY"""; + + /// from: static public final java.lang.String ACTION_POWER_CONNECTED + static const ACTION_POWER_CONNECTED = + r"""android.intent.action.ACTION_POWER_CONNECTED"""; + + /// from: static public final java.lang.String ACTION_POWER_DISCONNECTED + static const ACTION_POWER_DISCONNECTED = + r"""android.intent.action.ACTION_POWER_DISCONNECTED"""; + + /// from: static public final java.lang.String ACTION_POWER_USAGE_SUMMARY + static const ACTION_POWER_USAGE_SUMMARY = + r"""android.intent.action.POWER_USAGE_SUMMARY"""; + + /// from: static public final java.lang.String ACTION_PROCESS_TEXT + static const ACTION_PROCESS_TEXT = r"""android.intent.action.PROCESS_TEXT"""; + + /// from: static public final java.lang.String ACTION_PROFILE_ACCESSIBLE + static const ACTION_PROFILE_ACCESSIBLE = + r"""android.intent.action.PROFILE_ACCESSIBLE"""; + + /// from: static public final java.lang.String ACTION_PROFILE_ADDED + static const ACTION_PROFILE_ADDED = + r"""android.intent.action.PROFILE_ADDED"""; + + /// from: static public final java.lang.String ACTION_PROFILE_INACCESSIBLE + static const ACTION_PROFILE_INACCESSIBLE = + r"""android.intent.action.PROFILE_INACCESSIBLE"""; + + /// from: static public final java.lang.String ACTION_PROFILE_REMOVED + static const ACTION_PROFILE_REMOVED = + r"""android.intent.action.PROFILE_REMOVED"""; + + /// from: static public final java.lang.String ACTION_PROVIDER_CHANGED + static const ACTION_PROVIDER_CHANGED = + r"""android.intent.action.PROVIDER_CHANGED"""; + + /// from: static public final java.lang.String ACTION_QUICK_CLOCK + static const ACTION_QUICK_CLOCK = r"""android.intent.action.QUICK_CLOCK"""; + + /// from: static public final java.lang.String ACTION_QUICK_VIEW + static const ACTION_QUICK_VIEW = r"""android.intent.action.QUICK_VIEW"""; + + /// from: static public final java.lang.String ACTION_REBOOT + static const ACTION_REBOOT = r"""android.intent.action.REBOOT"""; + + /// from: static public final java.lang.String ACTION_RUN + static const ACTION_RUN = r"""android.intent.action.RUN"""; + + /// from: static public final java.lang.String ACTION_SAFETY_CENTER + static const ACTION_SAFETY_CENTER = + r"""android.intent.action.SAFETY_CENTER"""; + + /// from: static public final java.lang.String ACTION_SCREEN_OFF + static const ACTION_SCREEN_OFF = r"""android.intent.action.SCREEN_OFF"""; + + /// from: static public final java.lang.String ACTION_SCREEN_ON + static const ACTION_SCREEN_ON = r"""android.intent.action.SCREEN_ON"""; + + /// from: static public final java.lang.String ACTION_SEARCH + static const ACTION_SEARCH = r"""android.intent.action.SEARCH"""; + + /// from: static public final java.lang.String ACTION_SEARCH_LONG_PRESS + static const ACTION_SEARCH_LONG_PRESS = + r"""android.intent.action.SEARCH_LONG_PRESS"""; + + /// from: static public final java.lang.String ACTION_SEND + static const ACTION_SEND = r"""android.intent.action.SEND"""; + + /// from: static public final java.lang.String ACTION_SENDTO + static const ACTION_SENDTO = r"""android.intent.action.SENDTO"""; + + /// from: static public final java.lang.String ACTION_SEND_MULTIPLE + static const ACTION_SEND_MULTIPLE = + r"""android.intent.action.SEND_MULTIPLE"""; + + /// from: static public final java.lang.String ACTION_SET_WALLPAPER + static const ACTION_SET_WALLPAPER = + r"""android.intent.action.SET_WALLPAPER"""; + + /// from: static public final java.lang.String ACTION_SHOW_APP_INFO + static const ACTION_SHOW_APP_INFO = + r"""android.intent.action.SHOW_APP_INFO"""; + + /// from: static public final java.lang.String ACTION_SHOW_WORK_APPS + static const ACTION_SHOW_WORK_APPS = + r"""android.intent.action.SHOW_WORK_APPS"""; + + /// from: static public final java.lang.String ACTION_SHUTDOWN + static const ACTION_SHUTDOWN = r"""android.intent.action.ACTION_SHUTDOWN"""; + + /// from: static public final java.lang.String ACTION_SYNC + static const ACTION_SYNC = r"""android.intent.action.SYNC"""; + + /// from: static public final java.lang.String ACTION_SYSTEM_TUTORIAL + static const ACTION_SYSTEM_TUTORIAL = + r"""android.intent.action.SYSTEM_TUTORIAL"""; + + /// from: static public final java.lang.String ACTION_TIMEZONE_CHANGED + static const ACTION_TIMEZONE_CHANGED = + r"""android.intent.action.TIMEZONE_CHANGED"""; + + /// from: static public final java.lang.String ACTION_TIME_CHANGED + static const ACTION_TIME_CHANGED = r"""android.intent.action.TIME_SET"""; + + /// from: static public final java.lang.String ACTION_TIME_TICK + static const ACTION_TIME_TICK = r"""android.intent.action.TIME_TICK"""; + + /// from: static public final java.lang.String ACTION_TRANSLATE + static const ACTION_TRANSLATE = r"""android.intent.action.TRANSLATE"""; + + /// from: static public final java.lang.String ACTION_UID_REMOVED + static const ACTION_UID_REMOVED = r"""android.intent.action.UID_REMOVED"""; + + /// from: static public final java.lang.String ACTION_UMS_CONNECTED + static const ACTION_UMS_CONNECTED = + r"""android.intent.action.UMS_CONNECTED"""; + + /// from: static public final java.lang.String ACTION_UMS_DISCONNECTED + static const ACTION_UMS_DISCONNECTED = + r"""android.intent.action.UMS_DISCONNECTED"""; + + /// from: static public final java.lang.String ACTION_UNINSTALL_PACKAGE + static const ACTION_UNINSTALL_PACKAGE = + r"""android.intent.action.UNINSTALL_PACKAGE"""; + + /// from: static public final java.lang.String ACTION_USER_BACKGROUND + static const ACTION_USER_BACKGROUND = + r"""android.intent.action.USER_BACKGROUND"""; + + /// from: static public final java.lang.String ACTION_USER_FOREGROUND + static const ACTION_USER_FOREGROUND = + r"""android.intent.action.USER_FOREGROUND"""; + + /// from: static public final java.lang.String ACTION_USER_INITIALIZE + static const ACTION_USER_INITIALIZE = + r"""android.intent.action.USER_INITIALIZE"""; + + /// from: static public final java.lang.String ACTION_USER_PRESENT + static const ACTION_USER_PRESENT = r"""android.intent.action.USER_PRESENT"""; + + /// from: static public final java.lang.String ACTION_USER_UNLOCKED + static const ACTION_USER_UNLOCKED = + r"""android.intent.action.USER_UNLOCKED"""; + + /// from: static public final java.lang.String ACTION_VIEW + static const ACTION_VIEW = r"""android.intent.action.VIEW"""; + + /// from: static public final java.lang.String ACTION_VIEW_LOCUS + static const ACTION_VIEW_LOCUS = r"""android.intent.action.VIEW_LOCUS"""; + + /// from: static public final java.lang.String ACTION_VIEW_PERMISSION_USAGE + static const ACTION_VIEW_PERMISSION_USAGE = + r"""android.intent.action.VIEW_PERMISSION_USAGE"""; + + /// from: static public final java.lang.String ACTION_VIEW_PERMISSION_USAGE_FOR_PERIOD + static const ACTION_VIEW_PERMISSION_USAGE_FOR_PERIOD = + r"""android.intent.action.VIEW_PERMISSION_USAGE_FOR_PERIOD"""; + + /// from: static public final java.lang.String ACTION_VOICE_COMMAND + static const ACTION_VOICE_COMMAND = + r"""android.intent.action.VOICE_COMMAND"""; + + /// from: static public final java.lang.String ACTION_WALLPAPER_CHANGED + static const ACTION_WALLPAPER_CHANGED = + r"""android.intent.action.WALLPAPER_CHANGED"""; + + /// from: static public final java.lang.String ACTION_WEB_SEARCH + static const ACTION_WEB_SEARCH = r"""android.intent.action.WEB_SEARCH"""; + + /// from: static public final int CAPTURE_CONTENT_FOR_NOTE_BLOCKED_BY_ADMIN + static const CAPTURE_CONTENT_FOR_NOTE_BLOCKED_BY_ADMIN = 4; + + /// from: static public final int CAPTURE_CONTENT_FOR_NOTE_FAILED + static const CAPTURE_CONTENT_FOR_NOTE_FAILED = 1; + + /// from: static public final int CAPTURE_CONTENT_FOR_NOTE_SUCCESS + static const CAPTURE_CONTENT_FOR_NOTE_SUCCESS = 0; + + /// from: static public final int CAPTURE_CONTENT_FOR_NOTE_USER_CANCELED + static const CAPTURE_CONTENT_FOR_NOTE_USER_CANCELED = 2; + + /// from: static public final int CAPTURE_CONTENT_FOR_NOTE_WINDOW_MODE_UNSUPPORTED + static const CAPTURE_CONTENT_FOR_NOTE_WINDOW_MODE_UNSUPPORTED = 3; + + /// from: static public final java.lang.String CATEGORY_ACCESSIBILITY_SHORTCUT_TARGET + static const CATEGORY_ACCESSIBILITY_SHORTCUT_TARGET = + r"""android.intent.category.ACCESSIBILITY_SHORTCUT_TARGET"""; + + /// from: static public final java.lang.String CATEGORY_ALTERNATIVE + static const CATEGORY_ALTERNATIVE = + r"""android.intent.category.ALTERNATIVE"""; + + /// from: static public final java.lang.String CATEGORY_APP_BROWSER + static const CATEGORY_APP_BROWSER = + r"""android.intent.category.APP_BROWSER"""; + + /// from: static public final java.lang.String CATEGORY_APP_CALCULATOR + static const CATEGORY_APP_CALCULATOR = + r"""android.intent.category.APP_CALCULATOR"""; + + /// from: static public final java.lang.String CATEGORY_APP_CALENDAR + static const CATEGORY_APP_CALENDAR = + r"""android.intent.category.APP_CALENDAR"""; + + /// from: static public final java.lang.String CATEGORY_APP_CONTACTS + static const CATEGORY_APP_CONTACTS = + r"""android.intent.category.APP_CONTACTS"""; + + /// from: static public final java.lang.String CATEGORY_APP_EMAIL + static const CATEGORY_APP_EMAIL = r"""android.intent.category.APP_EMAIL"""; + + /// from: static public final java.lang.String CATEGORY_APP_FILES + static const CATEGORY_APP_FILES = r"""android.intent.category.APP_FILES"""; + + /// from: static public final java.lang.String CATEGORY_APP_FITNESS + static const CATEGORY_APP_FITNESS = + r"""android.intent.category.APP_FITNESS"""; + + /// from: static public final java.lang.String CATEGORY_APP_GALLERY + static const CATEGORY_APP_GALLERY = + r"""android.intent.category.APP_GALLERY"""; + + /// from: static public final java.lang.String CATEGORY_APP_MAPS + static const CATEGORY_APP_MAPS = r"""android.intent.category.APP_MAPS"""; + + /// from: static public final java.lang.String CATEGORY_APP_MARKET + static const CATEGORY_APP_MARKET = r"""android.intent.category.APP_MARKET"""; + + /// from: static public final java.lang.String CATEGORY_APP_MESSAGING + static const CATEGORY_APP_MESSAGING = + r"""android.intent.category.APP_MESSAGING"""; + + /// from: static public final java.lang.String CATEGORY_APP_MUSIC + static const CATEGORY_APP_MUSIC = r"""android.intent.category.APP_MUSIC"""; + + /// from: static public final java.lang.String CATEGORY_APP_WEATHER + static const CATEGORY_APP_WEATHER = + r"""android.intent.category.APP_WEATHER"""; + + /// from: static public final java.lang.String CATEGORY_BROWSABLE + static const CATEGORY_BROWSABLE = r"""android.intent.category.BROWSABLE"""; + + /// from: static public final java.lang.String CATEGORY_CAR_DOCK + static const CATEGORY_CAR_DOCK = r"""android.intent.category.CAR_DOCK"""; + + /// from: static public final java.lang.String CATEGORY_CAR_MODE + static const CATEGORY_CAR_MODE = r"""android.intent.category.CAR_MODE"""; + + /// from: static public final java.lang.String CATEGORY_DEFAULT + static const CATEGORY_DEFAULT = r"""android.intent.category.DEFAULT"""; + + /// from: static public final java.lang.String CATEGORY_DESK_DOCK + static const CATEGORY_DESK_DOCK = r"""android.intent.category.DESK_DOCK"""; + + /// from: static public final java.lang.String CATEGORY_DEVELOPMENT_PREFERENCE + static const CATEGORY_DEVELOPMENT_PREFERENCE = + r"""android.intent.category.DEVELOPMENT_PREFERENCE"""; + + /// from: static public final java.lang.String CATEGORY_EMBED + static const CATEGORY_EMBED = r"""android.intent.category.EMBED"""; + + /// from: static public final java.lang.String CATEGORY_FRAMEWORK_INSTRUMENTATION_TEST + static const CATEGORY_FRAMEWORK_INSTRUMENTATION_TEST = + r"""android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST"""; + + /// from: static public final java.lang.String CATEGORY_HE_DESK_DOCK + static const CATEGORY_HE_DESK_DOCK = + r"""android.intent.category.HE_DESK_DOCK"""; + + /// from: static public final java.lang.String CATEGORY_HOME + static const CATEGORY_HOME = r"""android.intent.category.HOME"""; + + /// from: static public final java.lang.String CATEGORY_INFO + static const CATEGORY_INFO = r"""android.intent.category.INFO"""; + + /// from: static public final java.lang.String CATEGORY_LAUNCHER + static const CATEGORY_LAUNCHER = r"""android.intent.category.LAUNCHER"""; + + /// from: static public final java.lang.String CATEGORY_LEANBACK_LAUNCHER + static const CATEGORY_LEANBACK_LAUNCHER = + r"""android.intent.category.LEANBACK_LAUNCHER"""; + + /// from: static public final java.lang.String CATEGORY_LE_DESK_DOCK + static const CATEGORY_LE_DESK_DOCK = + r"""android.intent.category.LE_DESK_DOCK"""; + + /// from: static public final java.lang.String CATEGORY_MONKEY + static const CATEGORY_MONKEY = r"""android.intent.category.MONKEY"""; + + /// from: static public final java.lang.String CATEGORY_OPENABLE + static const CATEGORY_OPENABLE = r"""android.intent.category.OPENABLE"""; + + /// from: static public final java.lang.String CATEGORY_PREFERENCE + static const CATEGORY_PREFERENCE = r"""android.intent.category.PREFERENCE"""; + + /// from: static public final java.lang.String CATEGORY_SAMPLE_CODE + static const CATEGORY_SAMPLE_CODE = + r"""android.intent.category.SAMPLE_CODE"""; + + /// from: static public final java.lang.String CATEGORY_SECONDARY_HOME + static const CATEGORY_SECONDARY_HOME = + r"""android.intent.category.SECONDARY_HOME"""; + + /// from: static public final java.lang.String CATEGORY_SELECTED_ALTERNATIVE + static const CATEGORY_SELECTED_ALTERNATIVE = + r"""android.intent.category.SELECTED_ALTERNATIVE"""; + + /// from: static public final java.lang.String CATEGORY_TAB + static const CATEGORY_TAB = r"""android.intent.category.TAB"""; + + /// from: static public final java.lang.String CATEGORY_TEST + static const CATEGORY_TEST = r"""android.intent.category.TEST"""; + + /// from: static public final java.lang.String CATEGORY_TYPED_OPENABLE + static const CATEGORY_TYPED_OPENABLE = + r"""android.intent.category.TYPED_OPENABLE"""; + + /// from: static public final java.lang.String CATEGORY_UNIT_TEST + static const CATEGORY_UNIT_TEST = r"""android.intent.category.UNIT_TEST"""; + + /// from: static public final java.lang.String CATEGORY_VOICE + static const CATEGORY_VOICE = r"""android.intent.category.VOICE"""; + + /// from: static public final java.lang.String CATEGORY_VR_HOME + static const CATEGORY_VR_HOME = r"""android.intent.category.VR_HOME"""; + + static final _id_CREATOR = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"CREATOR", + r"Landroid/os/Parcelable$Creator;", + ); + + /// from: static public final android.os.Parcelable$Creator CREATOR + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject get CREATOR => const jni.JObjectType().fromRef(jni + .Jni.accessors + .getStaticField(_class.reference, _id_CREATOR, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String EXTRA_ALARM_COUNT + static const EXTRA_ALARM_COUNT = r"""android.intent.extra.ALARM_COUNT"""; + + /// from: static public final java.lang.String EXTRA_ALLOW_MULTIPLE + static const EXTRA_ALLOW_MULTIPLE = + r"""android.intent.extra.ALLOW_MULTIPLE"""; + + /// from: static public final java.lang.String EXTRA_ALLOW_REPLACE + static const EXTRA_ALLOW_REPLACE = r"""android.intent.extra.ALLOW_REPLACE"""; + + /// from: static public final java.lang.String EXTRA_ALTERNATE_INTENTS + static const EXTRA_ALTERNATE_INTENTS = + r"""android.intent.extra.ALTERNATE_INTENTS"""; + + /// from: static public final java.lang.String EXTRA_ASSIST_CONTEXT + static const EXTRA_ASSIST_CONTEXT = + r"""android.intent.extra.ASSIST_CONTEXT"""; + + /// from: static public final java.lang.String EXTRA_ASSIST_INPUT_DEVICE_ID + static const EXTRA_ASSIST_INPUT_DEVICE_ID = + r"""android.intent.extra.ASSIST_INPUT_DEVICE_ID"""; + + /// from: static public final java.lang.String EXTRA_ASSIST_INPUT_HINT_KEYBOARD + static const EXTRA_ASSIST_INPUT_HINT_KEYBOARD = + r"""android.intent.extra.ASSIST_INPUT_HINT_KEYBOARD"""; + + /// from: static public final java.lang.String EXTRA_ASSIST_PACKAGE + static const EXTRA_ASSIST_PACKAGE = + r"""android.intent.extra.ASSIST_PACKAGE"""; + + /// from: static public final java.lang.String EXTRA_ASSIST_UID + static const EXTRA_ASSIST_UID = r"""android.intent.extra.ASSIST_UID"""; + + /// from: static public final java.lang.String EXTRA_ATTRIBUTION_TAGS + static const EXTRA_ATTRIBUTION_TAGS = + r"""android.intent.extra.ATTRIBUTION_TAGS"""; + + /// from: static public final java.lang.String EXTRA_AUTO_LAUNCH_SINGLE_CHOICE + static const EXTRA_AUTO_LAUNCH_SINGLE_CHOICE = + r"""android.intent.extra.AUTO_LAUNCH_SINGLE_CHOICE"""; + + /// from: static public final java.lang.String EXTRA_BCC + static const EXTRA_BCC = r"""android.intent.extra.BCC"""; + + /// from: static public final java.lang.String EXTRA_BUG_REPORT + static const EXTRA_BUG_REPORT = r"""android.intent.extra.BUG_REPORT"""; + + /// from: static public final java.lang.String EXTRA_CAPTURE_CONTENT_FOR_NOTE_STATUS_CODE + static const EXTRA_CAPTURE_CONTENT_FOR_NOTE_STATUS_CODE = + r"""android.intent.extra.CAPTURE_CONTENT_FOR_NOTE_STATUS_CODE"""; + + /// from: static public final java.lang.String EXTRA_CC + static const EXTRA_CC = r"""android.intent.extra.CC"""; + + /// from: static public final java.lang.String EXTRA_CHANGED_COMPONENT_NAME + static const EXTRA_CHANGED_COMPONENT_NAME = + r"""android.intent.extra.changed_component_name"""; + + /// from: static public final java.lang.String EXTRA_CHANGED_COMPONENT_NAME_LIST + static const EXTRA_CHANGED_COMPONENT_NAME_LIST = + r"""android.intent.extra.changed_component_name_list"""; + + /// from: static public final java.lang.String EXTRA_CHANGED_PACKAGE_LIST + static const EXTRA_CHANGED_PACKAGE_LIST = + r"""android.intent.extra.changed_package_list"""; + + /// from: static public final java.lang.String EXTRA_CHANGED_UID_LIST + static const EXTRA_CHANGED_UID_LIST = + r"""android.intent.extra.changed_uid_list"""; + + /// from: static public final java.lang.String EXTRA_CHOOSER_CUSTOM_ACTIONS + static const EXTRA_CHOOSER_CUSTOM_ACTIONS = + r"""android.intent.extra.CHOOSER_CUSTOM_ACTIONS"""; + + /// from: static public final java.lang.String EXTRA_CHOOSER_MODIFY_SHARE_ACTION + static const EXTRA_CHOOSER_MODIFY_SHARE_ACTION = + r"""android.intent.extra.CHOOSER_MODIFY_SHARE_ACTION"""; + + /// from: static public final java.lang.String EXTRA_CHOOSER_REFINEMENT_INTENT_SENDER + static const EXTRA_CHOOSER_REFINEMENT_INTENT_SENDER = + r"""android.intent.extra.CHOOSER_REFINEMENT_INTENT_SENDER"""; + + /// from: static public final java.lang.String EXTRA_CHOOSER_TARGETS + static const EXTRA_CHOOSER_TARGETS = + r"""android.intent.extra.CHOOSER_TARGETS"""; + + /// from: static public final java.lang.String EXTRA_CHOSEN_COMPONENT + static const EXTRA_CHOSEN_COMPONENT = + r"""android.intent.extra.CHOSEN_COMPONENT"""; + + /// from: static public final java.lang.String EXTRA_CHOSEN_COMPONENT_INTENT_SENDER + static const EXTRA_CHOSEN_COMPONENT_INTENT_SENDER = + r"""android.intent.extra.CHOSEN_COMPONENT_INTENT_SENDER"""; + + /// from: static public final java.lang.String EXTRA_COMPONENT_NAME + static const EXTRA_COMPONENT_NAME = + r"""android.intent.extra.COMPONENT_NAME"""; + + /// from: static public final java.lang.String EXTRA_CONTENT_ANNOTATIONS + static const EXTRA_CONTENT_ANNOTATIONS = + r"""android.intent.extra.CONTENT_ANNOTATIONS"""; + + /// from: static public final java.lang.String EXTRA_CONTENT_QUERY + static const EXTRA_CONTENT_QUERY = r"""android.intent.extra.CONTENT_QUERY"""; + + /// from: static public final java.lang.String EXTRA_DATA_REMOVED + static const EXTRA_DATA_REMOVED = r"""android.intent.extra.DATA_REMOVED"""; + + /// from: static public final java.lang.String EXTRA_DOCK_STATE + static const EXTRA_DOCK_STATE = r"""android.intent.extra.DOCK_STATE"""; + + /// from: static public final int EXTRA_DOCK_STATE_CAR + static const EXTRA_DOCK_STATE_CAR = 2; + + /// from: static public final int EXTRA_DOCK_STATE_DESK + static const EXTRA_DOCK_STATE_DESK = 1; + + /// from: static public final int EXTRA_DOCK_STATE_HE_DESK + static const EXTRA_DOCK_STATE_HE_DESK = 4; + + /// from: static public final int EXTRA_DOCK_STATE_LE_DESK + static const EXTRA_DOCK_STATE_LE_DESK = 3; + + /// from: static public final int EXTRA_DOCK_STATE_UNDOCKED + static const EXTRA_DOCK_STATE_UNDOCKED = 0; + + /// from: static public final java.lang.String EXTRA_DONT_KILL_APP + static const EXTRA_DONT_KILL_APP = r"""android.intent.extra.DONT_KILL_APP"""; + + /// from: static public final java.lang.String EXTRA_DURATION_MILLIS + static const EXTRA_DURATION_MILLIS = + r"""android.intent.extra.DURATION_MILLIS"""; + + /// from: static public final java.lang.String EXTRA_EMAIL + static const EXTRA_EMAIL = r"""android.intent.extra.EMAIL"""; + + /// from: static public final java.lang.String EXTRA_END_TIME + static const EXTRA_END_TIME = r"""android.intent.extra.END_TIME"""; + + /// from: static public final java.lang.String EXTRA_EXCLUDE_COMPONENTS + static const EXTRA_EXCLUDE_COMPONENTS = + r"""android.intent.extra.EXCLUDE_COMPONENTS"""; + + /// from: static public final java.lang.String EXTRA_FROM_STORAGE + static const EXTRA_FROM_STORAGE = r"""android.intent.extra.FROM_STORAGE"""; + + /// from: static public final java.lang.String EXTRA_HTML_TEXT + static const EXTRA_HTML_TEXT = r"""android.intent.extra.HTML_TEXT"""; + + /// from: static public final java.lang.String EXTRA_INDEX + static const EXTRA_INDEX = r"""android.intent.extra.INDEX"""; + + /// from: static public final java.lang.String EXTRA_INITIAL_INTENTS + static const EXTRA_INITIAL_INTENTS = + r"""android.intent.extra.INITIAL_INTENTS"""; + + /// from: static public final java.lang.String EXTRA_INSTALLER_PACKAGE_NAME + static const EXTRA_INSTALLER_PACKAGE_NAME = + r"""android.intent.extra.INSTALLER_PACKAGE_NAME"""; + + /// from: static public final java.lang.String EXTRA_INTENT + static const EXTRA_INTENT = r"""android.intent.extra.INTENT"""; + + /// from: static public final java.lang.String EXTRA_KEY_EVENT + static const EXTRA_KEY_EVENT = r"""android.intent.extra.KEY_EVENT"""; + + /// from: static public final java.lang.String EXTRA_LOCALE_LIST + static const EXTRA_LOCALE_LIST = r"""android.intent.extra.LOCALE_LIST"""; + + /// from: static public final java.lang.String EXTRA_LOCAL_ONLY + static const EXTRA_LOCAL_ONLY = r"""android.intent.extra.LOCAL_ONLY"""; + + /// from: static public final java.lang.String EXTRA_LOCUS_ID + static const EXTRA_LOCUS_ID = r"""android.intent.extra.LOCUS_ID"""; + + /// from: static public final java.lang.String EXTRA_MIME_TYPES + static const EXTRA_MIME_TYPES = r"""android.intent.extra.MIME_TYPES"""; + + /// from: static public final java.lang.String EXTRA_NOT_UNKNOWN_SOURCE + static const EXTRA_NOT_UNKNOWN_SOURCE = + r"""android.intent.extra.NOT_UNKNOWN_SOURCE"""; + + /// from: static public final java.lang.String EXTRA_ORIGINATING_URI + static const EXTRA_ORIGINATING_URI = + r"""android.intent.extra.ORIGINATING_URI"""; + + /// from: static public final java.lang.String EXTRA_PACKAGES + static const EXTRA_PACKAGES = r"""android.intent.extra.PACKAGES"""; + + /// from: static public final java.lang.String EXTRA_PACKAGE_NAME + static const EXTRA_PACKAGE_NAME = r"""android.intent.extra.PACKAGE_NAME"""; + + /// from: static public final java.lang.String EXTRA_PERMISSION_GROUP_NAME + static const EXTRA_PERMISSION_GROUP_NAME = + r"""android.intent.extra.PERMISSION_GROUP_NAME"""; + + /// from: static public final java.lang.String EXTRA_PHONE_NUMBER + static const EXTRA_PHONE_NUMBER = r"""android.intent.extra.PHONE_NUMBER"""; + + /// from: static public final java.lang.String EXTRA_PROCESS_TEXT + static const EXTRA_PROCESS_TEXT = r"""android.intent.extra.PROCESS_TEXT"""; + + /// from: static public final java.lang.String EXTRA_PROCESS_TEXT_READONLY + static const EXTRA_PROCESS_TEXT_READONLY = + r"""android.intent.extra.PROCESS_TEXT_READONLY"""; + + /// from: static public final java.lang.String EXTRA_QUICK_VIEW_FEATURES + static const EXTRA_QUICK_VIEW_FEATURES = + r"""android.intent.extra.QUICK_VIEW_FEATURES"""; + + /// from: static public final java.lang.String EXTRA_QUIET_MODE + static const EXTRA_QUIET_MODE = r"""android.intent.extra.QUIET_MODE"""; + + /// from: static public final java.lang.String EXTRA_REFERRER + static const EXTRA_REFERRER = r"""android.intent.extra.REFERRER"""; + + /// from: static public final java.lang.String EXTRA_REFERRER_NAME + static const EXTRA_REFERRER_NAME = r"""android.intent.extra.REFERRER_NAME"""; + + /// from: static public final java.lang.String EXTRA_REMOTE_INTENT_TOKEN + static const EXTRA_REMOTE_INTENT_TOKEN = + r"""android.intent.extra.remote_intent_token"""; + + /// from: static public final java.lang.String EXTRA_REPLACEMENT_EXTRAS + static const EXTRA_REPLACEMENT_EXTRAS = + r"""android.intent.extra.REPLACEMENT_EXTRAS"""; + + /// from: static public final java.lang.String EXTRA_REPLACING + static const EXTRA_REPLACING = r"""android.intent.extra.REPLACING"""; + + /// from: static public final java.lang.String EXTRA_RESTRICTIONS_BUNDLE + static const EXTRA_RESTRICTIONS_BUNDLE = + r"""android.intent.extra.restrictions_bundle"""; + + /// from: static public final java.lang.String EXTRA_RESTRICTIONS_INTENT + static const EXTRA_RESTRICTIONS_INTENT = + r"""android.intent.extra.restrictions_intent"""; + + /// from: static public final java.lang.String EXTRA_RESTRICTIONS_LIST + static const EXTRA_RESTRICTIONS_LIST = + r"""android.intent.extra.restrictions_list"""; + + /// from: static public final java.lang.String EXTRA_RESULT_RECEIVER + static const EXTRA_RESULT_RECEIVER = + r"""android.intent.extra.RESULT_RECEIVER"""; + + /// from: static public final java.lang.String EXTRA_RETURN_RESULT + static const EXTRA_RETURN_RESULT = r"""android.intent.extra.RETURN_RESULT"""; + + /// from: static public final java.lang.String EXTRA_SHORTCUT_ICON + static const EXTRA_SHORTCUT_ICON = r"""android.intent.extra.shortcut.ICON"""; + + /// from: static public final java.lang.String EXTRA_SHORTCUT_ICON_RESOURCE + static const EXTRA_SHORTCUT_ICON_RESOURCE = + r"""android.intent.extra.shortcut.ICON_RESOURCE"""; + + /// from: static public final java.lang.String EXTRA_SHORTCUT_ID + static const EXTRA_SHORTCUT_ID = r"""android.intent.extra.shortcut.ID"""; + + /// from: static public final java.lang.String EXTRA_SHORTCUT_INTENT + static const EXTRA_SHORTCUT_INTENT = + r"""android.intent.extra.shortcut.INTENT"""; + + /// from: static public final java.lang.String EXTRA_SHORTCUT_NAME + static const EXTRA_SHORTCUT_NAME = r"""android.intent.extra.shortcut.NAME"""; + + /// from: static public final java.lang.String EXTRA_SHUTDOWN_USERSPACE_ONLY + static const EXTRA_SHUTDOWN_USERSPACE_ONLY = + r"""android.intent.extra.SHUTDOWN_USERSPACE_ONLY"""; + + /// from: static public final java.lang.String EXTRA_SPLIT_NAME + static const EXTRA_SPLIT_NAME = r"""android.intent.extra.SPLIT_NAME"""; + + /// from: static public final java.lang.String EXTRA_START_TIME + static const EXTRA_START_TIME = r"""android.intent.extra.START_TIME"""; + + /// from: static public final java.lang.String EXTRA_STREAM + static const EXTRA_STREAM = r"""android.intent.extra.STREAM"""; + + /// from: static public final java.lang.String EXTRA_SUBJECT + static const EXTRA_SUBJECT = r"""android.intent.extra.SUBJECT"""; + + /// from: static public final java.lang.String EXTRA_SUSPENDED_PACKAGE_EXTRAS + static const EXTRA_SUSPENDED_PACKAGE_EXTRAS = + r"""android.intent.extra.SUSPENDED_PACKAGE_EXTRAS"""; + + /// from: static public final java.lang.String EXTRA_TEMPLATE + static const EXTRA_TEMPLATE = r"""android.intent.extra.TEMPLATE"""; + + /// from: static public final java.lang.String EXTRA_TEXT + static const EXTRA_TEXT = r"""android.intent.extra.TEXT"""; + + /// from: static public final java.lang.String EXTRA_TIME + static const EXTRA_TIME = r"""android.intent.extra.TIME"""; + + /// from: static public final java.lang.String EXTRA_TIMEZONE + static const EXTRA_TIMEZONE = r"""time-zone"""; + + /// from: static public final java.lang.String EXTRA_TITLE + static const EXTRA_TITLE = r"""android.intent.extra.TITLE"""; + + /// from: static public final java.lang.String EXTRA_UID + static const EXTRA_UID = r"""android.intent.extra.UID"""; + + /// from: static public final java.lang.String EXTRA_USER + static const EXTRA_USER = r"""android.intent.extra.USER"""; + + /// from: static public final java.lang.String EXTRA_USER_INITIATED + static const EXTRA_USER_INITIATED = + r"""android.intent.extra.USER_INITIATED"""; + + /// from: static public final java.lang.String EXTRA_USE_STYLUS_MODE + static const EXTRA_USE_STYLUS_MODE = + r"""android.intent.extra.USE_STYLUS_MODE"""; + + /// from: static public final int FILL_IN_ACTION + static const FILL_IN_ACTION = 1; + + /// from: static public final int FILL_IN_CATEGORIES + static const FILL_IN_CATEGORIES = 4; + + /// from: static public final int FILL_IN_CLIP_DATA + static const FILL_IN_CLIP_DATA = 128; + + /// from: static public final int FILL_IN_COMPONENT + static const FILL_IN_COMPONENT = 8; + + /// from: static public final int FILL_IN_DATA + static const FILL_IN_DATA = 2; + + /// from: static public final int FILL_IN_IDENTIFIER + static const FILL_IN_IDENTIFIER = 256; + + /// from: static public final int FILL_IN_PACKAGE + static const FILL_IN_PACKAGE = 16; + + /// from: static public final int FILL_IN_SELECTOR + static const FILL_IN_SELECTOR = 64; + + /// from: static public final int FILL_IN_SOURCE_BOUNDS + static const FILL_IN_SOURCE_BOUNDS = 32; + + /// from: static public final int FLAG_ACTIVITY_BROUGHT_TO_FRONT + static const FLAG_ACTIVITY_BROUGHT_TO_FRONT = 4194304; + + /// from: static public final int FLAG_ACTIVITY_CLEAR_TASK + static const FLAG_ACTIVITY_CLEAR_TASK = 32768; + + /// from: static public final int FLAG_ACTIVITY_CLEAR_TOP + static const FLAG_ACTIVITY_CLEAR_TOP = 67108864; + + /// from: static public final int FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET + static const FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET = 524288; + + /// from: static public final int FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS + static const FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS = 8388608; + + /// from: static public final int FLAG_ACTIVITY_FORWARD_RESULT + static const FLAG_ACTIVITY_FORWARD_RESULT = 33554432; + + /// from: static public final int FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY + static const FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY = 1048576; + + /// from: static public final int FLAG_ACTIVITY_LAUNCH_ADJACENT + static const FLAG_ACTIVITY_LAUNCH_ADJACENT = 4096; + + /// from: static public final int FLAG_ACTIVITY_MATCH_EXTERNAL + static const FLAG_ACTIVITY_MATCH_EXTERNAL = 2048; + + /// from: static public final int FLAG_ACTIVITY_MULTIPLE_TASK + static const FLAG_ACTIVITY_MULTIPLE_TASK = 134217728; + + /// from: static public final int FLAG_ACTIVITY_NEW_DOCUMENT + static const FLAG_ACTIVITY_NEW_DOCUMENT = 524288; + + /// from: static public final int FLAG_ACTIVITY_NEW_TASK + static const FLAG_ACTIVITY_NEW_TASK = 268435456; + + /// from: static public final int FLAG_ACTIVITY_NO_ANIMATION + static const FLAG_ACTIVITY_NO_ANIMATION = 65536; + + /// from: static public final int FLAG_ACTIVITY_NO_HISTORY + static const FLAG_ACTIVITY_NO_HISTORY = 1073741824; + + /// from: static public final int FLAG_ACTIVITY_NO_USER_ACTION + static const FLAG_ACTIVITY_NO_USER_ACTION = 262144; + + /// from: static public final int FLAG_ACTIVITY_PREVIOUS_IS_TOP + static const FLAG_ACTIVITY_PREVIOUS_IS_TOP = 16777216; + + /// from: static public final int FLAG_ACTIVITY_REORDER_TO_FRONT + static const FLAG_ACTIVITY_REORDER_TO_FRONT = 131072; + + /// from: static public final int FLAG_ACTIVITY_REQUIRE_DEFAULT + static const FLAG_ACTIVITY_REQUIRE_DEFAULT = 512; + + /// from: static public final int FLAG_ACTIVITY_REQUIRE_NON_BROWSER + static const FLAG_ACTIVITY_REQUIRE_NON_BROWSER = 1024; + + /// from: static public final int FLAG_ACTIVITY_RESET_TASK_IF_NEEDED + static const FLAG_ACTIVITY_RESET_TASK_IF_NEEDED = 2097152; + + /// from: static public final int FLAG_ACTIVITY_RETAIN_IN_RECENTS + static const FLAG_ACTIVITY_RETAIN_IN_RECENTS = 8192; + + /// from: static public final int FLAG_ACTIVITY_SINGLE_TOP + static const FLAG_ACTIVITY_SINGLE_TOP = 536870912; + + /// from: static public final int FLAG_ACTIVITY_TASK_ON_HOME + static const FLAG_ACTIVITY_TASK_ON_HOME = 16384; + + /// from: static public final int FLAG_DEBUG_LOG_RESOLUTION + static const FLAG_DEBUG_LOG_RESOLUTION = 8; + + /// from: static public final int FLAG_DIRECT_BOOT_AUTO + static const FLAG_DIRECT_BOOT_AUTO = 256; + + /// from: static public final int FLAG_EXCLUDE_STOPPED_PACKAGES + static const FLAG_EXCLUDE_STOPPED_PACKAGES = 16; + + /// from: static public final int FLAG_FROM_BACKGROUND + static const FLAG_FROM_BACKGROUND = 4; + + /// from: static public final int FLAG_GRANT_PERSISTABLE_URI_PERMISSION + static const FLAG_GRANT_PERSISTABLE_URI_PERMISSION = 64; + + /// from: static public final int FLAG_GRANT_PREFIX_URI_PERMISSION + static const FLAG_GRANT_PREFIX_URI_PERMISSION = 128; + + /// from: static public final int FLAG_GRANT_READ_URI_PERMISSION + static const FLAG_GRANT_READ_URI_PERMISSION = 1; + + /// from: static public final int FLAG_GRANT_WRITE_URI_PERMISSION + static const FLAG_GRANT_WRITE_URI_PERMISSION = 2; + + /// from: static public final int FLAG_INCLUDE_STOPPED_PACKAGES + static const FLAG_INCLUDE_STOPPED_PACKAGES = 32; + + /// from: static public final int FLAG_RECEIVER_FOREGROUND + static const FLAG_RECEIVER_FOREGROUND = 268435456; + + /// from: static public final int FLAG_RECEIVER_NO_ABORT + static const FLAG_RECEIVER_NO_ABORT = 134217728; + + /// from: static public final int FLAG_RECEIVER_REGISTERED_ONLY + static const FLAG_RECEIVER_REGISTERED_ONLY = 1073741824; + + /// from: static public final int FLAG_RECEIVER_REPLACE_PENDING + static const FLAG_RECEIVER_REPLACE_PENDING = 536870912; + + /// from: static public final int FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS + static const FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS = 2097152; + + /// from: static public final java.lang.String METADATA_DOCK_HOME + static const METADATA_DOCK_HOME = r"""android.dock_home"""; + + /// from: static public final int URI_ALLOW_UNSAFE + static const URI_ALLOW_UNSAFE = 4; + + /// from: static public final int URI_ANDROID_APP_SCHEME + static const URI_ANDROID_APP_SCHEME = 2; + + /// from: static public final int URI_INTENT_SCHEME + static const URI_INTENT_SCHEME = 1; + + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory Intent() { + return Intent.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_new1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Landroid/content/Intent;)V"); + + /// from: public void (android.content.Intent intent) + /// The returned object must be released after use, by calling the [release] method. + factory Intent.new1( + Intent intent, + ) { + return Intent.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new1, [intent.reference]).object); + } + + static final _id_new2 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); + + /// from: public void (java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory Intent.new2( + jni.JString string, + ) { + return Intent.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new2, [string.reference]).object); + } + + static final _id_new3 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/lang/String;Landroid/net/Uri;)V"); + + /// from: public void (java.lang.String string, android.net.Uri uri) + /// The returned object must be released after use, by calling the [release] method. + factory Intent.new3( + jni.JString string, + Uri uri, + ) { + return Intent.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new3, [string.reference, uri.reference]).object); + } + + static final _id_new4 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Landroid/content/Context;Ljava/lang/Class;)V"); + + /// from: public void (android.content.Context context, java.lang.Class class) + /// The returned object must be released after use, by calling the [release] method. + factory Intent.new4( + Context context, + jni.JObject class0, + ) { + return Intent.fromRef(jni.Jni.accessors.newObjectWithArgs(_class.reference, + _id_new4, [context.reference, class0.reference]).object); + } + + static final _id_new5 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;Landroid/net/Uri;Landroid/content/Context;Ljava/lang/Class;)V"); + + /// from: public void (java.lang.String string, android.net.Uri uri, android.content.Context context, java.lang.Class class) + /// The returned object must be released after use, by calling the [release] method. + factory Intent.new5( + jni.JString string, + Uri uri, + Context context, + jni.JObject class0, + ) { + return Intent.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new5, [ + string.reference, + uri.reference, + context.reference, + class0.reference + ]).object); + } + + static final _id_createChooser = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"createChooser", + r"(Landroid/content/Intent;Ljava/lang/CharSequence;)Landroid/content/Intent;"); + + /// from: static public android.content.Intent createChooser(android.content.Intent intent, java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + static Intent createChooser( + Intent intent, + jni.JObject charSequence, + ) { + return const $IntentType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_createChooser, + jni.JniCallType.objectType, + [intent.reference, charSequence.reference]).object); + } + + static final _id_createChooser1 = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"createChooser", + r"(Landroid/content/Intent;Ljava/lang/CharSequence;Landroid/content/IntentSender;)Landroid/content/Intent;"); + + /// from: static public android.content.Intent createChooser(android.content.Intent intent, java.lang.CharSequence charSequence, android.content.IntentSender intentSender) + /// The returned object must be released after use, by calling the [release] method. + static Intent createChooser1( + Intent intent, + jni.JObject charSequence, + jni.JObject intentSender, + ) { + return const $IntentType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, _id_createChooser1, jni.JniCallType.objectType, [ + intent.reference, + charSequence.reference, + intentSender.reference + ]).object); + } + + static final _id_clone = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"clone", r"()Ljava/lang/Object;"); + + /// from: public java.lang.Object clone() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject clone() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_clone, jni.JniCallType.objectType, []).object); + } + + static final _id_cloneFilter = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"cloneFilter", r"()Landroid/content/Intent;"); + + /// from: public android.content.Intent cloneFilter() + /// The returned object must be released after use, by calling the [release] method. + Intent cloneFilter() { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_cloneFilter, jni.JniCallType.objectType, []).object); + } + + static final _id_makeMainActivity = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"makeMainActivity", + r"(Landroid/content/ComponentName;)Landroid/content/Intent;"); + + /// from: static public android.content.Intent makeMainActivity(android.content.ComponentName componentName) + /// The returned object must be released after use, by calling the [release] method. + static Intent makeMainActivity( + jni.JObject componentName, + ) { + return const $IntentType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_makeMainActivity, + jni.JniCallType.objectType, [componentName.reference]).object); + } + + static final _id_makeMainSelectorActivity = jni.Jni.accessors + .getStaticMethodIDOf(_class.reference, r"makeMainSelectorActivity", + r"(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;"); + + /// from: static public android.content.Intent makeMainSelectorActivity(java.lang.String string, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + static Intent makeMainSelectorActivity( + jni.JString string, + jni.JString string1, + ) { + return const $IntentType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_makeMainSelectorActivity, + jni.JniCallType.objectType, + [string.reference, string1.reference]).object); + } + + static final _id_makeRestartActivityTask = jni.Jni.accessors + .getStaticMethodIDOf(_class.reference, r"makeRestartActivityTask", + r"(Landroid/content/ComponentName;)Landroid/content/Intent;"); + + /// from: static public android.content.Intent makeRestartActivityTask(android.content.ComponentName componentName) + /// The returned object must be released after use, by calling the [release] method. + static Intent makeRestartActivityTask( + jni.JObject componentName, + ) { + return const $IntentType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_makeRestartActivityTask, + jni.JniCallType.objectType, [componentName.reference]).object); + } + + static final _id_getIntent = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"getIntent", + r"(Ljava/lang/String;)Landroid/content/Intent;"); + + /// from: static public android.content.Intent getIntent(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + static Intent getIntent( + jni.JString string, + ) { + return const $IntentType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_getIntent, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_parseUri = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"parseUri", + r"(Ljava/lang/String;I)Landroid/content/Intent;"); + + /// from: static public android.content.Intent parseUri(java.lang.String string, int i) + /// The returned object must be released after use, by calling the [release] method. + static Intent parseUri( + jni.JString string, + int i, + ) { + return const $IntentType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_parseUri, + jni.JniCallType.objectType, + [string.reference, jni.JValueInt(i)]).object); + } + + static final _id_getIntentOld = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"getIntentOld", + r"(Ljava/lang/String;)Landroid/content/Intent;"); + + /// from: static public android.content.Intent getIntentOld(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + static Intent getIntentOld( + jni.JString string, + ) { + return const $IntentType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_getIntentOld, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getAction = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getAction", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getAction() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getAction() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getAction, jni.JniCallType.objectType, []).object); + } + + static final _id_getData = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getData", r"()Landroid/net/Uri;"); + + /// from: public android.net.Uri getData() + /// The returned object must be released after use, by calling the [release] method. + Uri getData() { + return const $UriType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getData, jni.JniCallType.objectType, []).object); + } + + static final _id_getDataString = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getDataString", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getDataString() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getDataString() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getDataString, jni.JniCallType.objectType, []).object); + } + + static final _id_getScheme = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getScheme", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getScheme() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getScheme() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getScheme, jni.JniCallType.objectType, []).object); + } + + static final _id_getType = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getType", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getType() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getType() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getType, jni.JniCallType.objectType, []).object); + } + + static final _id_resolveType = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"resolveType", + r"(Landroid/content/Context;)Ljava/lang/String;"); + + /// from: public java.lang.String resolveType(android.content.Context context) + /// The returned object must be released after use, by calling the [release] method. + jni.JString resolveType( + Context context, + ) { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_resolveType, + jni.JniCallType.objectType, + [context.reference]).object); + } + + static final _id_resolveType1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"resolveType", + r"(Landroid/content/ContentResolver;)Ljava/lang/String;"); + + /// from: public java.lang.String resolveType(android.content.ContentResolver contentResolver) + /// The returned object must be released after use, by calling the [release] method. + jni.JString resolveType1( + jni.JObject contentResolver, + ) { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_resolveType1, + jni.JniCallType.objectType, + [contentResolver.reference]).object); + } + + static final _id_resolveTypeIfNeeded = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"resolveTypeIfNeeded", + r"(Landroid/content/ContentResolver;)Ljava/lang/String;"); + + /// from: public java.lang.String resolveTypeIfNeeded(android.content.ContentResolver contentResolver) + /// The returned object must be released after use, by calling the [release] method. + jni.JString resolveTypeIfNeeded( + jni.JObject contentResolver, + ) { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_resolveTypeIfNeeded, + jni.JniCallType.objectType, + [contentResolver.reference]).object); + } + + static final _id_getIdentifier = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getIdentifier", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getIdentifier() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getIdentifier() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getIdentifier, jni.JniCallType.objectType, []).object); + } + + static final _id_hasCategory = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"hasCategory", r"(Ljava/lang/String;)Z"); + + /// from: public boolean hasCategory(java.lang.String string) + bool hasCategory( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_hasCategory, + jni.JniCallType.booleanType, [string.reference]).boolean; + } + + static final _id_getCategories = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getCategories", r"()Ljava/util/Set;"); + + /// from: public java.util.Set getCategories() + /// The returned object must be released after use, by calling the [release] method. + jni.JSet getCategories() { + return const jni.JSetType(jni.JStringType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getCategories, + jni.JniCallType.objectType, []).object); + } + + static final _id_getSelector = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getSelector", r"()Landroid/content/Intent;"); + + /// from: public android.content.Intent getSelector() + /// The returned object must be released after use, by calling the [release] method. + Intent getSelector() { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getSelector, jni.JniCallType.objectType, []).object); + } + + static final _id_getClipData = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getClipData", r"()Landroid/content/ClipData;"); + + /// from: public android.content.ClipData getClipData() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getClipData() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getClipData, jni.JniCallType.objectType, []).object); + } + + static final _id_setExtrasClassLoader = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setExtrasClassLoader", r"(Ljava/lang/ClassLoader;)V"); + + /// from: public void setExtrasClassLoader(java.lang.ClassLoader classLoader) + void setExtrasClassLoader( + jni.JObject classLoader, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setExtrasClassLoader, + jni.JniCallType.voidType, + [classLoader.reference]).check(); + } + + static final _id_hasExtra = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"hasExtra", r"(Ljava/lang/String;)Z"); + + /// from: public boolean hasExtra(java.lang.String string) + bool hasExtra( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_hasExtra, + jni.JniCallType.booleanType, [string.reference]).boolean; + } + + static final _id_hasFileDescriptors = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"hasFileDescriptors", r"()Z"); + + /// from: public boolean hasFileDescriptors() + bool hasFileDescriptors() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_hasFileDescriptors, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_getBooleanExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getBooleanExtra", r"(Ljava/lang/String;Z)Z"); + + /// from: public boolean getBooleanExtra(java.lang.String string, boolean z) + bool getBooleanExtra( + jni.JString string, + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_getBooleanExtra, + jni.JniCallType.booleanType, [string.reference, z ? 1 : 0]).boolean; + } + + static final _id_getByteExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getByteExtra", r"(Ljava/lang/String;B)B"); + + /// from: public byte getByteExtra(java.lang.String string, byte b) + int getByteExtra( + jni.JString string, + int b, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_getByteExtra, + jni.JniCallType.byteType, [string.reference, jni.JValueByte(b)]).byte; + } + + static final _id_getShortExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getShortExtra", r"(Ljava/lang/String;S)S"); + + /// from: public short getShortExtra(java.lang.String string, short s) + int getShortExtra( + jni.JString string, + int s, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getShortExtra, + jni.JniCallType.shortType, + [string.reference, jni.JValueShort(s)]).short; + } + + static final _id_getCharExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getCharExtra", r"(Ljava/lang/String;C)C"); + + /// from: public char getCharExtra(java.lang.String string, char c) + int getCharExtra( + jni.JString string, + int c, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_getCharExtra, + jni.JniCallType.charType, [string.reference, jni.JValueChar(c)]).char; + } + + static final _id_getIntExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getIntExtra", r"(Ljava/lang/String;I)I"); + + /// from: public int getIntExtra(java.lang.String string, int i) + int getIntExtra( + jni.JString string, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_getIntExtra, + jni.JniCallType.intType, [string.reference, jni.JValueInt(i)]).integer; + } + + static final _id_getLongExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getLongExtra", r"(Ljava/lang/String;J)J"); + + /// from: public long getLongExtra(java.lang.String string, long j) + int getLongExtra( + jni.JString string, + int j, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_getLongExtra, + jni.JniCallType.longType, [string.reference, j]).long; + } + + static final _id_getFloatExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getFloatExtra", r"(Ljava/lang/String;F)F"); + + /// from: public float getFloatExtra(java.lang.String string, float f) + double getFloatExtra( + jni.JString string, + double f, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getFloatExtra, + jni.JniCallType.floatType, + [string.reference, jni.JValueFloat(f)]).float; + } + + static final _id_getDoubleExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getDoubleExtra", r"(Ljava/lang/String;D)D"); + + /// from: public double getDoubleExtra(java.lang.String string, double d) + double getDoubleExtra( + jni.JString string, + double d, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_getDoubleExtra, + jni.JniCallType.doubleType, [string.reference, d]).doubleFloat; + } + + static final _id_getStringExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getStringExtra", + r"(Ljava/lang/String;)Ljava/lang/String;"); + + /// from: public java.lang.String getStringExtra(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JString getStringExtra( + jni.JString string, + ) { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getStringExtra, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getCharSequenceExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getCharSequenceExtra", + r"(Ljava/lang/String;)Ljava/lang/CharSequence;"); + + /// from: public java.lang.CharSequence getCharSequenceExtra(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getCharSequenceExtra( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getCharSequenceExtra, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getParcelableExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getParcelableExtra", + r"(Ljava/lang/String;)Landroid/os/Parcelable;"); + + /// from: public T getParcelableExtra(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + $T getParcelableExtra<$T extends jni.JObject>( + jni.JString string, { + required jni.JObjType<$T> T, + }) { + return T.fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getParcelableExtra, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getParcelableExtra1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getParcelableExtra", + r"(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;"); + + /// from: public T getParcelableExtra(java.lang.String string, java.lang.Class class) + /// The returned object must be released after use, by calling the [release] method. + $T getParcelableExtra1<$T extends jni.JObject>( + jni.JString string, + jni.JObject class0, { + required jni.JObjType<$T> T, + }) { + return T.fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getParcelableExtra1, + jni.JniCallType.objectType, + [string.reference, class0.reference]).object); + } + + static final _id_getParcelableArrayExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getParcelableArrayExtra", + r"(Ljava/lang/String;)[Landroid/os/Parcelable;"); + + /// from: public android.os.Parcelable[] getParcelableArrayExtra(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getParcelableArrayExtra( + jni.JString string, + ) { + return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getParcelableArrayExtra, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getParcelableArrayExtra1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getParcelableArrayExtra", + r"(Ljava/lang/String;Ljava/lang/Class;)[Ljava/lang/Object;"); + + /// from: public java.lang.Object[] getParcelableArrayExtra(java.lang.String string, java.lang.Class class) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray<$T> getParcelableArrayExtra1<$T extends jni.JObject>( + jni.JString string, + jni.JObject class0, { + required jni.JObjType<$T> T, + }) { + return jni.JArrayType(T).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getParcelableArrayExtra1, + jni.JniCallType.objectType, + [string.reference, class0.reference]).object); + } + + static final _id_getParcelableArrayListExtra = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getParcelableArrayListExtra", + r"(Ljava/lang/String;)Ljava/util/ArrayList;"); + + /// from: public java.util.ArrayList getParcelableArrayListExtra(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getParcelableArrayListExtra<$T extends jni.JObject>( + jni.JString string, { + required jni.JObjType<$T> T, + }) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getParcelableArrayListExtra, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getParcelableArrayListExtra1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getParcelableArrayListExtra", + r"(Ljava/lang/String;Ljava/lang/Class;)Ljava/util/ArrayList;"); + + /// from: public java.util.ArrayList getParcelableArrayListExtra(java.lang.String string, java.lang.Class class) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getParcelableArrayListExtra1<$T extends jni.JObject>( + jni.JString string, + jni.JObject class0, { + required jni.JObjType<$T> T, + }) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getParcelableArrayListExtra1, + jni.JniCallType.objectType, + [string.reference, class0.reference]).object); + } + + static final _id_getSerializableExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getSerializableExtra", + r"(Ljava/lang/String;)Ljava/io/Serializable;"); + + /// from: public java.io.Serializable getSerializableExtra(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getSerializableExtra( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getSerializableExtra, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getSerializableExtra1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getSerializableExtra", + r"(Ljava/lang/String;Ljava/lang/Class;)Ljava/io/Serializable;"); + + /// from: public T getSerializableExtra(java.lang.String string, java.lang.Class class) + /// The returned object must be released after use, by calling the [release] method. + $T getSerializableExtra1<$T extends jni.JObject>( + jni.JString string, + jni.JObject class0, { + required jni.JObjType<$T> T, + }) { + return T.fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getSerializableExtra1, + jni.JniCallType.objectType, + [string.reference, class0.reference]).object); + } + + static final _id_getIntegerArrayListExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getIntegerArrayListExtra", + r"(Ljava/lang/String;)Ljava/util/ArrayList;"); + + /// from: public java.util.ArrayList getIntegerArrayListExtra(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getIntegerArrayListExtra( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getIntegerArrayListExtra, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getStringArrayListExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getStringArrayListExtra", + r"(Ljava/lang/String;)Ljava/util/ArrayList;"); + + /// from: public java.util.ArrayList getStringArrayListExtra(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getStringArrayListExtra( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getStringArrayListExtra, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getCharSequenceArrayListExtra = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getCharSequenceArrayListExtra", + r"(Ljava/lang/String;)Ljava/util/ArrayList;"); + + /// from: public java.util.ArrayList getCharSequenceArrayListExtra(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getCharSequenceArrayListExtra( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getCharSequenceArrayListExtra, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getBooleanArrayExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getBooleanArrayExtra", r"(Ljava/lang/String;)[Z"); + + /// from: public boolean[] getBooleanArrayExtra(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getBooleanArrayExtra( + jni.JString string, + ) { + return const jni.JArrayType(jni.jbooleanType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getBooleanArrayExtra, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getByteArrayExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getByteArrayExtra", r"(Ljava/lang/String;)[B"); + + /// from: public byte[] getByteArrayExtra(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getByteArrayExtra( + jni.JString string, + ) { + return const jni.JArrayType(jni.jbyteType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getByteArrayExtra, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getShortArrayExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getShortArrayExtra", r"(Ljava/lang/String;)[S"); + + /// from: public short[] getShortArrayExtra(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getShortArrayExtra( + jni.JString string, + ) { + return const jni.JArrayType(jni.jshortType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getShortArrayExtra, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getCharArrayExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getCharArrayExtra", r"(Ljava/lang/String;)[C"); + + /// from: public char[] getCharArrayExtra(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getCharArrayExtra( + jni.JString string, + ) { + return const jni.JArrayType(jni.jcharType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getCharArrayExtra, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getIntArrayExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getIntArrayExtra", r"(Ljava/lang/String;)[I"); + + /// from: public int[] getIntArrayExtra(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getIntArrayExtra( + jni.JString string, + ) { + return const jni.JArrayType(jni.jintType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getIntArrayExtra, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getLongArrayExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getLongArrayExtra", r"(Ljava/lang/String;)[J"); + + /// from: public long[] getLongArrayExtra(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getLongArrayExtra( + jni.JString string, + ) { + return const jni.JArrayType(jni.jlongType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getLongArrayExtra, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getFloatArrayExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getFloatArrayExtra", r"(Ljava/lang/String;)[F"); + + /// from: public float[] getFloatArrayExtra(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getFloatArrayExtra( + jni.JString string, + ) { + return const jni.JArrayType(jni.jfloatType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getFloatArrayExtra, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getDoubleArrayExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getDoubleArrayExtra", r"(Ljava/lang/String;)[D"); + + /// from: public double[] getDoubleArrayExtra(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getDoubleArrayExtra( + jni.JString string, + ) { + return const jni.JArrayType(jni.jdoubleType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getDoubleArrayExtra, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getStringArrayExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getStringArrayExtra", + r"(Ljava/lang/String;)[Ljava/lang/String;"); + + /// from: public java.lang.String[] getStringArrayExtra(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getStringArrayExtra( + jni.JString string, + ) { + return const jni.JArrayType(jni.JStringType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getStringArrayExtra, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getCharSequenceArrayExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getCharSequenceArrayExtra", + r"(Ljava/lang/String;)[Ljava/lang/CharSequence;"); + + /// from: public java.lang.CharSequence[] getCharSequenceArrayExtra(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getCharSequenceArrayExtra( + jni.JString string, + ) { + return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getCharSequenceArrayExtra, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getBundleExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getBundleExtra", + r"(Ljava/lang/String;)Landroid/os/Bundle;"); + + /// from: public android.os.Bundle getBundleExtra(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Bundle getBundleExtra( + jni.JString string, + ) { + return const $BundleType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getBundleExtra, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getExtras = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getExtras", r"()Landroid/os/Bundle;"); + + /// from: public android.os.Bundle getExtras() + /// The returned object must be released after use, by calling the [release] method. + Bundle getExtras() { + return const $BundleType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getExtras, jni.JniCallType.objectType, []).object); + } + + static final _id_getFlags = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"getFlags", r"()I"); + + /// from: public int getFlags() + int getFlags() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getFlags, jni.JniCallType.intType, []).integer; + } + + static final _id_getPackage = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getPackage", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getPackage() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getPackage() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getPackage, jni.JniCallType.objectType, []).object); + } + + static final _id_getComponent = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getComponent", r"()Landroid/content/ComponentName;"); + + /// from: public android.content.ComponentName getComponent() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getComponent() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getComponent, jni.JniCallType.objectType, []).object); + } + + static final _id_getSourceBounds = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getSourceBounds", r"()Landroid/graphics/Rect;"); + + /// from: public android.graphics.Rect getSourceBounds() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getSourceBounds() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getSourceBounds, jni.JniCallType.objectType, []).object); + } + + static final _id_resolveActivity = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"resolveActivity", + r"(Landroid/content/pm/PackageManager;)Landroid/content/ComponentName;"); + + /// from: public android.content.ComponentName resolveActivity(android.content.pm.PackageManager packageManager) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject resolveActivity( + PackageManager packageManager, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_resolveActivity, + jni.JniCallType.objectType, + [packageManager.reference]).object); + } + + static final _id_resolveActivityInfo = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"resolveActivityInfo", + r"(Landroid/content/pm/PackageManager;I)Landroid/content/pm/ActivityInfo;"); + + /// from: public android.content.pm.ActivityInfo resolveActivityInfo(android.content.pm.PackageManager packageManager, int i) + /// The returned object must be released after use, by calling the [release] method. + ActivityInfo resolveActivityInfo( + PackageManager packageManager, + int i, + ) { + return const $ActivityInfoType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_resolveActivityInfo, + jni.JniCallType.objectType, + [packageManager.reference, jni.JValueInt(i)]).object); + } + + static final _id_setAction = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"setAction", r"(Ljava/lang/String;)Landroid/content/Intent;"); + + /// from: public android.content.Intent setAction(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Intent setAction( + jni.JString string, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setAction, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_setData = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"setData", r"(Landroid/net/Uri;)Landroid/content/Intent;"); + + /// from: public android.content.Intent setData(android.net.Uri uri) + /// The returned object must be released after use, by calling the [release] method. + Intent setData( + Uri uri, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setData, + jni.JniCallType.objectType, + [uri.reference]).object); + } + + static final _id_setDataAndNormalize = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setDataAndNormalize", + r"(Landroid/net/Uri;)Landroid/content/Intent;"); + + /// from: public android.content.Intent setDataAndNormalize(android.net.Uri uri) + /// The returned object must be released after use, by calling the [release] method. + Intent setDataAndNormalize( + Uri uri, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setDataAndNormalize, + jni.JniCallType.objectType, + [uri.reference]).object); + } + + static final _id_setType = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"setType", r"(Ljava/lang/String;)Landroid/content/Intent;"); + + /// from: public android.content.Intent setType(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Intent setType( + jni.JString string, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setType, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_setTypeAndNormalize = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setTypeAndNormalize", + r"(Ljava/lang/String;)Landroid/content/Intent;"); + + /// from: public android.content.Intent setTypeAndNormalize(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Intent setTypeAndNormalize( + jni.JString string, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setTypeAndNormalize, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_setDataAndType = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setDataAndType", + r"(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/Intent;"); + + /// from: public android.content.Intent setDataAndType(android.net.Uri uri, java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Intent setDataAndType( + Uri uri, + jni.JString string, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setDataAndType, + jni.JniCallType.objectType, + [uri.reference, string.reference]).object); + } + + static final _id_setDataAndTypeAndNormalize = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setDataAndTypeAndNormalize", + r"(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/Intent;"); + + /// from: public android.content.Intent setDataAndTypeAndNormalize(android.net.Uri uri, java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Intent setDataAndTypeAndNormalize( + Uri uri, + jni.JString string, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setDataAndTypeAndNormalize, + jni.JniCallType.objectType, + [uri.reference, string.reference]).object); + } + + static final _id_setIdentifier = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setIdentifier", + r"(Ljava/lang/String;)Landroid/content/Intent;"); + + /// from: public android.content.Intent setIdentifier(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Intent setIdentifier( + jni.JString string, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setIdentifier, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_addCategory = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addCategory", + r"(Ljava/lang/String;)Landroid/content/Intent;"); + + /// from: public android.content.Intent addCategory(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Intent addCategory( + jni.JString string, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addCategory, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_removeCategory = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"removeCategory", r"(Ljava/lang/String;)V"); + + /// from: public void removeCategory(java.lang.String string) + void removeCategory( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_removeCategory, + jni.JniCallType.voidType, [string.reference]).check(); + } + + static final _id_setSelector = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setSelector", r"(Landroid/content/Intent;)V"); + + /// from: public void setSelector(android.content.Intent intent) + void setSelector( + Intent intent, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setSelector, + jni.JniCallType.voidType, [intent.reference]).check(); + } + + static final _id_setClipData = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setClipData", r"(Landroid/content/ClipData;)V"); + + /// from: public void setClipData(android.content.ClipData clipData) + void setClipData( + jni.JObject clipData, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setClipData, + jni.JniCallType.voidType, [clipData.reference]).check(); + } + + static final _id_putExtra = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"putExtra", r"(Ljava/lang/String;Z)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtra(java.lang.String string, boolean z) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtra( + jni.JString string, + bool z, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtra, + jni.JniCallType.objectType, + [string.reference, z ? 1 : 0]).object); + } + + static final _id_putExtra1 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"putExtra", r"(Ljava/lang/String;B)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtra(java.lang.String string, byte b) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtra1( + jni.JString string, + int b, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtra1, + jni.JniCallType.objectType, + [string.reference, jni.JValueByte(b)]).object); + } + + static final _id_putExtra2 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"putExtra", r"(Ljava/lang/String;C)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtra(java.lang.String string, char c) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtra2( + jni.JString string, + int c, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtra2, + jni.JniCallType.objectType, + [string.reference, jni.JValueChar(c)]).object); + } + + static final _id_putExtra3 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"putExtra", r"(Ljava/lang/String;S)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtra(java.lang.String string, short s) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtra3( + jni.JString string, + int s, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtra3, + jni.JniCallType.objectType, + [string.reference, jni.JValueShort(s)]).object); + } + + static final _id_putExtra4 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"putExtra", r"(Ljava/lang/String;I)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtra(java.lang.String string, int i) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtra4( + jni.JString string, + int i, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtra4, + jni.JniCallType.objectType, + [string.reference, jni.JValueInt(i)]).object); + } + + static final _id_putExtra5 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"putExtra", r"(Ljava/lang/String;J)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtra(java.lang.String string, long j) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtra5( + jni.JString string, + int j, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtra5, + jni.JniCallType.objectType, + [string.reference, j]).object); + } + + static final _id_putExtra6 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"putExtra", r"(Ljava/lang/String;F)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtra(java.lang.String string, float f) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtra6( + jni.JString string, + double f, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtra6, + jni.JniCallType.objectType, + [string.reference, jni.JValueFloat(f)]).object); + } + + static final _id_putExtra7 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"putExtra", r"(Ljava/lang/String;D)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtra(java.lang.String string, double d) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtra7( + jni.JString string, + double d, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtra7, + jni.JniCallType.objectType, + [string.reference, d]).object); + } + + static final _id_putExtra8 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putExtra", + r"(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtra(java.lang.String string, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtra8( + jni.JString string, + jni.JString string1, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtra8, + jni.JniCallType.objectType, + [string.reference, string1.reference]).object); + } + + static final _id_putExtra9 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putExtra", + r"(Ljava/lang/String;Ljava/lang/CharSequence;)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtra(java.lang.String string, java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtra9( + jni.JString string, + jni.JObject charSequence, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtra9, + jni.JniCallType.objectType, + [string.reference, charSequence.reference]).object); + } + + static final _id_putExtra10 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putExtra", + r"(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtra(java.lang.String string, android.os.Parcelable parcelable) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtra10( + jni.JString string, + jni.JObject parcelable, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtra10, + jni.JniCallType.objectType, + [string.reference, parcelable.reference]).object); + } + + static final _id_putExtra11 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putExtra", + r"(Ljava/lang/String;[Landroid/os/Parcelable;)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtra(java.lang.String string, android.os.Parcelable[] parcelables) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtra11( + jni.JString string, + jni.JArray parcelables, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtra11, + jni.JniCallType.objectType, + [string.reference, parcelables.reference]).object); + } + + static final _id_putParcelableArrayListExtra = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"putParcelableArrayListExtra", + r"(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;"); + + /// from: public android.content.Intent putParcelableArrayListExtra(java.lang.String string, java.util.ArrayList arrayList) + /// The returned object must be released after use, by calling the [release] method. + Intent putParcelableArrayListExtra( + jni.JString string, + jni.JObject arrayList, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putParcelableArrayListExtra, + jni.JniCallType.objectType, + [string.reference, arrayList.reference]).object); + } + + static final _id_putIntegerArrayListExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putIntegerArrayListExtra", + r"(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;"); + + /// from: public android.content.Intent putIntegerArrayListExtra(java.lang.String string, java.util.ArrayList arrayList) + /// The returned object must be released after use, by calling the [release] method. + Intent putIntegerArrayListExtra( + jni.JString string, + jni.JObject arrayList, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putIntegerArrayListExtra, + jni.JniCallType.objectType, + [string.reference, arrayList.reference]).object); + } + + static final _id_putStringArrayListExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putStringArrayListExtra", + r"(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;"); + + /// from: public android.content.Intent putStringArrayListExtra(java.lang.String string, java.util.ArrayList arrayList) + /// The returned object must be released after use, by calling the [release] method. + Intent putStringArrayListExtra( + jni.JString string, + jni.JObject arrayList, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putStringArrayListExtra, + jni.JniCallType.objectType, + [string.reference, arrayList.reference]).object); + } + + static final _id_putCharSequenceArrayListExtra = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"putCharSequenceArrayListExtra", + r"(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;"); + + /// from: public android.content.Intent putCharSequenceArrayListExtra(java.lang.String string, java.util.ArrayList arrayList) + /// The returned object must be released after use, by calling the [release] method. + Intent putCharSequenceArrayListExtra( + jni.JString string, + jni.JObject arrayList, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putCharSequenceArrayListExtra, + jni.JniCallType.objectType, + [string.reference, arrayList.reference]).object); + } + + static final _id_putExtra12 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putExtra", + r"(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtra(java.lang.String string, java.io.Serializable serializable) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtra12( + jni.JString string, + jni.JObject serializable, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtra12, + jni.JniCallType.objectType, + [string.reference, serializable.reference]).object); + } + + static final _id_putExtra13 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putExtra", + r"(Ljava/lang/String;[Z)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtra(java.lang.String string, boolean[] zs) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtra13( + jni.JString string, + jni.JArray zs, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtra13, + jni.JniCallType.objectType, + [string.reference, zs.reference]).object); + } + + static final _id_putExtra14 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putExtra", + r"(Ljava/lang/String;[B)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtra(java.lang.String string, byte[] bs) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtra14( + jni.JString string, + jni.JArray bs, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtra14, + jni.JniCallType.objectType, + [string.reference, bs.reference]).object); + } + + static final _id_putExtra15 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putExtra", + r"(Ljava/lang/String;[S)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtra(java.lang.String string, short[] ss) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtra15( + jni.JString string, + jni.JArray ss, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtra15, + jni.JniCallType.objectType, + [string.reference, ss.reference]).object); + } + + static final _id_putExtra16 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putExtra", + r"(Ljava/lang/String;[C)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtra(java.lang.String string, char[] cs) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtra16( + jni.JString string, + jni.JArray cs, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtra16, + jni.JniCallType.objectType, + [string.reference, cs.reference]).object); + } + + static final _id_putExtra17 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putExtra", + r"(Ljava/lang/String;[I)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtra(java.lang.String string, int[] is) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtra17( + jni.JString string, + jni.JArray is0, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtra17, + jni.JniCallType.objectType, + [string.reference, is0.reference]).object); + } + + static final _id_putExtra18 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putExtra", + r"(Ljava/lang/String;[J)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtra(java.lang.String string, long[] js) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtra18( + jni.JString string, + jni.JArray js, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtra18, + jni.JniCallType.objectType, + [string.reference, js.reference]).object); + } + + static final _id_putExtra19 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putExtra", + r"(Ljava/lang/String;[F)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtra(java.lang.String string, float[] fs) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtra19( + jni.JString string, + jni.JArray fs, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtra19, + jni.JniCallType.objectType, + [string.reference, fs.reference]).object); + } + + static final _id_putExtra20 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putExtra", + r"(Ljava/lang/String;[D)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtra(java.lang.String string, double[] ds) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtra20( + jni.JString string, + jni.JArray ds, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtra20, + jni.JniCallType.objectType, + [string.reference, ds.reference]).object); + } + + static final _id_putExtra21 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putExtra", + r"(Ljava/lang/String;[Ljava/lang/String;)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtra(java.lang.String string, java.lang.String[] strings) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtra21( + jni.JString string, + jni.JArray strings, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtra21, + jni.JniCallType.objectType, + [string.reference, strings.reference]).object); + } + + static final _id_putExtra22 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putExtra", + r"(Ljava/lang/String;[Ljava/lang/CharSequence;)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtra(java.lang.String string, java.lang.CharSequence[] charSequences) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtra22( + jni.JString string, + jni.JArray charSequences, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtra22, + jni.JniCallType.objectType, + [string.reference, charSequences.reference]).object); + } + + static final _id_putExtra23 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putExtra", + r"(Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtra(java.lang.String string, android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtra23( + jni.JString string, + Bundle bundle, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtra23, + jni.JniCallType.objectType, + [string.reference, bundle.reference]).object); + } + + static final _id_putExtras = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"putExtras", r"(Landroid/content/Intent;)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtras(android.content.Intent intent) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtras( + Intent intent, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtras, + jni.JniCallType.objectType, + [intent.reference]).object); + } + + static final _id_putExtras1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putExtras", + r"(Landroid/os/Bundle;)Landroid/content/Intent;"); + + /// from: public android.content.Intent putExtras(android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + Intent putExtras1( + Bundle bundle, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putExtras1, + jni.JniCallType.objectType, + [bundle.reference]).object); + } + + static final _id_replaceExtras = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"replaceExtras", + r"(Landroid/content/Intent;)Landroid/content/Intent;"); + + /// from: public android.content.Intent replaceExtras(android.content.Intent intent) + /// The returned object must be released after use, by calling the [release] method. + Intent replaceExtras( + Intent intent, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_replaceExtras, + jni.JniCallType.objectType, + [intent.reference]).object); + } + + static final _id_replaceExtras1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"replaceExtras", + r"(Landroid/os/Bundle;)Landroid/content/Intent;"); + + /// from: public android.content.Intent replaceExtras(android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + Intent replaceExtras1( + Bundle bundle, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_replaceExtras1, + jni.JniCallType.objectType, + [bundle.reference]).object); + } + + static final _id_removeExtra = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"removeExtra", r"(Ljava/lang/String;)V"); + + /// from: public void removeExtra(java.lang.String string) + void removeExtra( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_removeExtra, + jni.JniCallType.voidType, [string.reference]).check(); + } + + static final _id_setFlags = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setFlags", r"(I)Landroid/content/Intent;"); + + /// from: public android.content.Intent setFlags(int i) + /// The returned object must be released after use, by calling the [release] method. + Intent setFlags( + int i, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setFlags, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_addFlags = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"addFlags", r"(I)Landroid/content/Intent;"); + + /// from: public android.content.Intent addFlags(int i) + /// The returned object must be released after use, by calling the [release] method. + Intent addFlags( + int i, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addFlags, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_removeFlags = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"removeFlags", r"(I)V"); + + /// from: public void removeFlags(int i) + void removeFlags( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_removeFlags, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_setPackage = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setPackage", + r"(Ljava/lang/String;)Landroid/content/Intent;"); + + /// from: public android.content.Intent setPackage(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Intent setPackage( + jni.JString string, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setPackage, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_setComponent = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setComponent", + r"(Landroid/content/ComponentName;)Landroid/content/Intent;"); + + /// from: public android.content.Intent setComponent(android.content.ComponentName componentName) + /// The returned object must be released after use, by calling the [release] method. + Intent setComponent( + jni.JObject componentName, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setComponent, + jni.JniCallType.objectType, + [componentName.reference]).object); + } + + static final _id_setClassName = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setClassName", + r"(Landroid/content/Context;Ljava/lang/String;)Landroid/content/Intent;"); + + /// from: public android.content.Intent setClassName(android.content.Context context, java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Intent setClassName( + Context context, + jni.JString string, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setClassName, + jni.JniCallType.objectType, + [context.reference, string.reference]).object); + } + + static final _id_setClassName1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setClassName", + r"(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;"); + + /// from: public android.content.Intent setClassName(java.lang.String string, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + Intent setClassName1( + jni.JString string, + jni.JString string1, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setClassName1, + jni.JniCallType.objectType, + [string.reference, string1.reference]).object); + } + + static final _id_setClass = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setClass", + r"(Landroid/content/Context;Ljava/lang/Class;)Landroid/content/Intent;"); + + /// from: public android.content.Intent setClass(android.content.Context context, java.lang.Class class) + /// The returned object must be released after use, by calling the [release] method. + Intent setClass( + Context context, + jni.JObject class0, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setClass, + jni.JniCallType.objectType, + [context.reference, class0.reference]).object); + } + + static final _id_setSourceBounds = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setSourceBounds", r"(Landroid/graphics/Rect;)V"); + + /// from: public void setSourceBounds(android.graphics.Rect rect) + void setSourceBounds( + jni.JObject rect, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setSourceBounds, + jni.JniCallType.voidType, [rect.reference]).check(); + } + + static final _id_fillIn = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"fillIn", r"(Landroid/content/Intent;I)I"); + + /// from: public int fillIn(android.content.Intent intent, int i) + int fillIn( + Intent intent, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_fillIn, + jni.JniCallType.intType, [intent.reference, jni.JValueInt(i)]).integer; + } + + static final _id_filterEquals = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"filterEquals", r"(Landroid/content/Intent;)Z"); + + /// from: public boolean filterEquals(android.content.Intent intent) + bool filterEquals( + Intent intent, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_filterEquals, + jni.JniCallType.booleanType, [intent.reference]).boolean; + } + + static final _id_filterHashCode = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"filterHashCode", r"()I"); + + /// from: public int filterHashCode() + int filterHashCode() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_filterHashCode, jni.JniCallType.intType, []).integer; + } + + static final _id_toString1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"toString", r"()Ljava/lang/String;"); + + /// from: public java.lang.String toString() + /// The returned object must be released after use, by calling the [release] method. + jni.JString toString1() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_toString1, jni.JniCallType.objectType, []).object); + } + + static final _id_toURI = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"toURI", r"()Ljava/lang/String;"); + + /// from: public java.lang.String toURI() + /// The returned object must be released after use, by calling the [release] method. + jni.JString toURI() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_toURI, jni.JniCallType.objectType, []).object); + } + + static final _id_toUri = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"toUri", r"(I)Ljava/lang/String;"); + + /// from: public java.lang.String toUri(int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JString toUri( + int i, + ) { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_toUri, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_describeContents = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"describeContents", r"()I"); + + /// from: public int describeContents() + int describeContents() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_describeContents, jni.JniCallType.intType, []).integer; + } + + static final _id_writeToParcel = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"writeToParcel", r"(Landroid/os/Parcel;I)V"); + + /// from: public void writeToParcel(android.os.Parcel parcel, int i) + void writeToParcel( + jni.JObject parcel, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_writeToParcel, + jni.JniCallType.voidType, [parcel.reference, jni.JValueInt(i)]).check(); + } + + static final _id_readFromParcel = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"readFromParcel", r"(Landroid/os/Parcel;)V"); + + /// from: public void readFromParcel(android.os.Parcel parcel) + void readFromParcel( + jni.JObject parcel, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_readFromParcel, + jni.JniCallType.voidType, [parcel.reference]).check(); + } + + static final _id_parseIntent = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"parseIntent", + r"(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)Landroid/content/Intent;"); + + /// from: static public android.content.Intent parseIntent(android.content.res.Resources resources, org.xmlpull.v1.XmlPullParser xmlPullParser, android.util.AttributeSet attributeSet) + /// The returned object must be released after use, by calling the [release] method. + static Intent parseIntent( + jni.JObject resources, + jni.JObject xmlPullParser, + jni.JObject attributeSet, + ) { + return const $IntentType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, _id_parseIntent, jni.JniCallType.objectType, [ + resources.reference, + xmlPullParser.reference, + attributeSet.reference + ]).object); + } + + static final _id_normalizeMimeType = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"normalizeMimeType", + r"(Ljava/lang/String;)Ljava/lang/String;"); + + /// from: static public java.lang.String normalizeMimeType(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + static jni.JString normalizeMimeType( + jni.JString string, + ) { + return const jni.JStringType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_normalizeMimeType, + jni.JniCallType.objectType, [string.reference]).object); + } +} + +final class $IntentType extends jni.JObjType { + const $IntentType(); + + @override + String get signature => r"Landroid/content/Intent;"; + + @override + Intent fromRef(jni.JObjectPtr ref) => Intent.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($IntentType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($IntentType) && other is $IntentType; + } +} + +/// from: android.content.pm.PackageManager$ApplicationInfoFlags +class PackageManager_ApplicationInfoFlags extends jni.JObject { + @override + late final jni.JObjType $type = type; + + PackageManager_ApplicationInfoFlags.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"android/content/pm/PackageManager$ApplicationInfoFlags"); + + /// The type which includes information such as the signature of this class. + static const type = $PackageManager_ApplicationInfoFlagsType(); + static final _id_of = jni.Jni.accessors.getStaticMethodIDOf(_class.reference, + r"of", r"(J)Landroid/content/pm/PackageManager$ApplicationInfoFlags;"); + + /// from: static public android.content.pm.PackageManager$ApplicationInfoFlags of(long j) + /// The returned object must be released after use, by calling the [release] method. + static PackageManager_ApplicationInfoFlags of( + int j, + ) { + return const $PackageManager_ApplicationInfoFlagsType().fromRef( + jni.Jni.accessors.callStaticMethodWithArgs( + _class.reference, _id_of, jni.JniCallType.objectType, [j]).object); + } + + static final _id_getValue = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"getValue", r"()J"); + + /// from: public long getValue() + int getValue() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getValue, jni.JniCallType.longType, []).long; + } +} + +final class $PackageManager_ApplicationInfoFlagsType + extends jni.JObjType { + const $PackageManager_ApplicationInfoFlagsType(); + + @override + String get signature => + r"Landroid/content/pm/PackageManager$ApplicationInfoFlags;"; + + @override + PackageManager_ApplicationInfoFlags fromRef(jni.JObjectPtr ref) => + PackageManager_ApplicationInfoFlags.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($PackageManager_ApplicationInfoFlagsType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($PackageManager_ApplicationInfoFlagsType) && + other is $PackageManager_ApplicationInfoFlagsType; + } +} + +/// from: android.content.pm.PackageManager$ComponentEnabledSetting +class PackageManager_ComponentEnabledSetting extends jni.JObject { + @override + late final jni.JObjType $type = type; + + PackageManager_ComponentEnabledSetting.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"android/content/pm/PackageManager$ComponentEnabledSetting"); + + /// The type which includes information such as the signature of this class. + static const type = $PackageManager_ComponentEnabledSettingType(); + static final _id_CREATOR = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"CREATOR", + r"Landroid/os/Parcelable$Creator;", + ); + + /// from: static public final android.os.Parcelable$Creator CREATOR + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject get CREATOR => const jni.JObjectType().fromRef(jni + .Jni.accessors + .getStaticField(_class.reference, _id_CREATOR, jni.JniCallType.objectType) + .object); + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Landroid/content/ComponentName;II)V"); + + /// from: public void (android.content.ComponentName componentName, int i, int i1) + /// The returned object must be released after use, by calling the [release] method. + factory PackageManager_ComponentEnabledSetting( + jni.JObject componentName, + int i, + int i1, + ) { + return PackageManager_ComponentEnabledSetting.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, [ + componentName.reference, + jni.JValueInt(i), + jni.JValueInt(i1) + ]).object); + } + + static final _id_getComponentName = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getComponentName", + r"()Landroid/content/ComponentName;"); + + /// from: public android.content.ComponentName getComponentName() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getComponentName() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getComponentName, + jni.JniCallType.objectType, []).object); + } + + static final _id_getEnabledState = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getEnabledState", r"()I"); + + /// from: public int getEnabledState() + int getEnabledState() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getEnabledState, jni.JniCallType.intType, []).integer; + } + + static final _id_getEnabledFlags = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getEnabledFlags", r"()I"); + + /// from: public int getEnabledFlags() + int getEnabledFlags() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getEnabledFlags, jni.JniCallType.intType, []).integer; + } + + static final _id_writeToParcel = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"writeToParcel", r"(Landroid/os/Parcel;I)V"); + + /// from: public void writeToParcel(android.os.Parcel parcel, int i) + void writeToParcel( + jni.JObject parcel, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_writeToParcel, + jni.JniCallType.voidType, [parcel.reference, jni.JValueInt(i)]).check(); + } + + static final _id_describeContents = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"describeContents", r"()I"); + + /// from: public int describeContents() + int describeContents() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_describeContents, jni.JniCallType.intType, []).integer; + } +} + +final class $PackageManager_ComponentEnabledSettingType + extends jni.JObjType { + const $PackageManager_ComponentEnabledSettingType(); + + @override + String get signature => + r"Landroid/content/pm/PackageManager$ComponentEnabledSetting;"; + + @override + PackageManager_ComponentEnabledSetting fromRef(jni.JObjectPtr ref) => + PackageManager_ComponentEnabledSetting.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($PackageManager_ComponentEnabledSettingType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($PackageManager_ComponentEnabledSettingType) && + other is $PackageManager_ComponentEnabledSettingType; + } +} + +/// from: android.content.pm.PackageManager$ComponentInfoFlags +class PackageManager_ComponentInfoFlags extends jni.JObject { + @override + late final jni.JObjType $type = type; + + PackageManager_ComponentInfoFlags.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"android/content/pm/PackageManager$ComponentInfoFlags"); + + /// The type which includes information such as the signature of this class. + static const type = $PackageManager_ComponentInfoFlagsType(); + static final _id_of = jni.Jni.accessors.getStaticMethodIDOf(_class.reference, + r"of", r"(J)Landroid/content/pm/PackageManager$ComponentInfoFlags;"); + + /// from: static public android.content.pm.PackageManager$ComponentInfoFlags of(long j) + /// The returned object must be released after use, by calling the [release] method. + static PackageManager_ComponentInfoFlags of( + int j, + ) { + return const $PackageManager_ComponentInfoFlagsType().fromRef( + jni.Jni.accessors.callStaticMethodWithArgs( + _class.reference, _id_of, jni.JniCallType.objectType, [j]).object); + } + + static final _id_getValue = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"getValue", r"()J"); + + /// from: public long getValue() + int getValue() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getValue, jni.JniCallType.longType, []).long; + } +} + +final class $PackageManager_ComponentInfoFlagsType + extends jni.JObjType { + const $PackageManager_ComponentInfoFlagsType(); + + @override + String get signature => + r"Landroid/content/pm/PackageManager$ComponentInfoFlags;"; + + @override + PackageManager_ComponentInfoFlags fromRef(jni.JObjectPtr ref) => + PackageManager_ComponentInfoFlags.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($PackageManager_ComponentInfoFlagsType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($PackageManager_ComponentInfoFlagsType) && + other is $PackageManager_ComponentInfoFlagsType; + } +} + +/// from: android.content.pm.PackageManager$NameNotFoundException +class PackageManager_NameNotFoundException extends jni.JObject { + @override + late final jni.JObjType $type = type; + + PackageManager_NameNotFoundException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"android/content/pm/PackageManager$NameNotFoundException"); + + /// The type which includes information such as the signature of this class. + static const type = $PackageManager_NameNotFoundExceptionType(); + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory PackageManager_NameNotFoundException() { + return PackageManager_NameNotFoundException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_new1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); + + /// from: public void (java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory PackageManager_NameNotFoundException.new1( + jni.JString string, + ) { + return PackageManager_NameNotFoundException.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new1, [string.reference]).object); + } +} + +final class $PackageManager_NameNotFoundExceptionType + extends jni.JObjType { + const $PackageManager_NameNotFoundExceptionType(); + + @override + String get signature => + r"Landroid/content/pm/PackageManager$NameNotFoundException;"; + + @override + PackageManager_NameNotFoundException fromRef(jni.JObjectPtr ref) => + PackageManager_NameNotFoundException.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($PackageManager_NameNotFoundExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($PackageManager_NameNotFoundExceptionType) && + other is $PackageManager_NameNotFoundExceptionType; + } +} + +/// from: android.content.pm.PackageManager$OnChecksumsReadyListener +class PackageManager_OnChecksumsReadyListener extends jni.JObject { + @override + late final jni.JObjType $type = type; + + PackageManager_OnChecksumsReadyListener.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"android/content/pm/PackageManager$OnChecksumsReadyListener"); + + /// The type which includes information such as the signature of this class. + static const type = $PackageManager_OnChecksumsReadyListenerType(); + static final _id_onChecksumsReady = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onChecksumsReady", r"(Ljava/util/List;)V"); + + /// from: public abstract void onChecksumsReady(java.util.List list) + void onChecksumsReady( + jni.JList list, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onChecksumsReady, + jni.JniCallType.voidType, [list.reference]).check(); + } + + /// Maps a specific port to the implemented interface. + static final Map _$impls = + {}; + ReceivePort? _$p; + + static jni.JObjectPtr _$invoke( + int port, + jni.JObjectPtr descriptor, + jni.JObjectPtr args, + ) { + return _$invokeMethod( + port, + $MethodInvocation.fromAddresses( + 0, + descriptor.address, + args.address, + ), + ); + } + + static final ffi.Pointer< + ffi.NativeFunction< + jni.JObjectPtr Function( + ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> + _$invokePointer = ffi.Pointer.fromFunction(_$invoke); + + static ffi.Pointer _$invokeMethod( + int $p, + $MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + if ($d == r"onChecksumsReady(Ljava/util/List;)V") { + _$impls[$p]!.onChecksumsReady( + $a[0].castTo(const jni.JListType(jni.JObjectType()), + releaseOriginal: true), + ); + return jni.nullptr; + } + } catch (e) { + return ProtectedJniExtensions.newDartException(e.toString()); + } + return jni.nullptr; + } + + factory PackageManager_OnChecksumsReadyListener.implement( + $PackageManager_OnChecksumsReadyListenerImpl $impl, + ) { + final $p = ReceivePort(); + final $x = PackageManager_OnChecksumsReadyListener.fromRef( + ProtectedJniExtensions.newPortProxy( + r"android.content.pm.PackageManager$OnChecksumsReadyListener", + $p, + _$invokePointer, + ), + ).._$p = $p; + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + $p.listen(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = $MethodInvocation.fromMessage($m as List); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + ProtectedJniExtensions.returnResult($i.result, $r); + }); + return $x; + } +} + +abstract class $PackageManager_OnChecksumsReadyListenerImpl { + factory $PackageManager_OnChecksumsReadyListenerImpl({ + required void Function(jni.JList list) onChecksumsReady, + }) = _$PackageManager_OnChecksumsReadyListenerImpl; + + void onChecksumsReady(jni.JList list); +} + +class _$PackageManager_OnChecksumsReadyListenerImpl + implements $PackageManager_OnChecksumsReadyListenerImpl { + _$PackageManager_OnChecksumsReadyListenerImpl({ + required void Function(jni.JList list) onChecksumsReady, + }) : _onChecksumsReady = onChecksumsReady; + + final void Function(jni.JList list) _onChecksumsReady; + + void onChecksumsReady(jni.JList list) { + return _onChecksumsReady(list); + } +} + +final class $PackageManager_OnChecksumsReadyListenerType + extends jni.JObjType { + const $PackageManager_OnChecksumsReadyListenerType(); + + @override + String get signature => + r"Landroid/content/pm/PackageManager$OnChecksumsReadyListener;"; + + @override + PackageManager_OnChecksumsReadyListener fromRef(jni.JObjectPtr ref) => + PackageManager_OnChecksumsReadyListener.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($PackageManager_OnChecksumsReadyListenerType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($PackageManager_OnChecksumsReadyListenerType) && + other is $PackageManager_OnChecksumsReadyListenerType; + } +} + +/// from: android.content.pm.PackageManager$PackageInfoFlags +class PackageManager_PackageInfoFlags extends jni.JObject { + @override + late final jni.JObjType $type = type; + + PackageManager_PackageInfoFlags.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"android/content/pm/PackageManager$PackageInfoFlags"); + + /// The type which includes information such as the signature of this class. + static const type = $PackageManager_PackageInfoFlagsType(); + static final _id_of = jni.Jni.accessors.getStaticMethodIDOf(_class.reference, + r"of", r"(J)Landroid/content/pm/PackageManager$PackageInfoFlags;"); + + /// from: static public android.content.pm.PackageManager$PackageInfoFlags of(long j) + /// The returned object must be released after use, by calling the [release] method. + static PackageManager_PackageInfoFlags of( + int j, + ) { + return const $PackageManager_PackageInfoFlagsType().fromRef( + jni.Jni.accessors.callStaticMethodWithArgs( + _class.reference, _id_of, jni.JniCallType.objectType, [j]).object); + } + + static final _id_getValue = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"getValue", r"()J"); + + /// from: public long getValue() + int getValue() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getValue, jni.JniCallType.longType, []).long; + } +} + +final class $PackageManager_PackageInfoFlagsType + extends jni.JObjType { + const $PackageManager_PackageInfoFlagsType(); + + @override + String get signature => + r"Landroid/content/pm/PackageManager$PackageInfoFlags;"; + + @override + PackageManager_PackageInfoFlags fromRef(jni.JObjectPtr ref) => + PackageManager_PackageInfoFlags.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($PackageManager_PackageInfoFlagsType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($PackageManager_PackageInfoFlagsType) && + other is $PackageManager_PackageInfoFlagsType; + } +} + +/// from: android.content.pm.PackageManager$Property +class PackageManager_Property extends jni.JObject { + @override + late final jni.JObjType $type = type; + + PackageManager_Property.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"android/content/pm/PackageManager$Property"); + + /// The type which includes information such as the signature of this class. + static const type = $PackageManager_PropertyType(); + static final _id_CREATOR = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"CREATOR", + r"Landroid/os/Parcelable$Creator;", + ); + + /// from: static public final android.os.Parcelable$Creator CREATOR + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject get CREATOR => const jni.JObjectType().fromRef(jni + .Jni.accessors + .getStaticField(_class.reference, _id_CREATOR, jni.JniCallType.objectType) + .object); + + static final _id_getName = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getName", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getName() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getName() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getName, jni.JniCallType.objectType, []).object); + } + + static final _id_getPackageName = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getPackageName", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getPackageName() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getPackageName() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getPackageName, jni.JniCallType.objectType, []).object); + } + + static final _id_getClassName = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getClassName", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getClassName() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getClassName() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getClassName, jni.JniCallType.objectType, []).object); + } + + static final _id_getBoolean = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"getBoolean", r"()Z"); + + /// from: public boolean getBoolean() + bool getBoolean() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getBoolean, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_isBoolean = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isBoolean", r"()Z"); + + /// from: public boolean isBoolean() + bool isBoolean() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isBoolean, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_getFloat = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"getFloat", r"()F"); + + /// from: public float getFloat() + double getFloat() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getFloat, jni.JniCallType.floatType, []).float; + } + + static final _id_isFloat = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isFloat", r"()Z"); + + /// from: public boolean isFloat() + bool isFloat() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isFloat, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_getInteger = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"getInteger", r"()I"); + + /// from: public int getInteger() + int getInteger() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getInteger, jni.JniCallType.intType, []).integer; + } + + static final _id_isInteger = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isInteger", r"()Z"); + + /// from: public boolean isInteger() + bool isInteger() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isInteger, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_getResourceId = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getResourceId", r"()I"); + + /// from: public int getResourceId() + int getResourceId() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getResourceId, jni.JniCallType.intType, []).integer; + } + + static final _id_isResourceId = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isResourceId", r"()Z"); + + /// from: public boolean isResourceId() + bool isResourceId() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isResourceId, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_getString = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getString", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getString() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getString() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getString, jni.JniCallType.objectType, []).object); + } + + static final _id_isString = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isString", r"()Z"); + + /// from: public boolean isString() + bool isString() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isString, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_describeContents = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"describeContents", r"()I"); + + /// from: public int describeContents() + int describeContents() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_describeContents, jni.JniCallType.intType, []).integer; + } + + static final _id_writeToParcel = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"writeToParcel", r"(Landroid/os/Parcel;I)V"); + + /// from: public void writeToParcel(android.os.Parcel parcel, int i) + void writeToParcel( + jni.JObject parcel, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_writeToParcel, + jni.JniCallType.voidType, [parcel.reference, jni.JValueInt(i)]).check(); + } +} + +final class $PackageManager_PropertyType + extends jni.JObjType { + const $PackageManager_PropertyType(); + + @override + String get signature => r"Landroid/content/pm/PackageManager$Property;"; + + @override + PackageManager_Property fromRef(jni.JObjectPtr ref) => + PackageManager_Property.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($PackageManager_PropertyType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($PackageManager_PropertyType) && + other is $PackageManager_PropertyType; + } +} + +/// from: android.content.pm.PackageManager$ResolveInfoFlags +class PackageManager_ResolveInfoFlags extends jni.JObject { + @override + late final jni.JObjType $type = type; + + PackageManager_ResolveInfoFlags.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"android/content/pm/PackageManager$ResolveInfoFlags"); + + /// The type which includes information such as the signature of this class. + static const type = $PackageManager_ResolveInfoFlagsType(); + static final _id_of = jni.Jni.accessors.getStaticMethodIDOf(_class.reference, + r"of", r"(J)Landroid/content/pm/PackageManager$ResolveInfoFlags;"); + + /// from: static public android.content.pm.PackageManager$ResolveInfoFlags of(long j) + /// The returned object must be released after use, by calling the [release] method. + static PackageManager_ResolveInfoFlags of( + int j, + ) { + return const $PackageManager_ResolveInfoFlagsType().fromRef( + jni.Jni.accessors.callStaticMethodWithArgs( + _class.reference, _id_of, jni.JniCallType.objectType, [j]).object); + } + + static final _id_getValue = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"getValue", r"()J"); + + /// from: public long getValue() + int getValue() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getValue, jni.JniCallType.longType, []).long; + } +} + +final class $PackageManager_ResolveInfoFlagsType + extends jni.JObjType { + const $PackageManager_ResolveInfoFlagsType(); + + @override + String get signature => + r"Landroid/content/pm/PackageManager$ResolveInfoFlags;"; + + @override + PackageManager_ResolveInfoFlags fromRef(jni.JObjectPtr ref) => + PackageManager_ResolveInfoFlags.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($PackageManager_ResolveInfoFlagsType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($PackageManager_ResolveInfoFlagsType) && + other is $PackageManager_ResolveInfoFlagsType; + } +} + +/// from: android.content.pm.PackageManager +class PackageManager extends jni.JObject { + @override + late final jni.JObjType $type = type; + + PackageManager.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"android/content/pm/PackageManager"); + + /// The type which includes information such as the signature of this class. + static const type = $PackageManagerType(); + + /// from: static public final int CERT_INPUT_RAW_X509 + static const CERT_INPUT_RAW_X509 = 0; + + /// from: static public final int CERT_INPUT_SHA256 + static const CERT_INPUT_SHA256 = 1; + + /// from: static public final int COMPONENT_ENABLED_STATE_DEFAULT + static const COMPONENT_ENABLED_STATE_DEFAULT = 0; + + /// from: static public final int COMPONENT_ENABLED_STATE_DISABLED + static const COMPONENT_ENABLED_STATE_DISABLED = 2; + + /// from: static public final int COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED + static const COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED = 4; + + /// from: static public final int COMPONENT_ENABLED_STATE_DISABLED_USER + static const COMPONENT_ENABLED_STATE_DISABLED_USER = 3; + + /// from: static public final int COMPONENT_ENABLED_STATE_ENABLED + static const COMPONENT_ENABLED_STATE_ENABLED = 1; + + /// from: static public final int DONT_KILL_APP + static const DONT_KILL_APP = 1; + + /// from: static public final java.lang.String EXTRA_VERIFICATION_ID + static const EXTRA_VERIFICATION_ID = + r"""android.content.pm.extra.VERIFICATION_ID"""; + + /// from: static public final java.lang.String EXTRA_VERIFICATION_RESULT + static const EXTRA_VERIFICATION_RESULT = + r"""android.content.pm.extra.VERIFICATION_RESULT"""; + + /// from: static public final java.lang.String FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS + static const FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS = + r"""android.software.activities_on_secondary_displays"""; + + /// from: static public final java.lang.String FEATURE_APP_WIDGETS + static const FEATURE_APP_WIDGETS = r"""android.software.app_widgets"""; + + /// from: static public final java.lang.String FEATURE_AUDIO_LOW_LATENCY + static const FEATURE_AUDIO_LOW_LATENCY = + r"""android.hardware.audio.low_latency"""; + + /// from: static public final java.lang.String FEATURE_AUDIO_OUTPUT + static const FEATURE_AUDIO_OUTPUT = r"""android.hardware.audio.output"""; + + /// from: static public final java.lang.String FEATURE_AUDIO_PRO + static const FEATURE_AUDIO_PRO = r"""android.hardware.audio.pro"""; + + /// from: static public final java.lang.String FEATURE_AUTOFILL + static const FEATURE_AUTOFILL = r"""android.software.autofill"""; + + /// from: static public final java.lang.String FEATURE_AUTOMOTIVE + static const FEATURE_AUTOMOTIVE = r"""android.hardware.type.automotive"""; + + /// from: static public final java.lang.String FEATURE_BACKUP + static const FEATURE_BACKUP = r"""android.software.backup"""; + + /// from: static public final java.lang.String FEATURE_BLUETOOTH + static const FEATURE_BLUETOOTH = r"""android.hardware.bluetooth"""; + + /// from: static public final java.lang.String FEATURE_BLUETOOTH_LE + static const FEATURE_BLUETOOTH_LE = r"""android.hardware.bluetooth_le"""; + + /// from: static public final java.lang.String FEATURE_CAMERA + static const FEATURE_CAMERA = r"""android.hardware.camera"""; + + /// from: static public final java.lang.String FEATURE_CAMERA_ANY + static const FEATURE_CAMERA_ANY = r"""android.hardware.camera.any"""; + + /// from: static public final java.lang.String FEATURE_CAMERA_AR + static const FEATURE_CAMERA_AR = r"""android.hardware.camera.ar"""; + + /// from: static public final java.lang.String FEATURE_CAMERA_AUTOFOCUS + static const FEATURE_CAMERA_AUTOFOCUS = + r"""android.hardware.camera.autofocus"""; + + /// from: static public final java.lang.String FEATURE_CAMERA_CAPABILITY_MANUAL_POST_PROCESSING + static const FEATURE_CAMERA_CAPABILITY_MANUAL_POST_PROCESSING = + r"""android.hardware.camera.capability.manual_post_processing"""; + + /// from: static public final java.lang.String FEATURE_CAMERA_CAPABILITY_MANUAL_SENSOR + static const FEATURE_CAMERA_CAPABILITY_MANUAL_SENSOR = + r"""android.hardware.camera.capability.manual_sensor"""; + + /// from: static public final java.lang.String FEATURE_CAMERA_CAPABILITY_RAW + static const FEATURE_CAMERA_CAPABILITY_RAW = + r"""android.hardware.camera.capability.raw"""; + + /// from: static public final java.lang.String FEATURE_CAMERA_CONCURRENT + static const FEATURE_CAMERA_CONCURRENT = + r"""android.hardware.camera.concurrent"""; + + /// from: static public final java.lang.String FEATURE_CAMERA_EXTERNAL + static const FEATURE_CAMERA_EXTERNAL = + r"""android.hardware.camera.external"""; + + /// from: static public final java.lang.String FEATURE_CAMERA_FLASH + static const FEATURE_CAMERA_FLASH = r"""android.hardware.camera.flash"""; + + /// from: static public final java.lang.String FEATURE_CAMERA_FRONT + static const FEATURE_CAMERA_FRONT = r"""android.hardware.camera.front"""; + + /// from: static public final java.lang.String FEATURE_CAMERA_LEVEL_FULL + static const FEATURE_CAMERA_LEVEL_FULL = + r"""android.hardware.camera.level.full"""; + + /// from: static public final java.lang.String FEATURE_CANT_SAVE_STATE + static const FEATURE_CANT_SAVE_STATE = + r"""android.software.cant_save_state"""; + + /// from: static public final java.lang.String FEATURE_COMPANION_DEVICE_SETUP + static const FEATURE_COMPANION_DEVICE_SETUP = + r"""android.software.companion_device_setup"""; + + /// from: static public final java.lang.String FEATURE_CONNECTION_SERVICE + static const FEATURE_CONNECTION_SERVICE = + r"""android.software.connectionservice"""; + + /// from: static public final java.lang.String FEATURE_CONSUMER_IR + static const FEATURE_CONSUMER_IR = r"""android.hardware.consumerir"""; + + /// from: static public final java.lang.String FEATURE_CONTROLS + static const FEATURE_CONTROLS = r"""android.software.controls"""; + + /// from: static public final java.lang.String FEATURE_CREDENTIALS + static const FEATURE_CREDENTIALS = r"""android.software.credentials"""; + + /// from: static public final java.lang.String FEATURE_DEVICE_ADMIN + static const FEATURE_DEVICE_ADMIN = r"""android.software.device_admin"""; + + /// from: static public final java.lang.String FEATURE_DEVICE_LOCK + static const FEATURE_DEVICE_LOCK = r"""android.software.device_lock"""; + + /// from: static public final java.lang.String FEATURE_EMBEDDED + static const FEATURE_EMBEDDED = r"""android.hardware.type.embedded"""; + + /// from: static public final java.lang.String FEATURE_ETHERNET + static const FEATURE_ETHERNET = r"""android.hardware.ethernet"""; + + /// from: static public final java.lang.String FEATURE_EXPANDED_PICTURE_IN_PICTURE + static const FEATURE_EXPANDED_PICTURE_IN_PICTURE = + r"""android.software.expanded_picture_in_picture"""; + + /// from: static public final java.lang.String FEATURE_FACE + static const FEATURE_FACE = r"""android.hardware.biometrics.face"""; + + /// from: static public final java.lang.String FEATURE_FAKETOUCH + static const FEATURE_FAKETOUCH = r"""android.hardware.faketouch"""; + + /// from: static public final java.lang.String FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT + static const FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT = + r"""android.hardware.faketouch.multitouch.distinct"""; + + /// from: static public final java.lang.String FEATURE_FAKETOUCH_MULTITOUCH_JAZZHAND + static const FEATURE_FAKETOUCH_MULTITOUCH_JAZZHAND = + r"""android.hardware.faketouch.multitouch.jazzhand"""; + + /// from: static public final java.lang.String FEATURE_FINGERPRINT + static const FEATURE_FINGERPRINT = r"""android.hardware.fingerprint"""; + + /// from: static public final java.lang.String FEATURE_FREEFORM_WINDOW_MANAGEMENT + static const FEATURE_FREEFORM_WINDOW_MANAGEMENT = + r"""android.software.freeform_window_management"""; + + /// from: static public final java.lang.String FEATURE_GAMEPAD + static const FEATURE_GAMEPAD = r"""android.hardware.gamepad"""; + + /// from: static public final java.lang.String FEATURE_HARDWARE_KEYSTORE + static const FEATURE_HARDWARE_KEYSTORE = + r"""android.hardware.hardware_keystore"""; + + /// from: static public final java.lang.String FEATURE_HIFI_SENSORS + static const FEATURE_HIFI_SENSORS = + r"""android.hardware.sensor.hifi_sensors"""; + + /// from: static public final java.lang.String FEATURE_HOME_SCREEN + static const FEATURE_HOME_SCREEN = r"""android.software.home_screen"""; + + /// from: static public final java.lang.String FEATURE_IDENTITY_CREDENTIAL_HARDWARE + static const FEATURE_IDENTITY_CREDENTIAL_HARDWARE = + r"""android.hardware.identity_credential"""; + + /// from: static public final java.lang.String FEATURE_IDENTITY_CREDENTIAL_HARDWARE_DIRECT_ACCESS + static const FEATURE_IDENTITY_CREDENTIAL_HARDWARE_DIRECT_ACCESS = + r"""android.hardware.identity_credential_direct_access"""; + + /// from: static public final java.lang.String FEATURE_INPUT_METHODS + static const FEATURE_INPUT_METHODS = r"""android.software.input_methods"""; + + /// from: static public final java.lang.String FEATURE_IPSEC_TUNNELS + static const FEATURE_IPSEC_TUNNELS = r"""android.software.ipsec_tunnels"""; + + /// from: static public final java.lang.String FEATURE_IPSEC_TUNNEL_MIGRATION + static const FEATURE_IPSEC_TUNNEL_MIGRATION = + r"""android.software.ipsec_tunnel_migration"""; + + /// from: static public final java.lang.String FEATURE_IRIS + static const FEATURE_IRIS = r"""android.hardware.biometrics.iris"""; + + /// from: static public final java.lang.String FEATURE_KEYSTORE_APP_ATTEST_KEY + static const FEATURE_KEYSTORE_APP_ATTEST_KEY = + r"""android.hardware.keystore.app_attest_key"""; + + /// from: static public final java.lang.String FEATURE_KEYSTORE_LIMITED_USE_KEY + static const FEATURE_KEYSTORE_LIMITED_USE_KEY = + r"""android.hardware.keystore.limited_use_key"""; + + /// from: static public final java.lang.String FEATURE_KEYSTORE_SINGLE_USE_KEY + static const FEATURE_KEYSTORE_SINGLE_USE_KEY = + r"""android.hardware.keystore.single_use_key"""; + + /// from: static public final java.lang.String FEATURE_LEANBACK + static const FEATURE_LEANBACK = r"""android.software.leanback"""; + + /// from: static public final java.lang.String FEATURE_LEANBACK_ONLY + static const FEATURE_LEANBACK_ONLY = r"""android.software.leanback_only"""; + + /// from: static public final java.lang.String FEATURE_LIVE_TV + static const FEATURE_LIVE_TV = r"""android.software.live_tv"""; + + /// from: static public final java.lang.String FEATURE_LIVE_WALLPAPER + static const FEATURE_LIVE_WALLPAPER = r"""android.software.live_wallpaper"""; + + /// from: static public final java.lang.String FEATURE_LOCATION + static const FEATURE_LOCATION = r"""android.hardware.location"""; + + /// from: static public final java.lang.String FEATURE_LOCATION_GPS + static const FEATURE_LOCATION_GPS = r"""android.hardware.location.gps"""; + + /// from: static public final java.lang.String FEATURE_LOCATION_NETWORK + static const FEATURE_LOCATION_NETWORK = + r"""android.hardware.location.network"""; + + /// from: static public final java.lang.String FEATURE_MANAGED_USERS + static const FEATURE_MANAGED_USERS = r"""android.software.managed_users"""; + + /// from: static public final java.lang.String FEATURE_MICROPHONE + static const FEATURE_MICROPHONE = r"""android.hardware.microphone"""; + + /// from: static public final java.lang.String FEATURE_MIDI + static const FEATURE_MIDI = r"""android.software.midi"""; + + /// from: static public final java.lang.String FEATURE_NFC + static const FEATURE_NFC = r"""android.hardware.nfc"""; + + /// from: static public final java.lang.String FEATURE_NFC_BEAM + static const FEATURE_NFC_BEAM = r"""android.sofware.nfc.beam"""; + + /// from: static public final java.lang.String FEATURE_NFC_HOST_CARD_EMULATION + static const FEATURE_NFC_HOST_CARD_EMULATION = + r"""android.hardware.nfc.hce"""; + + /// from: static public final java.lang.String FEATURE_NFC_HOST_CARD_EMULATION_NFCF + static const FEATURE_NFC_HOST_CARD_EMULATION_NFCF = + r"""android.hardware.nfc.hcef"""; + + /// from: static public final java.lang.String FEATURE_NFC_OFF_HOST_CARD_EMULATION_ESE + static const FEATURE_NFC_OFF_HOST_CARD_EMULATION_ESE = + r"""android.hardware.nfc.ese"""; + + /// from: static public final java.lang.String FEATURE_NFC_OFF_HOST_CARD_EMULATION_UICC + static const FEATURE_NFC_OFF_HOST_CARD_EMULATION_UICC = + r"""android.hardware.nfc.uicc"""; + + /// from: static public final java.lang.String FEATURE_OPENGLES_DEQP_LEVEL + static const FEATURE_OPENGLES_DEQP_LEVEL = + r"""android.software.opengles.deqp.level"""; + + /// from: static public final java.lang.String FEATURE_OPENGLES_EXTENSION_PACK + static const FEATURE_OPENGLES_EXTENSION_PACK = + r"""android.hardware.opengles.aep"""; + + /// from: static public final java.lang.String FEATURE_PC + static const FEATURE_PC = r"""android.hardware.type.pc"""; + + /// from: static public final java.lang.String FEATURE_PICTURE_IN_PICTURE + static const FEATURE_PICTURE_IN_PICTURE = + r"""android.software.picture_in_picture"""; + + /// from: static public final java.lang.String FEATURE_PRINTING + static const FEATURE_PRINTING = r"""android.software.print"""; + + /// from: static public final java.lang.String FEATURE_RAM_LOW + static const FEATURE_RAM_LOW = r"""android.hardware.ram.low"""; + + /// from: static public final java.lang.String FEATURE_RAM_NORMAL + static const FEATURE_RAM_NORMAL = r"""android.hardware.ram.normal"""; + + /// from: static public final java.lang.String FEATURE_SCREEN_LANDSCAPE + static const FEATURE_SCREEN_LANDSCAPE = + r"""android.hardware.screen.landscape"""; + + /// from: static public final java.lang.String FEATURE_SCREEN_PORTRAIT + static const FEATURE_SCREEN_PORTRAIT = + r"""android.hardware.screen.portrait"""; + + /// from: static public final java.lang.String FEATURE_SECURELY_REMOVES_USERS + static const FEATURE_SECURELY_REMOVES_USERS = + r"""android.software.securely_removes_users"""; + + /// from: static public final java.lang.String FEATURE_SECURE_LOCK_SCREEN + static const FEATURE_SECURE_LOCK_SCREEN = + r"""android.software.secure_lock_screen"""; + + /// from: static public final java.lang.String FEATURE_SECURITY_MODEL_COMPATIBLE + static const FEATURE_SECURITY_MODEL_COMPATIBLE = + r"""android.hardware.security.model.compatible"""; + + /// from: static public final java.lang.String FEATURE_SENSOR_ACCELEROMETER + static const FEATURE_SENSOR_ACCELEROMETER = + r"""android.hardware.sensor.accelerometer"""; + + /// from: static public final java.lang.String FEATURE_SENSOR_ACCELEROMETER_LIMITED_AXES + static const FEATURE_SENSOR_ACCELEROMETER_LIMITED_AXES = + r"""android.hardware.sensor.accelerometer_limited_axes"""; + + /// from: static public final java.lang.String FEATURE_SENSOR_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED + static const FEATURE_SENSOR_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED = + r"""android.hardware.sensor.accelerometer_limited_axes_uncalibrated"""; + + /// from: static public final java.lang.String FEATURE_SENSOR_AMBIENT_TEMPERATURE + static const FEATURE_SENSOR_AMBIENT_TEMPERATURE = + r"""android.hardware.sensor.ambient_temperature"""; + + /// from: static public final java.lang.String FEATURE_SENSOR_BAROMETER + static const FEATURE_SENSOR_BAROMETER = + r"""android.hardware.sensor.barometer"""; + + /// from: static public final java.lang.String FEATURE_SENSOR_COMPASS + static const FEATURE_SENSOR_COMPASS = r"""android.hardware.sensor.compass"""; + + /// from: static public final java.lang.String FEATURE_SENSOR_DYNAMIC_HEAD_TRACKER + static const FEATURE_SENSOR_DYNAMIC_HEAD_TRACKER = + r"""android.hardware.sensor.dynamic.head_tracker"""; + + /// from: static public final java.lang.String FEATURE_SENSOR_GYROSCOPE + static const FEATURE_SENSOR_GYROSCOPE = + r"""android.hardware.sensor.gyroscope"""; + + /// from: static public final java.lang.String FEATURE_SENSOR_GYROSCOPE_LIMITED_AXES + static const FEATURE_SENSOR_GYROSCOPE_LIMITED_AXES = + r"""android.hardware.sensor.gyroscope_limited_axes"""; + + /// from: static public final java.lang.String FEATURE_SENSOR_GYROSCOPE_LIMITED_AXES_UNCALIBRATED + static const FEATURE_SENSOR_GYROSCOPE_LIMITED_AXES_UNCALIBRATED = + r"""android.hardware.sensor.gyroscope_limited_axes_uncalibrated"""; + + /// from: static public final java.lang.String FEATURE_SENSOR_HEADING + static const FEATURE_SENSOR_HEADING = r"""android.hardware.sensor.heading"""; + + /// from: static public final java.lang.String FEATURE_SENSOR_HEART_RATE + static const FEATURE_SENSOR_HEART_RATE = + r"""android.hardware.sensor.heartrate"""; + + /// from: static public final java.lang.String FEATURE_SENSOR_HEART_RATE_ECG + static const FEATURE_SENSOR_HEART_RATE_ECG = + r"""android.hardware.sensor.heartrate.ecg"""; + + /// from: static public final java.lang.String FEATURE_SENSOR_HINGE_ANGLE + static const FEATURE_SENSOR_HINGE_ANGLE = + r"""android.hardware.sensor.hinge_angle"""; + + /// from: static public final java.lang.String FEATURE_SENSOR_LIGHT + static const FEATURE_SENSOR_LIGHT = r"""android.hardware.sensor.light"""; + + /// from: static public final java.lang.String FEATURE_SENSOR_PROXIMITY + static const FEATURE_SENSOR_PROXIMITY = + r"""android.hardware.sensor.proximity"""; + + /// from: static public final java.lang.String FEATURE_SENSOR_RELATIVE_HUMIDITY + static const FEATURE_SENSOR_RELATIVE_HUMIDITY = + r"""android.hardware.sensor.relative_humidity"""; + + /// from: static public final java.lang.String FEATURE_SENSOR_STEP_COUNTER + static const FEATURE_SENSOR_STEP_COUNTER = + r"""android.hardware.sensor.stepcounter"""; + + /// from: static public final java.lang.String FEATURE_SENSOR_STEP_DETECTOR + static const FEATURE_SENSOR_STEP_DETECTOR = + r"""android.hardware.sensor.stepdetector"""; + + /// from: static public final java.lang.String FEATURE_SE_OMAPI_ESE + static const FEATURE_SE_OMAPI_ESE = r"""android.hardware.se.omapi.ese"""; + + /// from: static public final java.lang.String FEATURE_SE_OMAPI_SD + static const FEATURE_SE_OMAPI_SD = r"""android.hardware.se.omapi.sd"""; + + /// from: static public final java.lang.String FEATURE_SE_OMAPI_UICC + static const FEATURE_SE_OMAPI_UICC = r"""android.hardware.se.omapi.uicc"""; + + /// from: static public final java.lang.String FEATURE_SIP + static const FEATURE_SIP = r"""android.software.sip"""; + + /// from: static public final java.lang.String FEATURE_SIP_VOIP + static const FEATURE_SIP_VOIP = r"""android.software.sip.voip"""; + + /// from: static public final java.lang.String FEATURE_STRONGBOX_KEYSTORE + static const FEATURE_STRONGBOX_KEYSTORE = + r"""android.hardware.strongbox_keystore"""; + + /// from: static public final java.lang.String FEATURE_TELECOM + static const FEATURE_TELECOM = r"""android.software.telecom"""; + + /// from: static public final java.lang.String FEATURE_TELEPHONY + static const FEATURE_TELEPHONY = r"""android.hardware.telephony"""; + + /// from: static public final java.lang.String FEATURE_TELEPHONY_CALLING + static const FEATURE_TELEPHONY_CALLING = + r"""android.hardware.telephony.calling"""; + + /// from: static public final java.lang.String FEATURE_TELEPHONY_CDMA + static const FEATURE_TELEPHONY_CDMA = r"""android.hardware.telephony.cdma"""; + + /// from: static public final java.lang.String FEATURE_TELEPHONY_DATA + static const FEATURE_TELEPHONY_DATA = r"""android.hardware.telephony.data"""; + + /// from: static public final java.lang.String FEATURE_TELEPHONY_EUICC + static const FEATURE_TELEPHONY_EUICC = + r"""android.hardware.telephony.euicc"""; + + /// from: static public final java.lang.String FEATURE_TELEPHONY_EUICC_MEP + static const FEATURE_TELEPHONY_EUICC_MEP = + r"""android.hardware.telephony.euicc.mep"""; + + /// from: static public final java.lang.String FEATURE_TELEPHONY_GSM + static const FEATURE_TELEPHONY_GSM = r"""android.hardware.telephony.gsm"""; + + /// from: static public final java.lang.String FEATURE_TELEPHONY_IMS + static const FEATURE_TELEPHONY_IMS = r"""android.hardware.telephony.ims"""; + + /// from: static public final java.lang.String FEATURE_TELEPHONY_MBMS + static const FEATURE_TELEPHONY_MBMS = r"""android.hardware.telephony.mbms"""; + + /// from: static public final java.lang.String FEATURE_TELEPHONY_MESSAGING + static const FEATURE_TELEPHONY_MESSAGING = + r"""android.hardware.telephony.messaging"""; + + /// from: static public final java.lang.String FEATURE_TELEPHONY_RADIO_ACCESS + static const FEATURE_TELEPHONY_RADIO_ACCESS = + r"""android.hardware.telephony.radio.access"""; + + /// from: static public final java.lang.String FEATURE_TELEPHONY_SUBSCRIPTION + static const FEATURE_TELEPHONY_SUBSCRIPTION = + r"""android.hardware.telephony.subscription"""; + + /// from: static public final java.lang.String FEATURE_TELEVISION + static const FEATURE_TELEVISION = r"""android.hardware.type.television"""; + + /// from: static public final java.lang.String FEATURE_TOUCHSCREEN + static const FEATURE_TOUCHSCREEN = r"""android.hardware.touchscreen"""; + + /// from: static public final java.lang.String FEATURE_TOUCHSCREEN_MULTITOUCH + static const FEATURE_TOUCHSCREEN_MULTITOUCH = + r"""android.hardware.touchscreen.multitouch"""; + + /// from: static public final java.lang.String FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT + static const FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT = + r"""android.hardware.touchscreen.multitouch.distinct"""; + + /// from: static public final java.lang.String FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND + static const FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND = + r"""android.hardware.touchscreen.multitouch.jazzhand"""; + + /// from: static public final java.lang.String FEATURE_USB_ACCESSORY + static const FEATURE_USB_ACCESSORY = r"""android.hardware.usb.accessory"""; + + /// from: static public final java.lang.String FEATURE_USB_HOST + static const FEATURE_USB_HOST = r"""android.hardware.usb.host"""; + + /// from: static public final java.lang.String FEATURE_UWB + static const FEATURE_UWB = r"""android.hardware.uwb"""; + + /// from: static public final java.lang.String FEATURE_VERIFIED_BOOT + static const FEATURE_VERIFIED_BOOT = r"""android.software.verified_boot"""; + + /// from: static public final java.lang.String FEATURE_VR_HEADTRACKING + static const FEATURE_VR_HEADTRACKING = + r"""android.hardware.vr.headtracking"""; + + /// from: static public final java.lang.String FEATURE_VR_MODE + static const FEATURE_VR_MODE = r"""android.software.vr.mode"""; + + /// from: static public final java.lang.String FEATURE_VR_MODE_HIGH_PERFORMANCE + static const FEATURE_VR_MODE_HIGH_PERFORMANCE = + r"""android.hardware.vr.high_performance"""; + + /// from: static public final java.lang.String FEATURE_VULKAN_DEQP_LEVEL + static const FEATURE_VULKAN_DEQP_LEVEL = + r"""android.software.vulkan.deqp.level"""; + + /// from: static public final java.lang.String FEATURE_VULKAN_HARDWARE_COMPUTE + static const FEATURE_VULKAN_HARDWARE_COMPUTE = + r"""android.hardware.vulkan.compute"""; + + /// from: static public final java.lang.String FEATURE_VULKAN_HARDWARE_LEVEL + static const FEATURE_VULKAN_HARDWARE_LEVEL = + r"""android.hardware.vulkan.level"""; + + /// from: static public final java.lang.String FEATURE_VULKAN_HARDWARE_VERSION + static const FEATURE_VULKAN_HARDWARE_VERSION = + r"""android.hardware.vulkan.version"""; + + /// from: static public final java.lang.String FEATURE_WALLET_LOCATION_BASED_SUGGESTIONS + static const FEATURE_WALLET_LOCATION_BASED_SUGGESTIONS = + r"""android.software.wallet_location_based_suggestions"""; + + /// from: static public final java.lang.String FEATURE_WATCH + static const FEATURE_WATCH = r"""android.hardware.type.watch"""; + + /// from: static public final java.lang.String FEATURE_WEBVIEW + static const FEATURE_WEBVIEW = r"""android.software.webview"""; + + /// from: static public final java.lang.String FEATURE_WIFI + static const FEATURE_WIFI = r"""android.hardware.wifi"""; + + /// from: static public final java.lang.String FEATURE_WIFI_AWARE + static const FEATURE_WIFI_AWARE = r"""android.hardware.wifi.aware"""; + + /// from: static public final java.lang.String FEATURE_WIFI_DIRECT + static const FEATURE_WIFI_DIRECT = r"""android.hardware.wifi.direct"""; + + /// from: static public final java.lang.String FEATURE_WIFI_PASSPOINT + static const FEATURE_WIFI_PASSPOINT = r"""android.hardware.wifi.passpoint"""; + + /// from: static public final java.lang.String FEATURE_WIFI_RTT + static const FEATURE_WIFI_RTT = r"""android.hardware.wifi.rtt"""; + + /// from: static public final java.lang.String FEATURE_WINDOW_MAGNIFICATION + static const FEATURE_WINDOW_MAGNIFICATION = + r"""android.software.window_magnification"""; + + /// from: static public final int FLAG_PERMISSION_WHITELIST_INSTALLER + static const FLAG_PERMISSION_WHITELIST_INSTALLER = 2; + + /// from: static public final int FLAG_PERMISSION_WHITELIST_SYSTEM + static const FLAG_PERMISSION_WHITELIST_SYSTEM = 1; + + /// from: static public final int FLAG_PERMISSION_WHITELIST_UPGRADE + static const FLAG_PERMISSION_WHITELIST_UPGRADE = 4; + + /// from: static public final int GET_ACTIVITIES + static const GET_ACTIVITIES = 1; + + /// from: static public final int GET_ATTRIBUTIONS + static const GET_ATTRIBUTIONS = -2147483648; + + /// from: static public final long GET_ATTRIBUTIONS_LONG + static const GET_ATTRIBUTIONS_LONG = 2147483648; + + /// from: static public final int GET_CONFIGURATIONS + static const GET_CONFIGURATIONS = 16384; + + /// from: static public final int GET_DISABLED_COMPONENTS + static const GET_DISABLED_COMPONENTS = 512; + + /// from: static public final int GET_DISABLED_UNTIL_USED_COMPONENTS + static const GET_DISABLED_UNTIL_USED_COMPONENTS = 32768; + + /// from: static public final int GET_GIDS + static const GET_GIDS = 256; + + /// from: static public final int GET_INSTRUMENTATION + static const GET_INSTRUMENTATION = 16; + + /// from: static public final int GET_INTENT_FILTERS + static const GET_INTENT_FILTERS = 32; + + /// from: static public final int GET_META_DATA + static const GET_META_DATA = 128; + + /// from: static public final int GET_PERMISSIONS + static const GET_PERMISSIONS = 4096; + + /// from: static public final int GET_PROVIDERS + static const GET_PROVIDERS = 8; + + /// from: static public final int GET_RECEIVERS + static const GET_RECEIVERS = 2; + + /// from: static public final int GET_RESOLVED_FILTER + static const GET_RESOLVED_FILTER = 64; + + /// from: static public final int GET_SERVICES + static const GET_SERVICES = 4; + + /// from: static public final int GET_SHARED_LIBRARY_FILES + static const GET_SHARED_LIBRARY_FILES = 1024; + + /// from: static public final int GET_SIGNATURES + static const GET_SIGNATURES = 64; + + /// from: static public final int GET_SIGNING_CERTIFICATES + static const GET_SIGNING_CERTIFICATES = 134217728; + + /// from: static public final int GET_UNINSTALLED_PACKAGES + static const GET_UNINSTALLED_PACKAGES = 8192; + + /// from: static public final int GET_URI_PERMISSION_PATTERNS + static const GET_URI_PERMISSION_PATTERNS = 2048; + + /// from: static public final int INSTALL_REASON_DEVICE_RESTORE + static const INSTALL_REASON_DEVICE_RESTORE = 2; + + /// from: static public final int INSTALL_REASON_DEVICE_SETUP + static const INSTALL_REASON_DEVICE_SETUP = 3; + + /// from: static public final int INSTALL_REASON_POLICY + static const INSTALL_REASON_POLICY = 1; + + /// from: static public final int INSTALL_REASON_UNKNOWN + static const INSTALL_REASON_UNKNOWN = 0; + + /// from: static public final int INSTALL_REASON_USER + static const INSTALL_REASON_USER = 4; + + /// from: static public final int INSTALL_SCENARIO_BULK + static const INSTALL_SCENARIO_BULK = 2; + + /// from: static public final int INSTALL_SCENARIO_BULK_SECONDARY + static const INSTALL_SCENARIO_BULK_SECONDARY = 3; + + /// from: static public final int INSTALL_SCENARIO_DEFAULT + static const INSTALL_SCENARIO_DEFAULT = 0; + + /// from: static public final int INSTALL_SCENARIO_FAST + static const INSTALL_SCENARIO_FAST = 1; + + /// from: static public final int MATCH_ALL + static const MATCH_ALL = 131072; + + /// from: static public final int MATCH_APEX + static const MATCH_APEX = 1073741824; + + /// from: static public final int MATCH_DEFAULT_ONLY + static const MATCH_DEFAULT_ONLY = 65536; + + /// from: static public final int MATCH_DIRECT_BOOT_AUTO + static const MATCH_DIRECT_BOOT_AUTO = 268435456; + + /// from: static public final int MATCH_DIRECT_BOOT_AWARE + static const MATCH_DIRECT_BOOT_AWARE = 524288; + + /// from: static public final int MATCH_DIRECT_BOOT_UNAWARE + static const MATCH_DIRECT_BOOT_UNAWARE = 262144; + + /// from: static public final int MATCH_DISABLED_COMPONENTS + static const MATCH_DISABLED_COMPONENTS = 512; + + /// from: static public final int MATCH_DISABLED_UNTIL_USED_COMPONENTS + static const MATCH_DISABLED_UNTIL_USED_COMPONENTS = 32768; + + /// from: static public final int MATCH_SYSTEM_ONLY + static const MATCH_SYSTEM_ONLY = 1048576; + + /// from: static public final int MATCH_UNINSTALLED_PACKAGES + static const MATCH_UNINSTALLED_PACKAGES = 8192; + + /// from: static public final long MAXIMUM_VERIFICATION_TIMEOUT + static const MAXIMUM_VERIFICATION_TIMEOUT = 3600000; + + /// from: static public final int PERMISSION_DENIED + static const PERMISSION_DENIED = -1; + + /// from: static public final int PERMISSION_GRANTED + static const PERMISSION_GRANTED = 0; + + /// from: static public final java.lang.String PROPERTY_COMPAT_OVERRIDE_LANDSCAPE_TO_PORTRAIT + static const PROPERTY_COMPAT_OVERRIDE_LANDSCAPE_TO_PORTRAIT = + r"""android.camera.PROPERTY_COMPAT_OVERRIDE_LANDSCAPE_TO_PORTRAIT"""; + + /// from: static public final java.lang.String PROPERTY_MEDIA_CAPABILITIES + static const PROPERTY_MEDIA_CAPABILITIES = + r"""android.media.PROPERTY_MEDIA_CAPABILITIES"""; + + /// from: static public final java.lang.String PROPERTY_SELF_CERTIFIED_NETWORK_CAPABILITIES + static const PROPERTY_SELF_CERTIFIED_NETWORK_CAPABILITIES = + r"""android.net.PROPERTY_SELF_CERTIFIED_NETWORK_CAPABILITIES"""; + + /// from: static public final java.lang.String PROPERTY_SPECIAL_USE_FGS_SUBTYPE + static const PROPERTY_SPECIAL_USE_FGS_SUBTYPE = + r"""android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"""; + + /// from: static public final int SIGNATURE_FIRST_NOT_SIGNED + static const SIGNATURE_FIRST_NOT_SIGNED = -1; + + /// from: static public final int SIGNATURE_MATCH + static const SIGNATURE_MATCH = 0; + + /// from: static public final int SIGNATURE_NEITHER_SIGNED + static const SIGNATURE_NEITHER_SIGNED = 1; + + /// from: static public final int SIGNATURE_NO_MATCH + static const SIGNATURE_NO_MATCH = -3; + + /// from: static public final int SIGNATURE_SECOND_NOT_SIGNED + static const SIGNATURE_SECOND_NOT_SIGNED = -2; + + /// from: static public final int SIGNATURE_UNKNOWN_PACKAGE + static const SIGNATURE_UNKNOWN_PACKAGE = -4; + + /// from: static public final int SYNCHRONOUS + static const SYNCHRONOUS = 2; + + static final _id_TRUST_ALL = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"TRUST_ALL", + r"Ljava/util/List;", + ); + + /// from: static public final java.util.List TRUST_ALL + /// The returned object must be released after use, by calling the [release] method. + static jni.JList get TRUST_ALL => + const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors + .getStaticField( + _class.reference, _id_TRUST_ALL, jni.JniCallType.objectType) + .object); + + static final _id_TRUST_NONE = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"TRUST_NONE", + r"Ljava/util/List;", + ); + + /// from: static public final java.util.List TRUST_NONE + /// The returned object must be released after use, by calling the [release] method. + static jni.JList get TRUST_NONE => + const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors + .getStaticField( + _class.reference, _id_TRUST_NONE, jni.JniCallType.objectType) + .object); + + /// from: static public final int VERIFICATION_ALLOW + static const VERIFICATION_ALLOW = 1; + + /// from: static public final int VERIFICATION_REJECT + static const VERIFICATION_REJECT = -1; + + /// from: static public final int VERSION_CODE_HIGHEST + static const VERSION_CODE_HIGHEST = -1; + + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory PackageManager() { + return PackageManager.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_getPackageInfo = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getPackageInfo", + r"(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;"); + + /// from: public abstract android.content.pm.PackageInfo getPackageInfo(java.lang.String string, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getPackageInfo( + jni.JString string, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getPackageInfo, + jni.JniCallType.objectType, + [string.reference, jni.JValueInt(i)]).object); + } + + static final _id_getPackageInfo1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getPackageInfo", + r"(Ljava/lang/String;Landroid/content/pm/PackageManager$PackageInfoFlags;)Landroid/content/pm/PackageInfo;"); + + /// from: public android.content.pm.PackageInfo getPackageInfo(java.lang.String string, android.content.pm.PackageManager$PackageInfoFlags packageInfoFlags) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getPackageInfo1( + jni.JString string, + PackageManager_PackageInfoFlags packageInfoFlags, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getPackageInfo1, + jni.JniCallType.objectType, + [string.reference, packageInfoFlags.reference]).object); + } + + static final _id_getPackageInfo2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getPackageInfo", + r"(Landroid/content/pm/VersionedPackage;I)Landroid/content/pm/PackageInfo;"); + + /// from: public abstract android.content.pm.PackageInfo getPackageInfo(android.content.pm.VersionedPackage versionedPackage, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getPackageInfo2( + jni.JObject versionedPackage, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getPackageInfo2, + jni.JniCallType.objectType, + [versionedPackage.reference, jni.JValueInt(i)]).object); + } + + static final _id_getPackageInfo3 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getPackageInfo", + r"(Landroid/content/pm/VersionedPackage;Landroid/content/pm/PackageManager$PackageInfoFlags;)Landroid/content/pm/PackageInfo;"); + + /// from: public android.content.pm.PackageInfo getPackageInfo(android.content.pm.VersionedPackage versionedPackage, android.content.pm.PackageManager$PackageInfoFlags packageInfoFlags) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getPackageInfo3( + jni.JObject versionedPackage, + PackageManager_PackageInfoFlags packageInfoFlags, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getPackageInfo3, + jni.JniCallType.objectType, + [versionedPackage.reference, packageInfoFlags.reference]).object); + } + + static final _id_currentToCanonicalPackageNames = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"currentToCanonicalPackageNames", + r"([Ljava/lang/String;)[Ljava/lang/String;"); + + /// from: public abstract java.lang.String[] currentToCanonicalPackageNames(java.lang.String[] strings) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray currentToCanonicalPackageNames( + jni.JArray strings, + ) { + return const jni.JArrayType(jni.JStringType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_currentToCanonicalPackageNames, + jni.JniCallType.objectType, [strings.reference]).object); + } + + static final _id_canonicalToCurrentPackageNames = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"canonicalToCurrentPackageNames", + r"([Ljava/lang/String;)[Ljava/lang/String;"); + + /// from: public abstract java.lang.String[] canonicalToCurrentPackageNames(java.lang.String[] strings) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray canonicalToCurrentPackageNames( + jni.JArray strings, + ) { + return const jni.JArrayType(jni.JStringType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_canonicalToCurrentPackageNames, + jni.JniCallType.objectType, [strings.reference]).object); + } + + static final _id_getLaunchIntentForPackage = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getLaunchIntentForPackage", + r"(Ljava/lang/String;)Landroid/content/Intent;"); + + /// from: public abstract android.content.Intent getLaunchIntentForPackage(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Intent getLaunchIntentForPackage( + jni.JString string, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getLaunchIntentForPackage, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getLeanbackLaunchIntentForPackage = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getLeanbackLaunchIntentForPackage", + r"(Ljava/lang/String;)Landroid/content/Intent;"); + + /// from: public abstract android.content.Intent getLeanbackLaunchIntentForPackage(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Intent getLeanbackLaunchIntentForPackage( + jni.JString string, + ) { + return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getLeanbackLaunchIntentForPackage, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getLaunchIntentSenderForPackage = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getLaunchIntentSenderForPackage", + r"(Ljava/lang/String;)Landroid/content/IntentSender;"); + + /// from: public android.content.IntentSender getLaunchIntentSenderForPackage(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getLaunchIntentSenderForPackage( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getLaunchIntentSenderForPackage, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getPackageGids = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getPackageGids", r"(Ljava/lang/String;)[I"); + + /// from: public abstract int[] getPackageGids(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getPackageGids( + jni.JString string, + ) { + return const jni.JArrayType(jni.jintType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getPackageGids, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getPackageGids1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getPackageGids", r"(Ljava/lang/String;I)[I"); + + /// from: public abstract int[] getPackageGids(java.lang.String string, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getPackageGids1( + jni.JString string, + int i, + ) { + return const jni.JArrayType(jni.jintType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_getPackageGids1, + jni.JniCallType.objectType, + [string.reference, jni.JValueInt(i)]).object); + } + + static final _id_getPackageGids2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getPackageGids", + r"(Ljava/lang/String;Landroid/content/pm/PackageManager$PackageInfoFlags;)[I"); + + /// from: public int[] getPackageGids(java.lang.String string, android.content.pm.PackageManager$PackageInfoFlags packageInfoFlags) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getPackageGids2( + jni.JString string, + PackageManager_PackageInfoFlags packageInfoFlags, + ) { + return const jni.JArrayType(jni.jintType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_getPackageGids2, + jni.JniCallType.objectType, + [string.reference, packageInfoFlags.reference]).object); + } + + static final _id_getPackageUid = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getPackageUid", r"(Ljava/lang/String;I)I"); + + /// from: public abstract int getPackageUid(java.lang.String string, int i) + int getPackageUid( + jni.JString string, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_getPackageUid, + jni.JniCallType.intType, [string.reference, jni.JValueInt(i)]).integer; + } + + static final _id_getPackageUid1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getPackageUid", + r"(Ljava/lang/String;Landroid/content/pm/PackageManager$PackageInfoFlags;)I"); + + /// from: public int getPackageUid(java.lang.String string, android.content.pm.PackageManager$PackageInfoFlags packageInfoFlags) + int getPackageUid1( + jni.JString string, + PackageManager_PackageInfoFlags packageInfoFlags, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getPackageUid1, + jni.JniCallType.intType, + [string.reference, packageInfoFlags.reference]).integer; + } + + static final _id_getPermissionInfo = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getPermissionInfo", + r"(Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;"); + + /// from: public abstract android.content.pm.PermissionInfo getPermissionInfo(java.lang.String string, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getPermissionInfo( + jni.JString string, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getPermissionInfo, + jni.JniCallType.objectType, + [string.reference, jni.JValueInt(i)]).object); + } + + static final _id_queryPermissionsByGroup = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"queryPermissionsByGroup", + r"(Ljava/lang/String;I)Ljava/util/List;"); + + /// from: public abstract java.util.List queryPermissionsByGroup(java.lang.String string, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JList queryPermissionsByGroup( + jni.JString string, + int i, + ) { + return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_queryPermissionsByGroup, + jni.JniCallType.objectType, + [string.reference, jni.JValueInt(i)]).object); + } + + static final _id_getPermissionGroupInfo = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getPermissionGroupInfo", + r"(Ljava/lang/String;I)Landroid/content/pm/PermissionGroupInfo;"); + + /// from: public abstract android.content.pm.PermissionGroupInfo getPermissionGroupInfo(java.lang.String string, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getPermissionGroupInfo( + jni.JString string, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getPermissionGroupInfo, + jni.JniCallType.objectType, + [string.reference, jni.JValueInt(i)]).object); + } + + static final _id_getAllPermissionGroups = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getAllPermissionGroups", r"(I)Ljava/util/List;"); + + /// from: public abstract java.util.List getAllPermissionGroups(int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JList getAllPermissionGroups( + int i, + ) { + return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getAllPermissionGroups, + jni.JniCallType.objectType, [jni.JValueInt(i)]).object); + } + + static final _id_getPlatformPermissionsForGroup = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getPlatformPermissionsForGroup", + r"(Ljava/lang/String;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V"); + + /// from: public void getPlatformPermissionsForGroup(java.lang.String string, java.util.concurrent.Executor executor, java.util.function.Consumer consumer) + void getPlatformPermissionsForGroup( + jni.JString string, + Executor executor, + jni.JObject consumer, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getPlatformPermissionsForGroup, + jni.JniCallType.voidType, + [string.reference, executor.reference, consumer.reference]).check(); + } + + static final _id_getGroupOfPlatformPermission = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getGroupOfPlatformPermission", + r"(Ljava/lang/String;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V"); + + /// from: public void getGroupOfPlatformPermission(java.lang.String string, java.util.concurrent.Executor executor, java.util.function.Consumer consumer) + void getGroupOfPlatformPermission( + jni.JString string, + Executor executor, + jni.JObject consumer, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getGroupOfPlatformPermission, + jni.JniCallType.voidType, + [string.reference, executor.reference, consumer.reference]).check(); + } + + static final _id_getApplicationInfo = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getApplicationInfo", + r"(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;"); + + /// from: public abstract android.content.pm.ApplicationInfo getApplicationInfo(java.lang.String string, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getApplicationInfo( + jni.JString string, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getApplicationInfo, + jni.JniCallType.objectType, + [string.reference, jni.JValueInt(i)]).object); + } + + static final _id_getApplicationInfo1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getApplicationInfo", + r"(Ljava/lang/String;Landroid/content/pm/PackageManager$ApplicationInfoFlags;)Landroid/content/pm/ApplicationInfo;"); + + /// from: public android.content.pm.ApplicationInfo getApplicationInfo(java.lang.String string, android.content.pm.PackageManager$ApplicationInfoFlags applicationInfoFlags) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getApplicationInfo1( + jni.JString string, + PackageManager_ApplicationInfoFlags applicationInfoFlags, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getApplicationInfo1, + jni.JniCallType.objectType, + [string.reference, applicationInfoFlags.reference]).object); + } + + static final _id_getTargetSdkVersion = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getTargetSdkVersion", r"(Ljava/lang/String;)I"); + + /// from: public int getTargetSdkVersion(java.lang.String string) + int getTargetSdkVersion( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getTargetSdkVersion, + jni.JniCallType.intType, + [string.reference]).integer; + } + + static final _id_getActivityInfo = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getActivityInfo", + r"(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;"); + + /// from: public abstract android.content.pm.ActivityInfo getActivityInfo(android.content.ComponentName componentName, int i) + /// The returned object must be released after use, by calling the [release] method. + ActivityInfo getActivityInfo( + jni.JObject componentName, + int i, + ) { + return const $ActivityInfoType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_getActivityInfo, + jni.JniCallType.objectType, + [componentName.reference, jni.JValueInt(i)]).object); + } + + static final _id_getActivityInfo1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getActivityInfo", + r"(Landroid/content/ComponentName;Landroid/content/pm/PackageManager$ComponentInfoFlags;)Landroid/content/pm/ActivityInfo;"); + + /// from: public android.content.pm.ActivityInfo getActivityInfo(android.content.ComponentName componentName, android.content.pm.PackageManager$ComponentInfoFlags componentInfoFlags) + /// The returned object must be released after use, by calling the [release] method. + ActivityInfo getActivityInfo1( + jni.JObject componentName, + PackageManager_ComponentInfoFlags componentInfoFlags, + ) { + return const $ActivityInfoType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_getActivityInfo1, + jni.JniCallType.objectType, + [componentName.reference, componentInfoFlags.reference]).object); + } + + static final _id_getReceiverInfo = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getReceiverInfo", + r"(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;"); + + /// from: public abstract android.content.pm.ActivityInfo getReceiverInfo(android.content.ComponentName componentName, int i) + /// The returned object must be released after use, by calling the [release] method. + ActivityInfo getReceiverInfo( + jni.JObject componentName, + int i, + ) { + return const $ActivityInfoType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_getReceiverInfo, + jni.JniCallType.objectType, + [componentName.reference, jni.JValueInt(i)]).object); + } + + static final _id_getReceiverInfo1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getReceiverInfo", + r"(Landroid/content/ComponentName;Landroid/content/pm/PackageManager$ComponentInfoFlags;)Landroid/content/pm/ActivityInfo;"); + + /// from: public android.content.pm.ActivityInfo getReceiverInfo(android.content.ComponentName componentName, android.content.pm.PackageManager$ComponentInfoFlags componentInfoFlags) + /// The returned object must be released after use, by calling the [release] method. + ActivityInfo getReceiverInfo1( + jni.JObject componentName, + PackageManager_ComponentInfoFlags componentInfoFlags, + ) { + return const $ActivityInfoType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_getReceiverInfo1, + jni.JniCallType.objectType, + [componentName.reference, componentInfoFlags.reference]).object); + } + + static final _id_getServiceInfo = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getServiceInfo", + r"(Landroid/content/ComponentName;I)Landroid/content/pm/ServiceInfo;"); + + /// from: public abstract android.content.pm.ServiceInfo getServiceInfo(android.content.ComponentName componentName, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getServiceInfo( + jni.JObject componentName, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getServiceInfo, + jni.JniCallType.objectType, + [componentName.reference, jni.JValueInt(i)]).object); + } + + static final _id_getServiceInfo1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getServiceInfo", + r"(Landroid/content/ComponentName;Landroid/content/pm/PackageManager$ComponentInfoFlags;)Landroid/content/pm/ServiceInfo;"); + + /// from: public android.content.pm.ServiceInfo getServiceInfo(android.content.ComponentName componentName, android.content.pm.PackageManager$ComponentInfoFlags componentInfoFlags) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getServiceInfo1( + jni.JObject componentName, + PackageManager_ComponentInfoFlags componentInfoFlags, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getServiceInfo1, + jni.JniCallType.objectType, + [componentName.reference, componentInfoFlags.reference]).object); + } + + static final _id_getProviderInfo = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getProviderInfo", + r"(Landroid/content/ComponentName;I)Landroid/content/pm/ProviderInfo;"); + + /// from: public abstract android.content.pm.ProviderInfo getProviderInfo(android.content.ComponentName componentName, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getProviderInfo( + jni.JObject componentName, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getProviderInfo, + jni.JniCallType.objectType, + [componentName.reference, jni.JValueInt(i)]).object); + } + + static final _id_getProviderInfo1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getProviderInfo", + r"(Landroid/content/ComponentName;Landroid/content/pm/PackageManager$ComponentInfoFlags;)Landroid/content/pm/ProviderInfo;"); + + /// from: public android.content.pm.ProviderInfo getProviderInfo(android.content.ComponentName componentName, android.content.pm.PackageManager$ComponentInfoFlags componentInfoFlags) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getProviderInfo1( + jni.JObject componentName, + PackageManager_ComponentInfoFlags componentInfoFlags, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getProviderInfo1, + jni.JniCallType.objectType, + [componentName.reference, componentInfoFlags.reference]).object); + } + + static final _id_getModuleInfo = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getModuleInfo", + r"(Ljava/lang/String;I)Landroid/content/pm/ModuleInfo;"); + + /// from: public android.content.pm.ModuleInfo getModuleInfo(java.lang.String string, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getModuleInfo( + jni.JString string, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getModuleInfo, + jni.JniCallType.objectType, + [string.reference, jni.JValueInt(i)]).object); + } + + static final _id_getInstalledModules = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getInstalledModules", r"(I)Ljava/util/List;"); + + /// from: public java.util.List getInstalledModules(int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JList getInstalledModules( + int i, + ) { + return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getInstalledModules, + jni.JniCallType.objectType, [jni.JValueInt(i)]).object); + } + + static final _id_getInstalledPackages = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getInstalledPackages", r"(I)Ljava/util/List;"); + + /// from: public abstract java.util.List getInstalledPackages(int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JList getInstalledPackages( + int i, + ) { + return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getInstalledPackages, + jni.JniCallType.objectType, [jni.JValueInt(i)]).object); + } + + static final _id_getInstalledPackages1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getInstalledPackages", + r"(Landroid/content/pm/PackageManager$PackageInfoFlags;)Ljava/util/List;"); + + /// from: public java.util.List getInstalledPackages(android.content.pm.PackageManager$PackageInfoFlags packageInfoFlags) + /// The returned object must be released after use, by calling the [release] method. + jni.JList getInstalledPackages1( + PackageManager_PackageInfoFlags packageInfoFlags, + ) { + return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getInstalledPackages1, + jni.JniCallType.objectType, [packageInfoFlags.reference]).object); + } + + static final _id_getPackagesHoldingPermissions = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getPackagesHoldingPermissions", + r"([Ljava/lang/String;I)Ljava/util/List;"); + + /// from: public abstract java.util.List getPackagesHoldingPermissions(java.lang.Object[] strings, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JList getPackagesHoldingPermissions( + jni.JArray strings, + int i, + ) { + return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_getPackagesHoldingPermissions, + jni.JniCallType.objectType, + [strings.reference, jni.JValueInt(i)]).object); + } + + static final _id_getPackagesHoldingPermissions1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getPackagesHoldingPermissions", + r"([Ljava/lang/String;Landroid/content/pm/PackageManager$PackageInfoFlags;)Ljava/util/List;"); + + /// from: public java.util.List getPackagesHoldingPermissions(java.lang.Object[] strings, android.content.pm.PackageManager$PackageInfoFlags packageInfoFlags) + /// The returned object must be released after use, by calling the [release] method. + jni.JList getPackagesHoldingPermissions1( + jni.JArray strings, + PackageManager_PackageInfoFlags packageInfoFlags, + ) { + return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_getPackagesHoldingPermissions1, + jni.JniCallType.objectType, + [strings.reference, packageInfoFlags.reference]).object); + } + + static final _id_checkPermission = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"checkPermission", + r"(Ljava/lang/String;Ljava/lang/String;)I"); + + /// from: public abstract int checkPermission(java.lang.String string, java.lang.String string1) + int checkPermission( + jni.JString string, + jni.JString string1, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_checkPermission, + jni.JniCallType.intType, [string.reference, string1.reference]).integer; + } + + static final _id_isPermissionRevokedByPolicy = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isPermissionRevokedByPolicy", + r"(Ljava/lang/String;Ljava/lang/String;)Z"); + + /// from: public abstract boolean isPermissionRevokedByPolicy(java.lang.String string, java.lang.String string1) + bool isPermissionRevokedByPolicy( + jni.JString string, + jni.JString string1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_isPermissionRevokedByPolicy, + jni.JniCallType.booleanType, + [string.reference, string1.reference]).boolean; + } + + static final _id_addPermission = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addPermission", + r"(Landroid/content/pm/PermissionInfo;)Z"); + + /// from: public abstract boolean addPermission(android.content.pm.PermissionInfo permissionInfo) + bool addPermission( + jni.JObject permissionInfo, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_addPermission, + jni.JniCallType.booleanType, [permissionInfo.reference]).boolean; + } + + static final _id_addPermissionAsync = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addPermissionAsync", + r"(Landroid/content/pm/PermissionInfo;)Z"); + + /// from: public abstract boolean addPermissionAsync(android.content.pm.PermissionInfo permissionInfo) + bool addPermissionAsync( + jni.JObject permissionInfo, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addPermissionAsync, + jni.JniCallType.booleanType, + [permissionInfo.reference]).boolean; + } + + static final _id_removePermission = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"removePermission", r"(Ljava/lang/String;)V"); + + /// from: public abstract void removePermission(java.lang.String string) + void removePermission( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_removePermission, + jni.JniCallType.voidType, [string.reference]).check(); + } + + static final _id_getWhitelistedRestrictedPermissions = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getWhitelistedRestrictedPermissions", + r"(Ljava/lang/String;I)Ljava/util/Set;"); + + /// from: public java.util.Set getWhitelistedRestrictedPermissions(java.lang.String string, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JSet getWhitelistedRestrictedPermissions( + jni.JString string, + int i, + ) { + return const jni.JSetType(jni.JStringType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_getWhitelistedRestrictedPermissions, + jni.JniCallType.objectType, + [string.reference, jni.JValueInt(i)]).object); + } + + static final _id_addWhitelistedRestrictedPermission = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"addWhitelistedRestrictedPermission", + r"(Ljava/lang/String;Ljava/lang/String;I)Z"); + + /// from: public boolean addWhitelistedRestrictedPermission(java.lang.String string, java.lang.String string1, int i) + bool addWhitelistedRestrictedPermission( + jni.JString string, + jni.JString string1, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addWhitelistedRestrictedPermission, + jni.JniCallType.booleanType, + [string.reference, string1.reference, jni.JValueInt(i)]).boolean; + } + + static final _id_removeWhitelistedRestrictedPermission = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"removeWhitelistedRestrictedPermission", + r"(Ljava/lang/String;Ljava/lang/String;I)Z"); + + /// from: public boolean removeWhitelistedRestrictedPermission(java.lang.String string, java.lang.String string1, int i) + bool removeWhitelistedRestrictedPermission( + jni.JString string, + jni.JString string1, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_removeWhitelistedRestrictedPermission, + jni.JniCallType.booleanType, + [string.reference, string1.reference, jni.JValueInt(i)]).boolean; + } + + static final _id_setAutoRevokeWhitelisted = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setAutoRevokeWhitelisted", r"(Ljava/lang/String;Z)Z"); + + /// from: public boolean setAutoRevokeWhitelisted(java.lang.String string, boolean z) + bool setAutoRevokeWhitelisted( + jni.JString string, + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setAutoRevokeWhitelisted, + jni.JniCallType.booleanType, + [string.reference, z ? 1 : 0]).boolean; + } + + static final _id_isAutoRevokeWhitelisted = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"isAutoRevokeWhitelisted", r"(Ljava/lang/String;)Z"); + + /// from: public boolean isAutoRevokeWhitelisted(java.lang.String string) + bool isAutoRevokeWhitelisted( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_isAutoRevokeWhitelisted, + jni.JniCallType.booleanType, + [string.reference]).boolean; + } + + static final _id_getBackgroundPermissionOptionLabel = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getBackgroundPermissionOptionLabel", + r"()Ljava/lang/CharSequence;"); + + /// from: public java.lang.CharSequence getBackgroundPermissionOptionLabel() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getBackgroundPermissionOptionLabel() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getBackgroundPermissionOptionLabel, + jni.JniCallType.objectType, []).object); + } + + static final _id_checkSignatures = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"checkSignatures", + r"(Ljava/lang/String;Ljava/lang/String;)I"); + + /// from: public abstract int checkSignatures(java.lang.String string, java.lang.String string1) + int checkSignatures( + jni.JString string, + jni.JString string1, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_checkSignatures, + jni.JniCallType.intType, [string.reference, string1.reference]).integer; + } + + static final _id_checkSignatures1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"checkSignatures", r"(II)I"); + + /// from: public abstract int checkSignatures(int i, int i1) + int checkSignatures1( + int i, + int i1, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_checkSignatures1, + jni.JniCallType.intType, [jni.JValueInt(i), jni.JValueInt(i1)]).integer; + } + + static final _id_getPackagesForUid = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getPackagesForUid", r"(I)[Ljava/lang/String;"); + + /// from: public abstract java.lang.String[] getPackagesForUid(int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getPackagesForUid( + int i, + ) { + return const jni.JArrayType(jni.JStringType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getPackagesForUid, + jni.JniCallType.objectType, [jni.JValueInt(i)]).object); + } + + static final _id_getNameForUid = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getNameForUid", r"(I)Ljava/lang/String;"); + + /// from: public abstract java.lang.String getNameForUid(int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JString getNameForUid( + int i, + ) { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getNameForUid, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_getInstalledApplications = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getInstalledApplications", r"(I)Ljava/util/List;"); + + /// from: public abstract java.util.List getInstalledApplications(int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JList getInstalledApplications( + int i, + ) { + return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getInstalledApplications, + jni.JniCallType.objectType, [jni.JValueInt(i)]).object); + } + + static final _id_getInstalledApplications1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getInstalledApplications", + r"(Landroid/content/pm/PackageManager$ApplicationInfoFlags;)Ljava/util/List;"); + + /// from: public java.util.List getInstalledApplications(android.content.pm.PackageManager$ApplicationInfoFlags applicationInfoFlags) + /// The returned object must be released after use, by calling the [release] method. + jni.JList getInstalledApplications1( + PackageManager_ApplicationInfoFlags applicationInfoFlags, + ) { + return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_getInstalledApplications1, + jni.JniCallType.objectType, + [applicationInfoFlags.reference]).object); + } + + static final _id_isInstantApp = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isInstantApp", r"()Z"); + + /// from: public abstract boolean isInstantApp() + bool isInstantApp() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isInstantApp, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_isInstantApp1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"isInstantApp", r"(Ljava/lang/String;)Z"); + + /// from: public abstract boolean isInstantApp(java.lang.String string) + bool isInstantApp1( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_isInstantApp1, + jni.JniCallType.booleanType, [string.reference]).boolean; + } + + static final _id_getInstantAppCookieMaxBytes = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getInstantAppCookieMaxBytes", r"()I"); + + /// from: public abstract int getInstantAppCookieMaxBytes() + int getInstantAppCookieMaxBytes() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_getInstantAppCookieMaxBytes, jni.JniCallType.intType, []).integer; + } + + static final _id_getInstantAppCookie = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getInstantAppCookie", r"()[B"); + + /// from: public abstract byte[] getInstantAppCookie() + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getInstantAppCookie() { + return const jni.JArrayType(jni.jbyteType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getInstantAppCookie, + jni.JniCallType.objectType, []).object); + } + + static final _id_clearInstantAppCookie = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"clearInstantAppCookie", r"()V"); + + /// from: public abstract void clearInstantAppCookie() + void clearInstantAppCookie() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_clearInstantAppCookie, jni.JniCallType.voidType, []).check(); + } + + static final _id_updateInstantAppCookie = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"updateInstantAppCookie", r"([B)V"); + + /// from: public abstract void updateInstantAppCookie(byte[] bs) + void updateInstantAppCookie( + jni.JArray bs, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_updateInstantAppCookie, + jni.JniCallType.voidType, + [bs.reference]).check(); + } + + static final _id_getSystemSharedLibraryNames = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getSystemSharedLibraryNames", + r"()[Ljava/lang/String;"); + + /// from: public abstract java.lang.String[] getSystemSharedLibraryNames() + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getSystemSharedLibraryNames() { + return const jni.JArrayType(jni.JStringType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getSystemSharedLibraryNames, + jni.JniCallType.objectType, []).object); + } + + static final _id_getSharedLibraries = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getSharedLibraries", r"(I)Ljava/util/List;"); + + /// from: public abstract java.util.List getSharedLibraries(int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JList getSharedLibraries( + int i, + ) { + return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getSharedLibraries, + jni.JniCallType.objectType, [jni.JValueInt(i)]).object); + } + + static final _id_getSharedLibraries1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getSharedLibraries", + r"(Landroid/content/pm/PackageManager$PackageInfoFlags;)Ljava/util/List;"); + + /// from: public java.util.List getSharedLibraries(android.content.pm.PackageManager$PackageInfoFlags packageInfoFlags) + /// The returned object must be released after use, by calling the [release] method. + jni.JList getSharedLibraries1( + PackageManager_PackageInfoFlags packageInfoFlags, + ) { + return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getSharedLibraries1, + jni.JniCallType.objectType, [packageInfoFlags.reference]).object); + } + + static final _id_getChangedPackages = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getChangedPackages", + r"(I)Landroid/content/pm/ChangedPackages;"); + + /// from: public abstract android.content.pm.ChangedPackages getChangedPackages(int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getChangedPackages( + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getChangedPackages, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_getSystemAvailableFeatures = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getSystemAvailableFeatures", + r"()[Landroid/content/pm/FeatureInfo;"); + + /// from: public abstract android.content.pm.FeatureInfo[] getSystemAvailableFeatures() + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getSystemAvailableFeatures() { + return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getSystemAvailableFeatures, + jni.JniCallType.objectType, []).object); + } + + static final _id_hasSystemFeature = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"hasSystemFeature", r"(Ljava/lang/String;)Z"); + + /// from: public abstract boolean hasSystemFeature(java.lang.String string) + bool hasSystemFeature( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_hasSystemFeature, + jni.JniCallType.booleanType, [string.reference]).boolean; + } + + static final _id_hasSystemFeature1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"hasSystemFeature", r"(Ljava/lang/String;I)Z"); + + /// from: public abstract boolean hasSystemFeature(java.lang.String string, int i) + bool hasSystemFeature1( + jni.JString string, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_hasSystemFeature1, + jni.JniCallType.booleanType, + [string.reference, jni.JValueInt(i)]).boolean; + } + + static final _id_resolveActivity = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"resolveActivity", + r"(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;"); + + /// from: public abstract android.content.pm.ResolveInfo resolveActivity(android.content.Intent intent, int i) + /// The returned object must be released after use, by calling the [release] method. + ResolveInfo resolveActivity( + Intent intent, + int i, + ) { + return const $ResolveInfoType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_resolveActivity, + jni.JniCallType.objectType, + [intent.reference, jni.JValueInt(i)]).object); + } + + static final _id_resolveActivity1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"resolveActivity", + r"(Landroid/content/Intent;Landroid/content/pm/PackageManager$ResolveInfoFlags;)Landroid/content/pm/ResolveInfo;"); + + /// from: public android.content.pm.ResolveInfo resolveActivity(android.content.Intent intent, android.content.pm.PackageManager$ResolveInfoFlags resolveInfoFlags) + /// The returned object must be released after use, by calling the [release] method. + ResolveInfo resolveActivity1( + Intent intent, + PackageManager_ResolveInfoFlags resolveInfoFlags, + ) { + return const $ResolveInfoType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_resolveActivity1, + jni.JniCallType.objectType, + [intent.reference, resolveInfoFlags.reference]).object); + } + + static final _id_queryIntentActivities = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"queryIntentActivities", + r"(Landroid/content/Intent;I)Ljava/util/List;"); + + /// from: public abstract java.util.List queryIntentActivities(android.content.Intent intent, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JList queryIntentActivities( + Intent intent, + int i, + ) { + return const jni.JListType($ResolveInfoType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_queryIntentActivities, + jni.JniCallType.objectType, + [intent.reference, jni.JValueInt(i)]).object); + } + + static final _id_queryIntentActivities1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"queryIntentActivities", + r"(Landroid/content/Intent;Landroid/content/pm/PackageManager$ResolveInfoFlags;)Ljava/util/List;"); + + /// from: public java.util.List queryIntentActivities(android.content.Intent intent, android.content.pm.PackageManager$ResolveInfoFlags resolveInfoFlags) + /// The returned object must be released after use, by calling the [release] method. + jni.JList queryIntentActivities1( + Intent intent, + PackageManager_ResolveInfoFlags resolveInfoFlags, + ) { + return const jni.JListType($ResolveInfoType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_queryIntentActivities1, + jni.JniCallType.objectType, + [intent.reference, resolveInfoFlags.reference]).object); + } + + static final _id_queryIntentActivityOptions = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"queryIntentActivityOptions", + r"(Landroid/content/ComponentName;[Landroid/content/Intent;Landroid/content/Intent;I)Ljava/util/List;"); + + /// from: public abstract java.util.List queryIntentActivityOptions(android.content.ComponentName componentName, java.lang.Object[] intents, android.content.Intent intent, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JList queryIntentActivityOptions( + jni.JObject componentName, + jni.JArray intents, + Intent intent, + int i, + ) { + return const jni.JListType($ResolveInfoType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_queryIntentActivityOptions, + jni.JniCallType.objectType, [ + componentName.reference, + intents.reference, + intent.reference, + jni.JValueInt(i) + ]).object); + } + + static final _id_queryIntentActivityOptions1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"queryIntentActivityOptions", + r"(Landroid/content/ComponentName;Ljava/util/List;Landroid/content/Intent;Landroid/content/pm/PackageManager$ResolveInfoFlags;)Ljava/util/List;"); + + /// from: public java.util.List queryIntentActivityOptions(android.content.ComponentName componentName, java.util.List list, android.content.Intent intent, android.content.pm.PackageManager$ResolveInfoFlags resolveInfoFlags) + /// The returned object must be released after use, by calling the [release] method. + jni.JList queryIntentActivityOptions1( + jni.JObject componentName, + jni.JList list, + Intent intent, + PackageManager_ResolveInfoFlags resolveInfoFlags, + ) { + return const jni.JListType($ResolveInfoType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_queryIntentActivityOptions1, + jni.JniCallType.objectType, [ + componentName.reference, + list.reference, + intent.reference, + resolveInfoFlags.reference + ]).object); + } + + static final _id_queryBroadcastReceivers = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"queryBroadcastReceivers", + r"(Landroid/content/Intent;I)Ljava/util/List;"); + + /// from: public abstract java.util.List queryBroadcastReceivers(android.content.Intent intent, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JList queryBroadcastReceivers( + Intent intent, + int i, + ) { + return const jni.JListType($ResolveInfoType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_queryBroadcastReceivers, + jni.JniCallType.objectType, + [intent.reference, jni.JValueInt(i)]).object); + } + + static final _id_queryBroadcastReceivers1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"queryBroadcastReceivers", + r"(Landroid/content/Intent;Landroid/content/pm/PackageManager$ResolveInfoFlags;)Ljava/util/List;"); + + /// from: public java.util.List queryBroadcastReceivers(android.content.Intent intent, android.content.pm.PackageManager$ResolveInfoFlags resolveInfoFlags) + /// The returned object must be released after use, by calling the [release] method. + jni.JList queryBroadcastReceivers1( + Intent intent, + PackageManager_ResolveInfoFlags resolveInfoFlags, + ) { + return const jni.JListType($ResolveInfoType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_queryBroadcastReceivers1, + jni.JniCallType.objectType, + [intent.reference, resolveInfoFlags.reference]).object); + } + + static final _id_resolveService = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"resolveService", + r"(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;"); + + /// from: public abstract android.content.pm.ResolveInfo resolveService(android.content.Intent intent, int i) + /// The returned object must be released after use, by calling the [release] method. + ResolveInfo resolveService( + Intent intent, + int i, + ) { + return const $ResolveInfoType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_resolveService, + jni.JniCallType.objectType, + [intent.reference, jni.JValueInt(i)]).object); + } + + static final _id_resolveService1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"resolveService", + r"(Landroid/content/Intent;Landroid/content/pm/PackageManager$ResolveInfoFlags;)Landroid/content/pm/ResolveInfo;"); + + /// from: public android.content.pm.ResolveInfo resolveService(android.content.Intent intent, android.content.pm.PackageManager$ResolveInfoFlags resolveInfoFlags) + /// The returned object must be released after use, by calling the [release] method. + ResolveInfo resolveService1( + Intent intent, + PackageManager_ResolveInfoFlags resolveInfoFlags, + ) { + return const $ResolveInfoType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_resolveService1, + jni.JniCallType.objectType, + [intent.reference, resolveInfoFlags.reference]).object); + } + + static final _id_queryIntentServices = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"queryIntentServices", + r"(Landroid/content/Intent;I)Ljava/util/List;"); + + /// from: public abstract java.util.List queryIntentServices(android.content.Intent intent, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JList queryIntentServices( + Intent intent, + int i, + ) { + return const jni.JListType($ResolveInfoType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_queryIntentServices, + jni.JniCallType.objectType, + [intent.reference, jni.JValueInt(i)]).object); + } + + static final _id_queryIntentServices1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"queryIntentServices", + r"(Landroid/content/Intent;Landroid/content/pm/PackageManager$ResolveInfoFlags;)Ljava/util/List;"); + + /// from: public java.util.List queryIntentServices(android.content.Intent intent, android.content.pm.PackageManager$ResolveInfoFlags resolveInfoFlags) + /// The returned object must be released after use, by calling the [release] method. + jni.JList queryIntentServices1( + Intent intent, + PackageManager_ResolveInfoFlags resolveInfoFlags, + ) { + return const jni.JListType($ResolveInfoType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_queryIntentServices1, + jni.JniCallType.objectType, + [intent.reference, resolveInfoFlags.reference]).object); + } + + static final _id_queryIntentContentProviders = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"queryIntentContentProviders", + r"(Landroid/content/Intent;I)Ljava/util/List;"); + + /// from: public abstract java.util.List queryIntentContentProviders(android.content.Intent intent, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JList queryIntentContentProviders( + Intent intent, + int i, + ) { + return const jni.JListType($ResolveInfoType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_queryIntentContentProviders, + jni.JniCallType.objectType, + [intent.reference, jni.JValueInt(i)]).object); + } + + static final _id_queryIntentContentProviders1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"queryIntentContentProviders", + r"(Landroid/content/Intent;Landroid/content/pm/PackageManager$ResolveInfoFlags;)Ljava/util/List;"); + + /// from: public java.util.List queryIntentContentProviders(android.content.Intent intent, android.content.pm.PackageManager$ResolveInfoFlags resolveInfoFlags) + /// The returned object must be released after use, by calling the [release] method. + jni.JList queryIntentContentProviders1( + Intent intent, + PackageManager_ResolveInfoFlags resolveInfoFlags, + ) { + return const jni.JListType($ResolveInfoType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_queryIntentContentProviders1, + jni.JniCallType.objectType, + [intent.reference, resolveInfoFlags.reference]).object); + } + + static final _id_resolveContentProvider = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"resolveContentProvider", + r"(Ljava/lang/String;I)Landroid/content/pm/ProviderInfo;"); + + /// from: public abstract android.content.pm.ProviderInfo resolveContentProvider(java.lang.String string, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject resolveContentProvider( + jni.JString string, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_resolveContentProvider, + jni.JniCallType.objectType, + [string.reference, jni.JValueInt(i)]).object); + } + + static final _id_resolveContentProvider1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"resolveContentProvider", + r"(Ljava/lang/String;Landroid/content/pm/PackageManager$ComponentInfoFlags;)Landroid/content/pm/ProviderInfo;"); + + /// from: public android.content.pm.ProviderInfo resolveContentProvider(java.lang.String string, android.content.pm.PackageManager$ComponentInfoFlags componentInfoFlags) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject resolveContentProvider1( + jni.JString string, + PackageManager_ComponentInfoFlags componentInfoFlags, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_resolveContentProvider1, + jni.JniCallType.objectType, + [string.reference, componentInfoFlags.reference]).object); + } + + static final _id_queryContentProviders = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"queryContentProviders", + r"(Ljava/lang/String;II)Ljava/util/List;"); + + /// from: public abstract java.util.List queryContentProviders(java.lang.String string, int i, int i1) + /// The returned object must be released after use, by calling the [release] method. + jni.JList queryContentProviders( + jni.JString string, + int i, + int i1, + ) { + return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_queryContentProviders, + jni.JniCallType.objectType, + [string.reference, jni.JValueInt(i), jni.JValueInt(i1)]).object); + } + + static final _id_queryContentProviders1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"queryContentProviders", + r"(Ljava/lang/String;ILandroid/content/pm/PackageManager$ComponentInfoFlags;)Ljava/util/List;"); + + /// from: public java.util.List queryContentProviders(java.lang.String string, int i, android.content.pm.PackageManager$ComponentInfoFlags componentInfoFlags) + /// The returned object must be released after use, by calling the [release] method. + jni.JList queryContentProviders1( + jni.JString string, + int i, + PackageManager_ComponentInfoFlags componentInfoFlags, + ) { + return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, _id_queryContentProviders1, jni.JniCallType.objectType, [ + string.reference, + jni.JValueInt(i), + componentInfoFlags.reference + ]).object); + } + + static final _id_getInstrumentationInfo = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getInstrumentationInfo", + r"(Landroid/content/ComponentName;I)Landroid/content/pm/InstrumentationInfo;"); + + /// from: public abstract android.content.pm.InstrumentationInfo getInstrumentationInfo(android.content.ComponentName componentName, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getInstrumentationInfo( + jni.JObject componentName, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getInstrumentationInfo, + jni.JniCallType.objectType, + [componentName.reference, jni.JValueInt(i)]).object); + } + + static final _id_queryInstrumentation = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"queryInstrumentation", + r"(Ljava/lang/String;I)Ljava/util/List;"); + + /// from: public abstract java.util.List queryInstrumentation(java.lang.String string, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JList queryInstrumentation( + jni.JString string, + int i, + ) { + return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_queryInstrumentation, + jni.JniCallType.objectType, + [string.reference, jni.JValueInt(i)]).object); + } + + static final _id_getDrawable = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getDrawable", + r"(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;"); + + /// from: public abstract android.graphics.drawable.Drawable getDrawable(java.lang.String string, int i, android.content.pm.ApplicationInfo applicationInfo) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getDrawable( + jni.JString string, + int i, + jni.JObject applicationInfo, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getDrawable, jni.JniCallType.objectType, [ + string.reference, + jni.JValueInt(i), + applicationInfo.reference + ]).object); + } + + static final _id_getActivityIcon = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getActivityIcon", + r"(Landroid/content/ComponentName;)Landroid/graphics/drawable/Drawable;"); + + /// from: public abstract android.graphics.drawable.Drawable getActivityIcon(android.content.ComponentName componentName) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getActivityIcon( + jni.JObject componentName, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getActivityIcon, + jni.JniCallType.objectType, + [componentName.reference]).object); + } + + static final _id_getActivityIcon1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getActivityIcon", + r"(Landroid/content/Intent;)Landroid/graphics/drawable/Drawable;"); + + /// from: public abstract android.graphics.drawable.Drawable getActivityIcon(android.content.Intent intent) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getActivityIcon1( + Intent intent, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getActivityIcon1, + jni.JniCallType.objectType, + [intent.reference]).object); + } + + static final _id_getActivityBanner = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getActivityBanner", + r"(Landroid/content/ComponentName;)Landroid/graphics/drawable/Drawable;"); + + /// from: public abstract android.graphics.drawable.Drawable getActivityBanner(android.content.ComponentName componentName) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getActivityBanner( + jni.JObject componentName, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getActivityBanner, + jni.JniCallType.objectType, + [componentName.reference]).object); + } + + static final _id_getActivityBanner1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getActivityBanner", + r"(Landroid/content/Intent;)Landroid/graphics/drawable/Drawable;"); + + /// from: public abstract android.graphics.drawable.Drawable getActivityBanner(android.content.Intent intent) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getActivityBanner1( + Intent intent, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getActivityBanner1, + jni.JniCallType.objectType, + [intent.reference]).object); + } + + static final _id_getDefaultActivityIcon = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getDefaultActivityIcon", + r"()Landroid/graphics/drawable/Drawable;"); + + /// from: public abstract android.graphics.drawable.Drawable getDefaultActivityIcon() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getDefaultActivityIcon() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getDefaultActivityIcon, + jni.JniCallType.objectType, []).object); + } + + static final _id_getApplicationIcon = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getApplicationIcon", + r"(Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;"); + + /// from: public abstract android.graphics.drawable.Drawable getApplicationIcon(android.content.pm.ApplicationInfo applicationInfo) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getApplicationIcon( + jni.JObject applicationInfo, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getApplicationIcon, + jni.JniCallType.objectType, + [applicationInfo.reference]).object); + } + + static final _id_getApplicationIcon1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getApplicationIcon", + r"(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;"); + + /// from: public abstract android.graphics.drawable.Drawable getApplicationIcon(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getApplicationIcon1( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getApplicationIcon1, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getApplicationBanner = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getApplicationBanner", + r"(Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;"); + + /// from: public abstract android.graphics.drawable.Drawable getApplicationBanner(android.content.pm.ApplicationInfo applicationInfo) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getApplicationBanner( + jni.JObject applicationInfo, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getApplicationBanner, + jni.JniCallType.objectType, + [applicationInfo.reference]).object); + } + + static final _id_getApplicationBanner1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getApplicationBanner", + r"(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;"); + + /// from: public abstract android.graphics.drawable.Drawable getApplicationBanner(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getApplicationBanner1( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getApplicationBanner1, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getActivityLogo = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getActivityLogo", + r"(Landroid/content/ComponentName;)Landroid/graphics/drawable/Drawable;"); + + /// from: public abstract android.graphics.drawable.Drawable getActivityLogo(android.content.ComponentName componentName) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getActivityLogo( + jni.JObject componentName, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getActivityLogo, + jni.JniCallType.objectType, + [componentName.reference]).object); + } + + static final _id_getActivityLogo1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getActivityLogo", + r"(Landroid/content/Intent;)Landroid/graphics/drawable/Drawable;"); + + /// from: public abstract android.graphics.drawable.Drawable getActivityLogo(android.content.Intent intent) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getActivityLogo1( + Intent intent, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getActivityLogo1, + jni.JniCallType.objectType, + [intent.reference]).object); + } + + static final _id_getApplicationLogo = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getApplicationLogo", + r"(Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;"); + + /// from: public abstract android.graphics.drawable.Drawable getApplicationLogo(android.content.pm.ApplicationInfo applicationInfo) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getApplicationLogo( + jni.JObject applicationInfo, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getApplicationLogo, + jni.JniCallType.objectType, + [applicationInfo.reference]).object); + } + + static final _id_getApplicationLogo1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getApplicationLogo", + r"(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;"); + + /// from: public abstract android.graphics.drawable.Drawable getApplicationLogo(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getApplicationLogo1( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getApplicationLogo1, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getUserBadgedIcon = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getUserBadgedIcon", + r"(Landroid/graphics/drawable/Drawable;Landroid/os/UserHandle;)Landroid/graphics/drawable/Drawable;"); + + /// from: public abstract android.graphics.drawable.Drawable getUserBadgedIcon(android.graphics.drawable.Drawable drawable, android.os.UserHandle userHandle) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getUserBadgedIcon( + jni.JObject drawable, + jni.JObject userHandle, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getUserBadgedIcon, + jni.JniCallType.objectType, + [drawable.reference, userHandle.reference]).object); + } + + static final _id_getUserBadgedDrawableForDensity = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getUserBadgedDrawableForDensity", + r"(Landroid/graphics/drawable/Drawable;Landroid/os/UserHandle;Landroid/graphics/Rect;I)Landroid/graphics/drawable/Drawable;"); + + /// from: public abstract android.graphics.drawable.Drawable getUserBadgedDrawableForDensity(android.graphics.drawable.Drawable drawable, android.os.UserHandle userHandle, android.graphics.Rect rect, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getUserBadgedDrawableForDensity( + jni.JObject drawable, + jni.JObject userHandle, + jni.JObject rect, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getUserBadgedDrawableForDensity, + jni.JniCallType.objectType, [ + drawable.reference, + userHandle.reference, + rect.reference, + jni.JValueInt(i) + ]).object); + } + + static final _id_getUserBadgedLabel = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getUserBadgedLabel", + r"(Ljava/lang/CharSequence;Landroid/os/UserHandle;)Ljava/lang/CharSequence;"); + + /// from: public abstract java.lang.CharSequence getUserBadgedLabel(java.lang.CharSequence charSequence, android.os.UserHandle userHandle) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getUserBadgedLabel( + jni.JObject charSequence, + jni.JObject userHandle, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getUserBadgedLabel, + jni.JniCallType.objectType, + [charSequence.reference, userHandle.reference]).object); + } + + static final _id_getText = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getText", + r"(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence;"); + + /// from: public abstract java.lang.CharSequence getText(java.lang.String string, int i, android.content.pm.ApplicationInfo applicationInfo) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getText( + jni.JString string, + int i, + jni.JObject applicationInfo, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getText, jni.JniCallType.objectType, [ + string.reference, + jni.JValueInt(i), + applicationInfo.reference + ]).object); + } + + static final _id_getXml = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getXml", + r"(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Landroid/content/res/XmlResourceParser;"); + + /// from: public abstract android.content.res.XmlResourceParser getXml(java.lang.String string, int i, android.content.pm.ApplicationInfo applicationInfo) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getXml( + jni.JString string, + int i, + jni.JObject applicationInfo, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getXml, jni.JniCallType.objectType, [ + string.reference, + jni.JValueInt(i), + applicationInfo.reference + ]).object); + } + + static final _id_getApplicationLabel = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getApplicationLabel", + r"(Landroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence;"); + + /// from: public abstract java.lang.CharSequence getApplicationLabel(android.content.pm.ApplicationInfo applicationInfo) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getApplicationLabel( + jni.JObject applicationInfo, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getApplicationLabel, + jni.JniCallType.objectType, + [applicationInfo.reference]).object); + } + + static final _id_getResourcesForActivity = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getResourcesForActivity", + r"(Landroid/content/ComponentName;)Landroid/content/res/Resources;"); + + /// from: public abstract android.content.res.Resources getResourcesForActivity(android.content.ComponentName componentName) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getResourcesForActivity( + jni.JObject componentName, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getResourcesForActivity, + jni.JniCallType.objectType, + [componentName.reference]).object); + } + + static final _id_getResourcesForApplication = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getResourcesForApplication", + r"(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/Resources;"); + + /// from: public abstract android.content.res.Resources getResourcesForApplication(android.content.pm.ApplicationInfo applicationInfo) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getResourcesForApplication( + jni.JObject applicationInfo, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getResourcesForApplication, + jni.JniCallType.objectType, + [applicationInfo.reference]).object); + } + + static final _id_getResourcesForApplication1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getResourcesForApplication", + r"(Landroid/content/pm/ApplicationInfo;Landroid/content/res/Configuration;)Landroid/content/res/Resources;"); + + /// from: public android.content.res.Resources getResourcesForApplication(android.content.pm.ApplicationInfo applicationInfo, android.content.res.Configuration configuration) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getResourcesForApplication1( + jni.JObject applicationInfo, + jni.JObject configuration, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getResourcesForApplication1, + jni.JniCallType.objectType, + [applicationInfo.reference, configuration.reference]).object); + } + + static final _id_getResourcesForApplication2 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getResourcesForApplication", + r"(Ljava/lang/String;)Landroid/content/res/Resources;"); + + /// from: public abstract android.content.res.Resources getResourcesForApplication(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getResourcesForApplication2( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getResourcesForApplication2, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getPackageArchiveInfo = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getPackageArchiveInfo", + r"(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;"); + + /// from: public android.content.pm.PackageInfo getPackageArchiveInfo(java.lang.String string, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getPackageArchiveInfo( + jni.JString string, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getPackageArchiveInfo, + jni.JniCallType.objectType, + [string.reference, jni.JValueInt(i)]).object); + } + + static final _id_getPackageArchiveInfo1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getPackageArchiveInfo", + r"(Ljava/lang/String;Landroid/content/pm/PackageManager$PackageInfoFlags;)Landroid/content/pm/PackageInfo;"); + + /// from: public android.content.pm.PackageInfo getPackageArchiveInfo(java.lang.String string, android.content.pm.PackageManager$PackageInfoFlags packageInfoFlags) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getPackageArchiveInfo1( + jni.JString string, + PackageManager_PackageInfoFlags packageInfoFlags, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getPackageArchiveInfo1, + jni.JniCallType.objectType, + [string.reference, packageInfoFlags.reference]).object); + } + + static final _id_verifyPendingInstall = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"verifyPendingInstall", r"(II)V"); + + /// from: public abstract void verifyPendingInstall(int i, int i1) + void verifyPendingInstall( + int i, + int i1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_verifyPendingInstall, + jni.JniCallType.voidType, + [jni.JValueInt(i), jni.JValueInt(i1)]).check(); + } + + static final _id_extendVerificationTimeout = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"extendVerificationTimeout", r"(IIJ)V"); + + /// from: public abstract void extendVerificationTimeout(int i, int i1, long j) + void extendVerificationTimeout( + int i, + int i1, + int j, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_extendVerificationTimeout, + jni.JniCallType.voidType, + [jni.JValueInt(i), jni.JValueInt(i1), j]).check(); + } + + static final _id_setInstallerPackageName = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setInstallerPackageName", + r"(Ljava/lang/String;Ljava/lang/String;)V"); + + /// from: public abstract void setInstallerPackageName(java.lang.String string, java.lang.String string1) + void setInstallerPackageName( + jni.JString string, + jni.JString string1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setInstallerPackageName, + jni.JniCallType.voidType, + [string.reference, string1.reference]).check(); + } + + static final _id_getInstallerPackageName = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getInstallerPackageName", + r"(Ljava/lang/String;)Ljava/lang/String;"); + + /// from: public abstract java.lang.String getInstallerPackageName(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JString getInstallerPackageName( + jni.JString string, + ) { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getInstallerPackageName, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getInstallSourceInfo = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getInstallSourceInfo", + r"(Ljava/lang/String;)Landroid/content/pm/InstallSourceInfo;"); + + /// from: public android.content.pm.InstallSourceInfo getInstallSourceInfo(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getInstallSourceInfo( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getInstallSourceInfo, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_addPackageToPreferred = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"addPackageToPreferred", r"(Ljava/lang/String;)V"); + + /// from: public abstract void addPackageToPreferred(java.lang.String string) + void addPackageToPreferred( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addPackageToPreferred, + jni.JniCallType.voidType, + [string.reference]).check(); + } + + static final _id_removePackageFromPreferred = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"removePackageFromPreferred", + r"(Ljava/lang/String;)V"); + + /// from: public abstract void removePackageFromPreferred(java.lang.String string) + void removePackageFromPreferred( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_removePackageFromPreferred, + jni.JniCallType.voidType, + [string.reference]).check(); + } + + static final _id_getPreferredPackages = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getPreferredPackages", r"(I)Ljava/util/List;"); + + /// from: public abstract java.util.List getPreferredPackages(int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JList getPreferredPackages( + int i, + ) { + return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getPreferredPackages, + jni.JniCallType.objectType, [jni.JValueInt(i)]).object); + } + + static final _id_addPreferredActivity = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addPreferredActivity", + r"(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;)V"); + + /// from: public abstract void addPreferredActivity(android.content.IntentFilter intentFilter, int i, android.content.ComponentName[] componentNames, android.content.ComponentName componentName) + void addPreferredActivity( + jni.JObject intentFilter, + int i, + jni.JArray componentNames, + jni.JObject componentName, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_addPreferredActivity, jni.JniCallType.voidType, [ + intentFilter.reference, + jni.JValueInt(i), + componentNames.reference, + componentName.reference + ]).check(); + } + + static final _id_clearPackagePreferredActivities = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"clearPackagePreferredActivities", + r"(Ljava/lang/String;)V"); + + /// from: public abstract void clearPackagePreferredActivities(java.lang.String string) + void clearPackagePreferredActivities( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_clearPackagePreferredActivities, + jni.JniCallType.voidType, + [string.reference]).check(); + } + + static final _id_getPreferredActivities = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getPreferredActivities", + r"(Ljava/util/List;Ljava/util/List;Ljava/lang/String;)I"); + + /// from: public abstract int getPreferredActivities(java.util.List list, java.util.List list1, java.lang.String string) + int getPreferredActivities( + jni.JList list, + jni.JList list1, + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getPreferredActivities, + jni.JniCallType.intType, + [list.reference, list1.reference, string.reference]).integer; + } + + static final _id_setComponentEnabledSetting = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setComponentEnabledSetting", + r"(Landroid/content/ComponentName;II)V"); + + /// from: public abstract void setComponentEnabledSetting(android.content.ComponentName componentName, int i, int i1) + void setComponentEnabledSetting( + jni.JObject componentName, + int i, + int i1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setComponentEnabledSetting, + jni.JniCallType.voidType, + [componentName.reference, jni.JValueInt(i), jni.JValueInt(i1)]).check(); + } + + static final _id_setComponentEnabledSettings = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setComponentEnabledSettings", + r"(Ljava/util/List;)V"); + + /// from: public void setComponentEnabledSettings(java.util.List list) + void setComponentEnabledSettings( + jni.JList list, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setComponentEnabledSettings, + jni.JniCallType.voidType, + [list.reference]).check(); + } + + static final _id_getComponentEnabledSetting = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getComponentEnabledSetting", + r"(Landroid/content/ComponentName;)I"); + + /// from: public abstract int getComponentEnabledSetting(android.content.ComponentName componentName) + int getComponentEnabledSetting( + jni.JObject componentName, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getComponentEnabledSetting, + jni.JniCallType.intType, + [componentName.reference]).integer; + } + + static final _id_getSyntheticAppDetailsActivityEnabled = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getSyntheticAppDetailsActivityEnabled", + r"(Ljava/lang/String;)Z"); + + /// from: public boolean getSyntheticAppDetailsActivityEnabled(java.lang.String string) + bool getSyntheticAppDetailsActivityEnabled( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getSyntheticAppDetailsActivityEnabled, + jni.JniCallType.booleanType, + [string.reference]).boolean; + } + + static final _id_setApplicationEnabledSetting = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setApplicationEnabledSetting", + r"(Ljava/lang/String;II)V"); + + /// from: public abstract void setApplicationEnabledSetting(java.lang.String string, int i, int i1) + void setApplicationEnabledSetting( + jni.JString string, + int i, + int i1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setApplicationEnabledSetting, + jni.JniCallType.voidType, + [string.reference, jni.JValueInt(i), jni.JValueInt(i1)]).check(); + } + + static final _id_getApplicationEnabledSetting = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getApplicationEnabledSetting", + r"(Ljava/lang/String;)I"); + + /// from: public abstract int getApplicationEnabledSetting(java.lang.String string) + int getApplicationEnabledSetting( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getApplicationEnabledSetting, + jni.JniCallType.intType, + [string.reference]).integer; + } + + static final _id_isSafeMode = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isSafeMode", r"()Z"); + + /// from: public abstract boolean isSafeMode() + bool isSafeMode() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isSafeMode, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_isPackageSuspended = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"isPackageSuspended", r"(Ljava/lang/String;)Z"); + + /// from: public boolean isPackageSuspended(java.lang.String string) + bool isPackageSuspended( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_isPackageSuspended, + jni.JniCallType.booleanType, + [string.reference]).boolean; + } + + static final _id_isPackageSuspended1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isPackageSuspended", r"()Z"); + + /// from: public boolean isPackageSuspended() + bool isPackageSuspended1() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_isPackageSuspended1, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_getSuspendedPackageAppExtras = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getSuspendedPackageAppExtras", + r"()Landroid/os/Bundle;"); + + /// from: public android.os.Bundle getSuspendedPackageAppExtras() + /// The returned object must be released after use, by calling the [release] method. + Bundle getSuspendedPackageAppExtras() { + return const $BundleType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getSuspendedPackageAppExtras, + jni.JniCallType.objectType, []).object); + } + + static final _id_setApplicationCategoryHint = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setApplicationCategoryHint", + r"(Ljava/lang/String;I)V"); + + /// from: public abstract void setApplicationCategoryHint(java.lang.String string, int i) + void setApplicationCategoryHint( + jni.JString string, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setApplicationCategoryHint, + jni.JniCallType.voidType, + [string.reference, jni.JValueInt(i)]).check(); + } + + static final _id_isDeviceUpgrading = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isDeviceUpgrading", r"()Z"); + + /// from: public boolean isDeviceUpgrading() + bool isDeviceUpgrading() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_isDeviceUpgrading, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_getPackageInstaller = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getPackageInstaller", + r"()Landroid/content/pm/PackageInstaller;"); + + /// from: public abstract android.content.pm.PackageInstaller getPackageInstaller() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getPackageInstaller() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getPackageInstaller, + jni.JniCallType.objectType, []).object); + } + + static final _id_canRequestPackageInstalls = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"canRequestPackageInstalls", r"()Z"); + + /// from: public abstract boolean canRequestPackageInstalls() + bool canRequestPackageInstalls() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_canRequestPackageInstalls, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_hasSigningCertificate = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"hasSigningCertificate", r"(Ljava/lang/String;[BI)Z"); + + /// from: public boolean hasSigningCertificate(java.lang.String string, byte[] bs, int i) + bool hasSigningCertificate( + jni.JString string, + jni.JArray bs, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_hasSigningCertificate, + jni.JniCallType.booleanType, + [string.reference, bs.reference, jni.JValueInt(i)]).boolean; + } + + static final _id_hasSigningCertificate1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"hasSigningCertificate", r"(I[BI)Z"); + + /// from: public boolean hasSigningCertificate(int i, byte[] bs, int i1) + bool hasSigningCertificate1( + int i, + jni.JArray bs, + int i1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_hasSigningCertificate1, + jni.JniCallType.booleanType, + [jni.JValueInt(i), bs.reference, jni.JValueInt(i1)]).boolean; + } + + static final _id_requestChecksums = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"requestChecksums", + r"(Ljava/lang/String;ZILjava/util/List;Landroid/content/pm/PackageManager$OnChecksumsReadyListener;)V"); + + /// from: public void requestChecksums(java.lang.String string, boolean z, int i, java.util.List list, android.content.pm.PackageManager$OnChecksumsReadyListener onChecksumsReadyListener) + void requestChecksums( + jni.JString string, + bool z, + int i, + jni.JList list, + PackageManager_OnChecksumsReadyListener onChecksumsReadyListener, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_requestChecksums, jni.JniCallType.voidType, [ + string.reference, + z ? 1 : 0, + jni.JValueInt(i), + list.reference, + onChecksumsReadyListener.reference + ]).check(); + } + + static final _id_isAutoRevokeWhitelisted1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isAutoRevokeWhitelisted", r"()Z"); + + /// from: public boolean isAutoRevokeWhitelisted() + bool isAutoRevokeWhitelisted1() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_isAutoRevokeWhitelisted1, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_isDefaultApplicationIcon = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"isDefaultApplicationIcon", + r"(Landroid/graphics/drawable/Drawable;)Z"); + + /// from: public boolean isDefaultApplicationIcon(android.graphics.drawable.Drawable drawable) + bool isDefaultApplicationIcon( + jni.JObject drawable, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_isDefaultApplicationIcon, + jni.JniCallType.booleanType, + [drawable.reference]).boolean; + } + + static final _id_setMimeGroup = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setMimeGroup", + r"(Ljava/lang/String;Ljava/util/Set;)V"); + + /// from: public void setMimeGroup(java.lang.String string, java.util.Set set) + void setMimeGroup( + jni.JString string, + jni.JSet set0, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setMimeGroup, + jni.JniCallType.voidType, [string.reference, set0.reference]).check(); + } + + static final _id_getMimeGroup = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getMimeGroup", + r"(Ljava/lang/String;)Ljava/util/Set;"); + + /// from: public java.util.Set getMimeGroup(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JSet getMimeGroup( + jni.JString string, + ) { + return const jni.JSetType(jni.JStringType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getMimeGroup, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getProperty = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getProperty", + r"(Ljava/lang/String;Ljava/lang/String;)Landroid/content/pm/PackageManager$Property;"); + + /// from: public android.content.pm.PackageManager$Property getProperty(java.lang.String string, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + PackageManager_Property getProperty( + jni.JString string, + jni.JString string1, + ) { + return const $PackageManager_PropertyType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_getProperty, + jni.JniCallType.objectType, + [string.reference, string1.reference]).object); + } + + static final _id_getProperty1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getProperty", + r"(Ljava/lang/String;Landroid/content/ComponentName;)Landroid/content/pm/PackageManager$Property;"); + + /// from: public android.content.pm.PackageManager$Property getProperty(java.lang.String string, android.content.ComponentName componentName) + /// The returned object must be released after use, by calling the [release] method. + PackageManager_Property getProperty1( + jni.JString string, + jni.JObject componentName, + ) { + return const $PackageManager_PropertyType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_getProperty1, + jni.JniCallType.objectType, + [string.reference, componentName.reference]).object); + } + + static final _id_queryApplicationProperty = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"queryApplicationProperty", + r"(Ljava/lang/String;)Ljava/util/List;"); + + /// from: public java.util.List queryApplicationProperty(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JList queryApplicationProperty( + jni.JString string, + ) { + return const jni.JListType($PackageManager_PropertyType()).fromRef( + jni.Jni.accessors.callMethodWithArgs( + reference, + _id_queryApplicationProperty, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_queryActivityProperty = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"queryActivityProperty", + r"(Ljava/lang/String;)Ljava/util/List;"); + + /// from: public java.util.List queryActivityProperty(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JList queryActivityProperty( + jni.JString string, + ) { + return const jni.JListType($PackageManager_PropertyType()).fromRef( + jni.Jni.accessors.callMethodWithArgs( + reference, + _id_queryActivityProperty, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_queryProviderProperty = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"queryProviderProperty", + r"(Ljava/lang/String;)Ljava/util/List;"); + + /// from: public java.util.List queryProviderProperty(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JList queryProviderProperty( + jni.JString string, + ) { + return const jni.JListType($PackageManager_PropertyType()).fromRef( + jni.Jni.accessors.callMethodWithArgs( + reference, + _id_queryProviderProperty, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_queryReceiverProperty = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"queryReceiverProperty", + r"(Ljava/lang/String;)Ljava/util/List;"); + + /// from: public java.util.List queryReceiverProperty(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JList queryReceiverProperty( + jni.JString string, + ) { + return const jni.JListType($PackageManager_PropertyType()).fromRef( + jni.Jni.accessors.callMethodWithArgs( + reference, + _id_queryReceiverProperty, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_queryServiceProperty = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"queryServiceProperty", + r"(Ljava/lang/String;)Ljava/util/List;"); + + /// from: public java.util.List queryServiceProperty(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JList queryServiceProperty( + jni.JString string, + ) { + return const jni.JListType($PackageManager_PropertyType()).fromRef( + jni.Jni.accessors.callMethodWithArgs( + reference, + _id_queryServiceProperty, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_canPackageQuery = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"canPackageQuery", + r"(Ljava/lang/String;Ljava/lang/String;)Z"); + + /// from: public boolean canPackageQuery(java.lang.String string, java.lang.String string1) + bool canPackageQuery( + jni.JString string, + jni.JString string1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_canPackageQuery, + jni.JniCallType.booleanType, + [string.reference, string1.reference]).boolean; + } + + static final _id_canPackageQuery1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"canPackageQuery", + r"(Ljava/lang/String;[Ljava/lang/String;)[Z"); + + /// from: public boolean[] canPackageQuery(java.lang.String string, java.lang.String[] strings) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray canPackageQuery1( + jni.JString string, + jni.JArray strings, + ) { + return const jni.JArrayType(jni.jbooleanType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_canPackageQuery1, + jni.JniCallType.objectType, + [string.reference, strings.reference]).object); + } + + static final _id_relinquishUpdateOwnership = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"relinquishUpdateOwnership", r"(Ljava/lang/String;)V"); + + /// from: public void relinquishUpdateOwnership(java.lang.String string) + void relinquishUpdateOwnership( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_relinquishUpdateOwnership, + jni.JniCallType.voidType, + [string.reference]).check(); + } +} + +final class $PackageManagerType extends jni.JObjType { + const $PackageManagerType(); + + @override + String get signature => r"Landroid/content/pm/PackageManager;"; + + @override + PackageManager fromRef(jni.JObjectPtr ref) => PackageManager.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($PackageManagerType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($PackageManagerType) && + other is $PackageManagerType; + } +} + +/// from: android.content.pm.ResolveInfo$DisplayNameComparator +class ResolveInfo_DisplayNameComparator extends jni.JObject { + @override + late final jni.JObjType $type = type; + + ResolveInfo_DisplayNameComparator.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"android/content/pm/ResolveInfo$DisplayNameComparator"); + + /// The type which includes information such as the signature of this class. + static const type = $ResolveInfo_DisplayNameComparatorType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Landroid/content/pm/PackageManager;)V"); + + /// from: public void (android.content.pm.PackageManager packageManager) + /// The returned object must be released after use, by calling the [release] method. + factory ResolveInfo_DisplayNameComparator( + PackageManager packageManager, + ) { + return ResolveInfo_DisplayNameComparator.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new0, [packageManager.reference]).object); + } + + static final _id_compare = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"compare", + r"(Landroid/content/pm/ResolveInfo;Landroid/content/pm/ResolveInfo;)I"); + + /// from: public final int compare(android.content.pm.ResolveInfo resolveInfo, android.content.pm.ResolveInfo resolveInfo1) + int compare( + ResolveInfo resolveInfo, + ResolveInfo resolveInfo1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_compare, + jni.JniCallType.intType, + [resolveInfo.reference, resolveInfo1.reference]).integer; + } + + static final _id_compare1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"compare", r"(Ljava/lang/Object;Ljava/lang/Object;)I"); + + /// from: public int compare(java.lang.Object object, java.lang.Object object1) + int compare1( + jni.JObject object, + jni.JObject object1, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_compare1, + jni.JniCallType.intType, [object.reference, object1.reference]).integer; + } +} + +final class $ResolveInfo_DisplayNameComparatorType + extends jni.JObjType { + const $ResolveInfo_DisplayNameComparatorType(); + + @override + String get signature => + r"Landroid/content/pm/ResolveInfo$DisplayNameComparator;"; + + @override + ResolveInfo_DisplayNameComparator fromRef(jni.JObjectPtr ref) => + ResolveInfo_DisplayNameComparator.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($ResolveInfo_DisplayNameComparatorType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($ResolveInfo_DisplayNameComparatorType) && + other is $ResolveInfo_DisplayNameComparatorType; + } +} + +/// from: android.content.pm.ResolveInfo +class ResolveInfo extends jni.JObject { + @override + late final jni.JObjType $type = type; + + ResolveInfo.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"android/content/pm/ResolveInfo"); + + /// The type which includes information such as the signature of this class. + static const type = $ResolveInfoType(); + static final _id_CREATOR = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"CREATOR", + r"Landroid/os/Parcelable$Creator;", + ); + + /// from: static public final android.os.Parcelable$Creator CREATOR + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject get CREATOR => const jni.JObjectType().fromRef(jni + .Jni.accessors + .getStaticField(_class.reference, _id_CREATOR, jni.JniCallType.objectType) + .object); + + static final _id_activityInfo = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"activityInfo", + r"Landroid/content/pm/ActivityInfo;", + ); + + /// from: public android.content.pm.ActivityInfo activityInfo + /// The returned object must be released after use, by calling the [release] method. + ActivityInfo get activityInfo => + const $ActivityInfoType().fromRef(jni.Jni.accessors + .getField(reference, _id_activityInfo, jni.JniCallType.objectType) + .object); + + /// from: public android.content.pm.ActivityInfo activityInfo + /// The returned object must be released after use, by calling the [release] method. + set activityInfo(ActivityInfo value) => + jni.Jni.env.SetObjectField(reference, _id_activityInfo, value.reference); + + static final _id_filter = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"filter", + r"Landroid/content/IntentFilter;", + ); + + /// from: public android.content.IntentFilter filter + /// The returned object must be released after use, by calling the [release] method. + jni.JObject get filter => const jni.JObjectType().fromRef(jni.Jni.accessors + .getField(reference, _id_filter, jni.JniCallType.objectType) + .object); + + /// from: public android.content.IntentFilter filter + /// The returned object must be released after use, by calling the [release] method. + set filter(jni.JObject value) => + jni.Jni.env.SetObjectField(reference, _id_filter, value.reference); + + static final _id_icon = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"icon", + r"I", + ); + + /// from: public int icon + int get icon => jni.Jni.accessors + .getField(reference, _id_icon, jni.JniCallType.intType) + .integer; + + /// from: public int icon + set icon(int value) => jni.Jni.env.SetIntField(reference, _id_icon, value); + + static final _id_isDefault = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"isDefault", + r"Z", + ); + + /// from: public boolean isDefault + bool get isDefault => jni.Jni.accessors + .getField(reference, _id_isDefault, jni.JniCallType.booleanType) + .boolean; + + /// from: public boolean isDefault + set isDefault(bool value) => + jni.Jni.env.SetBooleanField(reference, _id_isDefault, value ? 1 : 0); + + static final _id_isInstantAppAvailable = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"isInstantAppAvailable", + r"Z", + ); + + /// from: public boolean isInstantAppAvailable + bool get isInstantAppAvailable => jni.Jni.accessors + .getField( + reference, _id_isInstantAppAvailable, jni.JniCallType.booleanType) + .boolean; + + /// from: public boolean isInstantAppAvailable + set isInstantAppAvailable(bool value) => jni.Jni.env + .SetBooleanField(reference, _id_isInstantAppAvailable, value ? 1 : 0); + + static final _id_labelRes = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"labelRes", + r"I", + ); + + /// from: public int labelRes + int get labelRes => jni.Jni.accessors + .getField(reference, _id_labelRes, jni.JniCallType.intType) + .integer; + + /// from: public int labelRes + set labelRes(int value) => + jni.Jni.env.SetIntField(reference, _id_labelRes, value); + + static final _id_match = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"match", + r"I", + ); + + /// from: public int match + int get match => jni.Jni.accessors + .getField(reference, _id_match, jni.JniCallType.intType) + .integer; + + /// from: public int match + set match(int value) => jni.Jni.env.SetIntField(reference, _id_match, value); + + static final _id_nonLocalizedLabel = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"nonLocalizedLabel", + r"Ljava/lang/CharSequence;", + ); + + /// from: public java.lang.CharSequence nonLocalizedLabel + /// The returned object must be released after use, by calling the [release] method. + jni.JObject get nonLocalizedLabel => const jni.JObjectType().fromRef(jni + .Jni.accessors + .getField(reference, _id_nonLocalizedLabel, jni.JniCallType.objectType) + .object); + + /// from: public java.lang.CharSequence nonLocalizedLabel + /// The returned object must be released after use, by calling the [release] method. + set nonLocalizedLabel(jni.JObject value) => jni.Jni.env + .SetObjectField(reference, _id_nonLocalizedLabel, value.reference); + + static final _id_preferredOrder = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"preferredOrder", + r"I", + ); + + /// from: public int preferredOrder + int get preferredOrder => jni.Jni.accessors + .getField(reference, _id_preferredOrder, jni.JniCallType.intType) + .integer; + + /// from: public int preferredOrder + set preferredOrder(int value) => + jni.Jni.env.SetIntField(reference, _id_preferredOrder, value); + + static final _id_priority = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"priority", + r"I", + ); + + /// from: public int priority + int get priority => jni.Jni.accessors + .getField(reference, _id_priority, jni.JniCallType.intType) + .integer; + + /// from: public int priority + set priority(int value) => + jni.Jni.env.SetIntField(reference, _id_priority, value); + + static final _id_providerInfo = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"providerInfo", + r"Landroid/content/pm/ProviderInfo;", + ); + + /// from: public android.content.pm.ProviderInfo providerInfo + /// The returned object must be released after use, by calling the [release] method. + jni.JObject get providerInfo => + const jni.JObjectType().fromRef(jni.Jni.accessors + .getField(reference, _id_providerInfo, jni.JniCallType.objectType) + .object); + + /// from: public android.content.pm.ProviderInfo providerInfo + /// The returned object must be released after use, by calling the [release] method. + set providerInfo(jni.JObject value) => + jni.Jni.env.SetObjectField(reference, _id_providerInfo, value.reference); + + static final _id_resolvePackageName = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"resolvePackageName", + r"Ljava/lang/String;", + ); + + /// from: public java.lang.String resolvePackageName + /// The returned object must be released after use, by calling the [release] method. + jni.JString get resolvePackageName => const jni.JStringType().fromRef(jni + .Jni.accessors + .getField(reference, _id_resolvePackageName, jni.JniCallType.objectType) + .object); + + /// from: public java.lang.String resolvePackageName + /// The returned object must be released after use, by calling the [release] method. + set resolvePackageName(jni.JString value) => jni.Jni.env + .SetObjectField(reference, _id_resolvePackageName, value.reference); + + static final _id_serviceInfo = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"serviceInfo", + r"Landroid/content/pm/ServiceInfo;", + ); + + /// from: public android.content.pm.ServiceInfo serviceInfo + /// The returned object must be released after use, by calling the [release] method. + jni.JObject get serviceInfo => + const jni.JObjectType().fromRef(jni.Jni.accessors + .getField(reference, _id_serviceInfo, jni.JniCallType.objectType) + .object); + + /// from: public android.content.pm.ServiceInfo serviceInfo + /// The returned object must be released after use, by calling the [release] method. + set serviceInfo(jni.JObject value) => + jni.Jni.env.SetObjectField(reference, _id_serviceInfo, value.reference); + + static final _id_specificIndex = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"specificIndex", + r"I", + ); + + /// from: public int specificIndex + int get specificIndex => jni.Jni.accessors + .getField(reference, _id_specificIndex, jni.JniCallType.intType) + .integer; + + /// from: public int specificIndex + set specificIndex(int value) => + jni.Jni.env.SetIntField(reference, _id_specificIndex, value); + + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory ResolveInfo() { + return ResolveInfo.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_new1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Landroid/content/pm/ResolveInfo;)V"); + + /// from: public void (android.content.pm.ResolveInfo resolveInfo) + /// The returned object must be released after use, by calling the [release] method. + factory ResolveInfo.new1( + ResolveInfo resolveInfo, + ) { + return ResolveInfo.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new1, [resolveInfo.reference]).object); + } + + static final _id_loadLabel = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"loadLabel", + r"(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;"); + + /// from: public java.lang.CharSequence loadLabel(android.content.pm.PackageManager packageManager) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject loadLabel( + PackageManager packageManager, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_loadLabel, + jni.JniCallType.objectType, + [packageManager.reference]).object); + } + + static final _id_loadIcon = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"loadIcon", + r"(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;"); + + /// from: public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager packageManager) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject loadIcon( + PackageManager packageManager, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_loadIcon, + jni.JniCallType.objectType, + [packageManager.reference]).object); + } + + static final _id_getIconResource = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getIconResource", r"()I"); + + /// from: public final int getIconResource() + int getIconResource() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getIconResource, jni.JniCallType.intType, []).integer; + } + + static final _id_dump = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"dump", r"(Landroid/util/Printer;Ljava/lang/String;)V"); + + /// from: public void dump(android.util.Printer printer, java.lang.String string) + void dump( + jni.JObject printer, + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_dump, + jni.JniCallType.voidType, + [printer.reference, string.reference]).check(); + } + + static final _id_isCrossProfileIntentForwarderActivity = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"isCrossProfileIntentForwarderActivity", r"()Z"); + + /// from: public boolean isCrossProfileIntentForwarderActivity() + bool isCrossProfileIntentForwarderActivity() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_isCrossProfileIntentForwarderActivity, + jni.JniCallType.booleanType, []).boolean; + } + + static final _id_toString1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"toString", r"()Ljava/lang/String;"); + + /// from: public java.lang.String toString() + /// The returned object must be released after use, by calling the [release] method. + jni.JString toString1() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_toString1, jni.JniCallType.objectType, []).object); + } + + static final _id_describeContents = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"describeContents", r"()I"); + + /// from: public int describeContents() + int describeContents() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_describeContents, jni.JniCallType.intType, []).integer; + } + + static final _id_writeToParcel = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"writeToParcel", r"(Landroid/os/Parcel;I)V"); + + /// from: public void writeToParcel(android.os.Parcel parcel, int i) + void writeToParcel( + jni.JObject parcel, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_writeToParcel, + jni.JniCallType.voidType, [parcel.reference, jni.JValueInt(i)]).check(); + } +} + +final class $ResolveInfoType extends jni.JObjType { + const $ResolveInfoType(); + + @override + String get signature => r"Landroid/content/pm/ResolveInfo;"; + + @override + ResolveInfo fromRef(jni.JObjectPtr ref) => ResolveInfo.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($ResolveInfoType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($ResolveInfoType) && other is $ResolveInfoType; + } +} + +/// from: android.content.pm.ActivityInfo$WindowLayout +class ActivityInfo_WindowLayout extends jni.JObject { + @override + late final jni.JObjType $type = type; + + ActivityInfo_WindowLayout.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"android/content/pm/ActivityInfo$WindowLayout"); + + /// The type which includes information such as the signature of this class. + static const type = $ActivityInfo_WindowLayoutType(); + static final _id_gravity = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"gravity", + r"I", + ); + + /// from: public final int gravity + int get gravity => jni.Jni.accessors + .getField(reference, _id_gravity, jni.JniCallType.intType) + .integer; + + static final _id_height = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"height", + r"I", + ); + + /// from: public final int height + int get height => jni.Jni.accessors + .getField(reference, _id_height, jni.JniCallType.intType) + .integer; + + static final _id_heightFraction = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"heightFraction", + r"F", + ); + + /// from: public final float heightFraction + double get heightFraction => jni.Jni.accessors + .getField(reference, _id_heightFraction, jni.JniCallType.floatType) + .float; + + static final _id_minHeight = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"minHeight", + r"I", + ); + + /// from: public final int minHeight + int get minHeight => jni.Jni.accessors + .getField(reference, _id_minHeight, jni.JniCallType.intType) + .integer; + + static final _id_minWidth = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"minWidth", + r"I", + ); + + /// from: public final int minWidth + int get minWidth => jni.Jni.accessors + .getField(reference, _id_minWidth, jni.JniCallType.intType) + .integer; + + static final _id_width = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"width", + r"I", + ); + + /// from: public final int width + int get width => jni.Jni.accessors + .getField(reference, _id_width, jni.JniCallType.intType) + .integer; + + static final _id_widthFraction = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"widthFraction", + r"F", + ); + + /// from: public final float widthFraction + double get widthFraction => jni.Jni.accessors + .getField(reference, _id_widthFraction, jni.JniCallType.floatType) + .float; + + static final _id_new0 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(IFIFIII)V"); + + /// from: public void (int i, float f, int i1, float f1, int i2, int i3, int i4) + /// The returned object must be released after use, by calling the [release] method. + factory ActivityInfo_WindowLayout( + int i, + double f, + int i1, + double f1, + int i2, + int i3, + int i4, + ) { + return ActivityInfo_WindowLayout.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, [ + jni.JValueInt(i), + jni.JValueFloat(f), + jni.JValueInt(i1), + jni.JValueFloat(f1), + jni.JValueInt(i2), + jni.JValueInt(i3), + jni.JValueInt(i4) + ]).object); + } +} + +final class $ActivityInfo_WindowLayoutType + extends jni.JObjType { + const $ActivityInfo_WindowLayoutType(); + + @override + String get signature => r"Landroid/content/pm/ActivityInfo$WindowLayout;"; + + @override + ActivityInfo_WindowLayout fromRef(jni.JObjectPtr ref) => + ActivityInfo_WindowLayout.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($ActivityInfo_WindowLayoutType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($ActivityInfo_WindowLayoutType) && + other is $ActivityInfo_WindowLayoutType; + } +} + +/// from: android.content.pm.ActivityInfo +class ActivityInfo extends jni.JObject { + @override + late final jni.JObjType $type = type; + + ActivityInfo.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"android/content/pm/ActivityInfo"); + + /// The type which includes information such as the signature of this class. + static const type = $ActivityInfoType(); + + /// from: static public final int COLOR_MODE_DEFAULT + static const COLOR_MODE_DEFAULT = 0; + + /// from: static public final int COLOR_MODE_HDR + static const COLOR_MODE_HDR = 2; + + /// from: static public final int COLOR_MODE_WIDE_COLOR_GAMUT + static const COLOR_MODE_WIDE_COLOR_GAMUT = 1; + + /// from: static public final int CONFIG_COLOR_MODE + static const CONFIG_COLOR_MODE = 16384; + + /// from: static public final int CONFIG_DENSITY + static const CONFIG_DENSITY = 4096; + + /// from: static public final int CONFIG_FONT_SCALE + static const CONFIG_FONT_SCALE = 1073741824; + + /// from: static public final int CONFIG_FONT_WEIGHT_ADJUSTMENT + static const CONFIG_FONT_WEIGHT_ADJUSTMENT = 268435456; + + /// from: static public final int CONFIG_GRAMMATICAL_GENDER + static const CONFIG_GRAMMATICAL_GENDER = 32768; + + /// from: static public final int CONFIG_KEYBOARD + static const CONFIG_KEYBOARD = 16; + + /// from: static public final int CONFIG_KEYBOARD_HIDDEN + static const CONFIG_KEYBOARD_HIDDEN = 32; + + /// from: static public final int CONFIG_LAYOUT_DIRECTION + static const CONFIG_LAYOUT_DIRECTION = 8192; + + /// from: static public final int CONFIG_LOCALE + static const CONFIG_LOCALE = 4; + + /// from: static public final int CONFIG_MCC + static const CONFIG_MCC = 1; + + /// from: static public final int CONFIG_MNC + static const CONFIG_MNC = 2; + + /// from: static public final int CONFIG_NAVIGATION + static const CONFIG_NAVIGATION = 64; + + /// from: static public final int CONFIG_ORIENTATION + static const CONFIG_ORIENTATION = 128; + + /// from: static public final int CONFIG_SCREEN_LAYOUT + static const CONFIG_SCREEN_LAYOUT = 256; + + /// from: static public final int CONFIG_SCREEN_SIZE + static const CONFIG_SCREEN_SIZE = 1024; + + /// from: static public final int CONFIG_SMALLEST_SCREEN_SIZE + static const CONFIG_SMALLEST_SCREEN_SIZE = 2048; + + /// from: static public final int CONFIG_TOUCHSCREEN + static const CONFIG_TOUCHSCREEN = 8; + + /// from: static public final int CONFIG_UI_MODE + static const CONFIG_UI_MODE = 512; + + static final _id_CREATOR = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"CREATOR", + r"Landroid/os/Parcelable$Creator;", + ); + + /// from: static public final android.os.Parcelable$Creator CREATOR + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject get CREATOR => const jni.JObjectType().fromRef(jni + .Jni.accessors + .getStaticField(_class.reference, _id_CREATOR, jni.JniCallType.objectType) + .object); + + /// from: static public final int DOCUMENT_LAUNCH_ALWAYS + static const DOCUMENT_LAUNCH_ALWAYS = 2; + + /// from: static public final int DOCUMENT_LAUNCH_INTO_EXISTING + static const DOCUMENT_LAUNCH_INTO_EXISTING = 1; + + /// from: static public final int DOCUMENT_LAUNCH_NEVER + static const DOCUMENT_LAUNCH_NEVER = 3; + + /// from: static public final int DOCUMENT_LAUNCH_NONE + static const DOCUMENT_LAUNCH_NONE = 0; + + /// from: static public final int FLAG_ALLOW_TASK_REPARENTING + static const FLAG_ALLOW_TASK_REPARENTING = 64; + + /// from: static public final int FLAG_ALLOW_UNTRUSTED_ACTIVITY_EMBEDDING + static const FLAG_ALLOW_UNTRUSTED_ACTIVITY_EMBEDDING = 268435456; + + /// from: static public final int FLAG_ALWAYS_RETAIN_TASK_STATE + static const FLAG_ALWAYS_RETAIN_TASK_STATE = 8; + + /// from: static public final int FLAG_AUTO_REMOVE_FROM_RECENTS + static const FLAG_AUTO_REMOVE_FROM_RECENTS = 8192; + + /// from: static public final int FLAG_CLEAR_TASK_ON_LAUNCH + static const FLAG_CLEAR_TASK_ON_LAUNCH = 4; + + /// from: static public final int FLAG_ENABLE_VR_MODE + static const FLAG_ENABLE_VR_MODE = 32768; + + /// from: static public final int FLAG_EXCLUDE_FROM_RECENTS + static const FLAG_EXCLUDE_FROM_RECENTS = 32; + + /// from: static public final int FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS + static const FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS = 256; + + /// from: static public final int FLAG_FINISH_ON_TASK_LAUNCH + static const FLAG_FINISH_ON_TASK_LAUNCH = 2; + + /// from: static public final int FLAG_HARDWARE_ACCELERATED + static const FLAG_HARDWARE_ACCELERATED = 512; + + /// from: static public final int FLAG_IMMERSIVE + static const FLAG_IMMERSIVE = 2048; + + /// from: static public final int FLAG_MULTIPROCESS + static const FLAG_MULTIPROCESS = 1; + + /// from: static public final int FLAG_NO_HISTORY + static const FLAG_NO_HISTORY = 128; + + /// from: static public final int FLAG_PREFER_MINIMAL_POST_PROCESSING + static const FLAG_PREFER_MINIMAL_POST_PROCESSING = 33554432; + + /// from: static public final int FLAG_RELINQUISH_TASK_IDENTITY + static const FLAG_RELINQUISH_TASK_IDENTITY = 4096; + + /// from: static public final int FLAG_RESUME_WHILE_PAUSING + static const FLAG_RESUME_WHILE_PAUSING = 16384; + + /// from: static public final int FLAG_SINGLE_USER + static const FLAG_SINGLE_USER = 1073741824; + + /// from: static public final int FLAG_STATE_NOT_NEEDED + static const FLAG_STATE_NOT_NEEDED = 16; + + /// from: static public final int LAUNCH_MULTIPLE + static const LAUNCH_MULTIPLE = 0; + + /// from: static public final int LAUNCH_SINGLE_INSTANCE + static const LAUNCH_SINGLE_INSTANCE = 3; + + /// from: static public final int LAUNCH_SINGLE_INSTANCE_PER_TASK + static const LAUNCH_SINGLE_INSTANCE_PER_TASK = 4; + + /// from: static public final int LAUNCH_SINGLE_TASK + static const LAUNCH_SINGLE_TASK = 2; + + /// from: static public final int LAUNCH_SINGLE_TOP + static const LAUNCH_SINGLE_TOP = 1; + + /// from: static public final int PERSIST_ACROSS_REBOOTS + static const PERSIST_ACROSS_REBOOTS = 2; + + /// from: static public final int PERSIST_NEVER + static const PERSIST_NEVER = 1; + + /// from: static public final int PERSIST_ROOT_ONLY + static const PERSIST_ROOT_ONLY = 0; + + /// from: static public final int SCREEN_ORIENTATION_BEHIND + static const SCREEN_ORIENTATION_BEHIND = 3; + + /// from: static public final int SCREEN_ORIENTATION_FULL_SENSOR + static const SCREEN_ORIENTATION_FULL_SENSOR = 10; + + /// from: static public final int SCREEN_ORIENTATION_FULL_USER + static const SCREEN_ORIENTATION_FULL_USER = 13; + + /// from: static public final int SCREEN_ORIENTATION_LANDSCAPE + static const SCREEN_ORIENTATION_LANDSCAPE = 0; + + /// from: static public final int SCREEN_ORIENTATION_LOCKED + static const SCREEN_ORIENTATION_LOCKED = 14; + + /// from: static public final int SCREEN_ORIENTATION_NOSENSOR + static const SCREEN_ORIENTATION_NOSENSOR = 5; + + /// from: static public final int SCREEN_ORIENTATION_PORTRAIT + static const SCREEN_ORIENTATION_PORTRAIT = 1; + + /// from: static public final int SCREEN_ORIENTATION_REVERSE_LANDSCAPE + static const SCREEN_ORIENTATION_REVERSE_LANDSCAPE = 8; + + /// from: static public final int SCREEN_ORIENTATION_REVERSE_PORTRAIT + static const SCREEN_ORIENTATION_REVERSE_PORTRAIT = 9; + + /// from: static public final int SCREEN_ORIENTATION_SENSOR + static const SCREEN_ORIENTATION_SENSOR = 4; + + /// from: static public final int SCREEN_ORIENTATION_SENSOR_LANDSCAPE + static const SCREEN_ORIENTATION_SENSOR_LANDSCAPE = 6; + + /// from: static public final int SCREEN_ORIENTATION_SENSOR_PORTRAIT + static const SCREEN_ORIENTATION_SENSOR_PORTRAIT = 7; + + /// from: static public final int SCREEN_ORIENTATION_UNSPECIFIED + static const SCREEN_ORIENTATION_UNSPECIFIED = -1; + + /// from: static public final int SCREEN_ORIENTATION_USER + static const SCREEN_ORIENTATION_USER = 2; + + /// from: static public final int SCREEN_ORIENTATION_USER_LANDSCAPE + static const SCREEN_ORIENTATION_USER_LANDSCAPE = 11; + + /// from: static public final int SCREEN_ORIENTATION_USER_PORTRAIT + static const SCREEN_ORIENTATION_USER_PORTRAIT = 12; + + /// from: static public final int UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW + static const UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW = 1; + + static final _id_colorMode = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"colorMode", + r"I", + ); + + /// from: public int colorMode + int get colorMode => jni.Jni.accessors + .getField(reference, _id_colorMode, jni.JniCallType.intType) + .integer; + + /// from: public int colorMode + set colorMode(int value) => + jni.Jni.env.SetIntField(reference, _id_colorMode, value); + + static final _id_configChanges = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"configChanges", + r"I", + ); + + /// from: public int configChanges + int get configChanges => jni.Jni.accessors + .getField(reference, _id_configChanges, jni.JniCallType.intType) + .integer; + + /// from: public int configChanges + set configChanges(int value) => + jni.Jni.env.SetIntField(reference, _id_configChanges, value); + + static final _id_documentLaunchMode = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"documentLaunchMode", + r"I", + ); + + /// from: public int documentLaunchMode + int get documentLaunchMode => jni.Jni.accessors + .getField(reference, _id_documentLaunchMode, jni.JniCallType.intType) + .integer; + + /// from: public int documentLaunchMode + set documentLaunchMode(int value) => + jni.Jni.env.SetIntField(reference, _id_documentLaunchMode, value); + + static final _id_flags = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"flags", + r"I", + ); + + /// from: public int flags + int get flags => jni.Jni.accessors + .getField(reference, _id_flags, jni.JniCallType.intType) + .integer; + + /// from: public int flags + set flags(int value) => jni.Jni.env.SetIntField(reference, _id_flags, value); + + static final _id_launchMode = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"launchMode", + r"I", + ); + + /// from: public int launchMode + int get launchMode => jni.Jni.accessors + .getField(reference, _id_launchMode, jni.JniCallType.intType) + .integer; + + /// from: public int launchMode + set launchMode(int value) => + jni.Jni.env.SetIntField(reference, _id_launchMode, value); + + static final _id_maxRecents = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"maxRecents", + r"I", + ); + + /// from: public int maxRecents + int get maxRecents => jni.Jni.accessors + .getField(reference, _id_maxRecents, jni.JniCallType.intType) + .integer; + + /// from: public int maxRecents + set maxRecents(int value) => + jni.Jni.env.SetIntField(reference, _id_maxRecents, value); + + static final _id_parentActivityName = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"parentActivityName", + r"Ljava/lang/String;", + ); + + /// from: public java.lang.String parentActivityName + /// The returned object must be released after use, by calling the [release] method. + jni.JString get parentActivityName => const jni.JStringType().fromRef(jni + .Jni.accessors + .getField(reference, _id_parentActivityName, jni.JniCallType.objectType) + .object); + + /// from: public java.lang.String parentActivityName + /// The returned object must be released after use, by calling the [release] method. + set parentActivityName(jni.JString value) => jni.Jni.env + .SetObjectField(reference, _id_parentActivityName, value.reference); + + static final _id_permission = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"permission", + r"Ljava/lang/String;", + ); + + /// from: public java.lang.String permission + /// The returned object must be released after use, by calling the [release] method. + jni.JString get permission => + const jni.JStringType().fromRef(jni.Jni.accessors + .getField(reference, _id_permission, jni.JniCallType.objectType) + .object); + + /// from: public java.lang.String permission + /// The returned object must be released after use, by calling the [release] method. + set permission(jni.JString value) => + jni.Jni.env.SetObjectField(reference, _id_permission, value.reference); + + static final _id_persistableMode = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"persistableMode", + r"I", + ); + + /// from: public int persistableMode + int get persistableMode => jni.Jni.accessors + .getField(reference, _id_persistableMode, jni.JniCallType.intType) + .integer; + + /// from: public int persistableMode + set persistableMode(int value) => + jni.Jni.env.SetIntField(reference, _id_persistableMode, value); + + static final _id_requiredDisplayCategory = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"requiredDisplayCategory", + r"Ljava/lang/String;", + ); + + /// from: public java.lang.String requiredDisplayCategory + /// The returned object must be released after use, by calling the [release] method. + jni.JString get requiredDisplayCategory => const jni.JStringType().fromRef(jni + .Jni.accessors + .getField( + reference, _id_requiredDisplayCategory, jni.JniCallType.objectType) + .object); + + /// from: public java.lang.String requiredDisplayCategory + /// The returned object must be released after use, by calling the [release] method. + set requiredDisplayCategory(jni.JString value) => jni.Jni.env + .SetObjectField(reference, _id_requiredDisplayCategory, value.reference); + + static final _id_screenOrientation = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"screenOrientation", + r"I", + ); + + /// from: public int screenOrientation + int get screenOrientation => jni.Jni.accessors + .getField(reference, _id_screenOrientation, jni.JniCallType.intType) + .integer; + + /// from: public int screenOrientation + set screenOrientation(int value) => + jni.Jni.env.SetIntField(reference, _id_screenOrientation, value); + + static final _id_softInputMode = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"softInputMode", + r"I", + ); + + /// from: public int softInputMode + int get softInputMode => jni.Jni.accessors + .getField(reference, _id_softInputMode, jni.JniCallType.intType) + .integer; + + /// from: public int softInputMode + set softInputMode(int value) => + jni.Jni.env.SetIntField(reference, _id_softInputMode, value); + + static final _id_targetActivity = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"targetActivity", + r"Ljava/lang/String;", + ); + + /// from: public java.lang.String targetActivity + /// The returned object must be released after use, by calling the [release] method. + jni.JString get targetActivity => + const jni.JStringType().fromRef(jni.Jni.accessors + .getField(reference, _id_targetActivity, jni.JniCallType.objectType) + .object); + + /// from: public java.lang.String targetActivity + /// The returned object must be released after use, by calling the [release] method. + set targetActivity(jni.JString value) => jni.Jni.env + .SetObjectField(reference, _id_targetActivity, value.reference); + + static final _id_taskAffinity = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"taskAffinity", + r"Ljava/lang/String;", + ); + + /// from: public java.lang.String taskAffinity + /// The returned object must be released after use, by calling the [release] method. + jni.JString get taskAffinity => + const jni.JStringType().fromRef(jni.Jni.accessors + .getField(reference, _id_taskAffinity, jni.JniCallType.objectType) + .object); + + /// from: public java.lang.String taskAffinity + /// The returned object must be released after use, by calling the [release] method. + set taskAffinity(jni.JString value) => + jni.Jni.env.SetObjectField(reference, _id_taskAffinity, value.reference); + + static final _id_theme = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"theme", + r"I", + ); + + /// from: public int theme + int get theme => jni.Jni.accessors + .getField(reference, _id_theme, jni.JniCallType.intType) + .integer; + + /// from: public int theme + set theme(int value) => jni.Jni.env.SetIntField(reference, _id_theme, value); + + static final _id_uiOptions = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"uiOptions", + r"I", + ); + + /// from: public int uiOptions + int get uiOptions => jni.Jni.accessors + .getField(reference, _id_uiOptions, jni.JniCallType.intType) + .integer; + + /// from: public int uiOptions + set uiOptions(int value) => + jni.Jni.env.SetIntField(reference, _id_uiOptions, value); + + static final _id_windowLayout = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"windowLayout", + r"Landroid/content/pm/ActivityInfo$WindowLayout;", + ); + + /// from: public android.content.pm.ActivityInfo$WindowLayout windowLayout + /// The returned object must be released after use, by calling the [release] method. + ActivityInfo_WindowLayout get windowLayout => + const $ActivityInfo_WindowLayoutType().fromRef(jni.Jni.accessors + .getField(reference, _id_windowLayout, jni.JniCallType.objectType) + .object); + + /// from: public android.content.pm.ActivityInfo$WindowLayout windowLayout + /// The returned object must be released after use, by calling the [release] method. + set windowLayout(ActivityInfo_WindowLayout value) => + jni.Jni.env.SetObjectField(reference, _id_windowLayout, value.reference); + + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory ActivityInfo() { + return ActivityInfo.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_new1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Landroid/content/pm/ActivityInfo;)V"); + + /// from: public void (android.content.pm.ActivityInfo activityInfo) + /// The returned object must be released after use, by calling the [release] method. + factory ActivityInfo.new1( + ActivityInfo activityInfo, + ) { + return ActivityInfo.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new1, [activityInfo.reference]).object); + } + + static final _id_getThemeResource = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getThemeResource", r"()I"); + + /// from: public final int getThemeResource() + int getThemeResource() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getThemeResource, jni.JniCallType.intType, []).integer; + } + + static final _id_getKnownActivityEmbeddingCerts = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getKnownActivityEmbeddingCerts", + r"()Ljava/util/Set;"); + + /// from: public java.util.Set getKnownActivityEmbeddingCerts() + /// The returned object must be released after use, by calling the [release] method. + jni.JSet getKnownActivityEmbeddingCerts() { + return const jni.JSetType(jni.JStringType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getKnownActivityEmbeddingCerts, + jni.JniCallType.objectType, []).object); + } + + static final _id_dump = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"dump", r"(Landroid/util/Printer;Ljava/lang/String;)V"); + + /// from: public void dump(android.util.Printer printer, java.lang.String string) + void dump( + jni.JObject printer, + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_dump, + jni.JniCallType.voidType, + [printer.reference, string.reference]).check(); + } + + static final _id_toString1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"toString", r"()Ljava/lang/String;"); + + /// from: public java.lang.String toString() + /// The returned object must be released after use, by calling the [release] method. + jni.JString toString1() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_toString1, jni.JniCallType.objectType, []).object); + } + + static final _id_describeContents = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"describeContents", r"()I"); + + /// from: public int describeContents() + int describeContents() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_describeContents, jni.JniCallType.intType, []).integer; + } + + static final _id_writeToParcel = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"writeToParcel", r"(Landroid/os/Parcel;I)V"); + + /// from: public void writeToParcel(android.os.Parcel parcel, int i) + void writeToParcel( + jni.JObject parcel, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_writeToParcel, + jni.JniCallType.voidType, [parcel.reference, jni.JValueInt(i)]).check(); + } +} + +final class $ActivityInfoType extends jni.JObjType { + const $ActivityInfoType(); + + @override + String get signature => r"Landroid/content/pm/ActivityInfo;"; + + @override + ActivityInfo fromRef(jni.JObjectPtr ref) => ActivityInfo.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($ActivityInfoType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($ActivityInfoType) && + other is $ActivityInfoType; + } +} + +/// from: android.content.pm.PackageItemInfo$DisplayNameComparator +class PackageItemInfo_DisplayNameComparator extends jni.JObject { + @override + late final jni.JObjType $type = type; + + PackageItemInfo_DisplayNameComparator.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"android/content/pm/PackageItemInfo$DisplayNameComparator"); + + /// The type which includes information such as the signature of this class. + static const type = $PackageItemInfo_DisplayNameComparatorType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Landroid/content/pm/PackageManager;)V"); + + /// from: public void (android.content.pm.PackageManager packageManager) + /// The returned object must be released after use, by calling the [release] method. + factory PackageItemInfo_DisplayNameComparator( + PackageManager packageManager, + ) { + return PackageItemInfo_DisplayNameComparator.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new0, [packageManager.reference]).object); + } + + static final _id_compare = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"compare", + r"(Landroid/content/pm/PackageItemInfo;Landroid/content/pm/PackageItemInfo;)I"); + + /// from: public final int compare(android.content.pm.PackageItemInfo packageItemInfo, android.content.pm.PackageItemInfo packageItemInfo1) + int compare( + PackageItemInfo packageItemInfo, + PackageItemInfo packageItemInfo1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_compare, + jni.JniCallType.intType, + [packageItemInfo.reference, packageItemInfo1.reference]).integer; + } + + static final _id_compare1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"compare", r"(Ljava/lang/Object;Ljava/lang/Object;)I"); + + /// from: public int compare(java.lang.Object object, java.lang.Object object1) + int compare1( + jni.JObject object, + jni.JObject object1, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_compare1, + jni.JniCallType.intType, [object.reference, object1.reference]).integer; + } +} + +final class $PackageItemInfo_DisplayNameComparatorType + extends jni.JObjType { + const $PackageItemInfo_DisplayNameComparatorType(); + + @override + String get signature => + r"Landroid/content/pm/PackageItemInfo$DisplayNameComparator;"; + + @override + PackageItemInfo_DisplayNameComparator fromRef(jni.JObjectPtr ref) => + PackageItemInfo_DisplayNameComparator.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($PackageItemInfo_DisplayNameComparatorType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($PackageItemInfo_DisplayNameComparatorType) && + other is $PackageItemInfo_DisplayNameComparatorType; + } +} + +/// from: android.content.pm.PackageItemInfo +class PackageItemInfo extends jni.JObject { + @override + late final jni.JObjType $type = type; + + PackageItemInfo.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"android/content/pm/PackageItemInfo"); + + /// The type which includes information such as the signature of this class. + static const type = $PackageItemInfoType(); + static final _id_banner = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"banner", + r"I", + ); + + /// from: public int banner + int get banner => jni.Jni.accessors + .getField(reference, _id_banner, jni.JniCallType.intType) + .integer; + + /// from: public int banner + set banner(int value) => + jni.Jni.env.SetIntField(reference, _id_banner, value); + + static final _id_icon = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"icon", + r"I", + ); + + /// from: public int icon + int get icon => jni.Jni.accessors + .getField(reference, _id_icon, jni.JniCallType.intType) + .integer; + + /// from: public int icon + set icon(int value) => jni.Jni.env.SetIntField(reference, _id_icon, value); + + static final _id_labelRes = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"labelRes", + r"I", + ); + + /// from: public int labelRes + int get labelRes => jni.Jni.accessors + .getField(reference, _id_labelRes, jni.JniCallType.intType) + .integer; + + /// from: public int labelRes + set labelRes(int value) => + jni.Jni.env.SetIntField(reference, _id_labelRes, value); + + static final _id_logo = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"logo", + r"I", + ); + + /// from: public int logo + int get logo => jni.Jni.accessors + .getField(reference, _id_logo, jni.JniCallType.intType) + .integer; + + /// from: public int logo + set logo(int value) => jni.Jni.env.SetIntField(reference, _id_logo, value); + + static final _id_metaData = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"metaData", + r"Landroid/os/Bundle;", + ); + + /// from: public android.os.Bundle metaData + /// The returned object must be released after use, by calling the [release] method. + Bundle get metaData => const $BundleType().fromRef(jni.Jni.accessors + .getField(reference, _id_metaData, jni.JniCallType.objectType) + .object); + + /// from: public android.os.Bundle metaData + /// The returned object must be released after use, by calling the [release] method. + set metaData(Bundle value) => + jni.Jni.env.SetObjectField(reference, _id_metaData, value.reference); + + static final _id_name = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"name", + r"Ljava/lang/String;", + ); + + /// from: public java.lang.String name + /// The returned object must be released after use, by calling the [release] method. + jni.JString get name => const jni.JStringType().fromRef(jni.Jni.accessors + .getField(reference, _id_name, jni.JniCallType.objectType) + .object); + + /// from: public java.lang.String name + /// The returned object must be released after use, by calling the [release] method. + set name(jni.JString value) => + jni.Jni.env.SetObjectField(reference, _id_name, value.reference); + + static final _id_nonLocalizedLabel = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"nonLocalizedLabel", + r"Ljava/lang/CharSequence;", + ); + + /// from: public java.lang.CharSequence nonLocalizedLabel + /// The returned object must be released after use, by calling the [release] method. + jni.JObject get nonLocalizedLabel => const jni.JObjectType().fromRef(jni + .Jni.accessors + .getField(reference, _id_nonLocalizedLabel, jni.JniCallType.objectType) + .object); + + /// from: public java.lang.CharSequence nonLocalizedLabel + /// The returned object must be released after use, by calling the [release] method. + set nonLocalizedLabel(jni.JObject value) => jni.Jni.env + .SetObjectField(reference, _id_nonLocalizedLabel, value.reference); + + static final _id_packageName = jni.Jni.accessors.getFieldIDOf( + _class.reference, + r"packageName", + r"Ljava/lang/String;", + ); + + /// from: public java.lang.String packageName + /// The returned object must be released after use, by calling the [release] method. + jni.JString get packageName => + const jni.JStringType().fromRef(jni.Jni.accessors + .getField(reference, _id_packageName, jni.JniCallType.objectType) + .object); + + /// from: public java.lang.String packageName + /// The returned object must be released after use, by calling the [release] method. + set packageName(jni.JString value) => + jni.Jni.env.SetObjectField(reference, _id_packageName, value.reference); + + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory PackageItemInfo() { + return PackageItemInfo.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_new1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Landroid/content/pm/PackageItemInfo;)V"); + + /// from: public void (android.content.pm.PackageItemInfo packageItemInfo) + /// The returned object must be released after use, by calling the [release] method. + factory PackageItemInfo.new1( + PackageItemInfo packageItemInfo, + ) { + return PackageItemInfo.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new1, [packageItemInfo.reference]).object); + } + + static final _id_new2 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Landroid/os/Parcel;)V"); + + /// from: protected void (android.os.Parcel parcel) + /// The returned object must be released after use, by calling the [release] method. + factory PackageItemInfo.new2( + jni.JObject parcel, + ) { + return PackageItemInfo.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new2, [parcel.reference]).object); + } + + static final _id_loadLabel = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"loadLabel", + r"(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;"); + + /// from: public java.lang.CharSequence loadLabel(android.content.pm.PackageManager packageManager) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject loadLabel( + PackageManager packageManager, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_loadLabel, + jni.JniCallType.objectType, + [packageManager.reference]).object); + } + + static final _id_loadIcon = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"loadIcon", + r"(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;"); + + /// from: public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager packageManager) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject loadIcon( + PackageManager packageManager, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_loadIcon, + jni.JniCallType.objectType, + [packageManager.reference]).object); + } + + static final _id_loadUnbadgedIcon = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"loadUnbadgedIcon", + r"(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;"); + + /// from: public android.graphics.drawable.Drawable loadUnbadgedIcon(android.content.pm.PackageManager packageManager) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject loadUnbadgedIcon( + PackageManager packageManager, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_loadUnbadgedIcon, + jni.JniCallType.objectType, + [packageManager.reference]).object); + } + + static final _id_loadBanner = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"loadBanner", + r"(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;"); + + /// from: public android.graphics.drawable.Drawable loadBanner(android.content.pm.PackageManager packageManager) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject loadBanner( + PackageManager packageManager, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_loadBanner, + jni.JniCallType.objectType, + [packageManager.reference]).object); + } + + static final _id_loadLogo = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"loadLogo", + r"(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;"); + + /// from: public android.graphics.drawable.Drawable loadLogo(android.content.pm.PackageManager packageManager) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject loadLogo( + PackageManager packageManager, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_loadLogo, + jni.JniCallType.objectType, + [packageManager.reference]).object); + } + + static final _id_loadXmlMetaData = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"loadXmlMetaData", + r"(Landroid/content/pm/PackageManager;Ljava/lang/String;)Landroid/content/res/XmlResourceParser;"); + + /// from: public android.content.res.XmlResourceParser loadXmlMetaData(android.content.pm.PackageManager packageManager, java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject loadXmlMetaData( + PackageManager packageManager, + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_loadXmlMetaData, + jni.JniCallType.objectType, + [packageManager.reference, string.reference]).object); + } + + static final _id_dumpFront = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"dumpFront", r"(Landroid/util/Printer;Ljava/lang/String;)V"); + + /// from: protected void dumpFront(android.util.Printer printer, java.lang.String string) + void dumpFront( + jni.JObject printer, + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_dumpFront, + jni.JniCallType.voidType, + [printer.reference, string.reference]).check(); + } + + static final _id_dumpBack = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"dumpBack", r"(Landroid/util/Printer;Ljava/lang/String;)V"); + + /// from: protected void dumpBack(android.util.Printer printer, java.lang.String string) + void dumpBack( + jni.JObject printer, + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_dumpBack, + jni.JniCallType.voidType, + [printer.reference, string.reference]).check(); + } + + static final _id_writeToParcel = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"writeToParcel", r"(Landroid/os/Parcel;I)V"); + + /// from: public void writeToParcel(android.os.Parcel parcel, int i) + void writeToParcel( + jni.JObject parcel, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_writeToParcel, + jni.JniCallType.voidType, [parcel.reference, jni.JValueInt(i)]).check(); + } +} + +final class $PackageItemInfoType extends jni.JObjType { + const $PackageItemInfoType(); + + @override + String get signature => r"Landroid/content/pm/PackageItemInfo;"; + + @override + PackageItemInfo fromRef(jni.JObjectPtr ref) => PackageItemInfo.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($PackageItemInfoType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($PackageItemInfoType) && + other is $PackageItemInfoType; + } +} + +/// from: dev.celest.celest_auth.CelestAuth +class CelestAuth extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CelestAuth.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"dev/celest/celest_auth/CelestAuth"); + + /// The type which includes information such as the signature of this class. + static const type = $CelestAuthType(); + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory CelestAuth() { + return CelestAuth.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_init = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"init", r"(Landroid/content/Context;)V"); + + /// from: public final void init(android.content.Context context) + void init( + Context context, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_init, + jni.JniCallType.voidType, [context.reference]).check(); + } + + static final _id_signInWithCustomTabs = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"signInWithCustomTabs", + r"(Landroid/net/Uri;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;)V"); + + /// from: public final void signInWithCustomTabs(android.net.Uri uri, kotlin.jvm.functions.Function0 function0, kotlin.jvm.functions.Function1 function1) + void signInWithCustomTabs( + Uri uri, + jni.JObject function0, + jni.JObject function1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_signInWithCustomTabs, + jni.JniCallType.voidType, + [uri.reference, function0.reference, function1.reference]).check(); + } + + static final _id_signInWithGoogle = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"signInWithGoogle", + r"(Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;"); + + /// from: public final java.lang.Object signInWithGoogle(java.lang.String string, java.lang.String string1, kotlin.coroutines.Continuation continuation) + /// The returned object must be released after use, by calling the [release] method. + Future signInWithGoogle( + jni.JString string, + jni.JString string1, + ) async { + final $p = ReceivePort(); + final $c = + jni.JObject.fromRef(ProtectedJniExtensions.newPortContinuation($p)); + jni.Jni.accessors.callMethodWithArgs( + reference, + _id_signInWithGoogle, + jni.JniCallType.objectType, + [string.reference, string1.reference, $c.reference]).object; + final $o = jni.JObjectPtr.fromAddress(await $p.first); + final $k = const jni.JObjectType().getClass().reference; + if (!jni.Jni.env.IsInstanceOf($o, $k)) { + throw "Failed"; + } + return const jni.JObjectType().fromRef($o); + } + + static final _id_handleSignIn = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"handleSignIn", + r"(Landroidx/credentials/GetCredentialResponse;)V"); + + /// from: public final void handleSignIn(androidx.credentials.GetCredentialResponse getCredentialResponse) + void handleSignIn( + GetCredentialResponse getCredentialResponse, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_handleSignIn, + jni.JniCallType.voidType, [getCredentialResponse.reference]).check(); + } +} + +final class $CelestAuthType extends jni.JObjType { + const $CelestAuthType(); + + @override + String get signature => r"Ldev/celest/celest_auth/CelestAuth;"; + + @override + CelestAuth fromRef(jni.JObjectPtr ref) => CelestAuth.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CelestAuthType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CelestAuthType) && other is $CelestAuthType; + } +} + +/// from: androidx.credentials.CreateCredentialRequest$Companion +class CreateCredentialRequest_Companion extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CreateCredentialRequest_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/CreateCredentialRequest$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialRequest_CompanionType(); + static final _id_createFrom = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/Bundle;ZLjava/lang/String;)Landroidx/credentials/CreateCredentialRequest;"); + + /// from: public final androidx.credentials.CreateCredentialRequest createFrom(java.lang.String string, android.os.Bundle bundle, android.os.Bundle bundle1, boolean z, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + CreateCredentialRequest createFrom( + jni.JString string, + Bundle bundle, + Bundle bundle1, + bool z, + jni.JString string1, + ) { + return const $CreateCredentialRequestType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, _id_createFrom, jni.JniCallType.objectType, [ + string.reference, + bundle.reference, + bundle1.reference, + z ? 1 : 0, + string1.reference + ]).object); + } + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialRequest_Companion( + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialRequest_Companion.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $CreateCredentialRequest_CompanionType + extends jni.JObjType { + const $CreateCredentialRequest_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/CreateCredentialRequest$Companion;"; + + @override + CreateCredentialRequest_Companion fromRef(jni.JObjectPtr ref) => + CreateCredentialRequest_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CreateCredentialRequest_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreateCredentialRequest_CompanionType) && + other is $CreateCredentialRequest_CompanionType; + } +} + +/// from: androidx.credentials.CreateCredentialRequest$DisplayInfo$Companion +class CreateCredentialRequest_DisplayInfo_Companion extends jni.JObject { + @override + late final jni.JObjType $type = + type; + + CreateCredentialRequest_DisplayInfo_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/CreateCredentialRequest$DisplayInfo$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialRequest_DisplayInfo_CompanionType(); + static final _id_parseFromCredentialDataBundle = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"parseFromCredentialDataBundle", + r"(Landroid/os/Bundle;)Landroidx/credentials/CreateCredentialRequest$DisplayInfo;"); + + /// from: public final androidx.credentials.CreateCredentialRequest$DisplayInfo parseFromCredentialDataBundle(android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + CreateCredentialRequest_DisplayInfo parseFromCredentialDataBundle( + Bundle bundle, + ) { + return const $CreateCredentialRequest_DisplayInfoType().fromRef( + jni.Jni.accessors.callMethodWithArgs( + reference, + _id_parseFromCredentialDataBundle, + jni.JniCallType.objectType, + [bundle.reference]).object); + } + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialRequest_DisplayInfo_Companion( + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialRequest_DisplayInfo_Companion.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $CreateCredentialRequest_DisplayInfo_CompanionType + extends jni.JObjType { + const $CreateCredentialRequest_DisplayInfo_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/CreateCredentialRequest$DisplayInfo$Companion;"; + + @override + CreateCredentialRequest_DisplayInfo_Companion fromRef(jni.JObjectPtr ref) => + CreateCredentialRequest_DisplayInfo_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => + ($CreateCredentialRequest_DisplayInfo_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($CreateCredentialRequest_DisplayInfo_CompanionType) && + other is $CreateCredentialRequest_DisplayInfo_CompanionType; + } +} + +/// from: androidx.credentials.CreateCredentialRequest$DisplayInfo +class CreateCredentialRequest_DisplayInfo extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CreateCredentialRequest_DisplayInfo.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/CreateCredentialRequest$DisplayInfo"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialRequest_DisplayInfoType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/CreateCredentialRequest$DisplayInfo$Companion;", + ); + + /// from: static public final androidx.credentials.CreateCredentialRequest$DisplayInfo$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static CreateCredentialRequest_DisplayInfo_Companion get Companion => + const $CreateCredentialRequest_DisplayInfo_CompanionType().fromRef(jni + .Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String BUNDLE_KEY_REQUEST_DISPLAY_INFO + static const BUNDLE_KEY_REQUEST_DISPLAY_INFO = + r"""androidx.credentials.BUNDLE_KEY_REQUEST_DISPLAY_INFO"""; + + /// from: static public final java.lang.String BUNDLE_KEY_USER_ID + static const BUNDLE_KEY_USER_ID = + r"""androidx.credentials.BUNDLE_KEY_USER_ID"""; + + /// from: static public final java.lang.String BUNDLE_KEY_USER_DISPLAY_NAME + static const BUNDLE_KEY_USER_DISPLAY_NAME = + r"""androidx.credentials.BUNDLE_KEY_USER_DISPLAY_NAME"""; + + /// from: static public final java.lang.String BUNDLE_KEY_CREDENTIAL_TYPE_ICON + static const BUNDLE_KEY_CREDENTIAL_TYPE_ICON = + r"""androidx.credentials.BUNDLE_KEY_CREDENTIAL_TYPE_ICON"""; + + /// from: static public final java.lang.String BUNDLE_KEY_DEFAULT_PROVIDER + static const BUNDLE_KEY_DEFAULT_PROVIDER = + r"""androidx.credentials.BUNDLE_KEY_DEFAULT_PROVIDER"""; + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/graphics/drawable/Icon;Ljava/lang/String;)V"); + + /// from: public void (java.lang.CharSequence charSequence, java.lang.CharSequence charSequence1, android.graphics.drawable.Icon icon, java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialRequest_DisplayInfo( + jni.JObject charSequence, + jni.JObject charSequence1, + jni.JObject icon, + jni.JString string, + ) { + return CreateCredentialRequest_DisplayInfo.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, [ + charSequence.reference, + charSequence1.reference, + icon.reference, + string.reference + ]).object); + } + + static final _id_getUserId = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getUserId", r"()Ljava/lang/CharSequence;"); + + /// from: public final java.lang.CharSequence getUserId() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getUserId() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getUserId, jni.JniCallType.objectType, []).object); + } + + static final _id_getUserDisplayName = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getUserDisplayName", r"()Ljava/lang/CharSequence;"); + + /// from: public final java.lang.CharSequence getUserDisplayName() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getUserDisplayName() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getUserDisplayName, + jni.JniCallType.objectType, []).object); + } + + static final _id_getCredentialTypeIcon = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getCredentialTypeIcon", + r"()Landroid/graphics/drawable/Icon;"); + + /// from: public final android.graphics.drawable.Icon getCredentialTypeIcon() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getCredentialTypeIcon() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getCredentialTypeIcon, + jni.JniCallType.objectType, []).object); + } + + static final _id_getPreferDefaultProvider = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getPreferDefaultProvider", r"()Ljava/lang/String;"); + + /// from: public final java.lang.String getPreferDefaultProvider() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getPreferDefaultProvider() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getPreferDefaultProvider, + jni.JniCallType.objectType, []).object); + } + + static final _id_new1 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V"); + + /// from: public void (java.lang.CharSequence charSequence, java.lang.CharSequence charSequence1) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialRequest_DisplayInfo.new1( + jni.JObject charSequence, + jni.JObject charSequence1, + ) { + return CreateCredentialRequest_DisplayInfo.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new1, + [charSequence.reference, charSequence1.reference]).object); + } + + static final _id_new2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/CharSequence;Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.CharSequence charSequence, java.lang.CharSequence charSequence1, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialRequest_DisplayInfo.new2( + jni.JObject charSequence, + jni.JObject charSequence1, + int i, + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialRequest_DisplayInfo.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new2, [ + charSequence.reference, + charSequence1.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_new3 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/String;)V"); + + /// from: public void (java.lang.CharSequence charSequence, java.lang.CharSequence charSequence1, java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialRequest_DisplayInfo.new3( + jni.JObject charSequence, + jni.JObject charSequence1, + jni.JString string, + ) { + return CreateCredentialRequest_DisplayInfo.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new3, [ + charSequence.reference, + charSequence1.reference, + string.reference + ]).object); + } + + static final _id_toBundle = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"toBundle", r"()Landroid/os/Bundle;"); + + /// from: public final android.os.Bundle toBundle() + /// The returned object must be released after use, by calling the [release] method. + Bundle toBundle() { + return const $BundleType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_toBundle, jni.JniCallType.objectType, []).object); + } + + static final _id_new4 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/lang/CharSequence;)V"); + + /// from: public void (java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialRequest_DisplayInfo.new4( + jni.JObject charSequence, + ) { + return CreateCredentialRequest_DisplayInfo.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new4, [charSequence.reference]).object); + } + + static final _id_parseFromCredentialDataBundle = jni.Jni.accessors + .getStaticMethodIDOf(_class.reference, r"parseFromCredentialDataBundle", + r"(Landroid/os/Bundle;)Landroidx/credentials/CreateCredentialRequest$DisplayInfo;"); + + /// from: static public final androidx.credentials.CreateCredentialRequest$DisplayInfo parseFromCredentialDataBundle(android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + static CreateCredentialRequest_DisplayInfo parseFromCredentialDataBundle( + Bundle bundle, + ) { + return const $CreateCredentialRequest_DisplayInfoType().fromRef( + jni.Jni.accessors.callStaticMethodWithArgs( + _class.reference, + _id_parseFromCredentialDataBundle, + jni.JniCallType.objectType, + [bundle.reference]).object); + } +} + +final class $CreateCredentialRequest_DisplayInfoType + extends jni.JObjType { + const $CreateCredentialRequest_DisplayInfoType(); + + @override + String get signature => + r"Landroidx/credentials/CreateCredentialRequest$DisplayInfo;"; + + @override + CreateCredentialRequest_DisplayInfo fromRef(jni.JObjectPtr ref) => + CreateCredentialRequest_DisplayInfo.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CreateCredentialRequest_DisplayInfoType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreateCredentialRequest_DisplayInfoType) && + other is $CreateCredentialRequest_DisplayInfoType; + } +} + +/// from: androidx.credentials.CreateCredentialRequest +class CreateCredentialRequest extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CreateCredentialRequest.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/credentials/CreateCredentialRequest"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialRequestType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/CreateCredentialRequest$Companion;", + ); + + /// from: static public final androidx.credentials.CreateCredentialRequest$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static CreateCredentialRequest_Companion get Companion => + const $CreateCredentialRequest_CompanionType().fromRef(jni.Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String BUNDLE_KEY_PREFER_IMMEDIATELY_AVAILABLE_CREDENTIALS + static const BUNDLE_KEY_PREFER_IMMEDIATELY_AVAILABLE_CREDENTIALS = + r"""androidx.credentials.BUNDLE_KEY_PREFER_IMMEDIATELY_AVAILABLE_CREDENTIALS"""; + + /// from: static public final java.lang.String BUNDLE_KEY_IS_AUTO_SELECT_ALLOWED + static const BUNDLE_KEY_IS_AUTO_SELECT_ALLOWED = + r"""androidx.credentials.BUNDLE_KEY_IS_AUTO_SELECT_ALLOWED"""; + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/Bundle;ZZLandroidx/credentials/CreateCredentialRequest$DisplayInfo;Ljava/lang/String;Z)V"); + + /// from: public void (java.lang.String string, android.os.Bundle bundle, android.os.Bundle bundle1, boolean z, boolean z1, androidx.credentials.CreateCredentialRequest$DisplayInfo displayInfo, java.lang.String string1, boolean z2) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialRequest( + jni.JString string, + Bundle bundle, + Bundle bundle1, + bool z, + bool z1, + CreateCredentialRequest_DisplayInfo displayInfo, + jni.JString string1, + bool z2, + ) { + return CreateCredentialRequest.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, [ + string.reference, + bundle.reference, + bundle1.reference, + z ? 1 : 0, + z1 ? 1 : 0, + displayInfo.reference, + string1.reference, + z2 ? 1 : 0 + ]).object); + } + + static final _id_getType = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getType", r"()Ljava/lang/String;"); + + /// from: public final java.lang.String getType() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getType() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getType, jni.JniCallType.objectType, []).object); + } + + static final _id_getCredentialData = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getCredentialData", r"()Landroid/os/Bundle;"); + + /// from: public final android.os.Bundle getCredentialData() + /// The returned object must be released after use, by calling the [release] method. + Bundle getCredentialData() { + return const $BundleType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getCredentialData, + jni.JniCallType.objectType, []).object); + } + + static final _id_getCandidateQueryData = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getCandidateQueryData", r"()Landroid/os/Bundle;"); + + /// from: public final android.os.Bundle getCandidateQueryData() + /// The returned object must be released after use, by calling the [release] method. + Bundle getCandidateQueryData() { + return const $BundleType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getCandidateQueryData, + jni.JniCallType.objectType, []).object); + } + + static final _id_isSystemProviderRequired = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isSystemProviderRequired", r"()Z"); + + /// from: public final boolean isSystemProviderRequired() + bool isSystemProviderRequired() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_isSystemProviderRequired, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_isAutoSelectAllowed = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isAutoSelectAllowed", r"()Z"); + + /// from: public final boolean isAutoSelectAllowed() + bool isAutoSelectAllowed() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_isAutoSelectAllowed, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_getDisplayInfo = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getDisplayInfo", + r"()Landroidx/credentials/CreateCredentialRequest$DisplayInfo;"); + + /// from: public final androidx.credentials.CreateCredentialRequest$DisplayInfo getDisplayInfo() + /// The returned object must be released after use, by calling the [release] method. + CreateCredentialRequest_DisplayInfo getDisplayInfo() { + return const $CreateCredentialRequest_DisplayInfoType().fromRef( + jni.Jni.accessors.callMethodWithArgs(reference, _id_getDisplayInfo, + jni.JniCallType.objectType, []).object); + } + + static final _id_getOrigin = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getOrigin", r"()Ljava/lang/String;"); + + /// from: public final java.lang.String getOrigin() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getOrigin() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getOrigin, jni.JniCallType.objectType, []).object); + } + + static final _id_preferImmediatelyAvailableCredentials = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"preferImmediatelyAvailableCredentials", r"()Z"); + + /// from: public final boolean preferImmediatelyAvailableCredentials() + bool preferImmediatelyAvailableCredentials() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_preferImmediatelyAvailableCredentials, + jni.JniCallType.booleanType, []).boolean; + } + + static final _id_createFrom = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/Bundle;ZLjava/lang/String;)Landroidx/credentials/CreateCredentialRequest;"); + + /// from: static public final androidx.credentials.CreateCredentialRequest createFrom(java.lang.String string, android.os.Bundle bundle, android.os.Bundle bundle1, boolean z, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + static CreateCredentialRequest createFrom( + jni.JString string, + Bundle bundle, + Bundle bundle1, + bool z, + jni.JString string1, + ) { + return const $CreateCredentialRequestType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, _id_createFrom, jni.JniCallType.objectType, [ + string.reference, + bundle.reference, + bundle1.reference, + z ? 1 : 0, + string1.reference + ]).object); + } +} + +final class $CreateCredentialRequestType + extends jni.JObjType { + const $CreateCredentialRequestType(); + + @override + String get signature => r"Landroidx/credentials/CreateCredentialRequest;"; + + @override + CreateCredentialRequest fromRef(jni.JObjectPtr ref) => + CreateCredentialRequest.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CreateCredentialRequestType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreateCredentialRequestType) && + other is $CreateCredentialRequestType; + } +} + +/// from: androidx.credentials.CreateCredentialResponse$Companion +class CreateCredentialResponse_Companion extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CreateCredentialResponse_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/CreateCredentialResponse$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialResponse_CompanionType(); + static final _id_createFrom = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/lang/String;Landroid/os/Bundle;)Landroidx/credentials/CreateCredentialResponse;"); + + /// from: public final androidx.credentials.CreateCredentialResponse createFrom(java.lang.String string, android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + CreateCredentialResponse createFrom( + jni.JString string, + Bundle bundle, + ) { + return const $CreateCredentialResponseType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_createFrom, + jni.JniCallType.objectType, + [string.reference, bundle.reference]).object); + } + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialResponse_Companion( + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialResponse_Companion.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $CreateCredentialResponse_CompanionType + extends jni.JObjType { + const $CreateCredentialResponse_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/CreateCredentialResponse$Companion;"; + + @override + CreateCredentialResponse_Companion fromRef(jni.JObjectPtr ref) => + CreateCredentialResponse_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CreateCredentialResponse_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreateCredentialResponse_CompanionType) && + other is $CreateCredentialResponse_CompanionType; + } +} + +/// from: androidx.credentials.CreateCredentialResponse +class CreateCredentialResponse extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CreateCredentialResponse.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/credentials/CreateCredentialResponse"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialResponseType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/CreateCredentialResponse$Companion;", + ); + + /// from: static public final androidx.credentials.CreateCredentialResponse$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static CreateCredentialResponse_Companion get Companion => + const $CreateCredentialResponse_CompanionType().fromRef(jni.Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/lang/String;Landroid/os/Bundle;)V"); + + /// from: public void (java.lang.String string, android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialResponse( + jni.JString string, + Bundle bundle, + ) { + return CreateCredentialResponse.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, + _id_new0, + [string.reference, bundle.reference]).object); + } + + static final _id_getType = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getType", r"()Ljava/lang/String;"); + + /// from: public final java.lang.String getType() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getType() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getType, jni.JniCallType.objectType, []).object); + } + + static final _id_getData = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getData", r"()Landroid/os/Bundle;"); + + /// from: public final android.os.Bundle getData() + /// The returned object must be released after use, by calling the [release] method. + Bundle getData() { + return const $BundleType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getData, jni.JniCallType.objectType, []).object); + } + + static final _id_createFrom = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/lang/String;Landroid/os/Bundle;)Landroidx/credentials/CreateCredentialResponse;"); + + /// from: static public final androidx.credentials.CreateCredentialResponse createFrom(java.lang.String string, android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + static CreateCredentialResponse createFrom( + jni.JString string, + Bundle bundle, + ) { + return const $CreateCredentialResponseType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_createFrom, + jni.JniCallType.objectType, + [string.reference, bundle.reference]).object); + } +} + +final class $CreateCredentialResponseType + extends jni.JObjType { + const $CreateCredentialResponseType(); + + @override + String get signature => r"Landroidx/credentials/CreateCredentialResponse;"; + + @override + CreateCredentialResponse fromRef(jni.JObjectPtr ref) => + CreateCredentialResponse.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CreateCredentialResponseType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreateCredentialResponseType) && + other is $CreateCredentialResponseType; + } +} + +/// from: androidx.credentials.CreatePublicKeyCredentialRequest$Companion +class CreatePublicKeyCredentialRequest_Companion extends jni.JObject { + @override + late final jni.JObjType $type = + type; + + CreatePublicKeyCredentialRequest_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/CreatePublicKeyCredentialRequest$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $CreatePublicKeyCredentialRequest_CompanionType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialRequest_Companion( + jni.JObject defaultConstructorMarker, + ) { + return CreatePublicKeyCredentialRequest_Companion.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $CreatePublicKeyCredentialRequest_CompanionType + extends jni.JObjType { + const $CreatePublicKeyCredentialRequest_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/CreatePublicKeyCredentialRequest$Companion;"; + + @override + CreatePublicKeyCredentialRequest_Companion fromRef(jni.JObjectPtr ref) => + CreatePublicKeyCredentialRequest_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => + ($CreatePublicKeyCredentialRequest_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($CreatePublicKeyCredentialRequest_CompanionType) && + other is $CreatePublicKeyCredentialRequest_CompanionType; + } +} + +/// from: androidx.credentials.CreatePublicKeyCredentialRequest +class CreatePublicKeyCredentialRequest extends CreateCredentialRequest { + @override + late final jni.JObjType $type = type; + + CreatePublicKeyCredentialRequest.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/CreatePublicKeyCredentialRequest"); + + /// The type which includes information such as the signature of this class. + static const type = $CreatePublicKeyCredentialRequestType(); + static final _id_Companion1 = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/CreatePublicKeyCredentialRequest$Companion;", + ); + + /// from: static public final androidx.credentials.CreatePublicKeyCredentialRequest$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static CreatePublicKeyCredentialRequest_Companion get Companion1 => + const $CreatePublicKeyCredentialRequest_CompanionType().fromRef(jni + .Jni.accessors + .getStaticField( + _class.reference, _id_Companion1, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String BUNDLE_KEY_CLIENT_DATA_HASH + static const BUNDLE_KEY_CLIENT_DATA_HASH = + r"""androidx.credentials.BUNDLE_KEY_CLIENT_DATA_HASH"""; + + /// from: static public final java.lang.String BUNDLE_KEY_REQUEST_JSON + static const BUNDLE_KEY_REQUEST_JSON = + r"""androidx.credentials.BUNDLE_KEY_REQUEST_JSON"""; + + /// from: static public final java.lang.String BUNDLE_VALUE_SUBTYPE_CREATE_PUBLIC_KEY_CREDENTIAL_REQUEST + static const BUNDLE_VALUE_SUBTYPE_CREATE_PUBLIC_KEY_CREDENTIAL_REQUEST = + r"""androidx.credentials.BUNDLE_VALUE_SUBTYPE_CREATE_PUBLIC_KEY_CREDENTIAL_REQUEST"""; + + static final _id_getRequestJson = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getRequestJson", r"()Ljava/lang/String;"); + + /// from: public final java.lang.String getRequestJson() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getRequestJson() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getRequestJson, jni.JniCallType.objectType, []).object); + } + + static final _id_getClientDataHash = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getClientDataHash", r"()[B"); + + /// from: public final byte[] getClientDataHash() + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getClientDataHash() { + return const jni.JArrayType(jni.jbyteType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getClientDataHash, + jni.JniCallType.objectType, []).object); + } + + static final _id_new1 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Ljava/lang/String;[BZLjava/lang/String;Z)V"); + + /// from: public void (java.lang.String string, byte[] bs, boolean z, java.lang.String string1, boolean z1) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialRequest.new1( + jni.JString string, + jni.JArray bs, + bool z, + jni.JString string1, + bool z1, + ) { + return CreatePublicKeyCredentialRequest.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new1, [ + string.reference, + bs.reference, + z ? 1 : 0, + string1.reference, + z1 ? 1 : 0 + ]).object); + } + + static final _id_new2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;[BZLjava/lang/String;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.String string, byte[] bs, boolean z, java.lang.String string1, boolean z1, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialRequest.new2( + jni.JString string, + jni.JArray bs, + bool z, + jni.JString string1, + bool z1, + int i, + jni.JObject defaultConstructorMarker, + ) { + return CreatePublicKeyCredentialRequest.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new2, [ + string.reference, + bs.reference, + z ? 1 : 0, + string1.reference, + z1 ? 1 : 0, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_new3 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;[BZLjava/lang/String;Ljava/lang/String;Z)V"); + + /// from: public void (java.lang.String string, byte[] bs, boolean z, java.lang.String string1, java.lang.String string2, boolean z1) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialRequest.new3( + jni.JString string, + jni.JArray bs, + bool z, + jni.JString string1, + jni.JString string2, + bool z1, + ) { + return CreatePublicKeyCredentialRequest.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new3, [ + string.reference, + bs.reference, + z ? 1 : 0, + string1.reference, + string2.reference, + z1 ? 1 : 0 + ]).object); + } + + static final _id_new4 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Ljava/lang/String;[BZLjava/lang/String;)V"); + + /// from: public void (java.lang.String string, byte[] bs, boolean z, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialRequest.new4( + jni.JString string, + jni.JArray bs, + bool z, + jni.JString string1, + ) { + return CreatePublicKeyCredentialRequest.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new4, [ + string.reference, + bs.reference, + z ? 1 : 0, + string1.reference + ]).object); + } + + static final _id_new5 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;[BZ)V"); + + /// from: public void (java.lang.String string, byte[] bs, boolean z) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialRequest.new5( + jni.JString string, + jni.JArray bs, + bool z, + ) { + return CreatePublicKeyCredentialRequest.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new5, + [string.reference, bs.reference, z ? 1 : 0]).object); + } + + static final _id_new6 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;[B)V"); + + /// from: public void (java.lang.String string, byte[] bs) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialRequest.new6( + jni.JString string, + jni.JArray bs, + ) { + return CreatePublicKeyCredentialRequest.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new6, + [string.reference, bs.reference]).object); + } + + static final _id_new7 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); + + /// from: public void (java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialRequest.new7( + jni.JString string, + ) { + return CreatePublicKeyCredentialRequest.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new7, [string.reference]).object); + } + + static final _id_new8 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;[BZZLandroidx/credentials/CreateCredentialRequest$DisplayInfo;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/Bundle;Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.String string, byte[] bs, boolean z, boolean z1, androidx.credentials.CreateCredentialRequest$DisplayInfo displayInfo, java.lang.String string1, android.os.Bundle bundle, android.os.Bundle bundle1, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialRequest.new8( + jni.JString string, + jni.JArray bs, + bool z, + bool z1, + CreateCredentialRequest_DisplayInfo displayInfo, + jni.JString string1, + Bundle bundle, + Bundle bundle1, + jni.JObject defaultConstructorMarker, + ) { + return CreatePublicKeyCredentialRequest.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new8, [ + string.reference, + bs.reference, + z ? 1 : 0, + z1 ? 1 : 0, + displayInfo.reference, + string1.reference, + bundle.reference, + bundle1.reference, + defaultConstructorMarker.reference + ]).object); + } +} + +final class $CreatePublicKeyCredentialRequestType + extends jni.JObjType { + const $CreatePublicKeyCredentialRequestType(); + + @override + String get signature => + r"Landroidx/credentials/CreatePublicKeyCredentialRequest;"; + + @override + CreatePublicKeyCredentialRequest fromRef(jni.JObjectPtr ref) => + CreatePublicKeyCredentialRequest.fromRef(ref); + + @override + jni.JObjType get superType => const $CreateCredentialRequestType(); + + @override + final superCount = 2; + + @override + int get hashCode => ($CreatePublicKeyCredentialRequestType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreatePublicKeyCredentialRequestType) && + other is $CreatePublicKeyCredentialRequestType; + } +} + +/// from: androidx.credentials.CreatePublicKeyCredentialResponse$Companion +class CreatePublicKeyCredentialResponse_Companion extends jni.JObject { + @override + late final jni.JObjType $type = + type; + + CreatePublicKeyCredentialResponse_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/CreatePublicKeyCredentialResponse$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $CreatePublicKeyCredentialResponse_CompanionType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialResponse_Companion( + jni.JObject defaultConstructorMarker, + ) { + return CreatePublicKeyCredentialResponse_Companion.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $CreatePublicKeyCredentialResponse_CompanionType + extends jni.JObjType { + const $CreatePublicKeyCredentialResponse_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/CreatePublicKeyCredentialResponse$Companion;"; + + @override + CreatePublicKeyCredentialResponse_Companion fromRef(jni.JObjectPtr ref) => + CreatePublicKeyCredentialResponse_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => + ($CreatePublicKeyCredentialResponse_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($CreatePublicKeyCredentialResponse_CompanionType) && + other is $CreatePublicKeyCredentialResponse_CompanionType; + } +} + +/// from: androidx.credentials.CreatePublicKeyCredentialResponse +class CreatePublicKeyCredentialResponse extends CreateCredentialResponse { + @override + late final jni.JObjType $type = type; + + CreatePublicKeyCredentialResponse.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/CreatePublicKeyCredentialResponse"); + + /// The type which includes information such as the signature of this class. + static const type = $CreatePublicKeyCredentialResponseType(); + static final _id_Companion1 = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/CreatePublicKeyCredentialResponse$Companion;", + ); + + /// from: static public final androidx.credentials.CreatePublicKeyCredentialResponse$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static CreatePublicKeyCredentialResponse_Companion get Companion1 => + const $CreatePublicKeyCredentialResponse_CompanionType().fromRef(jni + .Jni.accessors + .getStaticField( + _class.reference, _id_Companion1, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String BUNDLE_KEY_REGISTRATION_RESPONSE_JSON + static const BUNDLE_KEY_REGISTRATION_RESPONSE_JSON = + r"""androidx.credentials.BUNDLE_KEY_REGISTRATION_RESPONSE_JSON"""; + + static final _id_getRegistrationResponseJson = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getRegistrationResponseJson", + r"()Ljava/lang/String;"); + + /// from: public final java.lang.String getRegistrationResponseJson() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getRegistrationResponseJson() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getRegistrationResponseJson, + jni.JniCallType.objectType, []).object); + } + + static final _id_new1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); + + /// from: public void (java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialResponse.new1( + jni.JString string, + ) { + return CreatePublicKeyCredentialResponse.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new1, [string.reference]).object); + } + + static final _id_new2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;Landroid/os/Bundle;Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.String string, android.os.Bundle bundle, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialResponse.new2( + jni.JString string, + Bundle bundle, + jni.JObject defaultConstructorMarker, + ) { + return CreatePublicKeyCredentialResponse.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new2, [ + string.reference, + bundle.reference, + defaultConstructorMarker.reference + ]).object); + } +} + +final class $CreatePublicKeyCredentialResponseType + extends jni.JObjType { + const $CreatePublicKeyCredentialResponseType(); + + @override + String get signature => + r"Landroidx/credentials/CreatePublicKeyCredentialResponse;"; + + @override + CreatePublicKeyCredentialResponse fromRef(jni.JObjectPtr ref) => + CreatePublicKeyCredentialResponse.fromRef(ref); + + @override + jni.JObjType get superType => const $CreateCredentialResponseType(); + + @override + final superCount = 2; + + @override + int get hashCode => ($CreatePublicKeyCredentialResponseType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreatePublicKeyCredentialResponseType) && + other is $CreatePublicKeyCredentialResponseType; + } +} + +/// from: androidx.credentials.Credential$Companion +class Credential_Companion extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Credential_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/credentials/Credential$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $Credential_CompanionType(); + static final _id_createFrom = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/lang/String;Landroid/os/Bundle;)Landroidx/credentials/Credential;"); + + /// from: public final androidx.credentials.Credential createFrom(java.lang.String string, android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + Credential createFrom( + jni.JString string, + Bundle bundle, + ) { + return const $CredentialType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createFrom, + jni.JniCallType.objectType, + [string.reference, bundle.reference]).object); + } + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory Credential_Companion( + jni.JObject defaultConstructorMarker, + ) { + return Credential_Companion.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, + _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $Credential_CompanionType + extends jni.JObjType { + const $Credential_CompanionType(); + + @override + String get signature => r"Landroidx/credentials/Credential$Companion;"; + + @override + Credential_Companion fromRef(jni.JObjectPtr ref) => + Credential_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($Credential_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($Credential_CompanionType) && + other is $Credential_CompanionType; + } +} + +/// from: androidx.credentials.Credential +class Credential extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Credential.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"androidx/credentials/Credential"); + + /// The type which includes information such as the signature of this class. + static const type = $CredentialType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/Credential$Companion;", + ); + + /// from: static public final androidx.credentials.Credential$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static Credential_Companion get Companion => + const $Credential_CompanionType().fromRef(jni.Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/lang/String;Landroid/os/Bundle;)V"); + + /// from: public void (java.lang.String string, android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + factory Credential( + jni.JString string, + Bundle bundle, + ) { + return Credential.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, + _id_new0, + [string.reference, bundle.reference]).object); + } + + static final _id_getType = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getType", r"()Ljava/lang/String;"); + + /// from: public final java.lang.String getType() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getType() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getType, jni.JniCallType.objectType, []).object); + } + + static final _id_getData = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getData", r"()Landroid/os/Bundle;"); + + /// from: public final android.os.Bundle getData() + /// The returned object must be released after use, by calling the [release] method. + Bundle getData() { + return const $BundleType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getData, jni.JniCallType.objectType, []).object); + } + + static final _id_createFrom = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/lang/String;Landroid/os/Bundle;)Landroidx/credentials/Credential;"); + + /// from: static public final androidx.credentials.Credential createFrom(java.lang.String string, android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + static Credential createFrom( + jni.JString string, + Bundle bundle, + ) { + return const $CredentialType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_createFrom, + jni.JniCallType.objectType, + [string.reference, bundle.reference]).object); + } +} + +final class $CredentialType extends jni.JObjType { + const $CredentialType(); + + @override + String get signature => r"Landroidx/credentials/Credential;"; + + @override + Credential fromRef(jni.JObjectPtr ref) => Credential.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CredentialType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CredentialType) && other is $CredentialType; + } +} + +/// from: androidx.credentials.CredentialManager$Companion +class CredentialManager_Companion extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CredentialManager_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/credentials/CredentialManager$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $CredentialManager_CompanionType(); + static final _id_create = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"create", + r"(Landroid/content/Context;)Landroidx/credentials/CredentialManager;"); + + /// from: public final androidx.credentials.CredentialManager create(android.content.Context context) + /// The returned object must be released after use, by calling the [release] method. + CredentialManager create( + Context context, + ) { + return const $CredentialManagerType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_create, jni.JniCallType.objectType, + [context.reference]).object); + } +} + +final class $CredentialManager_CompanionType + extends jni.JObjType { + const $CredentialManager_CompanionType(); + + @override + String get signature => r"Landroidx/credentials/CredentialManager$Companion;"; + + @override + CredentialManager_Companion fromRef(jni.JObjectPtr ref) => + CredentialManager_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CredentialManager_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CredentialManager_CompanionType) && + other is $CredentialManager_CompanionType; + } +} + +/// from: androidx.credentials.CredentialManager +class CredentialManager extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CredentialManager.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/credentials/CredentialManager"); + + /// The type which includes information such as the signature of this class. + static const type = $CredentialManagerType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/CredentialManager$Companion;", + ); + + /// from: static public final androidx.credentials.CredentialManager$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static CredentialManager_Companion get Companion => + const $CredentialManager_CompanionType().fromRef(jni.Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + static final _id_getCredential = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getCredential", + r"(Landroid/content/Context;Landroidx/credentials/GetCredentialRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;"); + + /// from: public java.lang.Object getCredential(android.content.Context context, androidx.credentials.GetCredentialRequest getCredentialRequest, kotlin.coroutines.Continuation continuation) + /// The returned object must be released after use, by calling the [release] method. + Future getCredential( + Context context, + GetCredentialRequest getCredentialRequest, + ) async { + final $p = ReceivePort(); + final $c = + jni.JObject.fromRef(ProtectedJniExtensions.newPortContinuation($p)); + jni.Jni.accessors.callMethodWithArgs( + reference, _id_getCredential, jni.JniCallType.objectType, [ + context.reference, + getCredentialRequest.reference, + $c.reference + ]).object; + final $o = jni.JObjectPtr.fromAddress(await $p.first); + final $k = const $GetCredentialResponseType().getClass().reference; + if (!jni.Jni.env.IsInstanceOf($o, $k)) { + throw "Failed"; + } + return const $GetCredentialResponseType().fromRef($o); + } + + static final _id_getCredential1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getCredential", + r"(Landroid/content/Context;Landroidx/credentials/PrepareGetCredentialResponse$PendingGetCredentialHandle;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;"); + + /// from: public java.lang.Object getCredential(android.content.Context context, androidx.credentials.PrepareGetCredentialResponse$PendingGetCredentialHandle pendingGetCredentialHandle, kotlin.coroutines.Continuation continuation) + /// The returned object must be released after use, by calling the [release] method. + Future getCredential1( + Context context, + jni.JObject pendingGetCredentialHandle, + ) async { + final $p = ReceivePort(); + final $c = + jni.JObject.fromRef(ProtectedJniExtensions.newPortContinuation($p)); + jni.Jni.accessors.callMethodWithArgs( + reference, _id_getCredential1, jni.JniCallType.objectType, [ + context.reference, + pendingGetCredentialHandle.reference, + $c.reference + ]).object; + final $o = jni.JObjectPtr.fromAddress(await $p.first); + final $k = const $GetCredentialResponseType().getClass().reference; + if (!jni.Jni.env.IsInstanceOf($o, $k)) { + throw "Failed"; + } + return const $GetCredentialResponseType().fromRef($o); + } + + static final _id_prepareGetCredential = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"prepareGetCredential", + r"(Landroidx/credentials/GetCredentialRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;"); + + /// from: public java.lang.Object prepareGetCredential(androidx.credentials.GetCredentialRequest getCredentialRequest, kotlin.coroutines.Continuation continuation) + /// The returned object must be released after use, by calling the [release] method. + Future prepareGetCredential( + GetCredentialRequest getCredentialRequest, + ) async { + final $p = ReceivePort(); + final $c = + jni.JObject.fromRef(ProtectedJniExtensions.newPortContinuation($p)); + jni.Jni.accessors.callMethodWithArgs( + reference, + _id_prepareGetCredential, + jni.JniCallType.objectType, + [getCredentialRequest.reference, $c.reference]).object; + final $o = jni.JObjectPtr.fromAddress(await $p.first); + final $k = const jni.JObjectType().getClass().reference; + if (!jni.Jni.env.IsInstanceOf($o, $k)) { + throw "Failed"; + } + return const jni.JObjectType().fromRef($o); + } + + static final _id_createCredential = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createCredential", + r"(Landroid/content/Context;Landroidx/credentials/CreateCredentialRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;"); + + /// from: public java.lang.Object createCredential(android.content.Context context, androidx.credentials.CreateCredentialRequest createCredentialRequest, kotlin.coroutines.Continuation continuation) + /// The returned object must be released after use, by calling the [release] method. + Future createCredential( + Context context, + CreateCredentialRequest createCredentialRequest, + ) async { + final $p = ReceivePort(); + final $c = + jni.JObject.fromRef(ProtectedJniExtensions.newPortContinuation($p)); + jni.Jni.accessors.callMethodWithArgs( + reference, _id_createCredential, jni.JniCallType.objectType, [ + context.reference, + createCredentialRequest.reference, + $c.reference + ]).object; + final $o = jni.JObjectPtr.fromAddress(await $p.first); + final $k = const $CreateCredentialResponseType().getClass().reference; + if (!jni.Jni.env.IsInstanceOf($o, $k)) { + throw "Failed"; + } + return const $CreateCredentialResponseType().fromRef($o); + } + + static final _id_clearCredentialState = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"clearCredentialState", + r"(Landroidx/credentials/ClearCredentialStateRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;"); + + /// from: public java.lang.Object clearCredentialState(androidx.credentials.ClearCredentialStateRequest clearCredentialStateRequest, kotlin.coroutines.Continuation continuation) + /// The returned object must be released after use, by calling the [release] method. + Future clearCredentialState( + jni.JObject clearCredentialStateRequest, + ) async { + final $p = ReceivePort(); + final $c = + jni.JObject.fromRef(ProtectedJniExtensions.newPortContinuation($p)); + jni.Jni.accessors.callMethodWithArgs( + reference, + _id_clearCredentialState, + jni.JniCallType.objectType, + [clearCredentialStateRequest.reference, $c.reference]).object; + final $o = jni.JObjectPtr.fromAddress(await $p.first); + final $k = const jni.JObjectType().getClass().reference; + if (!jni.Jni.env.IsInstanceOf($o, $k)) { + throw "Failed"; + } + return const jni.JObjectType().fromRef($o); + } + + static final _id_getCredentialAsync = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getCredentialAsync", + r"(Landroid/content/Context;Landroidx/credentials/GetCredentialRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V"); + + /// from: public abstract void getCredentialAsync(android.content.Context context, androidx.credentials.GetCredentialRequest getCredentialRequest, android.os.CancellationSignal cancellationSignal, java.util.concurrent.Executor executor, androidx.credentials.CredentialManagerCallback credentialManagerCallback) + void getCredentialAsync( + Context context, + GetCredentialRequest getCredentialRequest, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getCredentialAsync, jni.JniCallType.voidType, [ + context.reference, + getCredentialRequest.reference, + cancellationSignal.reference, + executor.reference, + credentialManagerCallback.reference + ]).check(); + } + + static final _id_getCredentialAsync1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getCredentialAsync", + r"(Landroid/content/Context;Landroidx/credentials/PrepareGetCredentialResponse$PendingGetCredentialHandle;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V"); + + /// from: public abstract void getCredentialAsync(android.content.Context context, androidx.credentials.PrepareGetCredentialResponse$PendingGetCredentialHandle pendingGetCredentialHandle, android.os.CancellationSignal cancellationSignal, java.util.concurrent.Executor executor, androidx.credentials.CredentialManagerCallback credentialManagerCallback) + void getCredentialAsync1( + Context context, + jni.JObject pendingGetCredentialHandle, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getCredentialAsync1, jni.JniCallType.voidType, [ + context.reference, + pendingGetCredentialHandle.reference, + cancellationSignal.reference, + executor.reference, + credentialManagerCallback.reference + ]).check(); + } + + static final _id_prepareGetCredentialAsync = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"prepareGetCredentialAsync", + r"(Landroidx/credentials/GetCredentialRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V"); + + /// from: public abstract void prepareGetCredentialAsync(androidx.credentials.GetCredentialRequest getCredentialRequest, android.os.CancellationSignal cancellationSignal, java.util.concurrent.Executor executor, androidx.credentials.CredentialManagerCallback credentialManagerCallback) + void prepareGetCredentialAsync( + GetCredentialRequest getCredentialRequest, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_prepareGetCredentialAsync, jni.JniCallType.voidType, [ + getCredentialRequest.reference, + cancellationSignal.reference, + executor.reference, + credentialManagerCallback.reference + ]).check(); + } + + static final _id_createCredentialAsync = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createCredentialAsync", + r"(Landroid/content/Context;Landroidx/credentials/CreateCredentialRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V"); + + /// from: public abstract void createCredentialAsync(android.content.Context context, androidx.credentials.CreateCredentialRequest createCredentialRequest, android.os.CancellationSignal cancellationSignal, java.util.concurrent.Executor executor, androidx.credentials.CredentialManagerCallback credentialManagerCallback) + void createCredentialAsync( + Context context, + CreateCredentialRequest createCredentialRequest, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_createCredentialAsync, jni.JniCallType.voidType, [ + context.reference, + createCredentialRequest.reference, + cancellationSignal.reference, + executor.reference, + credentialManagerCallback.reference + ]).check(); + } + + static final _id_clearCredentialStateAsync = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"clearCredentialStateAsync", + r"(Landroidx/credentials/ClearCredentialStateRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V"); + + /// from: public abstract void clearCredentialStateAsync(androidx.credentials.ClearCredentialStateRequest clearCredentialStateRequest, android.os.CancellationSignal cancellationSignal, java.util.concurrent.Executor executor, androidx.credentials.CredentialManagerCallback credentialManagerCallback) + void clearCredentialStateAsync( + jni.JObject clearCredentialStateRequest, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_clearCredentialStateAsync, jni.JniCallType.voidType, [ + clearCredentialStateRequest.reference, + cancellationSignal.reference, + executor.reference, + credentialManagerCallback.reference + ]).check(); + } + + static final _id_createSettingsPendingIntent = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"createSettingsPendingIntent", + r"()Landroid/app/PendingIntent;"); + + /// from: public abstract android.app.PendingIntent createSettingsPendingIntent() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject createSettingsPendingIntent() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createSettingsPendingIntent, + jni.JniCallType.objectType, []).object); + } + + static final _id_create = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"create", + r"(Landroid/content/Context;)Landroidx/credentials/CredentialManager;"); + + /// from: static public androidx.credentials.CredentialManager create(android.content.Context context) + /// The returned object must be released after use, by calling the [release] method. + static CredentialManager create( + Context context, + ) { + return const $CredentialManagerType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_create, + jni.JniCallType.objectType, [context.reference]).object); + } + + /// Maps a specific port to the implemented interface. + static final Map _$impls = {}; + ReceivePort? _$p; + + static jni.JObjectPtr _$invoke( + int port, + jni.JObjectPtr descriptor, + jni.JObjectPtr args, + ) { + return _$invokeMethod( + port, + $MethodInvocation.fromAddresses( + 0, + descriptor.address, + args.address, + ), + ); + } + + static final ffi.Pointer< + ffi.NativeFunction< + jni.JObjectPtr Function( + ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> + _$invokePointer = ffi.Pointer.fromFunction(_$invoke); + + static ffi.Pointer _$invokeMethod( + int $p, + $MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + if ($d == + r"getCredential(Landroid/content/Context;Landroidx/credentials/GetCredentialRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;") { + final $r = _$impls[$p]!.getCredential( + $a[0].castTo(const $ContextType(), releaseOriginal: true), + $a[1] + .castTo(const $GetCredentialRequestType(), releaseOriginal: true), + $a[2].castTo(const jni.JObjectType(), releaseOriginal: true), + ); + return ($r as jni.JObject).castTo(const jni.JObjectType()).toPointer(); + } + if ($d == + r"getCredential(Landroid/content/Context;Landroidx/credentials/PrepareGetCredentialResponse$PendingGetCredentialHandle;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;") { + final $r = _$impls[$p]!.getCredential1( + $a[0].castTo(const $ContextType(), releaseOriginal: true), + $a[1].castTo(const jni.JObjectType(), releaseOriginal: true), + $a[2].castTo(const jni.JObjectType(), releaseOriginal: true), + ); + return ($r as jni.JObject).castTo(const jni.JObjectType()).toPointer(); + } + if ($d == + r"prepareGetCredential(Landroidx/credentials/GetCredentialRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;") { + final $r = _$impls[$p]!.prepareGetCredential( + $a[0] + .castTo(const $GetCredentialRequestType(), releaseOriginal: true), + $a[1].castTo(const jni.JObjectType(), releaseOriginal: true), + ); + return ($r as jni.JObject).castTo(const jni.JObjectType()).toPointer(); + } + if ($d == + r"createCredential(Landroid/content/Context;Landroidx/credentials/CreateCredentialRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;") { + final $r = _$impls[$p]!.createCredential( + $a[0].castTo(const $ContextType(), releaseOriginal: true), + $a[1].castTo(const $CreateCredentialRequestType(), + releaseOriginal: true), + $a[2].castTo(const jni.JObjectType(), releaseOriginal: true), + ); + return ($r as jni.JObject).castTo(const jni.JObjectType()).toPointer(); + } + if ($d == + r"clearCredentialState(Landroidx/credentials/ClearCredentialStateRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;") { + final $r = _$impls[$p]!.clearCredentialState( + $a[0].castTo(const jni.JObjectType(), releaseOriginal: true), + $a[1].castTo(const jni.JObjectType(), releaseOriginal: true), + ); + return ($r as jni.JObject).castTo(const jni.JObjectType()).toPointer(); + } + if ($d == + r"getCredentialAsync(Landroid/content/Context;Landroidx/credentials/GetCredentialRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V") { + _$impls[$p]!.getCredentialAsync( + $a[0].castTo(const $ContextType(), releaseOriginal: true), + $a[1] + .castTo(const $GetCredentialRequestType(), releaseOriginal: true), + $a[2].castTo(const $CancellationSignalType(), releaseOriginal: true), + $a[3].castTo(const $ExecutorType(), releaseOriginal: true), + $a[4].castTo( + const $CredentialManagerCallbackType( + $GetCredentialResponseType(), $GetCredentialExceptionType()), + releaseOriginal: true), + ); + return jni.nullptr; + } + if ($d == + r"getCredentialAsync(Landroid/content/Context;Landroidx/credentials/PrepareGetCredentialResponse$PendingGetCredentialHandle;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V") { + _$impls[$p]!.getCredentialAsync1( + $a[0].castTo(const $ContextType(), releaseOriginal: true), + $a[1].castTo(const jni.JObjectType(), releaseOriginal: true), + $a[2].castTo(const $CancellationSignalType(), releaseOriginal: true), + $a[3].castTo(const $ExecutorType(), releaseOriginal: true), + $a[4].castTo( + const $CredentialManagerCallbackType( + $GetCredentialResponseType(), $GetCredentialExceptionType()), + releaseOriginal: true), + ); + return jni.nullptr; + } + if ($d == + r"prepareGetCredentialAsync(Landroidx/credentials/GetCredentialRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V") { + _$impls[$p]!.prepareGetCredentialAsync( + $a[0] + .castTo(const $GetCredentialRequestType(), releaseOriginal: true), + $a[1].castTo(const $CancellationSignalType(), releaseOriginal: true), + $a[2].castTo(const $ExecutorType(), releaseOriginal: true), + $a[3].castTo( + const $CredentialManagerCallbackType( + jni.JObjectType(), $GetCredentialExceptionType()), + releaseOriginal: true), + ); + return jni.nullptr; + } + if ($d == + r"createCredentialAsync(Landroid/content/Context;Landroidx/credentials/CreateCredentialRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V") { + _$impls[$p]!.createCredentialAsync( + $a[0].castTo(const $ContextType(), releaseOriginal: true), + $a[1].castTo(const $CreateCredentialRequestType(), + releaseOriginal: true), + $a[2].castTo(const $CancellationSignalType(), releaseOriginal: true), + $a[3].castTo(const $ExecutorType(), releaseOriginal: true), + $a[4].castTo( + const $CredentialManagerCallbackType( + $CreateCredentialResponseType(), + $CreateCredentialExceptionType()), + releaseOriginal: true), + ); + return jni.nullptr; + } + if ($d == + r"clearCredentialStateAsync(Landroidx/credentials/ClearCredentialStateRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V") { + _$impls[$p]!.clearCredentialStateAsync( + $a[0].castTo(const jni.JObjectType(), releaseOriginal: true), + $a[1].castTo(const $CancellationSignalType(), releaseOriginal: true), + $a[2].castTo(const $ExecutorType(), releaseOriginal: true), + $a[3].castTo( + const $CredentialManagerCallbackType( + jni.JObjectType(), jni.JObjectType()), + releaseOriginal: true), + ); + return jni.nullptr; + } + if ($d == r"createSettingsPendingIntent()Landroid/app/PendingIntent;") { + final $r = _$impls[$p]!.createSettingsPendingIntent(); + return ($r as jni.JObject).castTo(const jni.JObjectType()).toPointer(); + } + if ($d == + r"create(Landroid/content/Context;)Landroidx/credentials/CredentialManager;") { + final $r = _$impls[$p]!.create( + $a[0].castTo(const $ContextType(), releaseOriginal: true), + ); + return ($r as jni.JObject).castTo(const jni.JObjectType()).toPointer(); + } + } catch (e) { + return ProtectedJniExtensions.newDartException(e.toString()); + } + return jni.nullptr; + } + + factory CredentialManager.implement( + $CredentialManagerImpl $impl, + ) { + final $p = ReceivePort(); + final $x = CredentialManager.fromRef( + ProtectedJniExtensions.newPortProxy( + r"androidx.credentials.CredentialManager", + $p, + _$invokePointer, + ), + ).._$p = $p; + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + $p.listen(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = $MethodInvocation.fromMessage($m as List); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + ProtectedJniExtensions.returnResult($i.result, $r); + }); + return $x; + } +} + +abstract class $CredentialManagerImpl { + factory $CredentialManagerImpl({ + required jni.JObject Function(Context context, + GetCredentialRequest getCredentialRequest, jni.JObject $c) + getCredential, + required jni.JObject Function(Context context, + jni.JObject pendingGetCredentialHandle, jni.JObject $c) + getCredential1, + required jni.JObject Function( + GetCredentialRequest getCredentialRequest, jni.JObject $c) + prepareGetCredential, + required jni.JObject Function(Context context, + CreateCredentialRequest createCredentialRequest, jni.JObject $c) + createCredential, + required jni.JObject Function( + jni.JObject clearCredentialStateRequest, jni.JObject $c) + clearCredentialState, + required void Function( + Context context, + GetCredentialRequest getCredentialRequest, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback) + getCredentialAsync, + required void Function( + Context context, + jni.JObject pendingGetCredentialHandle, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback) + getCredentialAsync1, + required void Function( + GetCredentialRequest getCredentialRequest, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback) + prepareGetCredentialAsync, + required void Function( + Context context, + CreateCredentialRequest createCredentialRequest, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback) + createCredentialAsync, + required void Function( + jni.JObject clearCredentialStateRequest, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback) + clearCredentialStateAsync, + required jni.JObject Function() createSettingsPendingIntent, + required CredentialManager Function(Context context) create, + }) = _$CredentialManagerImpl; + + jni.JObject getCredential(Context context, + GetCredentialRequest getCredentialRequest, jni.JObject $c); + jni.JObject getCredential1( + Context context, jni.JObject pendingGetCredentialHandle, jni.JObject $c); + jni.JObject prepareGetCredential( + GetCredentialRequest getCredentialRequest, jni.JObject $c); + jni.JObject createCredential(Context context, + CreateCredentialRequest createCredentialRequest, jni.JObject $c); + jni.JObject clearCredentialState( + jni.JObject clearCredentialStateRequest, jni.JObject $c); + void getCredentialAsync( + Context context, + GetCredentialRequest getCredentialRequest, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback); + void getCredentialAsync1( + Context context, + jni.JObject pendingGetCredentialHandle, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback); + void prepareGetCredentialAsync( + GetCredentialRequest getCredentialRequest, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback); + void createCredentialAsync( + Context context, + CreateCredentialRequest createCredentialRequest, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback); + void clearCredentialStateAsync( + jni.JObject clearCredentialStateRequest, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback); + jni.JObject createSettingsPendingIntent(); + CredentialManager create(Context context); +} + +class _$CredentialManagerImpl implements $CredentialManagerImpl { + _$CredentialManagerImpl({ + required jni.JObject Function(Context context, + GetCredentialRequest getCredentialRequest, jni.JObject $c) + getCredential, + required jni.JObject Function(Context context, + jni.JObject pendingGetCredentialHandle, jni.JObject $c) + getCredential1, + required jni.JObject Function( + GetCredentialRequest getCredentialRequest, jni.JObject $c) + prepareGetCredential, + required jni.JObject Function(Context context, + CreateCredentialRequest createCredentialRequest, jni.JObject $c) + createCredential, + required jni.JObject Function( + jni.JObject clearCredentialStateRequest, jni.JObject $c) + clearCredentialState, + required void Function( + Context context, + GetCredentialRequest getCredentialRequest, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback) + getCredentialAsync, + required void Function( + Context context, + jni.JObject pendingGetCredentialHandle, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback) + getCredentialAsync1, + required void Function( + GetCredentialRequest getCredentialRequest, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback) + prepareGetCredentialAsync, + required void Function( + Context context, + CreateCredentialRequest createCredentialRequest, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback) + createCredentialAsync, + required void Function( + jni.JObject clearCredentialStateRequest, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback) + clearCredentialStateAsync, + required jni.JObject Function() createSettingsPendingIntent, + required CredentialManager Function(Context context) create, + }) : _getCredential = getCredential, + _getCredential1 = getCredential1, + _prepareGetCredential = prepareGetCredential, + _createCredential = createCredential, + _clearCredentialState = clearCredentialState, + _getCredentialAsync = getCredentialAsync, + _getCredentialAsync1 = getCredentialAsync1, + _prepareGetCredentialAsync = prepareGetCredentialAsync, + _createCredentialAsync = createCredentialAsync, + _clearCredentialStateAsync = clearCredentialStateAsync, + _createSettingsPendingIntent = createSettingsPendingIntent, + _create = create; + + final jni.JObject Function(Context context, + GetCredentialRequest getCredentialRequest, jni.JObject $c) _getCredential; + final jni.JObject Function(Context context, + jni.JObject pendingGetCredentialHandle, jni.JObject $c) _getCredential1; + final jni.JObject Function( + GetCredentialRequest getCredentialRequest, jni.JObject $c) + _prepareGetCredential; + final jni.JObject Function( + Context context, + CreateCredentialRequest createCredentialRequest, + jni.JObject $c) _createCredential; + final jni.JObject Function( + jni.JObject clearCredentialStateRequest, jni.JObject $c) + _clearCredentialState; + final void Function( + Context context, + GetCredentialRequest getCredentialRequest, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback) _getCredentialAsync; + final void Function( + Context context, + jni.JObject pendingGetCredentialHandle, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback) _getCredentialAsync1; + final void Function( + GetCredentialRequest getCredentialRequest, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback) _prepareGetCredentialAsync; + final void Function( + Context context, + CreateCredentialRequest createCredentialRequest, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback) _createCredentialAsync; + final void Function( + jni.JObject clearCredentialStateRequest, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback) _clearCredentialStateAsync; + final jni.JObject Function() _createSettingsPendingIntent; + final CredentialManager Function(Context context) _create; + + jni.JObject getCredential(Context context, + GetCredentialRequest getCredentialRequest, jni.JObject $c) { + return _getCredential(context, getCredentialRequest, $c); + } + + jni.JObject getCredential1( + Context context, jni.JObject pendingGetCredentialHandle, jni.JObject $c) { + return _getCredential1(context, pendingGetCredentialHandle, $c); + } + + jni.JObject prepareGetCredential( + GetCredentialRequest getCredentialRequest, jni.JObject $c) { + return _prepareGetCredential(getCredentialRequest, $c); + } + + jni.JObject createCredential(Context context, + CreateCredentialRequest createCredentialRequest, jni.JObject $c) { + return _createCredential(context, createCredentialRequest, $c); + } + + jni.JObject clearCredentialState( + jni.JObject clearCredentialStateRequest, jni.JObject $c) { + return _clearCredentialState(clearCredentialStateRequest, $c); + } + + void getCredentialAsync( + Context context, + GetCredentialRequest getCredentialRequest, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback) { + return _getCredentialAsync(context, getCredentialRequest, + cancellationSignal, executor, credentialManagerCallback); + } + + void getCredentialAsync1( + Context context, + jni.JObject pendingGetCredentialHandle, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback) { + return _getCredentialAsync1(context, pendingGetCredentialHandle, + cancellationSignal, executor, credentialManagerCallback); + } + + void prepareGetCredentialAsync( + GetCredentialRequest getCredentialRequest, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback) { + return _prepareGetCredentialAsync(getCredentialRequest, cancellationSignal, + executor, credentialManagerCallback); + } + + void createCredentialAsync( + Context context, + CreateCredentialRequest createCredentialRequest, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback) { + return _createCredentialAsync(context, createCredentialRequest, + cancellationSignal, executor, credentialManagerCallback); + } + + void clearCredentialStateAsync( + jni.JObject clearCredentialStateRequest, + CancellationSignal cancellationSignal, + Executor executor, + CredentialManagerCallback + credentialManagerCallback) { + return _clearCredentialStateAsync(clearCredentialStateRequest, + cancellationSignal, executor, credentialManagerCallback); + } + + jni.JObject createSettingsPendingIntent() { + return _createSettingsPendingIntent(); + } + + CredentialManager create(Context context) { + return _create(context); + } +} + +final class $CredentialManagerType extends jni.JObjType { + const $CredentialManagerType(); + + @override + String get signature => r"Landroidx/credentials/CredentialManager;"; + + @override + CredentialManager fromRef(jni.JObjectPtr ref) => + CredentialManager.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CredentialManagerType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CredentialManagerType) && + other is $CredentialManagerType; + } +} + +/// from: androidx.credentials.CredentialManagerCallback +class CredentialManagerCallback<$R extends jni.JObject, $E extends jni.JObject> + extends jni.JObject { + @override + late final jni.JObjType> $type = type(R, E); + + final jni.JObjType<$R> R; + final jni.JObjType<$E> E; + + CredentialManagerCallback.fromRef( + this.R, + this.E, + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/credentials/CredentialManagerCallback"); + + /// The type which includes information such as the signature of this class. + static $CredentialManagerCallbackType<$R, $E> + type<$R extends jni.JObject, $E extends jni.JObject>( + jni.JObjType<$R> R, + jni.JObjType<$E> E, + ) { + return $CredentialManagerCallbackType( + R, + E, + ); + } + + static final _id_onResult = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onResult", r"(Ljava/lang/Object;)V"); + + /// from: public abstract void onResult(R object) + void onResult( + $R object, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onResult, + jni.JniCallType.voidType, [object.reference]).check(); + } + + static final _id_onError = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onError", r"(Ljava/lang/Object;)V"); + + /// from: public abstract void onError(E object) + void onError( + $E object, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onError, + jni.JniCallType.voidType, [object.reference]).check(); + } + + /// Maps a specific port to the implemented interface. + static final Map _$impls = {}; + ReceivePort? _$p; + + static jni.JObjectPtr _$invoke( + int port, + jni.JObjectPtr descriptor, + jni.JObjectPtr args, + ) { + return _$invokeMethod( + port, + $MethodInvocation.fromAddresses( + 0, + descriptor.address, + args.address, + ), + ); + } + + static final ffi.Pointer< + ffi.NativeFunction< + jni.JObjectPtr Function( + ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> + _$invokePointer = ffi.Pointer.fromFunction(_$invoke); + + static ffi.Pointer _$invokeMethod( + int $p, + $MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + if ($d == r"onResult(Ljava/lang/Object;)V") { + _$impls[$p]!.onResult( + $a[0].castTo(_$impls[$p]!.R, releaseOriginal: true), + ); + return jni.nullptr; + } + if ($d == r"onError(Ljava/lang/Object;)V") { + _$impls[$p]!.onError( + $a[0].castTo(_$impls[$p]!.E, releaseOriginal: true), + ); + return jni.nullptr; + } + } catch (e) { + return ProtectedJniExtensions.newDartException(e.toString()); + } + return jni.nullptr; + } + + factory CredentialManagerCallback.implement( + $CredentialManagerCallbackImpl<$R, $E> $impl, + ) { + final $p = ReceivePort(); + final $x = CredentialManagerCallback.fromRef( + $impl.R, + $impl.E, + ProtectedJniExtensions.newPortProxy( + r"androidx.credentials.CredentialManagerCallback", + $p, + _$invokePointer, + ), + ).._$p = $p; + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + $p.listen(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = $MethodInvocation.fromMessage($m as List); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + ProtectedJniExtensions.returnResult($i.result, $r); + }); + return $x; + } +} + +abstract class $CredentialManagerCallbackImpl<$R extends jni.JObject, + $E extends jni.JObject> { + factory $CredentialManagerCallbackImpl({ + required jni.JObjType<$R> R, + required jni.JObjType<$E> E, + required void Function($R object) onResult, + required void Function($E object) onError, + }) = _$CredentialManagerCallbackImpl; + + jni.JObjType<$R> get R; + jni.JObjType<$E> get E; + + void onResult($R object); + void onError($E object); +} + +class _$CredentialManagerCallbackImpl<$R extends jni.JObject, + $E extends jni.JObject> implements $CredentialManagerCallbackImpl<$R, $E> { + _$CredentialManagerCallbackImpl({ + required this.R, + required this.E, + required void Function($R object) onResult, + required void Function($E object) onError, + }) : _onResult = onResult, + _onError = onError; + + @override + final jni.JObjType<$R> R; + + @override + final jni.JObjType<$E> E; + + final void Function($R object) _onResult; + final void Function($E object) _onError; + + void onResult($R object) { + return _onResult(object); + } + + void onError($E object) { + return _onError(object); + } +} + +final class $CredentialManagerCallbackType<$R extends jni.JObject, + $E extends jni.JObject> + extends jni.JObjType> { + final jni.JObjType<$R> R; + final jni.JObjType<$E> E; + + const $CredentialManagerCallbackType( + this.R, + this.E, + ); + + @override + String get signature => r"Landroidx/credentials/CredentialManagerCallback;"; + + @override + CredentialManagerCallback<$R, $E> fromRef(jni.JObjectPtr ref) => + CredentialManagerCallback.fromRef(R, E, ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => Object.hash($CredentialManagerCallbackType, R, E); + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CredentialManagerCallbackType<$R, $E>) && + other is $CredentialManagerCallbackType<$R, $E> && + R == other.R && + E == other.E; + } +} + +/// from: androidx.credentials.GetCredentialRequest$Builder +class GetCredentialRequest_Builder extends jni.JObject { + @override + late final jni.JObjType $type = type; + + GetCredentialRequest_Builder.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/credentials/GetCredentialRequest$Builder"); + + /// The type which includes information such as the signature of this class. + static const type = $GetCredentialRequest_BuilderType(); + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialRequest_Builder() { + return GetCredentialRequest_Builder.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_addCredentialOption = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addCredentialOption", + r"(Landroidx/credentials/CredentialOption;)Landroidx/credentials/GetCredentialRequest$Builder;"); + + /// from: public final androidx.credentials.GetCredentialRequest$Builder addCredentialOption(androidx.credentials.CredentialOption credentialOption) + /// The returned object must be released after use, by calling the [release] method. + GetCredentialRequest_Builder addCredentialOption( + jni.JObject credentialOption, + ) { + return const $GetCredentialRequest_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_addCredentialOption, + jni.JniCallType.objectType, [credentialOption.reference]).object); + } + + static final _id_setCredentialOptions = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setCredentialOptions", + r"(Ljava/util/List;)Landroidx/credentials/GetCredentialRequest$Builder;"); + + /// from: public final androidx.credentials.GetCredentialRequest$Builder setCredentialOptions(java.util.List list) + /// The returned object must be released after use, by calling the [release] method. + GetCredentialRequest_Builder setCredentialOptions( + jni.JList list, + ) { + return const $GetCredentialRequest_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setCredentialOptions, + jni.JniCallType.objectType, [list.reference]).object); + } + + static final _id_setOrigin = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setOrigin", + r"(Ljava/lang/String;)Landroidx/credentials/GetCredentialRequest$Builder;"); + + /// from: public final androidx.credentials.GetCredentialRequest$Builder setOrigin(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + GetCredentialRequest_Builder setOrigin( + jni.JString string, + ) { + return const $GetCredentialRequest_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setOrigin, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_setPreferImmediatelyAvailableCredentials = jni.Jni.accessors + .getMethodIDOf( + _class.reference, + r"setPreferImmediatelyAvailableCredentials", + r"(Z)Landroidx/credentials/GetCredentialRequest$Builder;"); + + /// from: public final androidx.credentials.GetCredentialRequest$Builder setPreferImmediatelyAvailableCredentials(boolean z) + /// The returned object must be released after use, by calling the [release] method. + GetCredentialRequest_Builder setPreferImmediatelyAvailableCredentials( + bool z, + ) { + return const $GetCredentialRequest_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_setPreferImmediatelyAvailableCredentials, + jni.JniCallType.objectType, + [z ? 1 : 0]).object); + } + + static final _id_setPreferUiBrandingComponentName = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setPreferUiBrandingComponentName", + r"(Landroid/content/ComponentName;)Landroidx/credentials/GetCredentialRequest$Builder;"); + + /// from: public final androidx.credentials.GetCredentialRequest$Builder setPreferUiBrandingComponentName(android.content.ComponentName componentName) + /// The returned object must be released after use, by calling the [release] method. + GetCredentialRequest_Builder setPreferUiBrandingComponentName( + jni.JObject componentName, + ) { + return const $GetCredentialRequest_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setPreferUiBrandingComponentName, + jni.JniCallType.objectType, [componentName.reference]).object); + } + + static final _id_setPreferIdentityDocUi = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setPreferIdentityDocUi", + r"(Z)Landroidx/credentials/GetCredentialRequest$Builder;"); + + /// from: public final androidx.credentials.GetCredentialRequest$Builder setPreferIdentityDocUi(boolean z) + /// The returned object must be released after use, by calling the [release] method. + GetCredentialRequest_Builder setPreferIdentityDocUi( + bool z, + ) { + return const $GetCredentialRequest_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setPreferIdentityDocUi, + jni.JniCallType.objectType, [z ? 1 : 0]).object); + } + + static final _id_build = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"build", r"()Landroidx/credentials/GetCredentialRequest;"); + + /// from: public final androidx.credentials.GetCredentialRequest build() + /// The returned object must be released after use, by calling the [release] method. + GetCredentialRequest build() { + return const $GetCredentialRequestType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, _id_build, jni.JniCallType.objectType, []).object); + } +} + +final class $GetCredentialRequest_BuilderType + extends jni.JObjType { + const $GetCredentialRequest_BuilderType(); + + @override + String get signature => + r"Landroidx/credentials/GetCredentialRequest$Builder;"; + + @override + GetCredentialRequest_Builder fromRef(jni.JObjectPtr ref) => + GetCredentialRequest_Builder.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($GetCredentialRequest_BuilderType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($GetCredentialRequest_BuilderType) && + other is $GetCredentialRequest_BuilderType; + } +} + +/// from: androidx.credentials.GetCredentialRequest$Companion +class GetCredentialRequest_Companion extends jni.JObject { + @override + late final jni.JObjType $type = type; + + GetCredentialRequest_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/GetCredentialRequest$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $GetCredentialRequest_CompanionType(); + static final _id_toRequestDataBundle = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"toRequestDataBundle", + r"(Landroidx/credentials/GetCredentialRequest;)Landroid/os/Bundle;"); + + /// from: public final android.os.Bundle toRequestDataBundle(androidx.credentials.GetCredentialRequest getCredentialRequest) + /// The returned object must be released after use, by calling the [release] method. + Bundle toRequestDataBundle( + GetCredentialRequest getCredentialRequest, + ) { + return const $BundleType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_toRequestDataBundle, + jni.JniCallType.objectType, + [getCredentialRequest.reference]).object); + } + + static final _id_createFrom = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/util/List;Ljava/lang/String;Landroid/os/Bundle;)Landroidx/credentials/GetCredentialRequest;"); + + /// from: public final androidx.credentials.GetCredentialRequest createFrom(java.util.List list, java.lang.String string, android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + GetCredentialRequest createFrom( + jni.JList list, + jni.JString string, + Bundle bundle, + ) { + return const $GetCredentialRequestType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_createFrom, + jni.JniCallType.objectType, + [list.reference, string.reference, bundle.reference]).object); + } + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialRequest_Companion( + jni.JObject defaultConstructorMarker, + ) { + return GetCredentialRequest_Companion.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $GetCredentialRequest_CompanionType + extends jni.JObjType { + const $GetCredentialRequest_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/GetCredentialRequest$Companion;"; + + @override + GetCredentialRequest_Companion fromRef(jni.JObjectPtr ref) => + GetCredentialRequest_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($GetCredentialRequest_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($GetCredentialRequest_CompanionType) && + other is $GetCredentialRequest_CompanionType; + } +} + +/// from: androidx.credentials.GetCredentialRequest +class GetCredentialRequest extends jni.JObject { + @override + late final jni.JObjType $type = type; + + GetCredentialRequest.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/credentials/GetCredentialRequest"); + + /// The type which includes information such as the signature of this class. + static const type = $GetCredentialRequestType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/GetCredentialRequest$Companion;", + ); + + /// from: static public final androidx.credentials.GetCredentialRequest$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static GetCredentialRequest_Companion get Companion => + const $GetCredentialRequest_CompanionType().fromRef(jni.Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String BUNDLE_KEY_PREFER_IMMEDIATELY_AVAILABLE_CREDENTIALS + static const BUNDLE_KEY_PREFER_IMMEDIATELY_AVAILABLE_CREDENTIALS = + r"""androidx.credentials.BUNDLE_KEY_PREFER_IMMEDIATELY_AVAILABLE_CREDENTIALS"""; + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/util/List;Ljava/lang/String;ZLandroid/content/ComponentName;Z)V"); + + /// from: public void (java.util.List list, java.lang.String string, boolean z, android.content.ComponentName componentName, boolean z1) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialRequest( + jni.JList list, + jni.JString string, + bool z, + jni.JObject componentName, + bool z1, + ) { + return GetCredentialRequest.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new0, [ + list.reference, + string.reference, + z ? 1 : 0, + componentName.reference, + z1 ? 1 : 0 + ]).object); + } + + static final _id_new1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/util/List;Ljava/lang/String;ZLandroid/content/ComponentName;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.util.List list, java.lang.String string, boolean z, android.content.ComponentName componentName, boolean z1, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialRequest.new1( + jni.JList list, + jni.JString string, + bool z, + jni.JObject componentName, + bool z1, + int i, + jni.JObject defaultConstructorMarker, + ) { + return GetCredentialRequest.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new1, [ + list.reference, + string.reference, + z ? 1 : 0, + componentName.reference, + z1 ? 1 : 0, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_getCredentialOptions = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getCredentialOptions", r"()Ljava/util/List;"); + + /// from: public final java.util.List getCredentialOptions() + /// The returned object must be released after use, by calling the [release] method. + jni.JList getCredentialOptions() { + return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getCredentialOptions, + jni.JniCallType.objectType, []).object); + } + + static final _id_getOrigin = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getOrigin", r"()Ljava/lang/String;"); + + /// from: public final java.lang.String getOrigin() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getOrigin() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getOrigin, jni.JniCallType.objectType, []).object); + } + + static final _id_getPreferIdentityDocUi = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getPreferIdentityDocUi", r"()Z"); + + /// from: public final boolean getPreferIdentityDocUi() + bool getPreferIdentityDocUi() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_getPreferIdentityDocUi, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_getPreferUiBrandingComponentName = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getPreferUiBrandingComponentName", + r"()Landroid/content/ComponentName;"); + + /// from: public final android.content.ComponentName getPreferUiBrandingComponentName() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getPreferUiBrandingComponentName() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getPreferUiBrandingComponentName, + jni.JniCallType.objectType, []).object); + } + + static final _id_preferImmediatelyAvailableCredentials = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"preferImmediatelyAvailableCredentials", r"()Z"); + + /// from: public final boolean preferImmediatelyAvailableCredentials() + bool preferImmediatelyAvailableCredentials() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_preferImmediatelyAvailableCredentials, + jni.JniCallType.booleanType, []).boolean; + } + + static final _id_new2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/util/List;Ljava/lang/String;ZLandroid/content/ComponentName;)V"); + + /// from: public void (java.util.List list, java.lang.String string, boolean z, android.content.ComponentName componentName) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialRequest.new2( + jni.JList list, + jni.JString string, + bool z, + jni.JObject componentName, + ) { + return GetCredentialRequest.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new2, [ + list.reference, + string.reference, + z ? 1 : 0, + componentName.reference + ]).object); + } + + static final _id_new3 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/util/List;Ljava/lang/String;Z)V"); + + /// from: public void (java.util.List list, java.lang.String string, boolean z) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialRequest.new3( + jni.JList list, + jni.JString string, + bool z, + ) { + return GetCredentialRequest.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, + _id_new3, + [list.reference, string.reference, z ? 1 : 0]).object); + } + + static final _id_new4 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/util/List;Ljava/lang/String;)V"); + + /// from: public void (java.util.List list, java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialRequest.new4( + jni.JList list, + jni.JString string, + ) { + return GetCredentialRequest.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new4, [list.reference, string.reference]).object); + } + + static final _id_new5 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/util/List;)V"); + + /// from: public void (java.util.List list) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialRequest.new5( + jni.JList list, + ) { + return GetCredentialRequest.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new5, [list.reference]).object); + } + + static final _id_toRequestDataBundle = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"toRequestDataBundle", + r"(Landroidx/credentials/GetCredentialRequest;)Landroid/os/Bundle;"); + + /// from: static public final android.os.Bundle toRequestDataBundle(androidx.credentials.GetCredentialRequest getCredentialRequest) + /// The returned object must be released after use, by calling the [release] method. + static Bundle toRequestDataBundle( + GetCredentialRequest getCredentialRequest, + ) { + return const $BundleType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_toRequestDataBundle, + jni.JniCallType.objectType, + [getCredentialRequest.reference]).object); + } + + static final _id_createFrom = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/util/List;Ljava/lang/String;Landroid/os/Bundle;)Landroidx/credentials/GetCredentialRequest;"); + + /// from: static public final androidx.credentials.GetCredentialRequest createFrom(java.util.List list, java.lang.String string, android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + static GetCredentialRequest createFrom( + jni.JList list, + jni.JString string, + Bundle bundle, + ) { + return const $GetCredentialRequestType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_createFrom, + jni.JniCallType.objectType, + [list.reference, string.reference, bundle.reference]).object); + } +} + +final class $GetCredentialRequestType + extends jni.JObjType { + const $GetCredentialRequestType(); + + @override + String get signature => r"Landroidx/credentials/GetCredentialRequest;"; + + @override + GetCredentialRequest fromRef(jni.JObjectPtr ref) => + GetCredentialRequest.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($GetCredentialRequestType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($GetCredentialRequestType) && + other is $GetCredentialRequestType; + } +} + +/// from: androidx.credentials.GetCredentialResponse +class GetCredentialResponse extends jni.JObject { + @override + late final jni.JObjType $type = type; + + GetCredentialResponse.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/credentials/GetCredentialResponse"); + + /// The type which includes information such as the signature of this class. + static const type = $GetCredentialResponseType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Landroidx/credentials/Credential;)V"); + + /// from: public void (androidx.credentials.Credential credential) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialResponse( + Credential credential, + ) { + return GetCredentialResponse.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new0, [credential.reference]).object); + } + + static final _id_getCredential = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getCredential", + r"()Landroidx/credentials/Credential;"); + + /// from: public final androidx.credentials.Credential getCredential() + /// The returned object must be released after use, by calling the [release] method. + Credential getCredential() { + return const $CredentialType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getCredential, jni.JniCallType.objectType, []).object); + } +} + +final class $GetCredentialResponseType + extends jni.JObjType { + const $GetCredentialResponseType(); + + @override + String get signature => r"Landroidx/credentials/GetCredentialResponse;"; + + @override + GetCredentialResponse fromRef(jni.JObjectPtr ref) => + GetCredentialResponse.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($GetCredentialResponseType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($GetCredentialResponseType) && + other is $GetCredentialResponseType; + } +} + +/// from: androidx.credentials.GetPublicKeyCredentialOption$Companion +class GetPublicKeyCredentialOption_Companion extends jni.JObject { + @override + late final jni.JObjType $type = type; + + GetPublicKeyCredentialOption_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/GetPublicKeyCredentialOption$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $GetPublicKeyCredentialOption_CompanionType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory GetPublicKeyCredentialOption_Companion( + jni.JObject defaultConstructorMarker, + ) { + return GetPublicKeyCredentialOption_Companion.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $GetPublicKeyCredentialOption_CompanionType + extends jni.JObjType { + const $GetPublicKeyCredentialOption_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/GetPublicKeyCredentialOption$Companion;"; + + @override + GetPublicKeyCredentialOption_Companion fromRef(jni.JObjectPtr ref) => + GetPublicKeyCredentialOption_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($GetPublicKeyCredentialOption_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($GetPublicKeyCredentialOption_CompanionType) && + other is $GetPublicKeyCredentialOption_CompanionType; + } +} + +/// from: androidx.credentials.GetPublicKeyCredentialOption +class GetPublicKeyCredentialOption extends jni.JObject { + @override + late final jni.JObjType $type = type; + + GetPublicKeyCredentialOption.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/credentials/GetPublicKeyCredentialOption"); + + /// The type which includes information such as the signature of this class. + static const type = $GetPublicKeyCredentialOptionType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/GetPublicKeyCredentialOption$Companion;", + ); + + /// from: static public final androidx.credentials.GetPublicKeyCredentialOption$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static GetPublicKeyCredentialOption_Companion get Companion => + const $GetPublicKeyCredentialOption_CompanionType().fromRef(jni + .Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String BUNDLE_KEY_CLIENT_DATA_HASH + static const BUNDLE_KEY_CLIENT_DATA_HASH = + r"""androidx.credentials.BUNDLE_KEY_CLIENT_DATA_HASH"""; + + /// from: static public final java.lang.String BUNDLE_KEY_REQUEST_JSON + static const BUNDLE_KEY_REQUEST_JSON = + r"""androidx.credentials.BUNDLE_KEY_REQUEST_JSON"""; + + /// from: static public final java.lang.String BUNDLE_VALUE_SUBTYPE_GET_PUBLIC_KEY_CREDENTIAL_OPTION + static const BUNDLE_VALUE_SUBTYPE_GET_PUBLIC_KEY_CREDENTIAL_OPTION = + r"""androidx.credentials.BUNDLE_VALUE_SUBTYPE_GET_PUBLIC_KEY_CREDENTIAL_OPTION"""; + + static final _id_getRequestJson = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getRequestJson", r"()Ljava/lang/String;"); + + /// from: public final java.lang.String getRequestJson() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getRequestJson() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getRequestJson, jni.JniCallType.objectType, []).object); + } + + static final _id_getClientDataHash = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getClientDataHash", r"()[B"); + + /// from: public final byte[] getClientDataHash() + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getClientDataHash() { + return const jni.JArrayType(jni.jbyteType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getClientDataHash, + jni.JniCallType.objectType, []).object); + } + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/lang/String;[BLjava/util/Set;)V"); + + /// from: public void (java.lang.String string, java.lang.Object[] bs, java.util.Set set) + /// The returned object must be released after use, by calling the [release] method. + factory GetPublicKeyCredentialOption( + jni.JString string, + jni.JArray bs, + jni.JSet set0, + ) { + return GetPublicKeyCredentialOption.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, + [string.reference, bs.reference, set0.reference]).object); + } + + static final _id_new1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;[BLjava/util/Set;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.String string, byte[] bs, java.util.Set set, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory GetPublicKeyCredentialOption.new1( + jni.JString string, + jni.JArray bs, + jni.JSet set0, + int i, + jni.JObject defaultConstructorMarker, + ) { + return GetPublicKeyCredentialOption.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new1, [ + string.reference, + bs.reference, + set0.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_new2 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;[B)V"); + + /// from: public void (java.lang.String string, byte[] bs) + /// The returned object must be released after use, by calling the [release] method. + factory GetPublicKeyCredentialOption.new2( + jni.JString string, + jni.JArray bs, + ) { + return GetPublicKeyCredentialOption.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new2, + [string.reference, bs.reference]).object); + } + + static final _id_new3 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); + + /// from: public void (java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory GetPublicKeyCredentialOption.new3( + jni.JString string, + ) { + return GetPublicKeyCredentialOption.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new3, [string.reference]).object); + } + + static final _id_new4 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;[BLjava/util/Set;Landroid/os/Bundle;Landroid/os/Bundle;Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.String string, byte[] bs, java.util.Set set, android.os.Bundle bundle, android.os.Bundle bundle1, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory GetPublicKeyCredentialOption.new4( + jni.JString string, + jni.JArray bs, + jni.JSet set0, + Bundle bundle, + Bundle bundle1, + jni.JObject defaultConstructorMarker, + ) { + return GetPublicKeyCredentialOption.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new4, [ + string.reference, + bs.reference, + set0.reference, + bundle.reference, + bundle1.reference, + defaultConstructorMarker.reference + ]).object); + } +} + +final class $GetPublicKeyCredentialOptionType + extends jni.JObjType { + const $GetPublicKeyCredentialOptionType(); + + @override + String get signature => + r"Landroidx/credentials/GetPublicKeyCredentialOption;"; + + @override + GetPublicKeyCredentialOption fromRef(jni.JObjectPtr ref) => + GetPublicKeyCredentialOption.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($GetPublicKeyCredentialOptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($GetPublicKeyCredentialOptionType) && + other is $GetPublicKeyCredentialOptionType; + } +} + +/// from: androidx.credentials.PublicKeyCredential$Companion +class PublicKeyCredential_Companion extends jni.JObject { + @override + late final jni.JObjType $type = type; + + PublicKeyCredential_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/credentials/PublicKeyCredential$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $PublicKeyCredential_CompanionType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory PublicKeyCredential_Companion( + jni.JObject defaultConstructorMarker, + ) { + return PublicKeyCredential_Companion.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $PublicKeyCredential_CompanionType + extends jni.JObjType { + const $PublicKeyCredential_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/PublicKeyCredential$Companion;"; + + @override + PublicKeyCredential_Companion fromRef(jni.JObjectPtr ref) => + PublicKeyCredential_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($PublicKeyCredential_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($PublicKeyCredential_CompanionType) && + other is $PublicKeyCredential_CompanionType; + } +} + +/// from: androidx.credentials.PublicKeyCredential +class PublicKeyCredential extends Credential { + @override + late final jni.JObjType $type = type; + + PublicKeyCredential.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/credentials/PublicKeyCredential"); + + /// The type which includes information such as the signature of this class. + static const type = $PublicKeyCredentialType(); + static final _id_Companion1 = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/PublicKeyCredential$Companion;", + ); + + /// from: static public final androidx.credentials.PublicKeyCredential$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static PublicKeyCredential_Companion get Companion1 => + const $PublicKeyCredential_CompanionType().fromRef(jni.Jni.accessors + .getStaticField( + _class.reference, _id_Companion1, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String TYPE_PUBLIC_KEY_CREDENTIAL + static const TYPE_PUBLIC_KEY_CREDENTIAL = + r"""androidx.credentials.TYPE_PUBLIC_KEY_CREDENTIAL"""; + + /// from: static public final java.lang.String BUNDLE_KEY_SUBTYPE + static const BUNDLE_KEY_SUBTYPE = + r"""androidx.credentials.BUNDLE_KEY_SUBTYPE"""; + + /// from: static public final java.lang.String BUNDLE_KEY_AUTHENTICATION_RESPONSE_JSON + static const BUNDLE_KEY_AUTHENTICATION_RESPONSE_JSON = + r"""androidx.credentials.BUNDLE_KEY_AUTHENTICATION_RESPONSE_JSON"""; + + static final _id_getAuthenticationResponseJson = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getAuthenticationResponseJson", + r"()Ljava/lang/String;"); + + /// from: public final java.lang.String getAuthenticationResponseJson() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getAuthenticationResponseJson() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getAuthenticationResponseJson, + jni.JniCallType.objectType, []).object); + } + + static final _id_new1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); + + /// from: public void (java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory PublicKeyCredential.new1( + jni.JString string, + ) { + return PublicKeyCredential.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new1, [string.reference]).object); + } + + static final _id_new2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;Landroid/os/Bundle;Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.String string, android.os.Bundle bundle, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory PublicKeyCredential.new2( + jni.JString string, + Bundle bundle, + jni.JObject defaultConstructorMarker, + ) { + return PublicKeyCredential.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new2, [ + string.reference, + bundle.reference, + defaultConstructorMarker.reference + ]).object); + } +} + +final class $PublicKeyCredentialType extends jni.JObjType { + const $PublicKeyCredentialType(); + + @override + String get signature => r"Landroidx/credentials/PublicKeyCredential;"; + + @override + PublicKeyCredential fromRef(jni.JObjectPtr ref) => + PublicKeyCredential.fromRef(ref); + + @override + jni.JObjType get superType => const $CredentialType(); + + @override + final superCount = 2; + + @override + int get hashCode => ($PublicKeyCredentialType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($PublicKeyCredentialType) && + other is $PublicKeyCredentialType; + } +} + +/// from: androidx.credentials.exceptions.CreateCredentialCancellationException$Companion +class CreateCredentialCancellationException_Companion extends jni.JObject { + @override + late final jni.JObjType + $type = type; + + CreateCredentialCancellationException_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/CreateCredentialCancellationException$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialCancellationException_CompanionType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialCancellationException_Companion( + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialCancellationException_Companion.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $CreateCredentialCancellationException_CompanionType + extends jni.JObjType { + const $CreateCredentialCancellationException_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/CreateCredentialCancellationException$Companion;"; + + @override + CreateCredentialCancellationException_Companion fromRef(jni.JObjectPtr ref) => + CreateCredentialCancellationException_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => + ($CreateCredentialCancellationException_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($CreateCredentialCancellationException_CompanionType) && + other is $CreateCredentialCancellationException_CompanionType; + } +} + +/// from: androidx.credentials.exceptions.CreateCredentialCancellationException +class CreateCredentialCancellationException extends CreateCredentialException { + @override + late final jni.JObjType $type = type; + + CreateCredentialCancellationException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/CreateCredentialCancellationException"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialCancellationExceptionType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/exceptions/CreateCredentialCancellationException$Companion;", + ); + + /// from: static public final androidx.credentials.exceptions.CreateCredentialCancellationException$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static CreateCredentialCancellationException_Companion get Companion => + const $CreateCredentialCancellationException_CompanionType().fromRef(jni + .Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String TYPE_CREATE_CREDENTIAL_CANCELLATION_EXCEPTION + static const TYPE_CREATE_CREDENTIAL_CANCELLATION_EXCEPTION = + r"""android.credentials.CreateCredentialException.TYPE_USER_CANCELED"""; + + static final _id_new7 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/lang/CharSequence;)V"); + + /// from: public void (java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialCancellationException.new7( + jni.JObject charSequence, + ) { + return CreateCredentialCancellationException.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new7, [charSequence.reference]).object); + } + + static final _id_new8 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialCancellationException.new8( + jni.JObject charSequence, + int i, + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialCancellationException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new8, [ + charSequence.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_new9 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialCancellationException.new9() { + return CreateCredentialCancellationException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new9, []).object); + } +} + +final class $CreateCredentialCancellationExceptionType + extends jni.JObjType { + const $CreateCredentialCancellationExceptionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/CreateCredentialCancellationException;"; + + @override + CreateCredentialCancellationException fromRef(jni.JObjectPtr ref) => + CreateCredentialCancellationException.fromRef(ref); + + @override + jni.JObjType get superType => const $CreateCredentialExceptionType(); + + @override + final superCount = 4; + + @override + int get hashCode => ($CreateCredentialCancellationExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreateCredentialCancellationExceptionType) && + other is $CreateCredentialCancellationExceptionType; + } +} + +/// from: androidx.credentials.exceptions.CreateCredentialException +class CreateCredentialException extends Exception { + @override + late final jni.JObjType $type = type; + + CreateCredentialException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/CreateCredentialException"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialExceptionType(); + static final _id_new5 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Ljava/lang/String;Ljava/lang/CharSequence;)V"); + + /// from: public void (java.lang.String string, java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialException.new5( + jni.JString string, + jni.JObject charSequence, + ) { + return CreateCredentialException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new5, + [string.reference, charSequence.reference]).object); + } + + static final _id_new6 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.String string, java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialException.new6( + jni.JString string, + jni.JObject charSequence, + int i, + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialException.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new6, [ + string.reference, + charSequence.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_getType = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getType", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getType() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getType() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getType, jni.JniCallType.objectType, []).object); + } + + static final _id_getErrorMessage = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getErrorMessage", r"()Ljava/lang/CharSequence;"); + + /// from: public java.lang.CharSequence getErrorMessage() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getErrorMessage() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getErrorMessage, jni.JniCallType.objectType, []).object); + } + + static final _id_new1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); + + /// from: public void (java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialException.new1( + jni.JString string, + ) { + return CreateCredentialException.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new1, [string.reference]).object); + } +} + +final class $CreateCredentialExceptionType + extends jni.JObjType { + const $CreateCredentialExceptionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/CreateCredentialException;"; + + @override + CreateCredentialException fromRef(jni.JObjectPtr ref) => + CreateCredentialException.fromRef(ref); + + @override + jni.JObjType get superType => const $ExceptionType(); + + @override + final superCount = 3; + + @override + int get hashCode => ($CreateCredentialExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreateCredentialExceptionType) && + other is $CreateCredentialExceptionType; + } +} + +/// from: androidx.credentials.exceptions.GetCredentialCancellationException$Companion +class GetCredentialCancellationException_Companion extends jni.JObject { + @override + late final jni.JObjType $type = + type; + + GetCredentialCancellationException_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/GetCredentialCancellationException$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $GetCredentialCancellationException_CompanionType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialCancellationException_Companion( + jni.JObject defaultConstructorMarker, + ) { + return GetCredentialCancellationException_Companion.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $GetCredentialCancellationException_CompanionType + extends jni.JObjType { + const $GetCredentialCancellationException_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/GetCredentialCancellationException$Companion;"; + + @override + GetCredentialCancellationException_Companion fromRef(jni.JObjectPtr ref) => + GetCredentialCancellationException_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => + ($GetCredentialCancellationException_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($GetCredentialCancellationException_CompanionType) && + other is $GetCredentialCancellationException_CompanionType; + } +} + +/// from: androidx.credentials.exceptions.GetCredentialCancellationException +class GetCredentialCancellationException extends GetCredentialException { + @override + late final jni.JObjType $type = type; + + GetCredentialCancellationException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/GetCredentialCancellationException"); + + /// The type which includes information such as the signature of this class. + static const type = $GetCredentialCancellationExceptionType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/exceptions/GetCredentialCancellationException$Companion;", + ); + + /// from: static public final androidx.credentials.exceptions.GetCredentialCancellationException$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static GetCredentialCancellationException_Companion get Companion => + const $GetCredentialCancellationException_CompanionType().fromRef(jni + .Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String TYPE_GET_CREDENTIAL_CANCELLATION_EXCEPTION + static const TYPE_GET_CREDENTIAL_CANCELLATION_EXCEPTION = + r"""android.credentials.GetCredentialException.TYPE_USER_CANCELED"""; + + static final _id_new7 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/lang/CharSequence;)V"); + + /// from: public void (java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialCancellationException.new7( + jni.JObject charSequence, + ) { + return GetCredentialCancellationException.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new7, [charSequence.reference]).object); + } + + static final _id_new8 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialCancellationException.new8( + jni.JObject charSequence, + int i, + jni.JObject defaultConstructorMarker, + ) { + return GetCredentialCancellationException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new8, [ + charSequence.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_new9 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialCancellationException.new9() { + return GetCredentialCancellationException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new9, []).object); + } +} + +final class $GetCredentialCancellationExceptionType + extends jni.JObjType { + const $GetCredentialCancellationExceptionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/GetCredentialCancellationException;"; + + @override + GetCredentialCancellationException fromRef(jni.JObjectPtr ref) => + GetCredentialCancellationException.fromRef(ref); + + @override + jni.JObjType get superType => const $GetCredentialExceptionType(); + + @override + final superCount = 4; + + @override + int get hashCode => ($GetCredentialCancellationExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($GetCredentialCancellationExceptionType) && + other is $GetCredentialCancellationExceptionType; + } +} + +/// from: androidx.credentials.exceptions.GetCredentialException +class GetCredentialException extends Exception { + @override + late final jni.JObjType $type = type; + + GetCredentialException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/GetCredentialException"); + + /// The type which includes information such as the signature of this class. + static const type = $GetCredentialExceptionType(); + static final _id_new5 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Ljava/lang/String;Ljava/lang/CharSequence;)V"); + + /// from: public void (java.lang.String string, java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialException.new5( + jni.JString string, + jni.JObject charSequence, + ) { + return GetCredentialException.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, + _id_new5, + [string.reference, charSequence.reference]).object); + } + + static final _id_new6 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.String string, java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialException.new6( + jni.JString string, + jni.JObject charSequence, + int i, + jni.JObject defaultConstructorMarker, + ) { + return GetCredentialException.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new6, [ + string.reference, + charSequence.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_getType = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getType", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getType() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getType() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getType, jni.JniCallType.objectType, []).object); + } + + static final _id_getErrorMessage = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getErrorMessage", r"()Ljava/lang/CharSequence;"); + + /// from: public java.lang.CharSequence getErrorMessage() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getErrorMessage() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getErrorMessage, jni.JniCallType.objectType, []).object); + } + + static final _id_new1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); + + /// from: public void (java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialException.new1( + jni.JString string, + ) { + return GetCredentialException.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new1, [string.reference]).object); + } +} + +final class $GetCredentialExceptionType + extends jni.JObjType { + const $GetCredentialExceptionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/GetCredentialException;"; + + @override + GetCredentialException fromRef(jni.JObjectPtr ref) => + GetCredentialException.fromRef(ref); + + @override + jni.JObjType get superType => const $ExceptionType(); + + @override + final superCount = 3; + + @override + int get hashCode => ($GetCredentialExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($GetCredentialExceptionType) && + other is $GetCredentialExceptionType; + } +} + +/// from: androidx.credentials.exceptions.NoCredentialException$Companion +class NoCredentialException_Companion extends jni.JObject { + @override + late final jni.JObjType $type = type; + + NoCredentialException_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/NoCredentialException$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $NoCredentialException_CompanionType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory NoCredentialException_Companion( + jni.JObject defaultConstructorMarker, + ) { + return NoCredentialException_Companion.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $NoCredentialException_CompanionType + extends jni.JObjType { + const $NoCredentialException_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/NoCredentialException$Companion;"; + + @override + NoCredentialException_Companion fromRef(jni.JObjectPtr ref) => + NoCredentialException_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($NoCredentialException_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($NoCredentialException_CompanionType) && + other is $NoCredentialException_CompanionType; + } +} + +/// from: androidx.credentials.exceptions.NoCredentialException +class NoCredentialException extends GetCredentialException { + @override + late final jni.JObjType $type = type; + + NoCredentialException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/NoCredentialException"); + + /// The type which includes information such as the signature of this class. + static const type = $NoCredentialExceptionType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/exceptions/NoCredentialException$Companion;", + ); + + /// from: static public final androidx.credentials.exceptions.NoCredentialException$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static NoCredentialException_Companion get Companion => + const $NoCredentialException_CompanionType().fromRef(jni.Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String TYPE_FRAMEWORK_TYPE_NO_CREDENTIAL + static const TYPE_FRAMEWORK_TYPE_NO_CREDENTIAL = + r"""android.credentials.GetCredentialException.TYPE_NO_CREDENTIAL"""; + + static final _id_new7 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/lang/CharSequence;)V"); + + /// from: public void (java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory NoCredentialException.new7( + jni.JObject charSequence, + ) { + return NoCredentialException.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new7, [charSequence.reference]).object); + } + + static final _id_new8 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory NoCredentialException.new8( + jni.JObject charSequence, + int i, + jni.JObject defaultConstructorMarker, + ) { + return NoCredentialException.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new8, [ + charSequence.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_new9 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory NoCredentialException.new9() { + return NoCredentialException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new9, []).object); + } +} + +final class $NoCredentialExceptionType + extends jni.JObjType { + const $NoCredentialExceptionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/NoCredentialException;"; + + @override + NoCredentialException fromRef(jni.JObjectPtr ref) => + NoCredentialException.fromRef(ref); + + @override + jni.JObjType get superType => const $GetCredentialExceptionType(); + + @override + final superCount = 4; + + @override + int get hashCode => ($NoCredentialExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($NoCredentialExceptionType) && + other is $NoCredentialExceptionType; + } +} + +/// from: androidx.credentials.exceptions.CreateCredentialInterruptedException$Companion +class CreateCredentialInterruptedException_Companion extends jni.JObject { + @override + late final jni.JObjType + $type = type; + + CreateCredentialInterruptedException_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/CreateCredentialInterruptedException$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialInterruptedException_CompanionType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialInterruptedException_Companion( + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialInterruptedException_Companion.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $CreateCredentialInterruptedException_CompanionType + extends jni.JObjType { + const $CreateCredentialInterruptedException_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/CreateCredentialInterruptedException$Companion;"; + + @override + CreateCredentialInterruptedException_Companion fromRef(jni.JObjectPtr ref) => + CreateCredentialInterruptedException_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => + ($CreateCredentialInterruptedException_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($CreateCredentialInterruptedException_CompanionType) && + other is $CreateCredentialInterruptedException_CompanionType; + } +} + +/// from: androidx.credentials.exceptions.CreateCredentialInterruptedException +class CreateCredentialInterruptedException extends CreateCredentialException { + @override + late final jni.JObjType $type = type; + + CreateCredentialInterruptedException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/CreateCredentialInterruptedException"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialInterruptedExceptionType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/exceptions/CreateCredentialInterruptedException$Companion;", + ); + + /// from: static public final androidx.credentials.exceptions.CreateCredentialInterruptedException$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static CreateCredentialInterruptedException_Companion get Companion => + const $CreateCredentialInterruptedException_CompanionType().fromRef(jni + .Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String TYPE_CREATE_CREDENTIAL_INTERRUPTED_EXCEPTION + static const TYPE_CREATE_CREDENTIAL_INTERRUPTED_EXCEPTION = + r"""android.credentials.CreateCredentialException.TYPE_INTERRUPTED"""; + + static final _id_new7 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/lang/CharSequence;)V"); + + /// from: public void (java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialInterruptedException.new7( + jni.JObject charSequence, + ) { + return CreateCredentialInterruptedException.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new7, [charSequence.reference]).object); + } + + static final _id_new8 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialInterruptedException.new8( + jni.JObject charSequence, + int i, + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialInterruptedException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new8, [ + charSequence.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_new9 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialInterruptedException.new9() { + return CreateCredentialInterruptedException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new9, []).object); + } +} + +final class $CreateCredentialInterruptedExceptionType + extends jni.JObjType { + const $CreateCredentialInterruptedExceptionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/CreateCredentialInterruptedException;"; + + @override + CreateCredentialInterruptedException fromRef(jni.JObjectPtr ref) => + CreateCredentialInterruptedException.fromRef(ref); + + @override + jni.JObjType get superType => const $CreateCredentialExceptionType(); + + @override + final superCount = 4; + + @override + int get hashCode => ($CreateCredentialInterruptedExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreateCredentialInterruptedExceptionType) && + other is $CreateCredentialInterruptedExceptionType; + } +} + +/// from: androidx.credentials.exceptions.CreateCredentialProviderConfigurationException$Companion +class CreateCredentialProviderConfigurationException_Companion + extends jni.JObject { + @override + late final jni + .JObjType + $type = type; + + CreateCredentialProviderConfigurationException_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/CreateCredentialProviderConfigurationException$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = + $CreateCredentialProviderConfigurationException_CompanionType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialProviderConfigurationException_Companion( + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialProviderConfigurationException_Companion.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $CreateCredentialProviderConfigurationException_CompanionType + extends jni + .JObjType { + const $CreateCredentialProviderConfigurationException_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/CreateCredentialProviderConfigurationException$Companion;"; + + @override + CreateCredentialProviderConfigurationException_Companion fromRef( + jni.JObjectPtr ref) => + CreateCredentialProviderConfigurationException_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => + ($CreateCredentialProviderConfigurationException_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($CreateCredentialProviderConfigurationException_CompanionType) && + other is $CreateCredentialProviderConfigurationException_CompanionType; + } +} + +/// from: androidx.credentials.exceptions.CreateCredentialProviderConfigurationException +class CreateCredentialProviderConfigurationException + extends CreateCredentialException { + @override + late final jni.JObjType + $type = type; + + CreateCredentialProviderConfigurationException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/CreateCredentialProviderConfigurationException"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialProviderConfigurationExceptionType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/exceptions/CreateCredentialProviderConfigurationException$Companion;", + ); + + /// from: static public final androidx.credentials.exceptions.CreateCredentialProviderConfigurationException$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static CreateCredentialProviderConfigurationException_Companion + get Companion => + const $CreateCredentialProviderConfigurationException_CompanionType() + .fromRef(jni.Jni.accessors + .getStaticField(_class.reference, _id_Companion, + jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String TYPE_CREATE_CREDENTIAL_PROVIDER_CONFIGURATION_EXCEPTION + static const TYPE_CREATE_CREDENTIAL_PROVIDER_CONFIGURATION_EXCEPTION = + r"""androidx.credentials.TYPE_CREATE_CREDENTIAL_PROVIDER_CONFIGURATION_EXCEPTION"""; + + static final _id_new7 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/lang/CharSequence;)V"); + + /// from: public void (java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialProviderConfigurationException.new7( + jni.JObject charSequence, + ) { + return CreateCredentialProviderConfigurationException.fromRef( + jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new7, [charSequence.reference]).object); + } + + static final _id_new8 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialProviderConfigurationException.new8( + jni.JObject charSequence, + int i, + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialProviderConfigurationException.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new8, [ + charSequence.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_new9 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialProviderConfigurationException.new9() { + return CreateCredentialProviderConfigurationException.fromRef(jni + .Jni.accessors + .newObjectWithArgs(_class.reference, _id_new9, []).object); + } +} + +final class $CreateCredentialProviderConfigurationExceptionType + extends jni.JObjType { + const $CreateCredentialProviderConfigurationExceptionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/CreateCredentialProviderConfigurationException;"; + + @override + CreateCredentialProviderConfigurationException fromRef(jni.JObjectPtr ref) => + CreateCredentialProviderConfigurationException.fromRef(ref); + + @override + jni.JObjType get superType => const $CreateCredentialExceptionType(); + + @override + final superCount = 4; + + @override + int get hashCode => + ($CreateCredentialProviderConfigurationExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($CreateCredentialProviderConfigurationExceptionType) && + other is $CreateCredentialProviderConfigurationExceptionType; + } +} + +/// from: androidx.credentials.exceptions.CreateCredentialUnknownException$Companion +class CreateCredentialUnknownException_Companion extends jni.JObject { + @override + late final jni.JObjType $type = + type; + + CreateCredentialUnknownException_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/CreateCredentialUnknownException$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialUnknownException_CompanionType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialUnknownException_Companion( + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialUnknownException_Companion.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $CreateCredentialUnknownException_CompanionType + extends jni.JObjType { + const $CreateCredentialUnknownException_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/CreateCredentialUnknownException$Companion;"; + + @override + CreateCredentialUnknownException_Companion fromRef(jni.JObjectPtr ref) => + CreateCredentialUnknownException_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => + ($CreateCredentialUnknownException_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($CreateCredentialUnknownException_CompanionType) && + other is $CreateCredentialUnknownException_CompanionType; + } +} + +/// from: androidx.credentials.exceptions.CreateCredentialUnknownException +class CreateCredentialUnknownException extends CreateCredentialException { + @override + late final jni.JObjType $type = type; + + CreateCredentialUnknownException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/CreateCredentialUnknownException"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialUnknownExceptionType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/exceptions/CreateCredentialUnknownException$Companion;", + ); + + /// from: static public final androidx.credentials.exceptions.CreateCredentialUnknownException$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static CreateCredentialUnknownException_Companion get Companion => + const $CreateCredentialUnknownException_CompanionType().fromRef(jni + .Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String TYPE_CREATE_CREDENTIAL_UNKNOWN_EXCEPTION + static const TYPE_CREATE_CREDENTIAL_UNKNOWN_EXCEPTION = + r"""android.credentials.CreateCredentialException.TYPE_UNKNOWN"""; + + static final _id_new7 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/lang/CharSequence;)V"); + + /// from: public void (java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialUnknownException.new7( + jni.JObject charSequence, + ) { + return CreateCredentialUnknownException.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new7, [charSequence.reference]).object); + } + + static final _id_new8 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialUnknownException.new8( + jni.JObject charSequence, + int i, + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialUnknownException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new8, [ + charSequence.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_new9 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialUnknownException.new9() { + return CreateCredentialUnknownException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new9, []).object); + } +} + +final class $CreateCredentialUnknownExceptionType + extends jni.JObjType { + const $CreateCredentialUnknownExceptionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/CreateCredentialUnknownException;"; + + @override + CreateCredentialUnknownException fromRef(jni.JObjectPtr ref) => + CreateCredentialUnknownException.fromRef(ref); + + @override + jni.JObjType get superType => const $CreateCredentialExceptionType(); + + @override + final superCount = 4; + + @override + int get hashCode => ($CreateCredentialUnknownExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreateCredentialUnknownExceptionType) && + other is $CreateCredentialUnknownExceptionType; + } +} + +/// from: androidx.credentials.exceptions.CreateCredentialCustomException +class CreateCredentialCustomException extends CreateCredentialException { + @override + late final jni.JObjType $type = type; + + CreateCredentialCustomException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/CreateCredentialCustomException"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialCustomExceptionType(); + static final _id_new5 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Ljava/lang/String;Ljava/lang/CharSequence;)V"); + + /// from: public void (java.lang.String string, java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialCustomException.new5( + jni.JString string, + jni.JObject charSequence, + ) { + return CreateCredentialCustomException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new5, + [string.reference, charSequence.reference]).object); + } + + static final _id_new6 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.String string, java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialCustomException.new6( + jni.JString string, + jni.JObject charSequence, + int i, + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialCustomException.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new6, [ + string.reference, + charSequence.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_getType = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getType", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getType() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getType() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getType, jni.JniCallType.objectType, []).object); + } + + static final _id_new1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); + + /// from: public void (java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialCustomException.new1( + jni.JString string, + ) { + return CreateCredentialCustomException.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new1, [string.reference]).object); + } +} + +final class $CreateCredentialCustomExceptionType + extends jni.JObjType { + const $CreateCredentialCustomExceptionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/CreateCredentialCustomException;"; + + @override + CreateCredentialCustomException fromRef(jni.JObjectPtr ref) => + CreateCredentialCustomException.fromRef(ref); + + @override + jni.JObjType get superType => const $CreateCredentialExceptionType(); + + @override + final superCount = 4; + + @override + int get hashCode => ($CreateCredentialCustomExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreateCredentialCustomExceptionType) && + other is $CreateCredentialCustomExceptionType; + } +} + +/// from: androidx.credentials.exceptions.publickeycredential.CreatePublicKeyCredentialDomException$Companion +class CreatePublicKeyCredentialDomException_Companion extends jni.JObject { + @override + late final jni.JObjType + $type = type; + + CreatePublicKeyCredentialDomException_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialDomException$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $CreatePublicKeyCredentialDomException_CompanionType(); + static final _id_createFrom = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/lang/String;Ljava/lang/String;)Landroidx/credentials/exceptions/CreateCredentialException;"); + + /// from: public final androidx.credentials.exceptions.CreateCredentialException createFrom(java.lang.String string, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + CreateCredentialException createFrom( + jni.JString string, + jni.JString string1, + ) { + return const $CreateCredentialExceptionType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_createFrom, + jni.JniCallType.objectType, + [string.reference, string1.reference]).object); + } + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialDomException_Companion( + jni.JObject defaultConstructorMarker, + ) { + return CreatePublicKeyCredentialDomException_Companion.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $CreatePublicKeyCredentialDomException_CompanionType + extends jni.JObjType { + const $CreatePublicKeyCredentialDomException_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialDomException$Companion;"; + + @override + CreatePublicKeyCredentialDomException_Companion fromRef(jni.JObjectPtr ref) => + CreatePublicKeyCredentialDomException_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => + ($CreatePublicKeyCredentialDomException_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($CreatePublicKeyCredentialDomException_CompanionType) && + other is $CreatePublicKeyCredentialDomException_CompanionType; + } +} + +/// from: androidx.credentials.exceptions.publickeycredential.CreatePublicKeyCredentialDomException +class CreatePublicKeyCredentialDomException + extends CreatePublicKeyCredentialException { + @override + late final jni.JObjType $type = type; + + CreatePublicKeyCredentialDomException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialDomException"); + + /// The type which includes information such as the signature of this class. + static const type = $CreatePublicKeyCredentialDomExceptionType(); + static final _id_Companion1 = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialDomException$Companion;", + ); + + /// from: static public final androidx.credentials.exceptions.publickeycredential.CreatePublicKeyCredentialDomException$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static CreatePublicKeyCredentialDomException_Companion get Companion1 => + const $CreatePublicKeyCredentialDomException_CompanionType().fromRef(jni + .Jni.accessors + .getStaticField( + _class.reference, _id_Companion1, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_DOM_EXCEPTION + static const TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_DOM_EXCEPTION = + r"""androidx.credentials.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_DOM_EXCEPTION"""; + + static final _id_new7 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Landroidx/credentials/exceptions/domerrors/DomError;Ljava/lang/CharSequence;)V"); + + /// from: public void (androidx.credentials.exceptions.domerrors.DomError domError, java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialDomException.new7( + jni.JObject domError, + jni.JObject charSequence, + ) { + return CreatePublicKeyCredentialDomException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new7, + [domError.reference, charSequence.reference]).object); + } + + static final _id_new8 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Landroidx/credentials/exceptions/domerrors/DomError;Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (androidx.credentials.exceptions.domerrors.DomError domError, java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialDomException.new8( + jni.JObject domError, + jni.JObject charSequence, + int i, + jni.JObject defaultConstructorMarker, + ) { + return CreatePublicKeyCredentialDomException.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new8, [ + domError.reference, + charSequence.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_getDomError = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getDomError", + r"()Landroidx/credentials/exceptions/domerrors/DomError;"); + + /// from: public final androidx.credentials.exceptions.domerrors.DomError getDomError() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getDomError() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getDomError, jni.JniCallType.objectType, []).object); + } + + static final _id_new9 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Landroidx/credentials/exceptions/domerrors/DomError;)V"); + + /// from: public void (androidx.credentials.exceptions.domerrors.DomError domError) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialDomException.new9( + jni.JObject domError, + ) { + return CreatePublicKeyCredentialDomException.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new9, [domError.reference]).object); + } + + static final _id_createFrom = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/lang/String;Ljava/lang/String;)Landroidx/credentials/exceptions/CreateCredentialException;"); + + /// from: static public final androidx.credentials.exceptions.CreateCredentialException createFrom(java.lang.String string, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + static CreateCredentialException createFrom( + jni.JString string, + jni.JString string1, + ) { + return const $CreateCredentialExceptionType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_createFrom, + jni.JniCallType.objectType, + [string.reference, string1.reference]).object); + } +} + +final class $CreatePublicKeyCredentialDomExceptionType + extends jni.JObjType { + const $CreatePublicKeyCredentialDomExceptionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialDomException;"; + + @override + CreatePublicKeyCredentialDomException fromRef(jni.JObjectPtr ref) => + CreatePublicKeyCredentialDomException.fromRef(ref); + + @override + jni.JObjType get superType => const $CreatePublicKeyCredentialExceptionType(); + + @override + final superCount = 5; + + @override + int get hashCode => ($CreatePublicKeyCredentialDomExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreatePublicKeyCredentialDomExceptionType) && + other is $CreatePublicKeyCredentialDomExceptionType; + } +} + +/// from: androidx.credentials.exceptions.publickeycredential.CreatePublicKeyCredentialException$Companion +class CreatePublicKeyCredentialException_Companion extends jni.JObject { + @override + late final jni.JObjType $type = + type; + + CreatePublicKeyCredentialException_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialException$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $CreatePublicKeyCredentialException_CompanionType(); + static final _id_createFrom = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/lang/String;Ljava/lang/String;)Landroidx/credentials/exceptions/CreateCredentialException;"); + + /// from: public final androidx.credentials.exceptions.CreateCredentialException createFrom(java.lang.String string, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + CreateCredentialException createFrom( + jni.JString string, + jni.JString string1, + ) { + return const $CreateCredentialExceptionType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_createFrom, + jni.JniCallType.objectType, + [string.reference, string1.reference]).object); + } + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialException_Companion( + jni.JObject defaultConstructorMarker, + ) { + return CreatePublicKeyCredentialException_Companion.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $CreatePublicKeyCredentialException_CompanionType + extends jni.JObjType { + const $CreatePublicKeyCredentialException_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialException$Companion;"; + + @override + CreatePublicKeyCredentialException_Companion fromRef(jni.JObjectPtr ref) => + CreatePublicKeyCredentialException_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => + ($CreatePublicKeyCredentialException_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($CreatePublicKeyCredentialException_CompanionType) && + other is $CreatePublicKeyCredentialException_CompanionType; + } +} + +/// from: androidx.credentials.exceptions.publickeycredential.CreatePublicKeyCredentialException +class CreatePublicKeyCredentialException extends CreateCredentialException { + @override + late final jni.JObjType $type = type; + + CreatePublicKeyCredentialException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialException"); + + /// The type which includes information such as the signature of this class. + static const type = $CreatePublicKeyCredentialExceptionType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialException$Companion;", + ); + + /// from: static public final androidx.credentials.exceptions.publickeycredential.CreatePublicKeyCredentialException$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static CreatePublicKeyCredentialException_Companion get Companion => + const $CreatePublicKeyCredentialException_CompanionType().fromRef(jni + .Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + static final _id_new5 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Ljava/lang/String;Ljava/lang/CharSequence;)V"); + + /// from: public void (java.lang.String string, java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialException.new5( + jni.JString string, + jni.JObject charSequence, + ) { + return CreatePublicKeyCredentialException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new5, + [string.reference, charSequence.reference]).object); + } + + static final _id_new6 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.String string, java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialException.new6( + jni.JString string, + jni.JObject charSequence, + int i, + jni.JObject defaultConstructorMarker, + ) { + return CreatePublicKeyCredentialException.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new6, [ + string.reference, + charSequence.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_getType = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getType", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getType() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getType() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getType, jni.JniCallType.objectType, []).object); + } + + static final _id_new1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); + + /// from: public void (java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialException.new1( + jni.JString string, + ) { + return CreatePublicKeyCredentialException.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new1, [string.reference]).object); + } + + static final _id_createFrom = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/lang/String;Ljava/lang/String;)Landroidx/credentials/exceptions/CreateCredentialException;"); + + /// from: static public final androidx.credentials.exceptions.CreateCredentialException createFrom(java.lang.String string, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + static CreateCredentialException createFrom( + jni.JString string, + jni.JString string1, + ) { + return const $CreateCredentialExceptionType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_createFrom, + jni.JniCallType.objectType, + [string.reference, string1.reference]).object); + } +} + +final class $CreatePublicKeyCredentialExceptionType + extends jni.JObjType { + const $CreatePublicKeyCredentialExceptionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialException;"; + + @override + CreatePublicKeyCredentialException fromRef(jni.JObjectPtr ref) => + CreatePublicKeyCredentialException.fromRef(ref); + + @override + jni.JObjType get superType => const $CreateCredentialExceptionType(); + + @override + final superCount = 4; + + @override + int get hashCode => ($CreatePublicKeyCredentialExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreatePublicKeyCredentialExceptionType) && + other is $CreatePublicKeyCredentialExceptionType; + } +} + +/// from: androidx.credentials.exceptions.publickeycredential.GetPublicKeyCredentialDomException$Companion +class GetPublicKeyCredentialDomException_Companion extends jni.JObject { + @override + late final jni.JObjType $type = + type; + + GetPublicKeyCredentialDomException_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialDomException$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $GetPublicKeyCredentialDomException_CompanionType(); + static final _id_createFrom = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/lang/String;Ljava/lang/String;)Landroidx/credentials/exceptions/GetCredentialException;"); + + /// from: public final androidx.credentials.exceptions.GetCredentialException createFrom(java.lang.String string, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + GetCredentialException createFrom( + jni.JString string, + jni.JString string1, + ) { + return const $GetCredentialExceptionType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_createFrom, + jni.JniCallType.objectType, + [string.reference, string1.reference]).object); + } + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory GetPublicKeyCredentialDomException_Companion( + jni.JObject defaultConstructorMarker, + ) { + return GetPublicKeyCredentialDomException_Companion.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $GetPublicKeyCredentialDomException_CompanionType + extends jni.JObjType { + const $GetPublicKeyCredentialDomException_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialDomException$Companion;"; + + @override + GetPublicKeyCredentialDomException_Companion fromRef(jni.JObjectPtr ref) => + GetPublicKeyCredentialDomException_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => + ($GetPublicKeyCredentialDomException_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($GetPublicKeyCredentialDomException_CompanionType) && + other is $GetPublicKeyCredentialDomException_CompanionType; + } +} + +/// from: androidx.credentials.exceptions.publickeycredential.GetPublicKeyCredentialDomException +class GetPublicKeyCredentialDomException extends jni.JObject { + @override + late final jni.JObjType $type = type; + + GetPublicKeyCredentialDomException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialDomException"); + + /// The type which includes information such as the signature of this class. + static const type = $GetPublicKeyCredentialDomExceptionType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialDomException$Companion;", + ); + + /// from: static public final androidx.credentials.exceptions.publickeycredential.GetPublicKeyCredentialDomException$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static GetPublicKeyCredentialDomException_Companion get Companion => + const $GetPublicKeyCredentialDomException_CompanionType().fromRef(jni + .Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String TYPE_GET_PUBLIC_KEY_CREDENTIAL_DOM_EXCEPTION + static const TYPE_GET_PUBLIC_KEY_CREDENTIAL_DOM_EXCEPTION = + r"""androidx.credentials.TYPE_GET_PUBLIC_KEY_CREDENTIAL_DOM_EXCEPTION"""; + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Landroidx/credentials/exceptions/domerrors/DomError;Ljava/lang/CharSequence;)V"); + + /// from: public void (androidx.credentials.exceptions.domerrors.DomError domError, java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory GetPublicKeyCredentialDomException( + jni.JObject domError, + jni.JObject charSequence, + ) { + return GetPublicKeyCredentialDomException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, + [domError.reference, charSequence.reference]).object); + } + + static final _id_new1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Landroidx/credentials/exceptions/domerrors/DomError;Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (androidx.credentials.exceptions.domerrors.DomError domError, java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory GetPublicKeyCredentialDomException.new1( + jni.JObject domError, + jni.JObject charSequence, + int i, + jni.JObject defaultConstructorMarker, + ) { + return GetPublicKeyCredentialDomException.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new1, [ + domError.reference, + charSequence.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_getDomError = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getDomError", + r"()Landroidx/credentials/exceptions/domerrors/DomError;"); + + /// from: public final androidx.credentials.exceptions.domerrors.DomError getDomError() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getDomError() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getDomError, jni.JniCallType.objectType, []).object); + } + + static final _id_new2 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Landroidx/credentials/exceptions/domerrors/DomError;)V"); + + /// from: public void (androidx.credentials.exceptions.domerrors.DomError domError) + /// The returned object must be released after use, by calling the [release] method. + factory GetPublicKeyCredentialDomException.new2( + jni.JObject domError, + ) { + return GetPublicKeyCredentialDomException.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new2, [domError.reference]).object); + } + + static final _id_createFrom = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/lang/String;Ljava/lang/String;)Landroidx/credentials/exceptions/GetCredentialException;"); + + /// from: static public final androidx.credentials.exceptions.GetCredentialException createFrom(java.lang.String string, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + static GetCredentialException createFrom( + jni.JString string, + jni.JString string1, + ) { + return const $GetCredentialExceptionType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_createFrom, + jni.JniCallType.objectType, + [string.reference, string1.reference]).object); + } +} + +final class $GetPublicKeyCredentialDomExceptionType + extends jni.JObjType { + const $GetPublicKeyCredentialDomExceptionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialDomException;"; + + @override + GetPublicKeyCredentialDomException fromRef(jni.JObjectPtr ref) => + GetPublicKeyCredentialDomException.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($GetPublicKeyCredentialDomExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($GetPublicKeyCredentialDomExceptionType) && + other is $GetPublicKeyCredentialDomExceptionType; + } +} + +/// from: android.os.CancellationSignal$OnCancelListener +class CancellationSignal_OnCancelListener extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CancellationSignal_OnCancelListener.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"android/os/CancellationSignal$OnCancelListener"); + + /// The type which includes information such as the signature of this class. + static const type = $CancellationSignal_OnCancelListenerType(); + static final _id_onCancel = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"onCancel", r"()V"); + + /// from: public abstract void onCancel() + void onCancel() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onCancel, jni.JniCallType.voidType, []).check(); + } + + /// Maps a specific port to the implemented interface. + static final Map _$impls = {}; + ReceivePort? _$p; + + static jni.JObjectPtr _$invoke( + int port, + jni.JObjectPtr descriptor, + jni.JObjectPtr args, + ) { + return _$invokeMethod( + port, + $MethodInvocation.fromAddresses( + 0, + descriptor.address, + args.address, + ), + ); + } + + static final ffi.Pointer< + ffi.NativeFunction< + jni.JObjectPtr Function( + ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> + _$invokePointer = ffi.Pointer.fromFunction(_$invoke); + + static ffi.Pointer _$invokeMethod( + int $p, + $MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + if ($d == r"onCancel()V") { + _$impls[$p]!.onCancel(); + return jni.nullptr; + } + } catch (e) { + return ProtectedJniExtensions.newDartException(e.toString()); + } + return jni.nullptr; + } + + factory CancellationSignal_OnCancelListener.implement( + $CancellationSignal_OnCancelListenerImpl $impl, + ) { + final $p = ReceivePort(); + final $x = CancellationSignal_OnCancelListener.fromRef( + ProtectedJniExtensions.newPortProxy( + r"android.os.CancellationSignal$OnCancelListener", + $p, + _$invokePointer, + ), + ).._$p = $p; + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + $p.listen(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = $MethodInvocation.fromMessage($m as List); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + ProtectedJniExtensions.returnResult($i.result, $r); + }); + return $x; + } +} + +abstract class $CancellationSignal_OnCancelListenerImpl { + factory $CancellationSignal_OnCancelListenerImpl({ + required void Function() onCancel, + }) = _$CancellationSignal_OnCancelListenerImpl; + + void onCancel(); +} + +class _$CancellationSignal_OnCancelListenerImpl + implements $CancellationSignal_OnCancelListenerImpl { + _$CancellationSignal_OnCancelListenerImpl({ + required void Function() onCancel, + }) : _onCancel = onCancel; + + final void Function() _onCancel; + + void onCancel() { + return _onCancel(); + } +} + +final class $CancellationSignal_OnCancelListenerType + extends jni.JObjType { + const $CancellationSignal_OnCancelListenerType(); + + @override + String get signature => r"Landroid/os/CancellationSignal$OnCancelListener;"; + + @override + CancellationSignal_OnCancelListener fromRef(jni.JObjectPtr ref) => + CancellationSignal_OnCancelListener.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CancellationSignal_OnCancelListenerType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CancellationSignal_OnCancelListenerType) && + other is $CancellationSignal_OnCancelListenerType; + } +} + +/// from: android.os.CancellationSignal +class CancellationSignal extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CancellationSignal.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"android/os/CancellationSignal"); + + /// The type which includes information such as the signature of this class. + static const type = $CancellationSignalType(); + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory CancellationSignal() { + return CancellationSignal.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_isCanceled = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isCanceled", r"()Z"); + + /// from: public boolean isCanceled() + bool isCanceled() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isCanceled, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_throwIfCanceled = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"throwIfCanceled", r"()V"); + + /// from: public void throwIfCanceled() + void throwIfCanceled() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_throwIfCanceled, jni.JniCallType.voidType, []).check(); + } + + static final _id_cancel = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"cancel", r"()V"); + + /// from: public void cancel() + void cancel() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_cancel, jni.JniCallType.voidType, []).check(); + } + + static final _id_setOnCancelListener = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setOnCancelListener", + r"(Landroid/os/CancellationSignal$OnCancelListener;)V"); + + /// from: public void setOnCancelListener(android.os.CancellationSignal$OnCancelListener onCancelListener) + void setOnCancelListener( + CancellationSignal_OnCancelListener onCancelListener, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setOnCancelListener, + jni.JniCallType.voidType, + [onCancelListener.reference]).check(); + } +} + +final class $CancellationSignalType extends jni.JObjType { + const $CancellationSignalType(); + + @override + String get signature => r"Landroid/os/CancellationSignal;"; + + @override + CancellationSignal fromRef(jni.JObjectPtr ref) => + CancellationSignal.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CancellationSignalType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CancellationSignalType) && + other is $CancellationSignalType; + } +} + +/// from: android.os.Bundle +class Bundle extends BaseBundle { + @override + late final jni.JObjType $type = type; + + Bundle.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"android/os/Bundle"); + + /// The type which includes information such as the signature of this class. + static const type = $BundleType(); + static final _id_CREATOR = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"CREATOR", + r"Landroid/os/Parcelable$Creator;", + ); + + /// from: static public final android.os.Parcelable$Creator CREATOR + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject get CREATOR => const jni.JObjectType().fromRef(jni + .Jni.accessors + .getStaticField(_class.reference, _id_CREATOR, jni.JniCallType.objectType) + .object); + + static final _id_EMPTY = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"EMPTY", + r"Landroid/os/Bundle;", + ); + + /// from: static public final android.os.Bundle EMPTY + /// The returned object must be released after use, by calling the [release] method. + static Bundle get EMPTY => const $BundleType().fromRef(jni.Jni.accessors + .getStaticField(_class.reference, _id_EMPTY, jni.JniCallType.objectType) + .object); + + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory Bundle() { + return Bundle.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_new1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/lang/ClassLoader;)V"); + + /// from: public void (java.lang.ClassLoader classLoader) + /// The returned object must be released after use, by calling the [release] method. + factory Bundle.new1( + jni.JObject classLoader, + ) { + return Bundle.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new1, [classLoader.reference]).object); + } + + static final _id_new2 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"(I)V"); + + /// from: public void (int i) + /// The returned object must be released after use, by calling the [release] method. + factory Bundle.new2( + int i, + ) { + return Bundle.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new2, [jni.JValueInt(i)]).object); + } + + static final _id_new3 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Landroid/os/Bundle;)V"); + + /// from: public void (android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + factory Bundle.new3( + Bundle bundle, + ) { + return Bundle.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new3, [bundle.reference]).object); + } + + static final _id_new4 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Landroid/os/PersistableBundle;)V"); + + /// from: public void (android.os.PersistableBundle persistableBundle) + /// The returned object must be released after use, by calling the [release] method. + factory Bundle.new4( + jni.JObject persistableBundle, + ) { + return Bundle.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new4, [persistableBundle.reference]).object); + } + + static final _id_setClassLoader = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setClassLoader", r"(Ljava/lang/ClassLoader;)V"); + + /// from: public void setClassLoader(java.lang.ClassLoader classLoader) + void setClassLoader( + jni.JObject classLoader, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setClassLoader, + jni.JniCallType.voidType, [classLoader.reference]).check(); + } + + static final _id_getClassLoader = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getClassLoader", r"()Ljava/lang/ClassLoader;"); + + /// from: public java.lang.ClassLoader getClassLoader() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getClassLoader() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getClassLoader, jni.JniCallType.objectType, []).object); + } + + static final _id_clone = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"clone", r"()Ljava/lang/Object;"); + + /// from: public java.lang.Object clone() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject clone() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_clone, jni.JniCallType.objectType, []).object); + } + + static final _id_deepCopy = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"deepCopy", r"()Landroid/os/Bundle;"); + + /// from: public android.os.Bundle deepCopy() + /// The returned object must be released after use, by calling the [release] method. + Bundle deepCopy() { + return const $BundleType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_deepCopy, jni.JniCallType.objectType, []).object); + } + + static final _id_clear = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"clear", r"()V"); + + /// from: public void clear() + void clear() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_clear, jni.JniCallType.voidType, []).check(); + } + + static final _id_remove = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"remove", r"(Ljava/lang/String;)V"); + + /// from: public void remove(java.lang.String string) + void remove( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_remove, + jni.JniCallType.voidType, [string.reference]).check(); + } + + static final _id_putAll1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"putAll", r"(Landroid/os/Bundle;)V"); + + /// from: public void putAll(android.os.Bundle bundle) + void putAll1( + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_putAll1, + jni.JniCallType.voidType, [bundle.reference]).check(); + } + + static final _id_hasFileDescriptors = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"hasFileDescriptors", r"()Z"); + + /// from: public boolean hasFileDescriptors() + bool hasFileDescriptors() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_hasFileDescriptors, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_putByte = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"putByte", r"(Ljava/lang/String;B)V"); + + /// from: public void putByte(java.lang.String string, byte b) + void putByte( + jni.JString string, + int b, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putByte, + jni.JniCallType.voidType, + [string.reference, jni.JValueByte(b)]).check(); + } + + static final _id_putChar = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"putChar", r"(Ljava/lang/String;C)V"); + + /// from: public void putChar(java.lang.String string, char c) + void putChar( + jni.JString string, + int c, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putChar, + jni.JniCallType.voidType, + [string.reference, jni.JValueChar(c)]).check(); + } + + static final _id_putShort = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"putShort", r"(Ljava/lang/String;S)V"); + + /// from: public void putShort(java.lang.String string, short s) + void putShort( + jni.JString string, + int s, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putShort, + jni.JniCallType.voidType, + [string.reference, jni.JValueShort(s)]).check(); + } + + static final _id_putFloat = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"putFloat", r"(Ljava/lang/String;F)V"); + + /// from: public void putFloat(java.lang.String string, float f) + void putFloat( + jni.JString string, + double f, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putFloat, + jni.JniCallType.voidType, + [string.reference, jni.JValueFloat(f)]).check(); + } + + static final _id_putCharSequence = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putCharSequence", + r"(Ljava/lang/String;Ljava/lang/CharSequence;)V"); + + /// from: public void putCharSequence(java.lang.String string, java.lang.CharSequence charSequence) + void putCharSequence( + jni.JString string, + jni.JObject charSequence, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putCharSequence, + jni.JniCallType.voidType, + [string.reference, charSequence.reference]).check(); + } + + static final _id_putParcelable = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putParcelable", + r"(Ljava/lang/String;Landroid/os/Parcelable;)V"); + + /// from: public void putParcelable(java.lang.String string, android.os.Parcelable parcelable) + void putParcelable( + jni.JString string, + jni.JObject parcelable, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putParcelable, + jni.JniCallType.voidType, + [string.reference, parcelable.reference]).check(); + } + + static final _id_putSize = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"putSize", r"(Ljava/lang/String;Landroid/util/Size;)V"); + + /// from: public void putSize(java.lang.String string, android.util.Size size) + void putSize( + jni.JString string, + jni.JObject size, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_putSize, + jni.JniCallType.voidType, [string.reference, size.reference]).check(); + } + + static final _id_putSizeF = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"putSizeF", r"(Ljava/lang/String;Landroid/util/SizeF;)V"); + + /// from: public void putSizeF(java.lang.String string, android.util.SizeF sizeF) + void putSizeF( + jni.JString string, + jni.JObject sizeF, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_putSizeF, + jni.JniCallType.voidType, [string.reference, sizeF.reference]).check(); + } + + static final _id_putParcelableArray = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putParcelableArray", + r"(Ljava/lang/String;[Landroid/os/Parcelable;)V"); + + /// from: public void putParcelableArray(java.lang.String string, android.os.Parcelable[] parcelables) + void putParcelableArray( + jni.JString string, + jni.JArray parcelables, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putParcelableArray, + jni.JniCallType.voidType, + [string.reference, parcelables.reference]).check(); + } + + static final _id_putParcelableArrayList = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putParcelableArrayList", + r"(Ljava/lang/String;Ljava/util/ArrayList;)V"); + + /// from: public void putParcelableArrayList(java.lang.String string, java.util.ArrayList arrayList) + void putParcelableArrayList( + jni.JString string, + jni.JObject arrayList, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putParcelableArrayList, + jni.JniCallType.voidType, + [string.reference, arrayList.reference]).check(); + } + + static final _id_putSparseParcelableArray = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putSparseParcelableArray", + r"(Ljava/lang/String;Landroid/util/SparseArray;)V"); + + /// from: public void putSparseParcelableArray(java.lang.String string, android.util.SparseArray sparseArray) + void putSparseParcelableArray( + jni.JString string, + jni.JObject sparseArray, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putSparseParcelableArray, + jni.JniCallType.voidType, + [string.reference, sparseArray.reference]).check(); + } + + static final _id_putIntegerArrayList = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putIntegerArrayList", + r"(Ljava/lang/String;Ljava/util/ArrayList;)V"); + + /// from: public void putIntegerArrayList(java.lang.String string, java.util.ArrayList arrayList) + void putIntegerArrayList( + jni.JString string, + jni.JObject arrayList, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putIntegerArrayList, + jni.JniCallType.voidType, + [string.reference, arrayList.reference]).check(); + } + + static final _id_putStringArrayList = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putStringArrayList", + r"(Ljava/lang/String;Ljava/util/ArrayList;)V"); + + /// from: public void putStringArrayList(java.lang.String string, java.util.ArrayList arrayList) + void putStringArrayList( + jni.JString string, + jni.JObject arrayList, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putStringArrayList, + jni.JniCallType.voidType, + [string.reference, arrayList.reference]).check(); + } + + static final _id_putCharSequenceArrayList = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putCharSequenceArrayList", + r"(Ljava/lang/String;Ljava/util/ArrayList;)V"); + + /// from: public void putCharSequenceArrayList(java.lang.String string, java.util.ArrayList arrayList) + void putCharSequenceArrayList( + jni.JString string, + jni.JObject arrayList, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putCharSequenceArrayList, + jni.JniCallType.voidType, + [string.reference, arrayList.reference]).check(); + } + + static final _id_putSerializable = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putSerializable", + r"(Ljava/lang/String;Ljava/io/Serializable;)V"); + + /// from: public void putSerializable(java.lang.String string, java.io.Serializable serializable) + void putSerializable( + jni.JString string, + jni.JObject serializable, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putSerializable, + jni.JniCallType.voidType, + [string.reference, serializable.reference]).check(); + } + + static final _id_putByteArray = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"putByteArray", r"(Ljava/lang/String;[B)V"); + + /// from: public void putByteArray(java.lang.String string, byte[] bs) + void putByteArray( + jni.JString string, + jni.JArray bs, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_putByteArray, + jni.JniCallType.voidType, [string.reference, bs.reference]).check(); + } + + static final _id_putShortArray = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"putShortArray", r"(Ljava/lang/String;[S)V"); + + /// from: public void putShortArray(java.lang.String string, short[] ss) + void putShortArray( + jni.JString string, + jni.JArray ss, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_putShortArray, + jni.JniCallType.voidType, [string.reference, ss.reference]).check(); + } + + static final _id_putCharArray = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"putCharArray", r"(Ljava/lang/String;[C)V"); + + /// from: public void putCharArray(java.lang.String string, char[] cs) + void putCharArray( + jni.JString string, + jni.JArray cs, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_putCharArray, + jni.JniCallType.voidType, [string.reference, cs.reference]).check(); + } + + static final _id_putFloatArray = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"putFloatArray", r"(Ljava/lang/String;[F)V"); + + /// from: public void putFloatArray(java.lang.String string, float[] fs) + void putFloatArray( + jni.JString string, + jni.JArray fs, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_putFloatArray, + jni.JniCallType.voidType, [string.reference, fs.reference]).check(); + } + + static final _id_putCharSequenceArray = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putCharSequenceArray", + r"(Ljava/lang/String;[Ljava/lang/CharSequence;)V"); + + /// from: public void putCharSequenceArray(java.lang.String string, java.lang.CharSequence[] charSequences) + void putCharSequenceArray( + jni.JString string, + jni.JArray charSequences, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putCharSequenceArray, + jni.JniCallType.voidType, + [string.reference, charSequences.reference]).check(); + } + + static final _id_putBundle = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"putBundle", r"(Ljava/lang/String;Landroid/os/Bundle;)V"); + + /// from: public void putBundle(java.lang.String string, android.os.Bundle bundle) + void putBundle( + jni.JString string, + Bundle bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_putBundle, + jni.JniCallType.voidType, [string.reference, bundle.reference]).check(); + } + + static final _id_putBinder = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"putBinder", r"(Ljava/lang/String;Landroid/os/IBinder;)V"); + + /// from: public void putBinder(java.lang.String string, android.os.IBinder iBinder) + void putBinder( + jni.JString string, + jni.JObject iBinder, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putBinder, + jni.JniCallType.voidType, + [string.reference, iBinder.reference]).check(); + } + + static final _id_getByte = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getByte", r"(Ljava/lang/String;)B"); + + /// from: public byte getByte(java.lang.String string) + int getByte( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_getByte, + jni.JniCallType.byteType, [string.reference]).byte; + } + + static final _id_getByte1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getByte", r"(Ljava/lang/String;B)Ljava/lang/Byte;"); + + /// from: public java.lang.Byte getByte(java.lang.String string, byte b) + /// The returned object must be released after use, by calling the [release] method. + jni.JByte getByte1( + jni.JString string, + int b, + ) { + return const jni.JByteType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getByte1, + jni.JniCallType.objectType, + [string.reference, jni.JValueByte(b)]).object); + } + + static final _id_getChar = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getChar", r"(Ljava/lang/String;)C"); + + /// from: public char getChar(java.lang.String string) + int getChar( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_getChar, + jni.JniCallType.charType, [string.reference]).char; + } + + static final _id_getChar1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getChar", r"(Ljava/lang/String;C)C"); + + /// from: public char getChar(java.lang.String string, char c) + int getChar1( + jni.JString string, + int c, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_getChar1, + jni.JniCallType.charType, [string.reference, jni.JValueChar(c)]).char; + } + + static final _id_getShort = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getShort", r"(Ljava/lang/String;)S"); + + /// from: public short getShort(java.lang.String string) + int getShort( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_getShort, + jni.JniCallType.shortType, [string.reference]).short; + } + + static final _id_getShort1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getShort", r"(Ljava/lang/String;S)S"); + + /// from: public short getShort(java.lang.String string, short s) + int getShort1( + jni.JString string, + int s, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getShort1, + jni.JniCallType.shortType, + [string.reference, jni.JValueShort(s)]).short; + } + + static final _id_getFloat = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getFloat", r"(Ljava/lang/String;)F"); + + /// from: public float getFloat(java.lang.String string) + double getFloat( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_getFloat, + jni.JniCallType.floatType, [string.reference]).float; + } + + static final _id_getFloat1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getFloat", r"(Ljava/lang/String;F)F"); + + /// from: public float getFloat(java.lang.String string, float f) + double getFloat1( + jni.JString string, + double f, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getFloat1, + jni.JniCallType.floatType, + [string.reference, jni.JValueFloat(f)]).float; + } + + static final _id_getCharSequence = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getCharSequence", + r"(Ljava/lang/String;)Ljava/lang/CharSequence;"); + + /// from: public java.lang.CharSequence getCharSequence(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getCharSequence( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getCharSequence, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getCharSequence1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getCharSequence", + r"(Ljava/lang/String;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;"); + + /// from: public java.lang.CharSequence getCharSequence(java.lang.String string, java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getCharSequence1( + jni.JString string, + jni.JObject charSequence, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getCharSequence1, + jni.JniCallType.objectType, + [string.reference, charSequence.reference]).object); + } + + static final _id_getSize = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getSize", r"(Ljava/lang/String;)Landroid/util/Size;"); + + /// from: public android.util.Size getSize(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getSize( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getSize, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getSizeF = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"getSizeF", r"(Ljava/lang/String;)Landroid/util/SizeF;"); + + /// from: public android.util.SizeF getSizeF(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getSizeF( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getSizeF, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getBundle = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"getBundle", r"(Ljava/lang/String;)Landroid/os/Bundle;"); + + /// from: public android.os.Bundle getBundle(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Bundle getBundle( + jni.JString string, + ) { + return const $BundleType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getBundle, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getParcelable = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getParcelable", + r"(Ljava/lang/String;)Landroid/os/Parcelable;"); + + /// from: public T getParcelable(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + $T getParcelable<$T extends jni.JObject>( + jni.JString string, { + required jni.JObjType<$T> T, + }) { + return T.fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getParcelable, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getParcelable1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getParcelable", + r"(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;"); + + /// from: public T getParcelable(java.lang.String string, java.lang.Class class) + /// The returned object must be released after use, by calling the [release] method. + $T getParcelable1<$T extends jni.JObject>( + jni.JString string, + jni.JObject class0, { + required jni.JObjType<$T> T, + }) { + return T.fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getParcelable1, + jni.JniCallType.objectType, + [string.reference, class0.reference]).object); + } + + static final _id_getParcelableArray = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getParcelableArray", + r"(Ljava/lang/String;)[Landroid/os/Parcelable;"); + + /// from: public android.os.Parcelable[] getParcelableArray(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getParcelableArray( + jni.JString string, + ) { + return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getParcelableArray, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getParcelableArray1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getParcelableArray", + r"(Ljava/lang/String;Ljava/lang/Class;)[Ljava/lang/Object;"); + + /// from: public java.lang.Object[] getParcelableArray(java.lang.String string, java.lang.Class class) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray<$T> getParcelableArray1<$T extends jni.JObject>( + jni.JString string, + jni.JObject class0, { + required jni.JObjType<$T> T, + }) { + return jni.JArrayType(T).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getParcelableArray1, + jni.JniCallType.objectType, + [string.reference, class0.reference]).object); + } + + static final _id_getParcelableArrayList = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getParcelableArrayList", + r"(Ljava/lang/String;)Ljava/util/ArrayList;"); + + /// from: public java.util.ArrayList getParcelableArrayList(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getParcelableArrayList<$T extends jni.JObject>( + jni.JString string, { + required jni.JObjType<$T> T, + }) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getParcelableArrayList, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getParcelableArrayList1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getParcelableArrayList", + r"(Ljava/lang/String;Ljava/lang/Class;)Ljava/util/ArrayList;"); + + /// from: public java.util.ArrayList getParcelableArrayList(java.lang.String string, java.lang.Class class) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getParcelableArrayList1<$T extends jni.JObject>( + jni.JString string, + jni.JObject class0, { + required jni.JObjType<$T> T, + }) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getParcelableArrayList1, + jni.JniCallType.objectType, + [string.reference, class0.reference]).object); + } + + static final _id_getSparseParcelableArray = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getSparseParcelableArray", + r"(Ljava/lang/String;)Landroid/util/SparseArray;"); + + /// from: public android.util.SparseArray getSparseParcelableArray(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getSparseParcelableArray<$T extends jni.JObject>( + jni.JString string, { + required jni.JObjType<$T> T, + }) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getSparseParcelableArray, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getSparseParcelableArray1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getSparseParcelableArray", + r"(Ljava/lang/String;Ljava/lang/Class;)Landroid/util/SparseArray;"); + + /// from: public android.util.SparseArray getSparseParcelableArray(java.lang.String string, java.lang.Class class) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getSparseParcelableArray1<$T extends jni.JObject>( + jni.JString string, + jni.JObject class0, { + required jni.JObjType<$T> T, + }) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getSparseParcelableArray1, + jni.JniCallType.objectType, + [string.reference, class0.reference]).object); + } + + static final _id_getSerializable = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getSerializable", + r"(Ljava/lang/String;)Ljava/io/Serializable;"); + + /// from: public java.io.Serializable getSerializable(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getSerializable( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getSerializable, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getSerializable1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getSerializable", + r"(Ljava/lang/String;Ljava/lang/Class;)Ljava/io/Serializable;"); + + /// from: public T getSerializable(java.lang.String string, java.lang.Class class) + /// The returned object must be released after use, by calling the [release] method. + $T getSerializable1<$T extends jni.JObject>( + jni.JString string, + jni.JObject class0, { + required jni.JObjType<$T> T, + }) { + return T.fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getSerializable1, + jni.JniCallType.objectType, + [string.reference, class0.reference]).object); + } + + static final _id_getIntegerArrayList = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getIntegerArrayList", + r"(Ljava/lang/String;)Ljava/util/ArrayList;"); + + /// from: public java.util.ArrayList getIntegerArrayList(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getIntegerArrayList( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getIntegerArrayList, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getStringArrayList = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getStringArrayList", + r"(Ljava/lang/String;)Ljava/util/ArrayList;"); + + /// from: public java.util.ArrayList getStringArrayList(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getStringArrayList( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getStringArrayList, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getCharSequenceArrayList = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getCharSequenceArrayList", + r"(Ljava/lang/String;)Ljava/util/ArrayList;"); + + /// from: public java.util.ArrayList getCharSequenceArrayList(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getCharSequenceArrayList( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getCharSequenceArrayList, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getByteArray = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getByteArray", r"(Ljava/lang/String;)[B"); + + /// from: public byte[] getByteArray(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getByteArray( + jni.JString string, + ) { + return const jni.JArrayType(jni.jbyteType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getByteArray, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getShortArray = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getShortArray", r"(Ljava/lang/String;)[S"); + + /// from: public short[] getShortArray(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getShortArray( + jni.JString string, + ) { + return const jni.JArrayType(jni.jshortType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getShortArray, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getCharArray = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getCharArray", r"(Ljava/lang/String;)[C"); + + /// from: public char[] getCharArray(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getCharArray( + jni.JString string, + ) { + return const jni.JArrayType(jni.jcharType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getCharArray, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getFloatArray = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getFloatArray", r"(Ljava/lang/String;)[F"); + + /// from: public float[] getFloatArray(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getFloatArray( + jni.JString string, + ) { + return const jni.JArrayType(jni.jfloatType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getFloatArray, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getCharSequenceArray = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getCharSequenceArray", + r"(Ljava/lang/String;)[Ljava/lang/CharSequence;"); + + /// from: public java.lang.CharSequence[] getCharSequenceArray(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getCharSequenceArray( + jni.JString string, + ) { + return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getCharSequenceArray, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getBinder = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"getBinder", r"(Ljava/lang/String;)Landroid/os/IBinder;"); + + /// from: public android.os.IBinder getBinder(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getBinder( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getBinder, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_describeContents = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"describeContents", r"()I"); + + /// from: public int describeContents() + int describeContents() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_describeContents, jni.JniCallType.intType, []).integer; + } + + static final _id_writeToParcel = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"writeToParcel", r"(Landroid/os/Parcel;I)V"); + + /// from: public void writeToParcel(android.os.Parcel parcel, int i) + void writeToParcel( + jni.JObject parcel, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_writeToParcel, + jni.JniCallType.voidType, [parcel.reference, jni.JValueInt(i)]).check(); + } + + static final _id_readFromParcel = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"readFromParcel", r"(Landroid/os/Parcel;)V"); + + /// from: public void readFromParcel(android.os.Parcel parcel) + void readFromParcel( + jni.JObject parcel, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_readFromParcel, + jni.JniCallType.voidType, [parcel.reference]).check(); + } + + static final _id_toString1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"toString", r"()Ljava/lang/String;"); + + /// from: public java.lang.String toString() + /// The returned object must be released after use, by calling the [release] method. + jni.JString toString1() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_toString1, jni.JniCallType.objectType, []).object); + } +} + +final class $BundleType extends jni.JObjType { + const $BundleType(); + + @override + String get signature => r"Landroid/os/Bundle;"; + + @override + Bundle fromRef(jni.JObjectPtr ref) => Bundle.fromRef(ref); + + @override + jni.JObjType get superType => const $BaseBundleType(); + + @override + final superCount = 2; + + @override + int get hashCode => ($BundleType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($BundleType) && other is $BundleType; + } +} + +/// from: android.os.BaseBundle +class BaseBundle extends jni.JObject { + @override + late final jni.JObjType $type = type; + + BaseBundle.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"android/os/BaseBundle"); + + /// The type which includes information such as the signature of this class. + static const type = $BaseBundleType(); + static final _id_size = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"size", r"()I"); + + /// from: public int size() + int size() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_size, jni.JniCallType.intType, []).integer; + } + + static final _id_isEmpty = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isEmpty", r"()Z"); + + /// from: public boolean isEmpty() + bool isEmpty() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isEmpty, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_clear = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"clear", r"()V"); + + /// from: public void clear() + void clear() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_clear, jni.JniCallType.voidType, []).check(); + } + + static final _id_containsKey = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"containsKey", r"(Ljava/lang/String;)Z"); + + /// from: public boolean containsKey(java.lang.String string) + bool containsKey( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_containsKey, + jni.JniCallType.booleanType, [string.reference]).boolean; + } + + static final _id_get0 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"get", r"(Ljava/lang/String;)Ljava/lang/Object;"); + + /// from: public java.lang.Object get(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject get0( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_get0, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_remove = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"remove", r"(Ljava/lang/String;)V"); + + /// from: public void remove(java.lang.String string) + void remove( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_remove, + jni.JniCallType.voidType, [string.reference]).check(); + } + + static final _id_putAll = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"putAll", r"(Landroid/os/PersistableBundle;)V"); + + /// from: public void putAll(android.os.PersistableBundle persistableBundle) + void putAll( + jni.JObject persistableBundle, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_putAll, + jni.JniCallType.voidType, [persistableBundle.reference]).check(); + } + + static final _id_keySet = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"keySet", r"()Ljava/util/Set;"); + + /// from: public java.util.Set keySet() + /// The returned object must be released after use, by calling the [release] method. + jni.JSet keySet() { + return const jni.JSetType(jni.JStringType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, _id_keySet, jni.JniCallType.objectType, []).object); + } + + static final _id_putBoolean = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"putBoolean", r"(Ljava/lang/String;Z)V"); + + /// from: public void putBoolean(java.lang.String string, boolean z) + void putBoolean( + jni.JString string, + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_putBoolean, + jni.JniCallType.voidType, [string.reference, z ? 1 : 0]).check(); + } + + static final _id_putInt = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"putInt", r"(Ljava/lang/String;I)V"); + + /// from: public void putInt(java.lang.String string, int i) + void putInt( + jni.JString string, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_putInt, + jni.JniCallType.voidType, [string.reference, jni.JValueInt(i)]).check(); + } + + static final _id_putLong = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"putLong", r"(Ljava/lang/String;J)V"); + + /// from: public void putLong(java.lang.String string, long j) + void putLong( + jni.JString string, + int j, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_putLong, + jni.JniCallType.voidType, [string.reference, j]).check(); + } + + static final _id_putDouble = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"putDouble", r"(Ljava/lang/String;D)V"); + + /// from: public void putDouble(java.lang.String string, double d) + void putDouble( + jni.JString string, + double d, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_putDouble, + jni.JniCallType.voidType, [string.reference, d]).check(); + } + + static final _id_putString = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"putString", r"(Ljava/lang/String;Ljava/lang/String;)V"); + + /// from: public void putString(java.lang.String string, java.lang.String string1) + void putString( + jni.JString string, + jni.JString string1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putString, + jni.JniCallType.voidType, + [string.reference, string1.reference]).check(); + } + + static final _id_putBooleanArray = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"putBooleanArray", r"(Ljava/lang/String;[Z)V"); + + /// from: public void putBooleanArray(java.lang.String string, boolean[] zs) + void putBooleanArray( + jni.JString string, + jni.JArray zs, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_putBooleanArray, + jni.JniCallType.voidType, [string.reference, zs.reference]).check(); + } + + static final _id_putIntArray = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"putIntArray", r"(Ljava/lang/String;[I)V"); + + /// from: public void putIntArray(java.lang.String string, int[] is) + void putIntArray( + jni.JString string, + jni.JArray is0, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_putIntArray, + jni.JniCallType.voidType, [string.reference, is0.reference]).check(); + } + + static final _id_putLongArray = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"putLongArray", r"(Ljava/lang/String;[J)V"); + + /// from: public void putLongArray(java.lang.String string, long[] js) + void putLongArray( + jni.JString string, + jni.JArray js, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_putLongArray, + jni.JniCallType.voidType, [string.reference, js.reference]).check(); + } + + static final _id_putDoubleArray = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"putDoubleArray", r"(Ljava/lang/String;[D)V"); + + /// from: public void putDoubleArray(java.lang.String string, double[] ds) + void putDoubleArray( + jni.JString string, + jni.JArray ds, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_putDoubleArray, + jni.JniCallType.voidType, [string.reference, ds.reference]).check(); + } + + static final _id_putStringArray = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"putStringArray", + r"(Ljava/lang/String;[Ljava/lang/String;)V"); + + /// from: public void putStringArray(java.lang.String string, java.lang.String[] strings) + void putStringArray( + jni.JString string, + jni.JArray strings, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_putStringArray, + jni.JniCallType.voidType, + [string.reference, strings.reference]).check(); + } + + static final _id_getBoolean = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getBoolean", r"(Ljava/lang/String;)Z"); + + /// from: public boolean getBoolean(java.lang.String string) + bool getBoolean( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_getBoolean, + jni.JniCallType.booleanType, [string.reference]).boolean; + } + + static final _id_getBoolean1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getBoolean", r"(Ljava/lang/String;Z)Z"); + + /// from: public boolean getBoolean(java.lang.String string, boolean z) + bool getBoolean1( + jni.JString string, + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_getBoolean1, + jni.JniCallType.booleanType, [string.reference, z ? 1 : 0]).boolean; + } + + static final _id_getInt = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getInt", r"(Ljava/lang/String;)I"); + + /// from: public int getInt(java.lang.String string) + int getInt( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_getInt, + jni.JniCallType.intType, [string.reference]).integer; + } + + static final _id_getInt1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getInt", r"(Ljava/lang/String;I)I"); + + /// from: public int getInt(java.lang.String string, int i) + int getInt1( + jni.JString string, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_getInt1, + jni.JniCallType.intType, [string.reference, jni.JValueInt(i)]).integer; + } + + static final _id_getLong = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getLong", r"(Ljava/lang/String;)J"); + + /// from: public long getLong(java.lang.String string) + int getLong( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_getLong, + jni.JniCallType.longType, [string.reference]).long; + } + + static final _id_getLong1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getLong", r"(Ljava/lang/String;J)J"); + + /// from: public long getLong(java.lang.String string, long j) + int getLong1( + jni.JString string, + int j, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_getLong1, + jni.JniCallType.longType, [string.reference, j]).long; + } + + static final _id_getDouble = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getDouble", r"(Ljava/lang/String;)D"); + + /// from: public double getDouble(java.lang.String string) + double getDouble( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_getDouble, + jni.JniCallType.doubleType, [string.reference]).doubleFloat; + } + + static final _id_getDouble1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getDouble", r"(Ljava/lang/String;D)D"); + + /// from: public double getDouble(java.lang.String string, double d) + double getDouble1( + jni.JString string, + double d, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_getDouble1, + jni.JniCallType.doubleType, [string.reference, d]).doubleFloat; + } + + static final _id_getString = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"getString", r"(Ljava/lang/String;)Ljava/lang/String;"); + + /// from: public java.lang.String getString(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JString getString( + jni.JString string, + ) { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getString, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getString1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getString", + r"(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"); + + /// from: public java.lang.String getString(java.lang.String string, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + jni.JString getString1( + jni.JString string, + jni.JString string1, + ) { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getString1, + jni.JniCallType.objectType, + [string.reference, string1.reference]).object); + } + + static final _id_getBooleanArray = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getBooleanArray", r"(Ljava/lang/String;)[Z"); + + /// from: public boolean[] getBooleanArray(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getBooleanArray( + jni.JString string, + ) { + return const jni.JArrayType(jni.jbooleanType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getBooleanArray, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getIntArray = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getIntArray", r"(Ljava/lang/String;)[I"); + + /// from: public int[] getIntArray(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getIntArray( + jni.JString string, + ) { + return const jni.JArrayType(jni.jintType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getIntArray, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getLongArray = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getLongArray", r"(Ljava/lang/String;)[J"); + + /// from: public long[] getLongArray(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getLongArray( + jni.JString string, + ) { + return const jni.JArrayType(jni.jlongType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getLongArray, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getDoubleArray = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getDoubleArray", r"(Ljava/lang/String;)[D"); + + /// from: public double[] getDoubleArray(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getDoubleArray( + jni.JString string, + ) { + return const jni.JArrayType(jni.jdoubleType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getDoubleArray, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getStringArray = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getStringArray", + r"(Ljava/lang/String;)[Ljava/lang/String;"); + + /// from: public java.lang.String[] getStringArray(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getStringArray( + jni.JString string, + ) { + return const jni.JArrayType(jni.JStringType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getStringArray, + jni.JniCallType.objectType, [string.reference]).object); + } +} + +final class $BaseBundleType extends jni.JObjType { + const $BaseBundleType(); + + @override + String get signature => r"Landroid/os/BaseBundle;"; + + @override + BaseBundle fromRef(jni.JObjectPtr ref) => BaseBundle.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($BaseBundleType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($BaseBundleType) && other is $BaseBundleType; + } +} + +/// from: java.lang.Runnable +class Runnable extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Runnable.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"java/lang/Runnable"); + + /// The type which includes information such as the signature of this class. + static const type = $RunnableType(); + static final _id_run = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"run", r"()V"); + + /// from: public abstract void run() + void run() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_run, jni.JniCallType.voidType, []).check(); + } + + /// Maps a specific port to the implemented interface. + static final Map _$impls = {}; + ReceivePort? _$p; + + static jni.JObjectPtr _$invoke( + int port, + jni.JObjectPtr descriptor, + jni.JObjectPtr args, + ) { + return _$invokeMethod( + port, + $MethodInvocation.fromAddresses( + 0, + descriptor.address, + args.address, + ), + ); + } + + static final ffi.Pointer< + ffi.NativeFunction< + jni.JObjectPtr Function( + ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> + _$invokePointer = ffi.Pointer.fromFunction(_$invoke); + + static ffi.Pointer _$invokeMethod( + int $p, + $MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + if ($d == r"run()V") { + _$impls[$p]!.run(); + return jni.nullptr; + } + } catch (e) { + return ProtectedJniExtensions.newDartException(e.toString()); + } + return jni.nullptr; + } + + factory Runnable.implement( + $RunnableImpl $impl, + ) { + final $p = ReceivePort(); + final $x = Runnable.fromRef( + ProtectedJniExtensions.newPortProxy( + r"java.lang.Runnable", + $p, + _$invokePointer, + ), + ).._$p = $p; + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + $p.listen(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = $MethodInvocation.fromMessage($m as List); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + ProtectedJniExtensions.returnResult($i.result, $r); + }); + return $x; + } +} + +abstract class $RunnableImpl { + factory $RunnableImpl({ + required void Function() run, + }) = _$RunnableImpl; + + void run(); +} + +class _$RunnableImpl implements $RunnableImpl { + _$RunnableImpl({ + required void Function() run, + }) : _run = run; + + final void Function() _run; + + void run() { + return _run(); + } +} + +final class $RunnableType extends jni.JObjType { + const $RunnableType(); + + @override + String get signature => r"Ljava/lang/Runnable;"; + + @override + Runnable fromRef(jni.JObjectPtr ref) => Runnable.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($RunnableType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($RunnableType) && other is $RunnableType; + } +} + +/// from: java.lang.Exception +class Exception extends Throwable { + @override + late final jni.JObjType $type = type; + + Exception.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"java/lang/Exception"); + + /// The type which includes information such as the signature of this class. + static const type = $ExceptionType(); + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory Exception() { + return Exception.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_new1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); + + /// from: public void (java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory Exception.new1( + jni.JString string, + ) { + return Exception.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new1, [string.reference]).object); + } + + static final _id_new2 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Ljava/lang/String;Ljava/lang/Throwable;)V"); + + /// from: public void (java.lang.String string, java.lang.Throwable throwable) + /// The returned object must be released after use, by calling the [release] method. + factory Exception.new2( + jni.JString string, + Throwable throwable, + ) { + return Exception.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, + _id_new2, + [string.reference, throwable.reference]).object); + } + + static final _id_new3 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/Throwable;)V"); + + /// from: public void (java.lang.Throwable throwable) + /// The returned object must be released after use, by calling the [release] method. + factory Exception.new3( + Throwable throwable, + ) { + return Exception.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new3, [throwable.reference]).object); + } + + static final _id_new4 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Ljava/lang/String;Ljava/lang/Throwable;ZZ)V"); + + /// from: protected void (java.lang.String string, java.lang.Throwable throwable, boolean z, boolean z1) + /// The returned object must be released after use, by calling the [release] method. + factory Exception.new4( + jni.JString string, + Throwable throwable, + bool z, + bool z1, + ) { + return Exception.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, + _id_new4, + [string.reference, throwable.reference, z ? 1 : 0, z1 ? 1 : 0]).object); + } +} + +final class $ExceptionType extends jni.JObjType { + const $ExceptionType(); + + @override + String get signature => r"Ljava/lang/Exception;"; + + @override + Exception fromRef(jni.JObjectPtr ref) => Exception.fromRef(ref); + + @override + jni.JObjType get superType => const $ThrowableType(); + + @override + final superCount = 2; + + @override + int get hashCode => ($ExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($ExceptionType) && other is $ExceptionType; + } +} + +/// from: java.lang.Throwable +class Throwable extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Throwable.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"java/lang/Throwable"); + + /// The type which includes information such as the signature of this class. + static const type = $ThrowableType(); + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory Throwable() { + return Throwable.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_new1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); + + /// from: public void (java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory Throwable.new1( + jni.JString string, + ) { + return Throwable.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new1, [string.reference]).object); + } + + static final _id_new2 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Ljava/lang/String;Ljava/lang/Throwable;)V"); + + /// from: public void (java.lang.String string, java.lang.Throwable throwable) + /// The returned object must be released after use, by calling the [release] method. + factory Throwable.new2( + jni.JString string, + Throwable throwable, + ) { + return Throwable.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, + _id_new2, + [string.reference, throwable.reference]).object); + } + + static final _id_new3 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/Throwable;)V"); + + /// from: public void (java.lang.Throwable throwable) + /// The returned object must be released after use, by calling the [release] method. + factory Throwable.new3( + Throwable throwable, + ) { + return Throwable.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new3, [throwable.reference]).object); + } + + static final _id_new4 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Ljava/lang/String;Ljava/lang/Throwable;ZZ)V"); + + /// from: protected void (java.lang.String string, java.lang.Throwable throwable, boolean z, boolean z1) + /// The returned object must be released after use, by calling the [release] method. + factory Throwable.new4( + jni.JString string, + Throwable throwable, + bool z, + bool z1, + ) { + return Throwable.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, + _id_new4, + [string.reference, throwable.reference, z ? 1 : 0, z1 ? 1 : 0]).object); + } + + static final _id_getMessage = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getMessage", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getMessage() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getMessage() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getMessage, jni.JniCallType.objectType, []).object); + } + + static final _id_getLocalizedMessage = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getLocalizedMessage", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getLocalizedMessage() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getLocalizedMessage() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getLocalizedMessage, + jni.JniCallType.objectType, []).object); + } + + static final _id_getCause = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getCause", r"()Ljava/lang/Throwable;"); + + /// from: public java.lang.Throwable getCause() + /// The returned object must be released after use, by calling the [release] method. + Throwable getCause() { + return const $ThrowableType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getCause, jni.JniCallType.objectType, []).object); + } + + static final _id_initCause = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"initCause", r"(Ljava/lang/Throwable;)Ljava/lang/Throwable;"); + + /// from: public java.lang.Throwable initCause(java.lang.Throwable throwable) + /// The returned object must be released after use, by calling the [release] method. + Throwable initCause( + Throwable throwable, + ) { + return const $ThrowableType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_initCause, + jni.JniCallType.objectType, + [throwable.reference]).object); + } + + static final _id_toString1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"toString", r"()Ljava/lang/String;"); + + /// from: public java.lang.String toString() + /// The returned object must be released after use, by calling the [release] method. + jni.JString toString1() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_toString1, jni.JniCallType.objectType, []).object); + } + + static final _id_printStackTrace = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"printStackTrace", r"()V"); + + /// from: public void printStackTrace() + void printStackTrace() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_printStackTrace, jni.JniCallType.voidType, []).check(); + } + + static final _id_printStackTrace1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"printStackTrace", r"(Ljava/io/PrintStream;)V"); + + /// from: public void printStackTrace(java.io.PrintStream printStream) + void printStackTrace1( + jni.JObject printStream, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_printStackTrace1, + jni.JniCallType.voidType, [printStream.reference]).check(); + } + + static final _id_printStackTrace2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"printStackTrace", r"(Ljava/io/PrintWriter;)V"); + + /// from: public void printStackTrace(java.io.PrintWriter printWriter) + void printStackTrace2( + jni.JObject printWriter, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_printStackTrace2, + jni.JniCallType.voidType, [printWriter.reference]).check(); + } + + static final _id_fillInStackTrace = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"fillInStackTrace", r"()Ljava/lang/Throwable;"); + + /// from: public java.lang.Throwable fillInStackTrace() + /// The returned object must be released after use, by calling the [release] method. + Throwable fillInStackTrace() { + return const $ThrowableType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_fillInStackTrace, + jni.JniCallType.objectType, []).object); + } + + static final _id_getStackTrace = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getStackTrace", r"()[Ljava/lang/StackTraceElement;"); + + /// from: public java.lang.StackTraceElement[] getStackTrace() + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getStackTrace() { + return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getStackTrace, + jni.JniCallType.objectType, []).object); + } + + static final _id_setStackTrace = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setStackTrace", r"([Ljava/lang/StackTraceElement;)V"); + + /// from: public void setStackTrace(java.lang.StackTraceElement[] stackTraceElements) + void setStackTrace( + jni.JArray stackTraceElements, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setStackTrace, + jni.JniCallType.voidType, [stackTraceElements.reference]).check(); + } + + static final _id_addSuppressed = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"addSuppressed", r"(Ljava/lang/Throwable;)V"); + + /// from: public final void addSuppressed(java.lang.Throwable throwable) + void addSuppressed( + Throwable throwable, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_addSuppressed, + jni.JniCallType.voidType, [throwable.reference]).check(); + } + + static final _id_getSuppressed = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getSuppressed", r"()[Ljava/lang/Throwable;"); + + /// from: public final java.lang.Throwable[] getSuppressed() + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getSuppressed() { + return const jni.JArrayType($ThrowableType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getSuppressed, + jni.JniCallType.objectType, []).object); + } +} + +final class $ThrowableType extends jni.JObjType { + const $ThrowableType(); + + @override + String get signature => r"Ljava/lang/Throwable;"; + + @override + Throwable fromRef(jni.JObjectPtr ref) => Throwable.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($ThrowableType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($ThrowableType) && other is $ThrowableType; + } +} + +/// from: java.util.concurrent.Executor +class Executor extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Executor.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"java/util/concurrent/Executor"); + + /// The type which includes information such as the signature of this class. + static const type = $ExecutorType(); + static final _id_execute = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"execute", r"(Ljava/lang/Runnable;)V"); + + /// from: public abstract void execute(java.lang.Runnable runnable) + void execute( + Runnable runnable, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_execute, + jni.JniCallType.voidType, [runnable.reference]).check(); + } + + /// Maps a specific port to the implemented interface. + static final Map _$impls = {}; + ReceivePort? _$p; + + static jni.JObjectPtr _$invoke( + int port, + jni.JObjectPtr descriptor, + jni.JObjectPtr args, + ) { + return _$invokeMethod( + port, + $MethodInvocation.fromAddresses( + 0, + descriptor.address, + args.address, + ), + ); + } + + static final ffi.Pointer< + ffi.NativeFunction< + jni.JObjectPtr Function( + ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> + _$invokePointer = ffi.Pointer.fromFunction(_$invoke); + + static ffi.Pointer _$invokeMethod( + int $p, + $MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + if ($d == r"execute(Ljava/lang/Runnable;)V") { + _$impls[$p]!.execute( + $a[0].castTo(const $RunnableType(), releaseOriginal: true), + ); + return jni.nullptr; + } + } catch (e) { + return ProtectedJniExtensions.newDartException(e.toString()); + } + return jni.nullptr; + } + + factory Executor.implement( + $ExecutorImpl $impl, + ) { + final $p = ReceivePort(); + final $x = Executor.fromRef( + ProtectedJniExtensions.newPortProxy( + r"java.util.concurrent.Executor", + $p, + _$invokePointer, + ), + ).._$p = $p; + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + $p.listen(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = $MethodInvocation.fromMessage($m as List); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + ProtectedJniExtensions.returnResult($i.result, $r); + }); + return $x; + } +} + +abstract class $ExecutorImpl { + factory $ExecutorImpl({ + required void Function(Runnable runnable) execute, + }) = _$ExecutorImpl; + + void execute(Runnable runnable); +} + +class _$ExecutorImpl implements $ExecutorImpl { + _$ExecutorImpl({ + required void Function(Runnable runnable) execute, + }) : _execute = execute; + + final void Function(Runnable runnable) _execute; + + void execute(Runnable runnable) { + return _execute(runnable); + } +} + +final class $ExecutorType extends jni.JObjType { + const $ExecutorType(); + + @override + String get signature => r"Ljava/util/concurrent/Executor;"; + + @override + Executor fromRef(jni.JObjectPtr ref) => Executor.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($ExecutorType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($ExecutorType) && other is $ExecutorType; + } +} + +/// from: java.util.concurrent.Executors +class Executors extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Executors.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"java/util/concurrent/Executors"); + + /// The type which includes information such as the signature of this class. + static const type = $ExecutorsType(); + static final _id_newFixedThreadPool = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"newFixedThreadPool", + r"(I)Ljava/util/concurrent/ExecutorService;"); + + /// from: static public java.util.concurrent.ExecutorService newFixedThreadPool(int i) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject newFixedThreadPool( + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_newFixedThreadPool, + jni.JniCallType.objectType, [jni.JValueInt(i)]).object); + } + + static final _id_newWorkStealingPool = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"newWorkStealingPool", + r"(I)Ljava/util/concurrent/ExecutorService;"); + + /// from: static public java.util.concurrent.ExecutorService newWorkStealingPool(int i) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject newWorkStealingPool( + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_newWorkStealingPool, + jni.JniCallType.objectType, [jni.JValueInt(i)]).object); + } + + static final _id_newWorkStealingPool1 = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"newWorkStealingPool", + r"()Ljava/util/concurrent/ExecutorService;"); + + /// from: static public java.util.concurrent.ExecutorService newWorkStealingPool() + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject newWorkStealingPool1() { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_newWorkStealingPool1, + jni.JniCallType.objectType, []).object); + } + + static final _id_newFixedThreadPool1 = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"newFixedThreadPool", + r"(ILjava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;"); + + /// from: static public java.util.concurrent.ExecutorService newFixedThreadPool(int i, java.util.concurrent.ThreadFactory threadFactory) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject newFixedThreadPool1( + int i, + jni.JObject threadFactory, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_newFixedThreadPool1, + jni.JniCallType.objectType, + [jni.JValueInt(i), threadFactory.reference]).object); + } + + static final _id_newSingleThreadExecutor = jni.Jni.accessors + .getStaticMethodIDOf(_class.reference, r"newSingleThreadExecutor", + r"()Ljava/util/concurrent/ExecutorService;"); + + /// from: static public java.util.concurrent.ExecutorService newSingleThreadExecutor() + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject newSingleThreadExecutor() { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_newSingleThreadExecutor, + jni.JniCallType.objectType, []).object); + } + + static final _id_newSingleThreadExecutor1 = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"newSingleThreadExecutor", + r"(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;"); + + /// from: static public java.util.concurrent.ExecutorService newSingleThreadExecutor(java.util.concurrent.ThreadFactory threadFactory) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject newSingleThreadExecutor1( + jni.JObject threadFactory, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_newSingleThreadExecutor1, + jni.JniCallType.objectType, + [threadFactory.reference]).object); + } + + static final _id_newCachedThreadPool = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"newCachedThreadPool", + r"()Ljava/util/concurrent/ExecutorService;"); + + /// from: static public java.util.concurrent.ExecutorService newCachedThreadPool() + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject newCachedThreadPool() { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_newCachedThreadPool, + jni.JniCallType.objectType, []).object); + } + + static final _id_newCachedThreadPool1 = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"newCachedThreadPool", + r"(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;"); + + /// from: static public java.util.concurrent.ExecutorService newCachedThreadPool(java.util.concurrent.ThreadFactory threadFactory) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject newCachedThreadPool1( + jni.JObject threadFactory, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_newCachedThreadPool1, + jni.JniCallType.objectType, [threadFactory.reference]).object); + } + + static final _id_newSingleThreadScheduledExecutor = jni.Jni.accessors + .getStaticMethodIDOf( + _class.reference, + r"newSingleThreadScheduledExecutor", + r"()Ljava/util/concurrent/ScheduledExecutorService;"); + + /// from: static public java.util.concurrent.ScheduledExecutorService newSingleThreadScheduledExecutor() + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject newSingleThreadScheduledExecutor() { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_newSingleThreadScheduledExecutor, + jni.JniCallType.objectType, []).object); + } + + static final _id_newSingleThreadScheduledExecutor1 = jni.Jni.accessors + .getStaticMethodIDOf( + _class.reference, + r"newSingleThreadScheduledExecutor", + r"(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ScheduledExecutorService;"); + + /// from: static public java.util.concurrent.ScheduledExecutorService newSingleThreadScheduledExecutor(java.util.concurrent.ThreadFactory threadFactory) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject newSingleThreadScheduledExecutor1( + jni.JObject threadFactory, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_newSingleThreadScheduledExecutor1, + jni.JniCallType.objectType, + [threadFactory.reference]).object); + } + + static final _id_newScheduledThreadPool = jni.Jni.accessors + .getStaticMethodIDOf(_class.reference, r"newScheduledThreadPool", + r"(I)Ljava/util/concurrent/ScheduledExecutorService;"); + + /// from: static public java.util.concurrent.ScheduledExecutorService newScheduledThreadPool(int i) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject newScheduledThreadPool( + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_newScheduledThreadPool, + jni.JniCallType.objectType, [jni.JValueInt(i)]).object); + } + + static final _id_newScheduledThreadPool1 = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"newScheduledThreadPool", + r"(ILjava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ScheduledExecutorService;"); + + /// from: static public java.util.concurrent.ScheduledExecutorService newScheduledThreadPool(int i, java.util.concurrent.ThreadFactory threadFactory) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject newScheduledThreadPool1( + int i, + jni.JObject threadFactory, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_newScheduledThreadPool1, + jni.JniCallType.objectType, + [jni.JValueInt(i), threadFactory.reference]).object); + } + + static final _id_unconfigurableExecutorService = jni.Jni.accessors + .getStaticMethodIDOf(_class.reference, r"unconfigurableExecutorService", + r"(Ljava/util/concurrent/ExecutorService;)Ljava/util/concurrent/ExecutorService;"); + + /// from: static public java.util.concurrent.ExecutorService unconfigurableExecutorService(java.util.concurrent.ExecutorService executorService) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject unconfigurableExecutorService( + jni.JObject executorService, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_unconfigurableExecutorService, + jni.JniCallType.objectType, + [executorService.reference]).object); + } + + static final _id_unconfigurableScheduledExecutorService = jni.Jni.accessors + .getStaticMethodIDOf( + _class.reference, + r"unconfigurableScheduledExecutorService", + r"(Ljava/util/concurrent/ScheduledExecutorService;)Ljava/util/concurrent/ScheduledExecutorService;"); + + /// from: static public java.util.concurrent.ScheduledExecutorService unconfigurableScheduledExecutorService(java.util.concurrent.ScheduledExecutorService scheduledExecutorService) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject unconfigurableScheduledExecutorService( + jni.JObject scheduledExecutorService, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_unconfigurableScheduledExecutorService, + jni.JniCallType.objectType, + [scheduledExecutorService.reference]).object); + } + + static final _id_defaultThreadFactory = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"defaultThreadFactory", + r"()Ljava/util/concurrent/ThreadFactory;"); + + /// from: static public java.util.concurrent.ThreadFactory defaultThreadFactory() + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject defaultThreadFactory() { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_defaultThreadFactory, + jni.JniCallType.objectType, []).object); + } + + static final _id_privilegedThreadFactory = jni.Jni.accessors + .getStaticMethodIDOf(_class.reference, r"privilegedThreadFactory", + r"()Ljava/util/concurrent/ThreadFactory;"); + + /// from: static public java.util.concurrent.ThreadFactory privilegedThreadFactory() + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject privilegedThreadFactory() { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_privilegedThreadFactory, + jni.JniCallType.objectType, []).object); + } + + static final _id_callable = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"callable", + r"(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/Callable;"); + + /// from: static public java.util.concurrent.Callable callable(java.lang.Runnable runnable, T object) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject callable<$T extends jni.JObject>( + Runnable runnable, + $T object, { + jni.JObjType<$T>? T, + }) { + T ??= jni.lowestCommonSuperType([ + object.$type, + ]) as jni.JObjType<$T>; + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_callable, + jni.JniCallType.objectType, + [runnable.reference, object.reference]).object); + } + + static final _id_callable1 = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"callable", + r"(Ljava/lang/Runnable;)Ljava/util/concurrent/Callable;"); + + /// from: static public java.util.concurrent.Callable callable(java.lang.Runnable runnable) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject callable1( + Runnable runnable, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_callable1, + jni.JniCallType.objectType, [runnable.reference]).object); + } + + static final _id_callable2 = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"callable", + r"(Ljava/security/PrivilegedAction;)Ljava/util/concurrent/Callable;"); + + /// from: static public java.util.concurrent.Callable callable(java.security.PrivilegedAction privilegedAction) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject callable2( + jni.JObject privilegedAction, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_callable2, + jni.JniCallType.objectType, [privilegedAction.reference]).object); + } + + static final _id_callable3 = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"callable", + r"(Ljava/security/PrivilegedExceptionAction;)Ljava/util/concurrent/Callable;"); + + /// from: static public java.util.concurrent.Callable callable(java.security.PrivilegedExceptionAction privilegedExceptionAction) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject callable3( + jni.JObject privilegedExceptionAction, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_callable3, + jni.JniCallType.objectType, + [privilegedExceptionAction.reference]).object); + } + + static final _id_privilegedCallable = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"privilegedCallable", + r"(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Callable;"); + + /// from: static public java.util.concurrent.Callable privilegedCallable(java.util.concurrent.Callable callable) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject privilegedCallable<$T extends jni.JObject>( + jni.JObject callable, { + required jni.JObjType<$T> T, + }) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_privilegedCallable, + jni.JniCallType.objectType, [callable.reference]).object); + } + + static final _id_privilegedCallableUsingCurrentClassLoader = jni.Jni.accessors + .getStaticMethodIDOf( + _class.reference, + r"privilegedCallableUsingCurrentClassLoader", + r"(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Callable;"); + + /// from: static public java.util.concurrent.Callable privilegedCallableUsingCurrentClassLoader(java.util.concurrent.Callable callable) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject + privilegedCallableUsingCurrentClassLoader<$T extends jni.JObject>( + jni.JObject callable, { + required jni.JObjType<$T> T, + }) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_privilegedCallableUsingCurrentClassLoader, + jni.JniCallType.objectType, + [callable.reference]).object); + } +} + +final class $ExecutorsType extends jni.JObjType { + const $ExecutorsType(); + + @override + String get signature => r"Ljava/util/concurrent/Executors;"; + + @override + Executors fromRef(jni.JObjectPtr ref) => Executors.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($ExecutorsType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($ExecutorsType) && other is $ExecutorsType; + } +} + +/// from: com.google.android.gms.fido.Fido +class Fido extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Fido.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"com/google/android/gms/fido/Fido"); + + /// The type which includes information such as the signature of this class. + static const type = $FidoType(); + + /// from: static public final java.lang.String KEY_RESPONSE_EXTRA + static const KEY_RESPONSE_EXTRA = r"""RESPONSE_EXTRA"""; + + /// from: static public final java.lang.String FIDO2_KEY_RESPONSE_EXTRA + static const FIDO2_KEY_RESPONSE_EXTRA = r"""FIDO2_RESPONSE_EXTRA"""; + + /// from: static public final java.lang.String FIDO2_KEY_ERROR_EXTRA + static const FIDO2_KEY_ERROR_EXTRA = r"""FIDO2_ERROR_EXTRA"""; + + /// from: static public final java.lang.String FIDO2_KEY_CREDENTIAL_EXTRA + static const FIDO2_KEY_CREDENTIAL_EXTRA = r"""FIDO2_CREDENTIAL_EXTRA"""; + + static final _id_zza = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"zza", + r"Lcom/google/android/gms/common/api/Api$ClientKey;", + ); + + /// from: static public final com.google.android.gms.common.api.Api$ClientKey zza + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject get zza => + const jni.JObjectType().fromRef(jni.Jni.accessors + .getStaticField(_class.reference, _id_zza, jni.JniCallType.objectType) + .object); + + static final _id_zzb = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"zzb", + r"Lcom/google/android/gms/common/api/Api;", + ); + + /// from: static public final com.google.android.gms.common.api.Api zzb + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject get zzb => + const jni.JObjectType().fromRef(jni.Jni.accessors + .getStaticField(_class.reference, _id_zzb, jni.JniCallType.objectType) + .object); + + static final _id_zzc = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"zzc", + r"Lcom/google/android/gms/internal/fido/zzaa;", + ); + + /// from: static public final com.google.android.gms.internal.fido.zzaa zzc + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject get zzc => + const jni.JObjectType().fromRef(jni.Jni.accessors + .getStaticField(_class.reference, _id_zzc, jni.JniCallType.objectType) + .object); + + static final _id_getFido2ApiClient = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"getFido2ApiClient", + r"(Landroid/app/Activity;)Lcom/google/android/gms/fido/fido2/Fido2ApiClient;"); + + /// from: static public com.google.android.gms.fido.fido2.Fido2ApiClient getFido2ApiClient(android.app.Activity activity) + /// The returned object must be released after use, by calling the [release] method. + static Fido2ApiClient getFido2ApiClient( + Activity activity, + ) { + return const $Fido2ApiClientType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_getFido2ApiClient, + jni.JniCallType.objectType, [activity.reference]).object); + } + + static final _id_getFido2ApiClient1 = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"getFido2ApiClient", + r"(Landroid/content/Context;)Lcom/google/android/gms/fido/fido2/Fido2ApiClient;"); + + /// from: static public com.google.android.gms.fido.fido2.Fido2ApiClient getFido2ApiClient(android.content.Context context) + /// The returned object must be released after use, by calling the [release] method. + static Fido2ApiClient getFido2ApiClient1( + Context context, + ) { + return const $Fido2ApiClientType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_getFido2ApiClient1, + jni.JniCallType.objectType, [context.reference]).object); + } + + static final _id_getFido2PrivilegedApiClient = jni.Jni.accessors + .getStaticMethodIDOf(_class.reference, r"getFido2PrivilegedApiClient", + r"(Landroid/app/Activity;)Lcom/google/android/gms/fido/fido2/Fido2PrivilegedApiClient;"); + + /// from: static public com.google.android.gms.fido.fido2.Fido2PrivilegedApiClient getFido2PrivilegedApiClient(android.app.Activity activity) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject getFido2PrivilegedApiClient( + Activity activity, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_getFido2PrivilegedApiClient, + jni.JniCallType.objectType, + [activity.reference]).object); + } + + static final _id_getFido2PrivilegedApiClient1 = jni.Jni.accessors + .getStaticMethodIDOf(_class.reference, r"getFido2PrivilegedApiClient", + r"(Landroid/content/Context;)Lcom/google/android/gms/fido/fido2/Fido2PrivilegedApiClient;"); + + /// from: static public com.google.android.gms.fido.fido2.Fido2PrivilegedApiClient getFido2PrivilegedApiClient(android.content.Context context) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject getFido2PrivilegedApiClient1( + Context context, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_getFido2PrivilegedApiClient1, + jni.JniCallType.objectType, + [context.reference]).object); + } + + static final _id_getU2fApiClient = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"getU2fApiClient", + r"(Landroid/app/Activity;)Lcom/google/android/gms/fido/u2f/U2fApiClient;"); + + /// from: static public com.google.android.gms.fido.u2f.U2fApiClient getU2fApiClient(android.app.Activity activity) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject getU2fApiClient( + Activity activity, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_getU2fApiClient, + jni.JniCallType.objectType, [activity.reference]).object); + } + + static final _id_getU2fApiClient1 = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"getU2fApiClient", + r"(Landroid/content/Context;)Lcom/google/android/gms/fido/u2f/U2fApiClient;"); + + /// from: static public com.google.android.gms.fido.u2f.U2fApiClient getU2fApiClient(android.content.Context context) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject getU2fApiClient1( + Context context, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_getU2fApiClient1, + jni.JniCallType.objectType, [context.reference]).object); + } +} + +final class $FidoType extends jni.JObjType { + const $FidoType(); + + @override + String get signature => r"Lcom/google/android/gms/fido/Fido;"; + + @override + Fido fromRef(jni.JObjectPtr ref) => Fido.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($FidoType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($FidoType) && other is $FidoType; + } +} + +/// from: com.google.android.gms.fido.fido2.Fido2ApiClient +class Fido2ApiClient extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Fido2ApiClient.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"com/google/android/gms/fido/fido2/Fido2ApiClient"); + + /// The type which includes information such as the signature of this class. + static const type = $Fido2ApiClientType(); + static final _id_getRegisterIntent = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getRegisterIntent", + r"(Lcom/google/android/gms/fido/fido2/api/common/PublicKeyCredentialCreationOptions;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task getRegisterIntent(com.google.android.gms.fido.fido2.api.common.PublicKeyCredentialCreationOptions publicKeyCredentialCreationOptions) + /// The returned object must be released after use, by calling the [release] method. + Task getRegisterIntent( + jni.JObject publicKeyCredentialCreationOptions, + ) { + return const $TaskType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_getRegisterIntent, + jni.JniCallType.objectType, + [publicKeyCredentialCreationOptions.reference]).object); + } + + static final _id_getRegisterPendingIntent = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getRegisterPendingIntent", + r"(Lcom/google/android/gms/fido/fido2/api/common/PublicKeyCredentialCreationOptions;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task getRegisterPendingIntent(com.google.android.gms.fido.fido2.api.common.PublicKeyCredentialCreationOptions publicKeyCredentialCreationOptions) + /// The returned object must be released after use, by calling the [release] method. + Task getRegisterPendingIntent( + jni.JObject publicKeyCredentialCreationOptions, + ) { + return const $TaskType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_getRegisterPendingIntent, + jni.JniCallType.objectType, + [publicKeyCredentialCreationOptions.reference]).object); + } + + static final _id_getSignIntent = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getSignIntent", + r"(Lcom/google/android/gms/fido/fido2/api/common/PublicKeyCredentialRequestOptions;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task getSignIntent(com.google.android.gms.fido.fido2.api.common.PublicKeyCredentialRequestOptions publicKeyCredentialRequestOptions) + /// The returned object must be released after use, by calling the [release] method. + Task getSignIntent( + jni.JObject publicKeyCredentialRequestOptions, + ) { + return const $TaskType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_getSignIntent, + jni.JniCallType.objectType, + [publicKeyCredentialRequestOptions.reference]).object); + } + + static final _id_getSignPendingIntent = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getSignPendingIntent", + r"(Lcom/google/android/gms/fido/fido2/api/common/PublicKeyCredentialRequestOptions;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task getSignPendingIntent(com.google.android.gms.fido.fido2.api.common.PublicKeyCredentialRequestOptions publicKeyCredentialRequestOptions) + /// The returned object must be released after use, by calling the [release] method. + Task getSignPendingIntent( + jni.JObject publicKeyCredentialRequestOptions, + ) { + return const $TaskType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_getSignPendingIntent, + jni.JniCallType.objectType, + [publicKeyCredentialRequestOptions.reference]).object); + } + + static final _id_isUserVerifyingPlatformAuthenticatorAvailable = + jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"isUserVerifyingPlatformAuthenticatorAvailable", + r"()Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task isUserVerifyingPlatformAuthenticatorAvailable() + /// The returned object must be released after use, by calling the [release] method. + Task isUserVerifyingPlatformAuthenticatorAvailable() { + return const $TaskType(jni.JBooleanType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_isUserVerifyingPlatformAuthenticatorAvailable, + jni.JniCallType.objectType, []).object); + } + + static final _id_new0 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Landroid/app/Activity;)V"); + + /// from: public void (android.app.Activity activity) + /// The returned object must be released after use, by calling the [release] method. + factory Fido2ApiClient( + Activity activity, + ) { + return Fido2ApiClient.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new0, [activity.reference]).object); + } + + static final _id_new1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Landroid/content/Context;)V"); + + /// from: public void (android.content.Context context) + /// The returned object must be released after use, by calling the [release] method. + factory Fido2ApiClient.new1( + Context context, + ) { + return Fido2ApiClient.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new1, [context.reference]).object); + } +} + +final class $Fido2ApiClientType extends jni.JObjType { + const $Fido2ApiClientType(); + + @override + String get signature => r"Lcom/google/android/gms/fido/fido2/Fido2ApiClient;"; + + @override + Fido2ApiClient fromRef(jni.JObjectPtr ref) => Fido2ApiClient.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($Fido2ApiClientType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($Fido2ApiClientType) && + other is $Fido2ApiClientType; + } +} + +/// from: com.google.android.gms.tasks.Task +class Task<$TResult extends jni.JObject> extends jni.JObject { + @override + late final jni.JObjType> $type = type(TResult); + + final jni.JObjType<$TResult> TResult; + + Task.fromRef( + this.TResult, + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"com/google/android/gms/tasks/Task"); + + /// The type which includes information such as the signature of this class. + static $TaskType<$TResult> type<$TResult extends jni.JObject>( + jni.JObjType<$TResult> TResult, + ) { + return $TaskType( + TResult, + ); + } + + static final _id_addOnCanceledListener = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addOnCanceledListener", + r"(Lcom/google/android/gms/tasks/OnCanceledListener;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task addOnCanceledListener(com.google.android.gms.tasks.OnCanceledListener onCanceledListener) + /// The returned object must be released after use, by calling the [release] method. + Task<$TResult> addOnCanceledListener( + jni.JObject onCanceledListener, + ) { + return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addOnCanceledListener, + jni.JniCallType.objectType, + [onCanceledListener.reference]).object); + } + + static final _id_addOnCanceledListener1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addOnCanceledListener", + r"(Landroid/app/Activity;Lcom/google/android/gms/tasks/OnCanceledListener;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task addOnCanceledListener(android.app.Activity activity, com.google.android.gms.tasks.OnCanceledListener onCanceledListener) + /// The returned object must be released after use, by calling the [release] method. + Task<$TResult> addOnCanceledListener1( + Activity activity, + jni.JObject onCanceledListener, + ) { + return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addOnCanceledListener1, + jni.JniCallType.objectType, + [activity.reference, onCanceledListener.reference]).object); + } + + static final _id_addOnCanceledListener2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addOnCanceledListener", + r"(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/OnCanceledListener;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task addOnCanceledListener(java.util.concurrent.Executor executor, com.google.android.gms.tasks.OnCanceledListener onCanceledListener) + /// The returned object must be released after use, by calling the [release] method. + Task<$TResult> addOnCanceledListener2( + Executor executor, + jni.JObject onCanceledListener, + ) { + return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addOnCanceledListener2, + jni.JniCallType.objectType, + [executor.reference, onCanceledListener.reference]).object); + } + + static final _id_addOnCompleteListener = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addOnCompleteListener", + r"(Lcom/google/android/gms/tasks/OnCompleteListener;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task addOnCompleteListener(com.google.android.gms.tasks.OnCompleteListener onCompleteListener) + /// The returned object must be released after use, by calling the [release] method. + Task<$TResult> addOnCompleteListener( + jni.JObject onCompleteListener, + ) { + return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addOnCompleteListener, + jni.JniCallType.objectType, + [onCompleteListener.reference]).object); + } + + static final _id_addOnCompleteListener1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addOnCompleteListener", + r"(Landroid/app/Activity;Lcom/google/android/gms/tasks/OnCompleteListener;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task addOnCompleteListener(android.app.Activity activity, com.google.android.gms.tasks.OnCompleteListener onCompleteListener) + /// The returned object must be released after use, by calling the [release] method. + Task<$TResult> addOnCompleteListener1( + Activity activity, + jni.JObject onCompleteListener, + ) { + return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addOnCompleteListener1, + jni.JniCallType.objectType, + [activity.reference, onCompleteListener.reference]).object); + } + + static final _id_addOnCompleteListener2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addOnCompleteListener", + r"(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/OnCompleteListener;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task addOnCompleteListener(java.util.concurrent.Executor executor, com.google.android.gms.tasks.OnCompleteListener onCompleteListener) + /// The returned object must be released after use, by calling the [release] method. + Task<$TResult> addOnCompleteListener2( + Executor executor, + jni.JObject onCompleteListener, + ) { + return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addOnCompleteListener2, + jni.JniCallType.objectType, + [executor.reference, onCompleteListener.reference]).object); + } + + static final _id_addOnFailureListener = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addOnFailureListener", + r"(Lcom/google/android/gms/tasks/OnFailureListener;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public abstract com.google.android.gms.tasks.Task addOnFailureListener(com.google.android.gms.tasks.OnFailureListener onFailureListener) + /// The returned object must be released after use, by calling the [release] method. + Task<$TResult> addOnFailureListener( + OnFailureListener onFailureListener, + ) { + return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addOnFailureListener, + jni.JniCallType.objectType, + [onFailureListener.reference]).object); + } + + static final _id_addOnFailureListener1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addOnFailureListener", + r"(Landroid/app/Activity;Lcom/google/android/gms/tasks/OnFailureListener;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public abstract com.google.android.gms.tasks.Task addOnFailureListener(android.app.Activity activity, com.google.android.gms.tasks.OnFailureListener onFailureListener) + /// The returned object must be released after use, by calling the [release] method. + Task<$TResult> addOnFailureListener1( + Activity activity, + OnFailureListener onFailureListener, + ) { + return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addOnFailureListener1, + jni.JniCallType.objectType, + [activity.reference, onFailureListener.reference]).object); + } + + static final _id_addOnFailureListener2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addOnFailureListener", + r"(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/OnFailureListener;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public abstract com.google.android.gms.tasks.Task addOnFailureListener(java.util.concurrent.Executor executor, com.google.android.gms.tasks.OnFailureListener onFailureListener) + /// The returned object must be released after use, by calling the [release] method. + Task<$TResult> addOnFailureListener2( + Executor executor, + OnFailureListener onFailureListener, + ) { + return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addOnFailureListener2, + jni.JniCallType.objectType, + [executor.reference, onFailureListener.reference]).object); + } + + static final _id_addOnSuccessListener = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addOnSuccessListener", + r"(Lcom/google/android/gms/tasks/OnSuccessListener;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public abstract com.google.android.gms.tasks.Task addOnSuccessListener(com.google.android.gms.tasks.OnSuccessListener onSuccessListener) + /// The returned object must be released after use, by calling the [release] method. + Task<$TResult> addOnSuccessListener( + OnSuccessListener<$TResult> onSuccessListener, + ) { + return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addOnSuccessListener, + jni.JniCallType.objectType, + [onSuccessListener.reference]).object); + } + + static final _id_addOnSuccessListener1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addOnSuccessListener", + r"(Landroid/app/Activity;Lcom/google/android/gms/tasks/OnSuccessListener;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public abstract com.google.android.gms.tasks.Task addOnSuccessListener(android.app.Activity activity, com.google.android.gms.tasks.OnSuccessListener onSuccessListener) + /// The returned object must be released after use, by calling the [release] method. + Task<$TResult> addOnSuccessListener1( + Activity activity, + OnSuccessListener<$TResult> onSuccessListener, + ) { + return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addOnSuccessListener1, + jni.JniCallType.objectType, + [activity.reference, onSuccessListener.reference]).object); + } + + static final _id_addOnSuccessListener2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addOnSuccessListener", + r"(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/OnSuccessListener;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public abstract com.google.android.gms.tasks.Task addOnSuccessListener(java.util.concurrent.Executor executor, com.google.android.gms.tasks.OnSuccessListener onSuccessListener) + /// The returned object must be released after use, by calling the [release] method. + Task<$TResult> addOnSuccessListener2( + Executor executor, + OnSuccessListener<$TResult> onSuccessListener, + ) { + return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addOnSuccessListener2, + jni.JniCallType.objectType, + [executor.reference, onSuccessListener.reference]).object); + } + + static final _id_continueWith = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"continueWith", + r"(Lcom/google/android/gms/tasks/Continuation;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task continueWith(com.google.android.gms.tasks.Continuation continuation) + /// The returned object must be released after use, by calling the [release] method. + Task<$TContinuationResult> + continueWith<$TContinuationResult extends jni.JObject>( + jni.JObject continuation, { + required jni.JObjType<$TContinuationResult> TContinuationResult, + }) { + return $TaskType(TContinuationResult).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_continueWith, + jni.JniCallType.objectType, [continuation.reference]).object); + } + + static final _id_continueWith1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"continueWith", + r"(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/Continuation;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task continueWith(java.util.concurrent.Executor executor, com.google.android.gms.tasks.Continuation continuation) + /// The returned object must be released after use, by calling the [release] method. + Task<$TContinuationResult> + continueWith1<$TContinuationResult extends jni.JObject>( + Executor executor, + jni.JObject continuation, { + required jni.JObjType<$TContinuationResult> TContinuationResult, + }) { + return $TaskType(TContinuationResult).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_continueWith1, + jni.JniCallType.objectType, + [executor.reference, continuation.reference]).object); + } + + static final _id_continueWithTask = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"continueWithTask", + r"(Lcom/google/android/gms/tasks/Continuation;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task continueWithTask(com.google.android.gms.tasks.Continuation continuation) + /// The returned object must be released after use, by calling the [release] method. + Task<$TContinuationResult> + continueWithTask<$TContinuationResult extends jni.JObject>( + jni.JObject continuation, { + required jni.JObjType<$TContinuationResult> TContinuationResult, + }) { + return $TaskType(TContinuationResult).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_continueWithTask, + jni.JniCallType.objectType, [continuation.reference]).object); + } + + static final _id_continueWithTask1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"continueWithTask", + r"(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/Continuation;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task continueWithTask(java.util.concurrent.Executor executor, com.google.android.gms.tasks.Continuation continuation) + /// The returned object must be released after use, by calling the [release] method. + Task<$TContinuationResult> + continueWithTask1<$TContinuationResult extends jni.JObject>( + Executor executor, + jni.JObject continuation, { + required jni.JObjType<$TContinuationResult> TContinuationResult, + }) { + return $TaskType(TContinuationResult).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_continueWithTask1, + jni.JniCallType.objectType, + [executor.reference, continuation.reference]).object); + } + + static final _id_onSuccessTask = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onSuccessTask", + r"(Lcom/google/android/gms/tasks/SuccessContinuation;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task onSuccessTask(com.google.android.gms.tasks.SuccessContinuation successContinuation) + /// The returned object must be released after use, by calling the [release] method. + Task<$TContinuationResult> + onSuccessTask<$TContinuationResult extends jni.JObject>( + jni.JObject successContinuation, { + required jni.JObjType<$TContinuationResult> TContinuationResult, + }) { + return $TaskType(TContinuationResult).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_onSuccessTask, + jni.JniCallType.objectType, + [successContinuation.reference]).object); + } + + static final _id_onSuccessTask1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onSuccessTask", + r"(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/SuccessContinuation;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task onSuccessTask(java.util.concurrent.Executor executor, com.google.android.gms.tasks.SuccessContinuation successContinuation) + /// The returned object must be released after use, by calling the [release] method. + Task<$TContinuationResult> + onSuccessTask1<$TContinuationResult extends jni.JObject>( + Executor executor, + jni.JObject successContinuation, { + required jni.JObjType<$TContinuationResult> TContinuationResult, + }) { + return $TaskType(TContinuationResult).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_onSuccessTask1, + jni.JniCallType.objectType, + [executor.reference, successContinuation.reference]).object); + } + + static final _id_getException = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getException", r"()Ljava/lang/Exception;"); + + /// from: public abstract java.lang.Exception getException() + /// The returned object must be released after use, by calling the [release] method. + Exception getException() { + return const $ExceptionType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getException, jni.JniCallType.objectType, []).object); + } + + static final _id_getResult = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getResult", r"()Ljava/lang/Object;"); + + /// from: public abstract TResult getResult() + /// The returned object must be released after use, by calling the [release] method. + $TResult getResult() { + return TResult.fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getResult, jni.JniCallType.objectType, []).object); + } + + static final _id_getResult1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getResult", r"(Ljava/lang/Class;)Ljava/lang/Object;"); + + /// from: public abstract TResult getResult(java.lang.Class class) + /// The returned object must be released after use, by calling the [release] method. + $TResult getResult1<$X extends jni.JObject>( + jni.JObject class0, { + required jni.JObjType<$X> X, + }) { + return TResult.fromRef(jni.Jni.accessors.callMethodWithArgs(reference, + _id_getResult1, jni.JniCallType.objectType, [class0.reference]).object); + } + + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory Task({ + required jni.JObjType<$TResult> TResult, + }) { + return Task.fromRef( + TResult, + jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_isCanceled = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isCanceled", r"()Z"); + + /// from: public abstract boolean isCanceled() + bool isCanceled() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isCanceled, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_isComplete = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isComplete", r"()Z"); + + /// from: public abstract boolean isComplete() + bool isComplete() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isComplete, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_isSuccessful = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isSuccessful", r"()Z"); + + /// from: public abstract boolean isSuccessful() + bool isSuccessful() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isSuccessful, jni.JniCallType.booleanType, []).boolean; + } +} + +final class $TaskType<$TResult extends jni.JObject> + extends jni.JObjType> { + final jni.JObjType<$TResult> TResult; + + const $TaskType( + this.TResult, + ); + + @override + String get signature => r"Lcom/google/android/gms/tasks/Task;"; + + @override + Task<$TResult> fromRef(jni.JObjectPtr ref) => Task.fromRef(TResult, ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => Object.hash($TaskType, TResult); + + @override + bool operator ==(Object other) { + return other.runtimeType == ($TaskType<$TResult>) && + other is $TaskType<$TResult> && + TResult == other.TResult; + } +} + +/// from: com.google.android.gms.tasks.OnSuccessListener +class OnSuccessListener<$TResult extends jni.JObject> extends jni.JObject { + @override + late final jni.JObjType> $type = type(TResult); + + final jni.JObjType<$TResult> TResult; + + OnSuccessListener.fromRef( + this.TResult, + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"com/google/android/gms/tasks/OnSuccessListener"); + + /// The type which includes information such as the signature of this class. + static $OnSuccessListenerType<$TResult> type<$TResult extends jni.JObject>( + jni.JObjType<$TResult> TResult, + ) { + return $OnSuccessListenerType( + TResult, + ); + } + + static final _id_onSuccess = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onSuccess", r"(Ljava/lang/Object;)V"); + + /// from: public abstract void onSuccess(TResult object) + void onSuccess( + $TResult object, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onSuccess, + jni.JniCallType.voidType, [object.reference]).check(); + } + + /// Maps a specific port to the implemented interface. + static final Map _$impls = {}; + ReceivePort? _$p; + + static jni.JObjectPtr _$invoke( + int port, + jni.JObjectPtr descriptor, + jni.JObjectPtr args, + ) { + return _$invokeMethod( + port, + $MethodInvocation.fromAddresses( + 0, + descriptor.address, + args.address, + ), + ); + } + + static final ffi.Pointer< + ffi.NativeFunction< + jni.JObjectPtr Function( + ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> + _$invokePointer = ffi.Pointer.fromFunction(_$invoke); + + static ffi.Pointer _$invokeMethod( + int $p, + $MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + if ($d == r"onSuccess(Ljava/lang/Object;)V") { + _$impls[$p]!.onSuccess( + $a[0].castTo(_$impls[$p]!.TResult, releaseOriginal: true), + ); + return jni.nullptr; + } + } catch (e) { + return ProtectedJniExtensions.newDartException(e.toString()); + } + return jni.nullptr; + } + + factory OnSuccessListener.implement( + $OnSuccessListenerImpl<$TResult> $impl, + ) { + final $p = ReceivePort(); + final $x = OnSuccessListener.fromRef( + $impl.TResult, + ProtectedJniExtensions.newPortProxy( + r"com.google.android.gms.tasks.OnSuccessListener", + $p, + _$invokePointer, + ), + ).._$p = $p; + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + $p.listen(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = $MethodInvocation.fromMessage($m as List); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + ProtectedJniExtensions.returnResult($i.result, $r); + }); + return $x; + } +} + +abstract class $OnSuccessListenerImpl<$TResult extends jni.JObject> { + factory $OnSuccessListenerImpl({ + required jni.JObjType<$TResult> TResult, + required void Function($TResult object) onSuccess, + }) = _$OnSuccessListenerImpl; + + jni.JObjType<$TResult> get TResult; + + void onSuccess($TResult object); +} + +class _$OnSuccessListenerImpl<$TResult extends jni.JObject> + implements $OnSuccessListenerImpl<$TResult> { + _$OnSuccessListenerImpl({ + required this.TResult, + required void Function($TResult object) onSuccess, + }) : _onSuccess = onSuccess; + + @override + final jni.JObjType<$TResult> TResult; + + final void Function($TResult object) _onSuccess; + + void onSuccess($TResult object) { + return _onSuccess(object); + } +} + +final class $OnSuccessListenerType<$TResult extends jni.JObject> + extends jni.JObjType> { + final jni.JObjType<$TResult> TResult; + + const $OnSuccessListenerType( + this.TResult, + ); + + @override + String get signature => r"Lcom/google/android/gms/tasks/OnSuccessListener;"; + + @override + OnSuccessListener<$TResult> fromRef(jni.JObjectPtr ref) => + OnSuccessListener.fromRef(TResult, ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => Object.hash($OnSuccessListenerType, TResult); + + @override + bool operator ==(Object other) { + return other.runtimeType == ($OnSuccessListenerType<$TResult>) && + other is $OnSuccessListenerType<$TResult> && + TResult == other.TResult; + } +} + +/// from: com.google.android.gms.tasks.OnFailureListener +class OnFailureListener extends jni.JObject { + @override + late final jni.JObjType $type = type; + + OnFailureListener.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"com/google/android/gms/tasks/OnFailureListener"); + + /// The type which includes information such as the signature of this class. + static const type = $OnFailureListenerType(); + static final _id_onFailure = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onFailure", r"(Ljava/lang/Exception;)V"); + + /// from: public abstract void onFailure(java.lang.Exception exception) + void onFailure( + Exception exception, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onFailure, + jni.JniCallType.voidType, [exception.reference]).check(); + } + + /// Maps a specific port to the implemented interface. + static final Map _$impls = {}; + ReceivePort? _$p; + + static jni.JObjectPtr _$invoke( + int port, + jni.JObjectPtr descriptor, + jni.JObjectPtr args, + ) { + return _$invokeMethod( + port, + $MethodInvocation.fromAddresses( + 0, + descriptor.address, + args.address, + ), + ); + } + + static final ffi.Pointer< + ffi.NativeFunction< + jni.JObjectPtr Function( + ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> + _$invokePointer = ffi.Pointer.fromFunction(_$invoke); + + static ffi.Pointer _$invokeMethod( + int $p, + $MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + if ($d == r"onFailure(Ljava/lang/Exception;)V") { + _$impls[$p]!.onFailure( + $a[0].castTo(const $ExceptionType(), releaseOriginal: true), + ); + return jni.nullptr; + } + } catch (e) { + return ProtectedJniExtensions.newDartException(e.toString()); + } + return jni.nullptr; + } + + factory OnFailureListener.implement( + $OnFailureListenerImpl $impl, + ) { + final $p = ReceivePort(); + final $x = OnFailureListener.fromRef( + ProtectedJniExtensions.newPortProxy( + r"com.google.android.gms.tasks.OnFailureListener", + $p, + _$invokePointer, + ), + ).._$p = $p; + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + $p.listen(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = $MethodInvocation.fromMessage($m as List); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + ProtectedJniExtensions.returnResult($i.result, $r); + }); + return $x; + } +} + +abstract class $OnFailureListenerImpl { + factory $OnFailureListenerImpl({ + required void Function(Exception exception) onFailure, + }) = _$OnFailureListenerImpl; + + void onFailure(Exception exception); +} + +class _$OnFailureListenerImpl implements $OnFailureListenerImpl { + _$OnFailureListenerImpl({ + required void Function(Exception exception) onFailure, + }) : _onFailure = onFailure; + + final void Function(Exception exception) _onFailure; + + void onFailure(Exception exception) { + return _onFailure(exception); + } +} + +final class $OnFailureListenerType extends jni.JObjType { + const $OnFailureListenerType(); + + @override + String get signature => r"Lcom/google/android/gms/tasks/OnFailureListener;"; + + @override + OnFailureListener fromRef(jni.JObjectPtr ref) => + OnFailureListener.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($OnFailureListenerType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($OnFailureListenerType) && + other is $OnFailureListenerType; + } +} diff --git a/packages/celest_auth/lib/src/platform/android/jni_helpers.dart b/packages/celest_auth/lib/src/platform/android/jni_helpers.dart new file mode 100644 index 00000000..ad76ecc9 --- /dev/null +++ b/packages/celest_auth/lib/src/platform/android/jni_helpers.dart @@ -0,0 +1,16 @@ +import 'package:jni/jni.dart'; + +extension JObjectHelpers on JObject { + bool instanceOf(JObjType type) { + return Jni.env.IsInstanceOf(reference, type.getClass().reference); + } + + T as(JObjType type) { + if (!instanceOf(type)) { + throw StateError( + 'Invalid type. Expected ${type.signature}, got ${$type.signature}', + ); + } + return type.fromRef(reference); + } +} diff --git a/packages/celest_auth/lib/src/platform/darwin/authentication_services.ffi.dart b/packages/celest_auth/lib/src/platform/darwin/authentication_services.ffi.dart new file mode 100644 index 00000000..fccf0701 --- /dev/null +++ b/packages/celest_auth/lib/src/platform/darwin/authentication_services.ffi.dart @@ -0,0 +1,24748 @@ +// ignore_for_file: type=lint +// ignore_for_file: return_of_invalid_type +// ignore_for_file: unnecessary_non_null_assertion + +// AUTO GENERATED FILE, DO NOT EDIT. +// +// Generated by `package:ffigen`. +import 'dart:ffi' as ffi; +import 'package:ffi/ffi.dart' as pkg_ffi; + +/// Bindings for AuthenticationServices on macOS/iOS. +/// +/// Regenerate bindings with `dart run ffigen --config=ffigen.authentication_services.yaml`. +/// +class AuthenticationServices { + /// Holds the symbol lookup function. + final ffi.Pointer Function(String symbolName) + _lookup; + + /// The symbols are looked up in [dynamicLibrary]. + AuthenticationServices(ffi.DynamicLibrary dynamicLibrary) + : _lookup = dynamicLibrary.lookup; + + /// The symbols are looked up with [lookup]. + AuthenticationServices.fromLookup( + ffi.Pointer Function(String symbolName) + lookup) + : _lookup = lookup; + + ffi.Pointer _registerName1(String name) { + final cstr = name.toNativeUtf8(); + final sel = _sel_registerName(cstr.cast()); + pkg_ffi.calloc.free(cstr); + return sel; + } + + ffi.Pointer _sel_registerName( + ffi.Pointer str, + ) { + return __sel_registerName( + str, + ); + } + + late final __sel_registerNamePtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('sel_registerName'); + late final __sel_registerName = __sel_registerNamePtr + .asFunction Function(ffi.Pointer)>(); + + ffi.Pointer _getClass1(String name) { + final cstr = name.toNativeUtf8(); + final clazz = _objc_getClass(cstr.cast()); + pkg_ffi.calloc.free(cstr); + if (clazz == ffi.nullptr) { + throw Exception('Failed to load Objective-C class: $name'); + } + return clazz; + } + + ffi.Pointer _objc_getClass( + ffi.Pointer str, + ) { + return __objc_getClass( + str, + ); + } + + late final __objc_getClassPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('objc_getClass'); + late final __objc_getClass = __objc_getClassPtr + .asFunction Function(ffi.Pointer)>(); + + ffi.Pointer _objc_retain( + ffi.Pointer value, + ) { + return __objc_retain( + value, + ); + } + + late final __objc_retainPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('objc_retain'); + late final __objc_retain = __objc_retainPtr + .asFunction Function(ffi.Pointer)>(); + + void _objc_release( + ffi.Pointer value, + ) { + return __objc_release( + value, + ); + } + + late final __objc_releasePtr = + _lookup)>>( + 'objc_release'); + late final __objc_release = + __objc_releasePtr.asFunction)>(); + + late final _objc_releaseFinalizer2 = + ffi.NativeFinalizer(__objc_releasePtr.cast()); + late final _class_ASWebAuthenticationSession1 = + _getClass1("ASWebAuthenticationSession"); + bool _objc_msgSend_0( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer clazz, + ) { + return __objc_msgSend_0( + obj, + sel, + clazz, + ); + } + + late final __objc_msgSend_0Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_0 = __objc_msgSend_0Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_isKindOfClass_1 = _registerName1("isKindOfClass:"); + late final _class_NSObject1 = _getClass1("NSObject"); + late final _sel_load1 = _registerName1("load"); + void _objc_msgSend_1( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_1( + obj, + sel, + ); + } + + late final __objc_msgSend_1Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_1 = __objc_msgSend_1Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_initialize1 = _registerName1("initialize"); + late final _sel_init1 = _registerName1("init"); + instancetype _objc_msgSend_2( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_2( + obj, + sel, + ); + } + + late final __objc_msgSend_2Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_2 = __objc_msgSend_2Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_new1 = _registerName1("new"); + late final _sel_allocWithZone_1 = _registerName1("allocWithZone:"); + instancetype _objc_msgSend_3( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer<_NSZone> zone, + ) { + return __objc_msgSend_3( + obj, + sel, + zone, + ); + } + + late final __objc_msgSend_3Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer<_NSZone>)>>('objc_msgSend'); + late final __objc_msgSend_3 = __objc_msgSend_3Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer<_NSZone>)>(); + + late final _sel_alloc1 = _registerName1("alloc"); + late final _sel_dealloc1 = _registerName1("dealloc"); + late final _sel_finalize1 = _registerName1("finalize"); + late final _sel_copy1 = _registerName1("copy"); + late final _sel_mutableCopy1 = _registerName1("mutableCopy"); + late final _sel_copyWithZone_1 = _registerName1("copyWithZone:"); + late final _sel_mutableCopyWithZone_1 = + _registerName1("mutableCopyWithZone:"); + late final _sel_instancesRespondToSelector_1 = + _registerName1("instancesRespondToSelector:"); + bool _objc_msgSend_4( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aSelector, + ) { + return __objc_msgSend_4( + obj, + sel, + aSelector, + ); + } + + late final __objc_msgSend_4Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_4 = __objc_msgSend_4Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _class_Protocol1 = _getClass1("Protocol"); + late final _sel_conformsToProtocol_1 = _registerName1("conformsToProtocol:"); + bool _objc_msgSend_5( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer protocol, + ) { + return __objc_msgSend_5( + obj, + sel, + protocol, + ); + } + + late final __objc_msgSend_5Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_5 = __objc_msgSend_5Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_methodForSelector_1 = _registerName1("methodForSelector:"); + ffi.Pointer> _objc_msgSend_6( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aSelector, + ) { + return __objc_msgSend_6( + obj, + sel, + aSelector, + ); + } + + late final __objc_msgSend_6Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer> Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_6 = __objc_msgSend_6Ptr.asFunction< + ffi.Pointer> Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_instanceMethodForSelector_1 = + _registerName1("instanceMethodForSelector:"); + late final _sel_doesNotRecognizeSelector_1 = + _registerName1("doesNotRecognizeSelector:"); + void _objc_msgSend_7( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aSelector, + ) { + return __objc_msgSend_7( + obj, + sel, + aSelector, + ); + } + + late final __objc_msgSend_7Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_7 = __objc_msgSend_7Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_forwardingTargetForSelector_1 = + _registerName1("forwardingTargetForSelector:"); + ffi.Pointer _objc_msgSend_8( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aSelector, + ) { + return __objc_msgSend_8( + obj, + sel, + aSelector, + ); + } + + late final __objc_msgSend_8Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_8 = __objc_msgSend_8Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _class_NSInvocation1 = _getClass1("NSInvocation"); + late final _class_NSMethodSignature1 = _getClass1("NSMethodSignature"); + late final _sel_signatureWithObjCTypes_1 = + _registerName1("signatureWithObjCTypes:"); + ffi.Pointer _objc_msgSend_9( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer types, + ) { + return __objc_msgSend_9( + obj, + sel, + types, + ); + } + + late final __objc_msgSend_9Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_9 = __objc_msgSend_9Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_numberOfArguments1 = _registerName1("numberOfArguments"); + int _objc_msgSend_10( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_10( + obj, + sel, + ); + } + + late final __objc_msgSend_10Ptr = _lookup< + ffi.NativeFunction< + ffi.UnsignedLong Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_10 = __objc_msgSend_10Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_getArgumentTypeAtIndex_1 = + _registerName1("getArgumentTypeAtIndex:"); + ffi.Pointer _objc_msgSend_11( + ffi.Pointer obj, + ffi.Pointer sel, + int idx, + ) { + return __objc_msgSend_11( + obj, + sel, + idx, + ); + } + + late final __objc_msgSend_11Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_11 = __objc_msgSend_11Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_frameLength1 = _registerName1("frameLength"); + late final _sel_isOneway1 = _registerName1("isOneway"); + bool _objc_msgSend_12( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_12( + obj, + sel, + ); + } + + late final __objc_msgSend_12Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_12 = __objc_msgSend_12Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_methodReturnType1 = _registerName1("methodReturnType"); + ffi.Pointer _objc_msgSend_13( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_13( + obj, + sel, + ); + } + + late final __objc_msgSend_13Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_13 = __objc_msgSend_13Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_methodReturnLength1 = _registerName1("methodReturnLength"); + late final _sel_invocationWithMethodSignature_1 = + _registerName1("invocationWithMethodSignature:"); + ffi.Pointer _objc_msgSend_14( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer sig, + ) { + return __objc_msgSend_14( + obj, + sel, + sig, + ); + } + + late final __objc_msgSend_14Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_14 = __objc_msgSend_14Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_methodSignature1 = _registerName1("methodSignature"); + ffi.Pointer _objc_msgSend_15( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_15( + obj, + sel, + ); + } + + late final __objc_msgSend_15Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_15 = __objc_msgSend_15Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_retainArguments1 = _registerName1("retainArguments"); + late final _sel_argumentsRetained1 = _registerName1("argumentsRetained"); + late final _sel_target1 = _registerName1("target"); + ffi.Pointer _objc_msgSend_16( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_16( + obj, + sel, + ); + } + + late final __objc_msgSend_16Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_16 = __objc_msgSend_16Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setTarget_1 = _registerName1("setTarget:"); + void _objc_msgSend_17( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_17( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_17Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_17 = __objc_msgSend_17Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_selector1 = _registerName1("selector"); + ffi.Pointer _objc_msgSend_18( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_18( + obj, + sel, + ); + } + + late final __objc_msgSend_18Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_18 = __objc_msgSend_18Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setSelector_1 = _registerName1("setSelector:"); + void _objc_msgSend_19( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_19( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_19Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_19 = __objc_msgSend_19Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_getReturnValue_1 = _registerName1("getReturnValue:"); + void _objc_msgSend_20( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer retLoc, + ) { + return __objc_msgSend_20( + obj, + sel, + retLoc, + ); + } + + late final __objc_msgSend_20Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_20 = __objc_msgSend_20Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_setReturnValue_1 = _registerName1("setReturnValue:"); + late final _sel_getArgument_atIndex_1 = + _registerName1("getArgument:atIndex:"); + void _objc_msgSend_21( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer argumentLocation, + int idx, + ) { + return __objc_msgSend_21( + obj, + sel, + argumentLocation, + idx, + ); + } + + late final __objc_msgSend_21Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Long)>>('objc_msgSend'); + late final __objc_msgSend_21 = __objc_msgSend_21Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + late final _sel_setArgument_atIndex_1 = + _registerName1("setArgument:atIndex:"); + late final _sel_invoke1 = _registerName1("invoke"); + late final _sel_invokeWithTarget_1 = _registerName1("invokeWithTarget:"); + void _objc_msgSend_22( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer target, + ) { + return __objc_msgSend_22( + obj, + sel, + target, + ); + } + + late final __objc_msgSend_22Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_22 = __objc_msgSend_22Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_invokeUsingIMP_1 = _registerName1("invokeUsingIMP:"); + void _objc_msgSend_23( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer> imp, + ) { + return __objc_msgSend_23( + obj, + sel, + imp, + ); + } + + late final __objc_msgSend_23Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer>)>>( + 'objc_msgSend'); + late final __objc_msgSend_23 = __objc_msgSend_23Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer>)>(); + + late final _sel_forwardInvocation_1 = _registerName1("forwardInvocation:"); + void _objc_msgSend_24( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer anInvocation, + ) { + return __objc_msgSend_24( + obj, + sel, + anInvocation, + ); + } + + late final __objc_msgSend_24Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_24 = __objc_msgSend_24Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_methodSignatureForSelector_1 = + _registerName1("methodSignatureForSelector:"); + ffi.Pointer _objc_msgSend_25( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aSelector, + ) { + return __objc_msgSend_25( + obj, + sel, + aSelector, + ); + } + + late final __objc_msgSend_25Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_25 = __objc_msgSend_25Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_instanceMethodSignatureForSelector_1 = + _registerName1("instanceMethodSignatureForSelector:"); + late final _sel_allowsWeakReference1 = _registerName1("allowsWeakReference"); + late final _sel_retainWeakReference1 = _registerName1("retainWeakReference"); + late final _sel_isSubclassOfClass_1 = _registerName1("isSubclassOfClass:"); + late final _sel_resolveClassMethod_1 = _registerName1("resolveClassMethod:"); + late final _sel_resolveInstanceMethod_1 = + _registerName1("resolveInstanceMethod:"); + late final _sel_hash1 = _registerName1("hash"); + late final _sel_superclass1 = _registerName1("superclass"); + late final _sel_class1 = _registerName1("class"); + late final _class_NSString1 = _getClass1("NSString"); + late final _sel_length1 = _registerName1("length"); + late final _sel_characterAtIndex_1 = _registerName1("characterAtIndex:"); + int _objc_msgSend_26( + ffi.Pointer obj, + ffi.Pointer sel, + int index, + ) { + return __objc_msgSend_26( + obj, + sel, + index, + ); + } + + late final __objc_msgSend_26Ptr = _lookup< + ffi.NativeFunction< + ffi.UnsignedShort Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_26 = __objc_msgSend_26Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _class_NSCoder1 = _getClass1("NSCoder"); + late final _sel_encodeValueOfObjCType_at_1 = + _registerName1("encodeValueOfObjCType:at:"); + void _objc_msgSend_27( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer type, + ffi.Pointer addr, + ) { + return __objc_msgSend_27( + obj, + sel, + type, + addr, + ); + } + + late final __objc_msgSend_27Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_27 = __objc_msgSend_27Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _class_NSData1 = _getClass1("NSData"); + late final _sel_bytes1 = _registerName1("bytes"); + ffi.Pointer _objc_msgSend_28( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_28( + obj, + sel, + ); + } + + late final __objc_msgSend_28Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_28 = __objc_msgSend_28Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_encodeDataObject_1 = _registerName1("encodeDataObject:"); + void _objc_msgSend_29( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer data, + ) { + return __objc_msgSend_29( + obj, + sel, + data, + ); + } + + late final __objc_msgSend_29Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_29 = __objc_msgSend_29Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_decodeDataObject1 = _registerName1("decodeDataObject"); + ffi.Pointer _objc_msgSend_30( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_30( + obj, + sel, + ); + } + + late final __objc_msgSend_30Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_30 = __objc_msgSend_30Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_decodeValueOfObjCType_at_size_1 = + _registerName1("decodeValueOfObjCType:at:size:"); + void _objc_msgSend_31( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer type, + ffi.Pointer data, + int size, + ) { + return __objc_msgSend_31( + obj, + sel, + type, + data, + size, + ); + } + + late final __objc_msgSend_31Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_31 = __objc_msgSend_31Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_versionForClassName_1 = + _registerName1("versionForClassName:"); + int _objc_msgSend_32( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer className, + ) { + return __objc_msgSend_32( + obj, + sel, + className, + ); + } + + late final __objc_msgSend_32Ptr = _lookup< + ffi.NativeFunction< + ffi.Long Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_32 = __objc_msgSend_32Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_initWithCoder_1 = _registerName1("initWithCoder:"); + instancetype _objc_msgSend_33( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer coder, + ) { + return __objc_msgSend_33( + obj, + sel, + coder, + ); + } + + late final __objc_msgSend_33Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_33 = __objc_msgSend_33Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_stringWithCharacters_length_1 = + _registerName1("stringWithCharacters:length:"); + ffi.Pointer _objc_msgSend_34( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer characters, + int length, + ) { + return __objc_msgSend_34( + obj, + sel, + characters, + length, + ); + } + + late final __objc_msgSend_34Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedInt)>>('objc_msgSend'); + late final __objc_msgSend_34 = __objc_msgSend_34Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_dataUsingEncoding_1 = _registerName1("dataUsingEncoding:"); + ffi.Pointer _objc_msgSend_35( + ffi.Pointer obj, + ffi.Pointer sel, + int encoding, + ) { + return __objc_msgSend_35( + obj, + sel, + encoding, + ); + } + + late final __objc_msgSend_35Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedInt)>>('objc_msgSend'); + late final __objc_msgSend_35 = __objc_msgSend_35Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_description1 = _registerName1("description"); + ffi.Pointer _objc_msgSend_36( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_36( + obj, + sel, + ); + } + + late final __objc_msgSend_36Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_36 = __objc_msgSend_36Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_debugDescription1 = _registerName1("debugDescription"); + late final _class_NSURL1 = _getClass1("NSURL"); + late final _sel_initWithScheme_host_path_1 = + _registerName1("initWithScheme:host:path:"); + instancetype _objc_msgSend_37( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer scheme, + ffi.Pointer host, + ffi.Pointer path, + ) { + return __objc_msgSend_37( + obj, + sel, + scheme, + host, + path, + ); + } + + late final __objc_msgSend_37Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_37 = __objc_msgSend_37Ptr.asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_initFileURLWithPath_isDirectory_relativeToURL_1 = + _registerName1("initFileURLWithPath:isDirectory:relativeToURL:"); + instancetype _objc_msgSend_38( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + bool isDir, + ffi.Pointer baseURL, + ) { + return __objc_msgSend_38( + obj, + sel, + path, + isDir, + baseURL, + ); + } + + late final __objc_msgSend_38Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Bool, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_38 = __objc_msgSend_38Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, bool, ffi.Pointer)>(); + + late final _sel_initFileURLWithPath_relativeToURL_1 = + _registerName1("initFileURLWithPath:relativeToURL:"); + instancetype _objc_msgSend_39( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + ffi.Pointer baseURL, + ) { + return __objc_msgSend_39( + obj, + sel, + path, + baseURL, + ); + } + + late final __objc_msgSend_39Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_39 = __objc_msgSend_39Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_initFileURLWithPath_isDirectory_1 = + _registerName1("initFileURLWithPath:isDirectory:"); + instancetype _objc_msgSend_40( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + bool isDir, + ) { + return __objc_msgSend_40( + obj, + sel, + path, + isDir, + ); + } + + late final __objc_msgSend_40Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_40 = __objc_msgSend_40Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, bool)>(); + + late final _sel_initFileURLWithPath_1 = + _registerName1("initFileURLWithPath:"); + instancetype _objc_msgSend_41( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + ) { + return __objc_msgSend_41( + obj, + sel, + path, + ); + } + + late final __objc_msgSend_41Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_41 = __objc_msgSend_41Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_fileURLWithPath_isDirectory_relativeToURL_1 = + _registerName1("fileURLWithPath:isDirectory:relativeToURL:"); + ffi.Pointer _objc_msgSend_42( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + bool isDir, + ffi.Pointer baseURL, + ) { + return __objc_msgSend_42( + obj, + sel, + path, + isDir, + baseURL, + ); + } + + late final __objc_msgSend_42Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Bool, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_42 = __objc_msgSend_42Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + bool, + ffi.Pointer)>(); + + late final _sel_fileURLWithPath_relativeToURL_1 = + _registerName1("fileURLWithPath:relativeToURL:"); + ffi.Pointer _objc_msgSend_43( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + ffi.Pointer baseURL, + ) { + return __objc_msgSend_43( + obj, + sel, + path, + baseURL, + ); + } + + late final __objc_msgSend_43Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_43 = __objc_msgSend_43Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_fileURLWithPath_isDirectory_1 = + _registerName1("fileURLWithPath:isDirectory:"); + ffi.Pointer _objc_msgSend_44( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + bool isDir, + ) { + return __objc_msgSend_44( + obj, + sel, + path, + isDir, + ); + } + + late final __objc_msgSend_44Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_44 = __objc_msgSend_44Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer, bool)>(); + + late final _sel_fileURLWithPath_1 = _registerName1("fileURLWithPath:"); + ffi.Pointer _objc_msgSend_45( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + ) { + return __objc_msgSend_45( + obj, + sel, + path, + ); + } + + late final __objc_msgSend_45Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_45 = __objc_msgSend_45Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_initFileURLWithFileSystemRepresentation_isDirectory_relativeToURL_1 = + _registerName1( + "initFileURLWithFileSystemRepresentation:isDirectory:relativeToURL:"); + instancetype _objc_msgSend_46( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + bool isDir, + ffi.Pointer baseURL, + ) { + return __objc_msgSend_46( + obj, + sel, + path, + isDir, + baseURL, + ); + } + + late final __objc_msgSend_46Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Bool, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_46 = __objc_msgSend_46Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, bool, ffi.Pointer)>(); + + late final _sel_fileURLWithFileSystemRepresentation_isDirectory_relativeToURL_1 = + _registerName1( + "fileURLWithFileSystemRepresentation:isDirectory:relativeToURL:"); + ffi.Pointer _objc_msgSend_47( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + bool isDir, + ffi.Pointer baseURL, + ) { + return __objc_msgSend_47( + obj, + sel, + path, + isDir, + baseURL, + ); + } + + late final __objc_msgSend_47Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Bool, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_47 = __objc_msgSend_47Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + bool, + ffi.Pointer)>(); + + late final _sel_initWithString_1 = _registerName1("initWithString:"); + instancetype _objc_msgSend_48( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer URLString, + ) { + return __objc_msgSend_48( + obj, + sel, + URLString, + ); + } + + late final __objc_msgSend_48Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_48 = __objc_msgSend_48Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_initWithString_relativeToURL_1 = + _registerName1("initWithString:relativeToURL:"); + instancetype _objc_msgSend_49( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer URLString, + ffi.Pointer baseURL, + ) { + return __objc_msgSend_49( + obj, + sel, + URLString, + baseURL, + ); + } + + late final __objc_msgSend_49Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_49 = __objc_msgSend_49Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_URLWithString_1 = _registerName1("URLWithString:"); + late final _sel_URLWithString_relativeToURL_1 = + _registerName1("URLWithString:relativeToURL:"); + late final _sel_initWithString_encodingInvalidCharacters_1 = + _registerName1("initWithString:encodingInvalidCharacters:"); + instancetype _objc_msgSend_50( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer URLString, + bool encodingInvalidCharacters, + ) { + return __objc_msgSend_50( + obj, + sel, + URLString, + encodingInvalidCharacters, + ); + } + + late final __objc_msgSend_50Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_50 = __objc_msgSend_50Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, bool)>(); + + late final _sel_URLWithString_encodingInvalidCharacters_1 = + _registerName1("URLWithString:encodingInvalidCharacters:"); + late final _sel_initWithDataRepresentation_relativeToURL_1 = + _registerName1("initWithDataRepresentation:relativeToURL:"); + instancetype _objc_msgSend_51( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer data, + ffi.Pointer baseURL, + ) { + return __objc_msgSend_51( + obj, + sel, + data, + baseURL, + ); + } + + late final __objc_msgSend_51Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_51 = __objc_msgSend_51Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_URLWithDataRepresentation_relativeToURL_1 = + _registerName1("URLWithDataRepresentation:relativeToURL:"); + ffi.Pointer _objc_msgSend_52( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer data, + ffi.Pointer baseURL, + ) { + return __objc_msgSend_52( + obj, + sel, + data, + baseURL, + ); + } + + late final __objc_msgSend_52Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_52 = __objc_msgSend_52Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_initAbsoluteURLWithDataRepresentation_relativeToURL_1 = + _registerName1("initAbsoluteURLWithDataRepresentation:relativeToURL:"); + late final _sel_absoluteURLWithDataRepresentation_relativeToURL_1 = + _registerName1("absoluteURLWithDataRepresentation:relativeToURL:"); + late final _sel_dataRepresentation1 = _registerName1("dataRepresentation"); + ffi.Pointer _objc_msgSend_53( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_53( + obj, + sel, + ); + } + + late final __objc_msgSend_53Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_53 = __objc_msgSend_53Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_absoluteString1 = _registerName1("absoluteString"); + ffi.Pointer _objc_msgSend_54( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_54( + obj, + sel, + ); + } + + late final __objc_msgSend_54Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_54 = __objc_msgSend_54Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_relativeString1 = _registerName1("relativeString"); + late final _sel_baseURL1 = _registerName1("baseURL"); + ffi.Pointer _objc_msgSend_55( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_55( + obj, + sel, + ); + } + + late final __objc_msgSend_55Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_55 = __objc_msgSend_55Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_absoluteURL1 = _registerName1("absoluteURL"); + late final _sel_scheme1 = _registerName1("scheme"); + late final _sel_resourceSpecifier1 = _registerName1("resourceSpecifier"); + late final _sel_host1 = _registerName1("host"); + late final _class_NSNumber1 = _getClass1("NSNumber"); + late final _class_NSValue1 = _getClass1("NSValue"); + late final _sel_getValue_size_1 = _registerName1("getValue:size:"); + void _objc_msgSend_56( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + int size, + ) { + return __objc_msgSend_56( + obj, + sel, + value, + size, + ); + } + + late final __objc_msgSend_56Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_56 = __objc_msgSend_56Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + late final _sel_objCType1 = _registerName1("objCType"); + late final _sel_initWithBytes_objCType_1 = + _registerName1("initWithBytes:objCType:"); + instancetype _objc_msgSend_57( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ffi.Pointer type, + ) { + return __objc_msgSend_57( + obj, + sel, + value, + type, + ); + } + + late final __objc_msgSend_57Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_57 = __objc_msgSend_57Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_initWithChar_1 = _registerName1("initWithChar:"); + ffi.Pointer _objc_msgSend_58( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_58( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_58Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Char)>>('objc_msgSend'); + late final __objc_msgSend_58 = __objc_msgSend_58Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithUnsignedChar_1 = + _registerName1("initWithUnsignedChar:"); + ffi.Pointer _objc_msgSend_59( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_59( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_59Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedChar)>>('objc_msgSend'); + late final __objc_msgSend_59 = __objc_msgSend_59Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithShort_1 = _registerName1("initWithShort:"); + ffi.Pointer _objc_msgSend_60( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_60( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_60Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Short)>>('objc_msgSend'); + late final __objc_msgSend_60 = __objc_msgSend_60Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithUnsignedShort_1 = + _registerName1("initWithUnsignedShort:"); + ffi.Pointer _objc_msgSend_61( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_61( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_61Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedShort)>>('objc_msgSend'); + late final __objc_msgSend_61 = __objc_msgSend_61Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithInt_1 = _registerName1("initWithInt:"); + ffi.Pointer _objc_msgSend_62( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_62( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_62Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Int)>>('objc_msgSend'); + late final __objc_msgSend_62 = __objc_msgSend_62Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithUnsignedInt_1 = + _registerName1("initWithUnsignedInt:"); + ffi.Pointer _objc_msgSend_63( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_63( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_63Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedInt)>>('objc_msgSend'); + late final __objc_msgSend_63 = __objc_msgSend_63Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithLong_1 = _registerName1("initWithLong:"); + ffi.Pointer _objc_msgSend_64( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_64( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_64Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Long)>>('objc_msgSend'); + late final __objc_msgSend_64 = __objc_msgSend_64Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithUnsignedLong_1 = + _registerName1("initWithUnsignedLong:"); + ffi.Pointer _objc_msgSend_65( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_65( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_65Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_65 = __objc_msgSend_65Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithLongLong_1 = _registerName1("initWithLongLong:"); + ffi.Pointer _objc_msgSend_66( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_66( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_66Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.LongLong)>>('objc_msgSend'); + late final __objc_msgSend_66 = __objc_msgSend_66Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithUnsignedLongLong_1 = + _registerName1("initWithUnsignedLongLong:"); + ffi.Pointer _objc_msgSend_67( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_67( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_67Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLongLong)>>('objc_msgSend'); + late final __objc_msgSend_67 = __objc_msgSend_67Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithFloat_1 = _registerName1("initWithFloat:"); + ffi.Pointer _objc_msgSend_68( + ffi.Pointer obj, + ffi.Pointer sel, + double value, + ) { + return __objc_msgSend_68( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_68Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Float)>>('objc_msgSend'); + late final __objc_msgSend_68 = __objc_msgSend_68Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, double)>(); + + late final _sel_initWithDouble_1 = _registerName1("initWithDouble:"); + ffi.Pointer _objc_msgSend_69( + ffi.Pointer obj, + ffi.Pointer sel, + double value, + ) { + return __objc_msgSend_69( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_69Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Double)>>('objc_msgSend'); + late final __objc_msgSend_69 = __objc_msgSend_69Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, double)>(); + + late final _sel_initWithBool_1 = _registerName1("initWithBool:"); + ffi.Pointer _objc_msgSend_70( + ffi.Pointer obj, + ffi.Pointer sel, + bool value, + ) { + return __objc_msgSend_70( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_70Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_70 = __objc_msgSend_70Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, bool)>(); + + late final _sel_initWithInteger_1 = _registerName1("initWithInteger:"); + late final _sel_initWithUnsignedInteger_1 = + _registerName1("initWithUnsignedInteger:"); + late final _sel_charValue1 = _registerName1("charValue"); + int _objc_msgSend_71( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_71( + obj, + sel, + ); + } + + late final __objc_msgSend_71Ptr = _lookup< + ffi.NativeFunction< + ffi.Char Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_71 = __objc_msgSend_71Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_unsignedCharValue1 = _registerName1("unsignedCharValue"); + int _objc_msgSend_72( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_72( + obj, + sel, + ); + } + + late final __objc_msgSend_72Ptr = _lookup< + ffi.NativeFunction< + ffi.UnsignedChar Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_72 = __objc_msgSend_72Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_shortValue1 = _registerName1("shortValue"); + int _objc_msgSend_73( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_73( + obj, + sel, + ); + } + + late final __objc_msgSend_73Ptr = _lookup< + ffi.NativeFunction< + ffi.Short Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_73 = __objc_msgSend_73Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_unsignedShortValue1 = _registerName1("unsignedShortValue"); + int _objc_msgSend_74( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_74( + obj, + sel, + ); + } + + late final __objc_msgSend_74Ptr = _lookup< + ffi.NativeFunction< + ffi.UnsignedShort Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_74 = __objc_msgSend_74Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_intValue1 = _registerName1("intValue"); + int _objc_msgSend_75( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_75( + obj, + sel, + ); + } + + late final __objc_msgSend_75Ptr = _lookup< + ffi.NativeFunction< + ffi.Int Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_75 = __objc_msgSend_75Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_unsignedIntValue1 = _registerName1("unsignedIntValue"); + int _objc_msgSend_76( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_76( + obj, + sel, + ); + } + + late final __objc_msgSend_76Ptr = _lookup< + ffi.NativeFunction< + ffi.UnsignedInt Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_76 = __objc_msgSend_76Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_longValue1 = _registerName1("longValue"); + int _objc_msgSend_77( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_77( + obj, + sel, + ); + } + + late final __objc_msgSend_77Ptr = _lookup< + ffi.NativeFunction< + ffi.Long Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_77 = __objc_msgSend_77Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_unsignedLongValue1 = _registerName1("unsignedLongValue"); + late final _sel_longLongValue1 = _registerName1("longLongValue"); + int _objc_msgSend_78( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_78( + obj, + sel, + ); + } + + late final __objc_msgSend_78Ptr = _lookup< + ffi.NativeFunction< + ffi.LongLong Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_78 = __objc_msgSend_78Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_unsignedLongLongValue1 = + _registerName1("unsignedLongLongValue"); + int _objc_msgSend_79( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_79( + obj, + sel, + ); + } + + late final __objc_msgSend_79Ptr = _lookup< + ffi.NativeFunction< + ffi.UnsignedLongLong Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_79 = __objc_msgSend_79Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_floatValue1 = _registerName1("floatValue"); + late final _objc_msgSend_useVariants1 = ffi.Abi.current() == ffi.Abi.iosX64 || + ffi.Abi.current() == ffi.Abi.macosX64; + double _objc_msgSend_80( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_80( + obj, + sel, + ); + } + + late final __objc_msgSend_80Ptr = _lookup< + ffi.NativeFunction< + ffi.Float Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_80 = __objc_msgSend_80Ptr.asFunction< + double Function(ffi.Pointer, ffi.Pointer)>(); + + double _objc_msgSend_80_fpret( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_80_fpret( + obj, + sel, + ); + } + + late final __objc_msgSend_80_fpretPtr = _lookup< + ffi.NativeFunction< + ffi.Float Function(ffi.Pointer, + ffi.Pointer)>>('objc_msgSend_fpret'); + late final __objc_msgSend_80_fpret = __objc_msgSend_80_fpretPtr.asFunction< + double Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_doubleValue1 = _registerName1("doubleValue"); + double _objc_msgSend_81( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_81( + obj, + sel, + ); + } + + late final __objc_msgSend_81Ptr = _lookup< + ffi.NativeFunction< + ffi.Double Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_81 = __objc_msgSend_81Ptr.asFunction< + double Function(ffi.Pointer, ffi.Pointer)>(); + + double _objc_msgSend_81_fpret( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_81_fpret( + obj, + sel, + ); + } + + late final __objc_msgSend_81_fpretPtr = _lookup< + ffi.NativeFunction< + ffi.Double Function(ffi.Pointer, + ffi.Pointer)>>('objc_msgSend_fpret'); + late final __objc_msgSend_81_fpret = __objc_msgSend_81_fpretPtr.asFunction< + double Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_boolValue1 = _registerName1("boolValue"); + late final _sel_integerValue1 = _registerName1("integerValue"); + late final _sel_unsignedIntegerValue1 = + _registerName1("unsignedIntegerValue"); + late final _sel_stringValue1 = _registerName1("stringValue"); + late final _sel_compare_1 = _registerName1("compare:"); + int _objc_msgSend_82( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer otherNumber, + ) { + return __objc_msgSend_82( + obj, + sel, + otherNumber, + ); + } + + late final __objc_msgSend_82Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_82 = __objc_msgSend_82Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_isEqualToNumber_1 = _registerName1("isEqualToNumber:"); + bool _objc_msgSend_83( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer number, + ) { + return __objc_msgSend_83( + obj, + sel, + number, + ); + } + + late final __objc_msgSend_83Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_83 = __objc_msgSend_83Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_descriptionWithLocale_1 = + _registerName1("descriptionWithLocale:"); + ffi.Pointer _objc_msgSend_84( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer locale, + ) { + return __objc_msgSend_84( + obj, + sel, + locale, + ); + } + + late final __objc_msgSend_84Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_84 = __objc_msgSend_84Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_port1 = _registerName1("port"); + ffi.Pointer _objc_msgSend_85( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_85( + obj, + sel, + ); + } + + late final __objc_msgSend_85Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_85 = __objc_msgSend_85Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_user1 = _registerName1("user"); + late final _sel_password1 = _registerName1("password"); + late final _sel_path1 = _registerName1("path"); + late final _sel_fragment1 = _registerName1("fragment"); + late final _sel_parameterString1 = _registerName1("parameterString"); + late final _sel_query1 = _registerName1("query"); + late final _sel_relativePath1 = _registerName1("relativePath"); + late final _sel_hasDirectoryPath1 = _registerName1("hasDirectoryPath"); + late final _sel_getFileSystemRepresentation_maxLength_1 = + _registerName1("getFileSystemRepresentation:maxLength:"); + bool _objc_msgSend_86( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer buffer, + int maxBufferLength, + ) { + return __objc_msgSend_86( + obj, + sel, + buffer, + maxBufferLength, + ); + } + + late final __objc_msgSend_86Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_86 = __objc_msgSend_86Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + late final _sel_fileSystemRepresentation1 = + _registerName1("fileSystemRepresentation"); + late final _sel_isFileURL1 = _registerName1("isFileURL"); + late final _sel_standardizedURL1 = _registerName1("standardizedURL"); + late final _sel_isFileReferenceURL1 = _registerName1("isFileReferenceURL"); + late final _sel_fileReferenceURL1 = _registerName1("fileReferenceURL"); + late final _sel_filePathURL1 = _registerName1("filePathURL"); + late final _class_NSError1 = _getClass1("NSError"); + late final _sel_initWithDomain_code_userInfo_1 = + _registerName1("initWithDomain:code:userInfo:"); + instancetype _objc_msgSend_87( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer domain, + int code, + ffi.Pointer dict, + ) { + return __objc_msgSend_87( + obj, + sel, + domain, + code, + dict, + ); + } + + late final __objc_msgSend_87Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Long, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_87 = __objc_msgSend_87Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int, ffi.Pointer)>(); + + late final _sel_errorWithDomain_code_userInfo_1 = + _registerName1("errorWithDomain:code:userInfo:"); + late final _sel_domain1 = _registerName1("domain"); + late final _sel_code1 = _registerName1("code"); + late final _sel_userInfo1 = _registerName1("userInfo"); + late final _sel_localizedDescription1 = + _registerName1("localizedDescription"); + late final _sel_localizedFailureReason1 = + _registerName1("localizedFailureReason"); + late final _sel_localizedRecoverySuggestion1 = + _registerName1("localizedRecoverySuggestion"); + late final _sel_localizedRecoveryOptions1 = + _registerName1("localizedRecoveryOptions"); + late final _sel_recoveryAttempter1 = _registerName1("recoveryAttempter"); + late final _sel_helpAnchor1 = _registerName1("helpAnchor"); + late final _sel_underlyingErrors1 = _registerName1("underlyingErrors"); + ffi.Pointer<_ObjCBlockDesc> _newBlockDesc1() { + final d = + pkg_ffi.calloc.allocate<_ObjCBlockDesc>(ffi.sizeOf<_ObjCBlockDesc>()); + d.ref.reserved = 0; + d.ref.size = ffi.sizeOf<_ObjCBlock>(); + d.ref.copy_helper = ffi.nullptr; + d.ref.dispose_helper = ffi.nullptr; + d.ref.signature = ffi.nullptr; + return d; + } + + late final _objc_block_desc1 = _newBlockDesc1(); + late final _objc_concrete_global_block1 = + _lookup('_NSConcreteGlobalBlock'); + ffi.Pointer<_ObjCBlock> _newBlock1( + ffi.Pointer invoke, ffi.Pointer target) { + final b = pkg_ffi.calloc.allocate<_ObjCBlock>(ffi.sizeOf<_ObjCBlock>()); + b.ref.isa = _objc_concrete_global_block1; + b.ref.flags = 0; + b.ref.reserved = 0; + b.ref.invoke = invoke; + b.ref.target = target; + b.ref.descriptor = _objc_block_desc1; + final copy = _Block_copy(b.cast()).cast<_ObjCBlock>(); + pkg_ffi.calloc.free(b); + return copy; + } + + ffi.Pointer _Block_copy( + ffi.Pointer value, + ) { + return __Block_copy( + value, + ); + } + + late final __Block_copyPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('_Block_copy'); + late final __Block_copy = __Block_copyPtr + .asFunction Function(ffi.Pointer)>(); + + void _Block_release( + ffi.Pointer value, + ) { + return __Block_release( + value, + ); + } + + late final __Block_releasePtr = + _lookup)>>( + '_Block_release'); + late final __Block_release = + __Block_releasePtr.asFunction)>(); + + late final _objc_releaseFinalizer11 = + ffi.NativeFinalizer(__Block_releasePtr.cast()); + late final _sel_setUserInfoValueProviderForDomain_provider_1 = + _registerName1("setUserInfoValueProviderForDomain:provider:"); + void _objc_msgSend_88( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer errorDomain, + ffi.Pointer<_ObjCBlock> provider, + ) { + return __objc_msgSend_88( + obj, + sel, + errorDomain, + provider, + ); + } + + late final __objc_msgSend_88Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); + late final __objc_msgSend_88 = __objc_msgSend_88Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer<_ObjCBlock>)>(); + + late final _sel_userInfoValueProviderForDomain_1 = + _registerName1("userInfoValueProviderForDomain:"); + ffi.Pointer<_ObjCBlock> _objc_msgSend_89( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer err, + ffi.Pointer userInfoKey, + ffi.Pointer errorDomain, + ) { + return __objc_msgSend_89( + obj, + sel, + err, + userInfoKey, + errorDomain, + ); + } + + late final __objc_msgSend_89Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer<_ObjCBlock> Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_89 = __objc_msgSend_89Ptr.asFunction< + ffi.Pointer<_ObjCBlock> Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_getResourceValue_forKey_error_1 = + _registerName1("getResourceValue:forKey:error:"); + bool _objc_msgSend_90( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer> value, + ffi.Pointer key, + ffi.Pointer> error, + ) { + return __objc_msgSend_90( + obj, + sel, + value, + key, + error, + ); + } + + late final __objc_msgSend_90Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>, + ffi.Pointer, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_90 = __objc_msgSend_90Ptr.asFunction< + bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>, + ffi.Pointer, + ffi.Pointer>)>(); + + late final _sel_resourceValuesForKeys_error_1 = + _registerName1("resourceValuesForKeys:error:"); + ffi.Pointer _objc_msgSend_91( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer keys, + ffi.Pointer> error, + ) { + return __objc_msgSend_91( + obj, + sel, + keys, + error, + ); + } + + late final __objc_msgSend_91Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_91 = __objc_msgSend_91Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>(); + + late final _sel_setResourceValue_forKey_error_1 = + _registerName1("setResourceValue:forKey:error:"); + bool _objc_msgSend_92( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ffi.Pointer key, + ffi.Pointer> error, + ) { + return __objc_msgSend_92( + obj, + sel, + value, + key, + error, + ); + } + + late final __objc_msgSend_92Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_92 = __objc_msgSend_92Ptr.asFunction< + bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>(); + + late final _sel_setResourceValues_error_1 = + _registerName1("setResourceValues:error:"); + bool _objc_msgSend_93( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer keyedValues, + ffi.Pointer> error, + ) { + return __objc_msgSend_93( + obj, + sel, + keyedValues, + error, + ); + } + + late final __objc_msgSend_93Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_93 = __objc_msgSend_93Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer>)>(); + + late final _sel_removeCachedResourceValueForKey_1 = + _registerName1("removeCachedResourceValueForKey:"); + void _objc_msgSend_94( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer key, + ) { + return __objc_msgSend_94( + obj, + sel, + key, + ); + } + + late final __objc_msgSend_94Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_94 = __objc_msgSend_94Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_removeAllCachedResourceValues1 = + _registerName1("removeAllCachedResourceValues"); + late final _sel_setTemporaryResourceValue_forKey_1 = + _registerName1("setTemporaryResourceValue:forKey:"); + void _objc_msgSend_95( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ffi.Pointer key, + ) { + return __objc_msgSend_95( + obj, + sel, + value, + key, + ); + } + + late final __objc_msgSend_95Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_95 = __objc_msgSend_95Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_bookmarkDataWithOptions_includingResourceValuesForKeys_relativeToURL_error_1 = + _registerName1( + "bookmarkDataWithOptions:includingResourceValuesForKeys:relativeToURL:error:"); + ffi.Pointer _objc_msgSend_96( + ffi.Pointer obj, + ffi.Pointer sel, + int options, + ffi.Pointer keys, + ffi.Pointer relativeURL, + ffi.Pointer> error, + ) { + return __objc_msgSend_96( + obj, + sel, + options, + keys, + relativeURL, + error, + ); + } + + late final __objc_msgSend_96Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_96 = __objc_msgSend_96Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + int, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>(); + + late final _sel_initByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_1 = + _registerName1( + "initByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:"); + instancetype _objc_msgSend_97( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer bookmarkData, + int options, + ffi.Pointer relativeURL, + ffi.Pointer isStale, + ffi.Pointer> error, + ) { + return __objc_msgSend_97( + obj, + sel, + bookmarkData, + options, + relativeURL, + isStale, + error, + ); + } + + late final __objc_msgSend_97Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_97 = __objc_msgSend_97Ptr.asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>(); + + late final _sel_URLByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_1 = + _registerName1( + "URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:"); + late final _sel_resourceValuesForKeys_fromBookmarkData_1 = + _registerName1("resourceValuesForKeys:fromBookmarkData:"); + ffi.Pointer _objc_msgSend_98( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer keys, + ffi.Pointer bookmarkData, + ) { + return __objc_msgSend_98( + obj, + sel, + keys, + bookmarkData, + ); + } + + late final __objc_msgSend_98Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_98 = __objc_msgSend_98Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_writeBookmarkData_toURL_options_error_1 = + _registerName1("writeBookmarkData:toURL:options:error:"); + bool _objc_msgSend_99( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer bookmarkData, + ffi.Pointer bookmarkFileURL, + int options, + ffi.Pointer> error, + ) { + return __objc_msgSend_99( + obj, + sel, + bookmarkData, + bookmarkFileURL, + options, + error, + ); + } + + late final __objc_msgSend_99Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_99 = __objc_msgSend_99Ptr.asFunction< + bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int, + ffi.Pointer>)>(); + + late final _sel_bookmarkDataWithContentsOfURL_error_1 = + _registerName1("bookmarkDataWithContentsOfURL:error:"); + ffi.Pointer _objc_msgSend_100( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer bookmarkFileURL, + ffi.Pointer> error, + ) { + return __objc_msgSend_100( + obj, + sel, + bookmarkFileURL, + error, + ); + } + + late final __objc_msgSend_100Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_100 = __objc_msgSend_100Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>(); + + late final _sel_URLByResolvingAliasFileAtURL_options_error_1 = + _registerName1("URLByResolvingAliasFileAtURL:options:error:"); + instancetype _objc_msgSend_101( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer url, + int options, + ffi.Pointer> error, + ) { + return __objc_msgSend_101( + obj, + sel, + url, + options, + error, + ); + } + + late final __objc_msgSend_101Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_101 = __objc_msgSend_101Ptr.asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int, + ffi.Pointer>)>(); + + late final _sel_startAccessingSecurityScopedResource1 = + _registerName1("startAccessingSecurityScopedResource"); + late final _sel_stopAccessingSecurityScopedResource1 = + _registerName1("stopAccessingSecurityScopedResource"); + late final _sel_initWithURL_callbackURLScheme_completionHandler_1 = + _registerName1("initWithURL:callbackURLScheme:completionHandler:"); + instancetype _objc_msgSend_102( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer URL, + ffi.Pointer callbackURLScheme, + ASWebAuthenticationSessionCompletionHandler completionHandler, + ) { + return __objc_msgSend_102( + obj, + sel, + URL, + callbackURLScheme, + completionHandler, + ); + } + + late final __objc_msgSend_102Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ASWebAuthenticationSessionCompletionHandler)>>('objc_msgSend'); + late final __objc_msgSend_102 = __objc_msgSend_102Ptr.asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ASWebAuthenticationSessionCompletionHandler)>(); + + late final _sel_presentationContextProvider1 = + _registerName1("presentationContextProvider"); + late final _sel_setPresentationContextProvider_1 = + _registerName1("setPresentationContextProvider:"); + late final _sel_prefersEphemeralWebBrowserSession1 = + _registerName1("prefersEphemeralWebBrowserSession"); + late final _sel_setPrefersEphemeralWebBrowserSession_1 = + _registerName1("setPrefersEphemeralWebBrowserSession:"); + void _objc_msgSend_103( + ffi.Pointer obj, + ffi.Pointer sel, + bool value, + ) { + return __objc_msgSend_103( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_103Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_103 = __objc_msgSend_103Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, bool)>(); + + late final _sel_canStart1 = _registerName1("canStart"); + late final _sel_start1 = _registerName1("start"); + late final _sel_cancel1 = _registerName1("cancel"); + late final _class_NSWindow1 = _getClass1("NSWindow"); + late final _class_NSResponder1 = _getClass1("NSResponder"); + late final _sel_nextResponder1 = _registerName1("nextResponder"); + ffi.Pointer _objc_msgSend_104( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_104( + obj, + sel, + ); + } + + late final __objc_msgSend_104Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_104 = __objc_msgSend_104Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setNextResponder_1 = _registerName1("setNextResponder:"); + void _objc_msgSend_105( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_105( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_105Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_105 = __objc_msgSend_105Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_tryToPerform_with_1 = _registerName1("tryToPerform:with:"); + bool _objc_msgSend_106( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer action, + ffi.Pointer object, + ) { + return __objc_msgSend_106( + obj, + sel, + action, + object, + ); + } + + late final __objc_msgSend_106Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_106 = __objc_msgSend_106Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _class_NSEvent1 = _getClass1("NSEvent"); + late final _sel_type1 = _registerName1("type"); + int _objc_msgSend_107( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_107( + obj, + sel, + ); + } + + late final __objc_msgSend_107Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_107 = __objc_msgSend_107Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_modifierFlags1 = _registerName1("modifierFlags"); + int _objc_msgSend_108( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_108( + obj, + sel, + ); + } + + late final __objc_msgSend_108Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_108 = __objc_msgSend_108Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_timestamp1 = _registerName1("timestamp"); + late final _sel_window1 = _registerName1("window"); + ffi.Pointer _objc_msgSend_109( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_109( + obj, + sel, + ); + } + + late final __objc_msgSend_109Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_109 = __objc_msgSend_109Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_windowNumber1 = _registerName1("windowNumber"); + late final _class_NSGraphicsContext1 = _getClass1("NSGraphicsContext"); + late final _sel_context1 = _registerName1("context"); + ffi.Pointer _objc_msgSend_110( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_110( + obj, + sel, + ); + } + + late final __objc_msgSend_110Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_110 = __objc_msgSend_110Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_clickCount1 = _registerName1("clickCount"); + late final _sel_buttonNumber1 = _registerName1("buttonNumber"); + late final _sel_eventNumber1 = _registerName1("eventNumber"); + late final _sel_pressure1 = _registerName1("pressure"); + late final _sel_locationInWindow1 = _registerName1("locationInWindow"); + CGPoint _objc_msgSend_111( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_111( + obj, + sel, + ); + } + + late final __objc_msgSend_111Ptr = _lookup< + ffi.NativeFunction< + CGPoint Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_111 = __objc_msgSend_111Ptr.asFunction< + CGPoint Function(ffi.Pointer, ffi.Pointer)>(); + + void _objc_msgSend_111_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_111_stret( + stret, + obj, + sel, + ); + } + + late final __objc_msgSend_111_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend_stret'); + late final __objc_msgSend_111_stret = __objc_msgSend_111_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_deltaX1 = _registerName1("deltaX"); + late final _sel_deltaY1 = _registerName1("deltaY"); + late final _sel_deltaZ1 = _registerName1("deltaZ"); + late final _sel_hasPreciseScrollingDeltas1 = + _registerName1("hasPreciseScrollingDeltas"); + late final _sel_scrollingDeltaX1 = _registerName1("scrollingDeltaX"); + late final _sel_scrollingDeltaY1 = _registerName1("scrollingDeltaY"); + late final _sel_momentumPhase1 = _registerName1("momentumPhase"); + int _objc_msgSend_112( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_112( + obj, + sel, + ); + } + + late final __objc_msgSend_112Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_112 = __objc_msgSend_112Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_isDirectionInvertedFromDevice1 = + _registerName1("isDirectionInvertedFromDevice"); + late final _sel_characters1 = _registerName1("characters"); + late final _sel_charactersIgnoringModifiers1 = + _registerName1("charactersIgnoringModifiers"); + late final _sel_charactersByApplyingModifiers_1 = + _registerName1("charactersByApplyingModifiers:"); + ffi.Pointer _objc_msgSend_113( + ffi.Pointer obj, + ffi.Pointer sel, + int modifiers, + ) { + return __objc_msgSend_113( + obj, + sel, + modifiers, + ); + } + + late final __objc_msgSend_113Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_113 = __objc_msgSend_113Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_isARepeat1 = _registerName1("isARepeat"); + late final _sel_keyCode1 = _registerName1("keyCode"); + late final _sel_trackingNumber1 = _registerName1("trackingNumber"); + late final _sel_userData1 = _registerName1("userData"); + late final _class_NSTrackingArea1 = _getClass1("NSTrackingArea"); + late final _sel_trackingArea1 = _registerName1("trackingArea"); + ffi.Pointer _objc_msgSend_114( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_114( + obj, + sel, + ); + } + + late final __objc_msgSend_114Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_114 = __objc_msgSend_114Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_subtype1 = _registerName1("subtype"); + int _objc_msgSend_115( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_115( + obj, + sel, + ); + } + + late final __objc_msgSend_115Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_115 = __objc_msgSend_115Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_data11 = _registerName1("data1"); + late final _sel_data21 = _registerName1("data2"); + late final _sel_eventRef1 = _registerName1("eventRef"); + late final _sel_eventWithEventRef_1 = _registerName1("eventWithEventRef:"); + ffi.Pointer _objc_msgSend_116( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer eventRef, + ) { + return __objc_msgSend_116( + obj, + sel, + eventRef, + ); + } + + late final __objc_msgSend_116Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_116 = __objc_msgSend_116Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_CGEvent1 = _registerName1("CGEvent"); + ffi.Pointer<__CGEvent> _objc_msgSend_117( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_117( + obj, + sel, + ); + } + + late final __objc_msgSend_117Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer<__CGEvent> Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_117 = __objc_msgSend_117Ptr.asFunction< + ffi.Pointer<__CGEvent> Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_eventWithCGEvent_1 = _registerName1("eventWithCGEvent:"); + ffi.Pointer _objc_msgSend_118( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer<__CGEvent> cgEvent, + ) { + return __objc_msgSend_118( + obj, + sel, + cgEvent, + ); + } + + late final __objc_msgSend_118Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer<__CGEvent>)>>('objc_msgSend'); + late final __objc_msgSend_118 = __objc_msgSend_118Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer<__CGEvent>)>(); + + late final _sel_isMouseCoalescingEnabled1 = + _registerName1("isMouseCoalescingEnabled"); + late final _sel_setMouseCoalescingEnabled_1 = + _registerName1("setMouseCoalescingEnabled:"); + late final _sel_magnification1 = _registerName1("magnification"); + late final _sel_deviceID1 = _registerName1("deviceID"); + late final _sel_rotation1 = _registerName1("rotation"); + late final _sel_absoluteX1 = _registerName1("absoluteX"); + late final _sel_absoluteY1 = _registerName1("absoluteY"); + late final _sel_absoluteZ1 = _registerName1("absoluteZ"); + late final _sel_buttonMask1 = _registerName1("buttonMask"); + int _objc_msgSend_119( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_119( + obj, + sel, + ); + } + + late final __objc_msgSend_119Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_119 = __objc_msgSend_119Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_tilt1 = _registerName1("tilt"); + late final _sel_tangentialPressure1 = _registerName1("tangentialPressure"); + late final _sel_vendorDefined1 = _registerName1("vendorDefined"); + late final _sel_vendorID1 = _registerName1("vendorID"); + late final _sel_tabletID1 = _registerName1("tabletID"); + late final _sel_pointingDeviceID1 = _registerName1("pointingDeviceID"); + late final _sel_systemTabletID1 = _registerName1("systemTabletID"); + late final _sel_vendorPointingDeviceType1 = + _registerName1("vendorPointingDeviceType"); + late final _sel_pointingDeviceSerialNumber1 = + _registerName1("pointingDeviceSerialNumber"); + late final _sel_uniqueID1 = _registerName1("uniqueID"); + late final _sel_capabilityMask1 = _registerName1("capabilityMask"); + late final _sel_pointingDeviceType1 = _registerName1("pointingDeviceType"); + int _objc_msgSend_120( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_120( + obj, + sel, + ); + } + + late final __objc_msgSend_120Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_120 = __objc_msgSend_120Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_isEnteringProximity1 = _registerName1("isEnteringProximity"); + late final _class_NSView1 = _getClass1("NSView"); + late final _sel_initWithFrame_1 = _registerName1("initWithFrame:"); + instancetype _objc_msgSend_121( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect frameRect, + ) { + return __objc_msgSend_121( + obj, + sel, + frameRect, + ); + } + + late final __objc_msgSend_121Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + CGRect)>>('objc_msgSend'); + late final __objc_msgSend_121 = __objc_msgSend_121Ptr.asFunction< + instancetype Function( + ffi.Pointer, ffi.Pointer, CGRect)>(); + + late final _sel_superview1 = _registerName1("superview"); + ffi.Pointer _objc_msgSend_122( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_122( + obj, + sel, + ); + } + + late final __objc_msgSend_122Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_122 = __objc_msgSend_122Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_subviews1 = _registerName1("subviews"); + late final _sel_setSubviews_1 = _registerName1("setSubviews:"); + void _objc_msgSend_123( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_123( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_123Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_123 = __objc_msgSend_123Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_isDescendantOf_1 = _registerName1("isDescendantOf:"); + bool _objc_msgSend_124( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer view, + ) { + return __objc_msgSend_124( + obj, + sel, + view, + ); + } + + late final __objc_msgSend_124Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_124 = __objc_msgSend_124Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_ancestorSharedWithView_1 = + _registerName1("ancestorSharedWithView:"); + ffi.Pointer _objc_msgSend_125( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer view, + ) { + return __objc_msgSend_125( + obj, + sel, + view, + ); + } + + late final __objc_msgSend_125Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_125 = __objc_msgSend_125Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_opaqueAncestor1 = _registerName1("opaqueAncestor"); + late final _sel_isHidden1 = _registerName1("isHidden"); + late final _sel_setHidden_1 = _registerName1("setHidden:"); + late final _sel_isHiddenOrHasHiddenAncestor1 = + _registerName1("isHiddenOrHasHiddenAncestor"); + late final _sel_getRectsBeingDrawn_count_1 = + _registerName1("getRectsBeingDrawn:count:"); + void _objc_msgSend_126( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer> rects, + ffi.Pointer count, + ) { + return __objc_msgSend_126( + obj, + sel, + rects, + count, + ); + } + + late final __objc_msgSend_126Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_126 = __objc_msgSend_126Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer>, ffi.Pointer)>(); + + late final _sel_needsToDrawRect_1 = _registerName1("needsToDrawRect:"); + bool _objc_msgSend_127( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect rect, + ) { + return __objc_msgSend_127( + obj, + sel, + rect, + ); + } + + late final __objc_msgSend_127Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + CGRect)>>('objc_msgSend'); + late final __objc_msgSend_127 = __objc_msgSend_127Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, CGRect)>(); + + late final _sel_wantsDefaultClipping1 = + _registerName1("wantsDefaultClipping"); + late final _sel_viewDidHide1 = _registerName1("viewDidHide"); + late final _sel_viewDidUnhide1 = _registerName1("viewDidUnhide"); + late final _sel_addSubview_1 = _registerName1("addSubview:"); + void _objc_msgSend_128( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer view, + ) { + return __objc_msgSend_128( + obj, + sel, + view, + ); + } + + late final __objc_msgSend_128Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_128 = __objc_msgSend_128Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_addSubview_positioned_relativeTo_1 = + _registerName1("addSubview:positioned:relativeTo:"); + void _objc_msgSend_129( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer view, + int place, + ffi.Pointer otherView, + ) { + return __objc_msgSend_129( + obj, + sel, + view, + place, + otherView, + ); + } + + late final __objc_msgSend_129Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_129 = __objc_msgSend_129Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int, ffi.Pointer)>(); + + late final _sel_sortSubviewsUsingFunction_context_1 = + _registerName1("sortSubviewsUsingFunction:context:"); + void _objc_msgSend_130( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer< + ffi.NativeFunction< + ffi.Int32 Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>> + compare, + ffi.Pointer context, + ) { + return __objc_msgSend_130( + obj, + sel, + compare, + context, + ); + } + + late final __objc_msgSend_130Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer< + ffi.NativeFunction< + ffi.Int32 Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_130 = __objc_msgSend_130Ptr.asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer< + ffi.NativeFunction< + ffi.Int32 Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>, + ffi.Pointer)>(); + + late final _sel_viewWillMoveToWindow_1 = + _registerName1("viewWillMoveToWindow:"); + void _objc_msgSend_131( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer newWindow, + ) { + return __objc_msgSend_131( + obj, + sel, + newWindow, + ); + } + + late final __objc_msgSend_131Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_131 = __objc_msgSend_131Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_viewDidMoveToWindow1 = _registerName1("viewDidMoveToWindow"); + late final _sel_viewWillMoveToSuperview_1 = + _registerName1("viewWillMoveToSuperview:"); + void _objc_msgSend_132( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer newSuperview, + ) { + return __objc_msgSend_132( + obj, + sel, + newSuperview, + ); + } + + late final __objc_msgSend_132Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_132 = __objc_msgSend_132Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_viewDidMoveToSuperview1 = + _registerName1("viewDidMoveToSuperview"); + late final _sel_didAddSubview_1 = _registerName1("didAddSubview:"); + late final _sel_willRemoveSubview_1 = _registerName1("willRemoveSubview:"); + late final _sel_removeFromSuperview1 = _registerName1("removeFromSuperview"); + late final _sel_replaceSubview_with_1 = + _registerName1("replaceSubview:with:"); + void _objc_msgSend_133( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer oldView, + ffi.Pointer newView, + ) { + return __objc_msgSend_133( + obj, + sel, + oldView, + newView, + ); + } + + late final __objc_msgSend_133Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_133 = __objc_msgSend_133Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_removeFromSuperviewWithoutNeedingDisplay1 = + _registerName1("removeFromSuperviewWithoutNeedingDisplay"); + late final _sel_viewDidChangeBackingProperties1 = + _registerName1("viewDidChangeBackingProperties"); + late final _sel_postsFrameChangedNotifications1 = + _registerName1("postsFrameChangedNotifications"); + late final _sel_setPostsFrameChangedNotifications_1 = + _registerName1("setPostsFrameChangedNotifications:"); + late final _sel_resizeSubviewsWithOldSize_1 = + _registerName1("resizeSubviewsWithOldSize:"); + void _objc_msgSend_134( + ffi.Pointer obj, + ffi.Pointer sel, + CGSize oldSize, + ) { + return __objc_msgSend_134( + obj, + sel, + oldSize, + ); + } + + late final __objc_msgSend_134Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + CGSize)>>('objc_msgSend'); + late final __objc_msgSend_134 = __objc_msgSend_134Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, CGSize)>(); + + late final _sel_resizeWithOldSuperviewSize_1 = + _registerName1("resizeWithOldSuperviewSize:"); + late final _sel_autoresizesSubviews1 = _registerName1("autoresizesSubviews"); + late final _sel_setAutoresizesSubviews_1 = + _registerName1("setAutoresizesSubviews:"); + late final _sel_autoresizingMask1 = _registerName1("autoresizingMask"); + int _objc_msgSend_135( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_135( + obj, + sel, + ); + } + + late final __objc_msgSend_135Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_135 = __objc_msgSend_135Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setAutoresizingMask_1 = + _registerName1("setAutoresizingMask:"); + void _objc_msgSend_136( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_136( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_136Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_136 = __objc_msgSend_136Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_setFrameOrigin_1 = _registerName1("setFrameOrigin:"); + void _objc_msgSend_137( + ffi.Pointer obj, + ffi.Pointer sel, + CGPoint newOrigin, + ) { + return __objc_msgSend_137( + obj, + sel, + newOrigin, + ); + } + + late final __objc_msgSend_137Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + CGPoint)>>('objc_msgSend'); + late final __objc_msgSend_137 = __objc_msgSend_137Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, CGPoint)>(); + + late final _sel_setFrameSize_1 = _registerName1("setFrameSize:"); + late final _sel_frame1 = _registerName1("frame"); + CGRect _objc_msgSend_138( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_138( + obj, + sel, + ); + } + + late final __objc_msgSend_138Ptr = _lookup< + ffi.NativeFunction< + CGRect Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_138 = __objc_msgSend_138Ptr.asFunction< + CGRect Function(ffi.Pointer, ffi.Pointer)>(); + + void _objc_msgSend_138_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_138_stret( + stret, + obj, + sel, + ); + } + + late final __objc_msgSend_138_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend_stret'); + late final __objc_msgSend_138_stret = __objc_msgSend_138_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_setFrame_1 = _registerName1("setFrame:"); + void _objc_msgSend_139( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect value, + ) { + return __objc_msgSend_139( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_139Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + CGRect)>>('objc_msgSend'); + late final __objc_msgSend_139 = __objc_msgSend_139Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, CGRect)>(); + + late final _sel_frameRotation1 = _registerName1("frameRotation"); + late final _sel_setFrameRotation_1 = _registerName1("setFrameRotation:"); + void _objc_msgSend_140( + ffi.Pointer obj, + ffi.Pointer sel, + double value, + ) { + return __objc_msgSend_140( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_140Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Double)>>('objc_msgSend'); + late final __objc_msgSend_140 = __objc_msgSend_140Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, double)>(); + + late final _sel_frameCenterRotation1 = _registerName1("frameCenterRotation"); + late final _sel_setFrameCenterRotation_1 = + _registerName1("setFrameCenterRotation:"); + late final _sel_setBoundsOrigin_1 = _registerName1("setBoundsOrigin:"); + late final _sel_setBoundsSize_1 = _registerName1("setBoundsSize:"); + late final _sel_boundsRotation1 = _registerName1("boundsRotation"); + late final _sel_setBoundsRotation_1 = _registerName1("setBoundsRotation:"); + late final _sel_translateOriginToPoint_1 = + _registerName1("translateOriginToPoint:"); + late final _sel_scaleUnitSquareToSize_1 = + _registerName1("scaleUnitSquareToSize:"); + late final _sel_rotateByAngle_1 = _registerName1("rotateByAngle:"); + void _objc_msgSend_141( + ffi.Pointer obj, + ffi.Pointer sel, + double angle, + ) { + return __objc_msgSend_141( + obj, + sel, + angle, + ); + } + + late final __objc_msgSend_141Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Double)>>('objc_msgSend'); + late final __objc_msgSend_141 = __objc_msgSend_141Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, double)>(); + + late final _sel_bounds1 = _registerName1("bounds"); + late final _sel_setBounds_1 = _registerName1("setBounds:"); + late final _sel_isFlipped1 = _registerName1("isFlipped"); + late final _sel_isRotatedFromBase1 = _registerName1("isRotatedFromBase"); + late final _sel_isRotatedOrScaledFromBase1 = + _registerName1("isRotatedOrScaledFromBase"); + late final _sel_isOpaque1 = _registerName1("isOpaque"); + late final _sel_convertPoint_fromView_1 = + _registerName1("convertPoint:fromView:"); + CGPoint _objc_msgSend_142( + ffi.Pointer obj, + ffi.Pointer sel, + CGPoint point, + ffi.Pointer view, + ) { + return __objc_msgSend_142( + obj, + sel, + point, + view, + ); + } + + late final __objc_msgSend_142Ptr = _lookup< + ffi.NativeFunction< + CGPoint Function(ffi.Pointer, ffi.Pointer, + CGPoint, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_142 = __objc_msgSend_142Ptr.asFunction< + CGPoint Function(ffi.Pointer, ffi.Pointer, CGPoint, + ffi.Pointer)>(); + + void _objc_msgSend_142_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + CGPoint point, + ffi.Pointer view, + ) { + return __objc_msgSend_142_stret( + stret, + obj, + sel, + point, + view, + ); + } + + late final __objc_msgSend_142_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + CGPoint, + ffi.Pointer)>>('objc_msgSend_stret'); + late final __objc_msgSend_142_stret = __objc_msgSend_142_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, CGPoint, ffi.Pointer)>(); + + late final _sel_convertPoint_toView_1 = + _registerName1("convertPoint:toView:"); + late final _sel_convertSize_fromView_1 = + _registerName1("convertSize:fromView:"); + CGSize _objc_msgSend_143( + ffi.Pointer obj, + ffi.Pointer sel, + CGSize size, + ffi.Pointer view, + ) { + return __objc_msgSend_143( + obj, + sel, + size, + view, + ); + } + + late final __objc_msgSend_143Ptr = _lookup< + ffi.NativeFunction< + CGSize Function(ffi.Pointer, ffi.Pointer, CGSize, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_143 = __objc_msgSend_143Ptr.asFunction< + CGSize Function(ffi.Pointer, ffi.Pointer, CGSize, + ffi.Pointer)>(); + + void _objc_msgSend_143_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + CGSize size, + ffi.Pointer view, + ) { + return __objc_msgSend_143_stret( + stret, + obj, + sel, + size, + view, + ); + } + + late final __objc_msgSend_143_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + CGSize, + ffi.Pointer)>>('objc_msgSend_stret'); + late final __objc_msgSend_143_stret = __objc_msgSend_143_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, CGSize, ffi.Pointer)>(); + + late final _sel_convertSize_toView_1 = _registerName1("convertSize:toView:"); + late final _sel_convertRect_fromView_1 = + _registerName1("convertRect:fromView:"); + CGRect _objc_msgSend_144( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect rect, + ffi.Pointer view, + ) { + return __objc_msgSend_144( + obj, + sel, + rect, + view, + ); + } + + late final __objc_msgSend_144Ptr = _lookup< + ffi.NativeFunction< + CGRect Function(ffi.Pointer, ffi.Pointer, CGRect, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_144 = __objc_msgSend_144Ptr.asFunction< + CGRect Function(ffi.Pointer, ffi.Pointer, CGRect, + ffi.Pointer)>(); + + void _objc_msgSend_144_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + CGRect rect, + ffi.Pointer view, + ) { + return __objc_msgSend_144_stret( + stret, + obj, + sel, + rect, + view, + ); + } + + late final __objc_msgSend_144_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + CGRect, + ffi.Pointer)>>('objc_msgSend_stret'); + late final __objc_msgSend_144_stret = __objc_msgSend_144_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, CGRect, ffi.Pointer)>(); + + late final _sel_convertRect_toView_1 = _registerName1("convertRect:toView:"); + late final _sel_backingAlignedRect_options_1 = + _registerName1("backingAlignedRect:options:"); + CGRect _objc_msgSend_145( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect rect, + int options, + ) { + return __objc_msgSend_145( + obj, + sel, + rect, + options, + ); + } + + late final __objc_msgSend_145Ptr = _lookup< + ffi.NativeFunction< + CGRect Function(ffi.Pointer, ffi.Pointer, CGRect, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_145 = __objc_msgSend_145Ptr.asFunction< + CGRect Function( + ffi.Pointer, ffi.Pointer, CGRect, int)>(); + + void _objc_msgSend_145_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + CGRect rect, + int options, + ) { + return __objc_msgSend_145_stret( + stret, + obj, + sel, + rect, + options, + ); + } + + late final __objc_msgSend_145_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, CGRect, ffi.Int32)>>('objc_msgSend_stret'); + late final __objc_msgSend_145_stret = __objc_msgSend_145_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, CGRect, int)>(); + + late final _sel_centerScanRect_1 = _registerName1("centerScanRect:"); + CGRect _objc_msgSend_146( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect rect, + ) { + return __objc_msgSend_146( + obj, + sel, + rect, + ); + } + + late final __objc_msgSend_146Ptr = _lookup< + ffi.NativeFunction< + CGRect Function(ffi.Pointer, ffi.Pointer, + CGRect)>>('objc_msgSend'); + late final __objc_msgSend_146 = __objc_msgSend_146Ptr.asFunction< + CGRect Function(ffi.Pointer, ffi.Pointer, CGRect)>(); + + void _objc_msgSend_146_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + CGRect rect, + ) { + return __objc_msgSend_146_stret( + stret, + obj, + sel, + rect, + ); + } + + late final __objc_msgSend_146_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, CGRect)>>('objc_msgSend_stret'); + late final __objc_msgSend_146_stret = __objc_msgSend_146_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, CGRect)>(); + + late final _sel_convertPointToBacking_1 = + _registerName1("convertPointToBacking:"); + CGPoint _objc_msgSend_147( + ffi.Pointer obj, + ffi.Pointer sel, + CGPoint point, + ) { + return __objc_msgSend_147( + obj, + sel, + point, + ); + } + + late final __objc_msgSend_147Ptr = _lookup< + ffi.NativeFunction< + CGPoint Function(ffi.Pointer, ffi.Pointer, + CGPoint)>>('objc_msgSend'); + late final __objc_msgSend_147 = __objc_msgSend_147Ptr.asFunction< + CGPoint Function( + ffi.Pointer, ffi.Pointer, CGPoint)>(); + + void _objc_msgSend_147_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + CGPoint point, + ) { + return __objc_msgSend_147_stret( + stret, + obj, + sel, + point, + ); + } + + late final __objc_msgSend_147_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, CGPoint)>>('objc_msgSend_stret'); + late final __objc_msgSend_147_stret = __objc_msgSend_147_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, CGPoint)>(); + + late final _sel_convertPointFromBacking_1 = + _registerName1("convertPointFromBacking:"); + late final _sel_convertSizeToBacking_1 = + _registerName1("convertSizeToBacking:"); + CGSize _objc_msgSend_148( + ffi.Pointer obj, + ffi.Pointer sel, + CGSize size, + ) { + return __objc_msgSend_148( + obj, + sel, + size, + ); + } + + late final __objc_msgSend_148Ptr = _lookup< + ffi.NativeFunction< + CGSize Function(ffi.Pointer, ffi.Pointer, + CGSize)>>('objc_msgSend'); + late final __objc_msgSend_148 = __objc_msgSend_148Ptr.asFunction< + CGSize Function(ffi.Pointer, ffi.Pointer, CGSize)>(); + + void _objc_msgSend_148_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + CGSize size, + ) { + return __objc_msgSend_148_stret( + stret, + obj, + sel, + size, + ); + } + + late final __objc_msgSend_148_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, CGSize)>>('objc_msgSend_stret'); + late final __objc_msgSend_148_stret = __objc_msgSend_148_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, CGSize)>(); + + late final _sel_convertSizeFromBacking_1 = + _registerName1("convertSizeFromBacking:"); + late final _sel_convertRectToBacking_1 = + _registerName1("convertRectToBacking:"); + late final _sel_convertRectFromBacking_1 = + _registerName1("convertRectFromBacking:"); + late final _sel_convertPointToLayer_1 = + _registerName1("convertPointToLayer:"); + late final _sel_convertPointFromLayer_1 = + _registerName1("convertPointFromLayer:"); + late final _sel_convertSizeToLayer_1 = _registerName1("convertSizeToLayer:"); + late final _sel_convertSizeFromLayer_1 = + _registerName1("convertSizeFromLayer:"); + late final _sel_convertRectToLayer_1 = _registerName1("convertRectToLayer:"); + late final _sel_convertRectFromLayer_1 = + _registerName1("convertRectFromLayer:"); + late final _sel_canDrawConcurrently1 = _registerName1("canDrawConcurrently"); + late final _sel_setCanDrawConcurrently_1 = + _registerName1("setCanDrawConcurrently:"); + late final _sel_canDraw1 = _registerName1("canDraw"); + late final _sel_setNeedsDisplayInRect_1 = + _registerName1("setNeedsDisplayInRect:"); + void _objc_msgSend_149( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect invalidRect, + ) { + return __objc_msgSend_149( + obj, + sel, + invalidRect, + ); + } + + late final __objc_msgSend_149Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + CGRect)>>('objc_msgSend'); + late final __objc_msgSend_149 = __objc_msgSend_149Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, CGRect)>(); + + late final _sel_needsDisplay1 = _registerName1("needsDisplay"); + late final _sel_setNeedsDisplay_1 = _registerName1("setNeedsDisplay:"); + late final _sel_lockFocus1 = _registerName1("lockFocus"); + late final _sel_unlockFocus1 = _registerName1("unlockFocus"); + late final _sel_lockFocusIfCanDraw1 = _registerName1("lockFocusIfCanDraw"); + late final _sel_lockFocusIfCanDrawInContext_1 = + _registerName1("lockFocusIfCanDrawInContext:"); + bool _objc_msgSend_150( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer context, + ) { + return __objc_msgSend_150( + obj, + sel, + context, + ); + } + + late final __objc_msgSend_150Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_150 = __objc_msgSend_150Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_focusView1 = _registerName1("focusView"); + late final _sel_visibleRect1 = _registerName1("visibleRect"); + late final _sel_display1 = _registerName1("display"); + late final _sel_displayIfNeeded1 = _registerName1("displayIfNeeded"); + late final _sel_displayIfNeededIgnoringOpacity1 = + _registerName1("displayIfNeededIgnoringOpacity"); + late final _sel_displayRect_1 = _registerName1("displayRect:"); + late final _sel_displayIfNeededInRect_1 = + _registerName1("displayIfNeededInRect:"); + late final _sel_displayRectIgnoringOpacity_1 = + _registerName1("displayRectIgnoringOpacity:"); + late final _sel_displayIfNeededInRectIgnoringOpacity_1 = + _registerName1("displayIfNeededInRectIgnoringOpacity:"); + late final _sel_drawRect_1 = _registerName1("drawRect:"); + late final _sel_displayRectIgnoringOpacity_inContext_1 = + _registerName1("displayRectIgnoringOpacity:inContext:"); + void _objc_msgSend_151( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect rect, + ffi.Pointer context, + ) { + return __objc_msgSend_151( + obj, + sel, + rect, + context, + ); + } + + late final __objc_msgSend_151Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + CGRect, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_151 = __objc_msgSend_151Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, CGRect, + ffi.Pointer)>(); + + late final _class_NSBitmapImageRep1 = _getClass1("NSBitmapImageRep"); + late final _sel_bitmapImageRepForCachingDisplayInRect_1 = + _registerName1("bitmapImageRepForCachingDisplayInRect:"); + ffi.Pointer _objc_msgSend_152( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect rect, + ) { + return __objc_msgSend_152( + obj, + sel, + rect, + ); + } + + late final __objc_msgSend_152Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, CGRect)>>('objc_msgSend'); + late final __objc_msgSend_152 = __objc_msgSend_152Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, CGRect)>(); + + late final _sel_cacheDisplayInRect_toBitmapImageRep_1 = + _registerName1("cacheDisplayInRect:toBitmapImageRep:"); + void _objc_msgSend_153( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect rect, + ffi.Pointer bitmapImageRep, + ) { + return __objc_msgSend_153( + obj, + sel, + rect, + bitmapImageRep, + ); + } + + late final __objc_msgSend_153Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + CGRect, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_153 = __objc_msgSend_153Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, CGRect, + ffi.Pointer)>(); + + late final _sel_viewWillDraw1 = _registerName1("viewWillDraw"); + late final _sel_scrollPoint_1 = _registerName1("scrollPoint:"); + late final _sel_scrollRectToVisible_1 = + _registerName1("scrollRectToVisible:"); + late final _sel_autoscroll_1 = _registerName1("autoscroll:"); + bool _objc_msgSend_154( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer event, + ) { + return __objc_msgSend_154( + obj, + sel, + event, + ); + } + + late final __objc_msgSend_154Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_154 = __objc_msgSend_154Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_adjustScroll_1 = _registerName1("adjustScroll:"); + late final _sel_scrollRect_by_1 = _registerName1("scrollRect:by:"); + void _objc_msgSend_155( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect rect, + CGSize delta, + ) { + return __objc_msgSend_155( + obj, + sel, + rect, + delta, + ); + } + + late final __objc_msgSend_155Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + CGRect, CGSize)>>('objc_msgSend'); + late final __objc_msgSend_155 = __objc_msgSend_155Ptr.asFunction< + void Function( + ffi.Pointer, ffi.Pointer, CGRect, CGSize)>(); + + late final _sel_translateRectsNeedingDisplayInRect_by_1 = + _registerName1("translateRectsNeedingDisplayInRect:by:"); + late final _sel_hitTest_1 = _registerName1("hitTest:"); + ffi.Pointer _objc_msgSend_156( + ffi.Pointer obj, + ffi.Pointer sel, + CGPoint point, + ) { + return __objc_msgSend_156( + obj, + sel, + point, + ); + } + + late final __objc_msgSend_156Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, CGPoint)>>('objc_msgSend'); + late final __objc_msgSend_156 = __objc_msgSend_156Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, CGPoint)>(); + + late final _sel_mouse_inRect_1 = _registerName1("mouse:inRect:"); + bool _objc_msgSend_157( + ffi.Pointer obj, + ffi.Pointer sel, + CGPoint point, + CGRect rect, + ) { + return __objc_msgSend_157( + obj, + sel, + point, + rect, + ); + } + + late final __objc_msgSend_157Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + CGPoint, CGRect)>>('objc_msgSend'); + late final __objc_msgSend_157 = __objc_msgSend_157Ptr.asFunction< + bool Function( + ffi.Pointer, ffi.Pointer, CGPoint, CGRect)>(); + + late final _sel_viewWithTag_1 = _registerName1("viewWithTag:"); + ffi.Pointer _objc_msgSend_158( + ffi.Pointer obj, + ffi.Pointer sel, + int tag, + ) { + return __objc_msgSend_158( + obj, + sel, + tag, + ); + } + + late final __objc_msgSend_158Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Long)>>('objc_msgSend'); + late final __objc_msgSend_158 = __objc_msgSend_158Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_tag1 = _registerName1("tag"); + late final _sel_performKeyEquivalent_1 = + _registerName1("performKeyEquivalent:"); + late final _sel_acceptsFirstMouse_1 = _registerName1("acceptsFirstMouse:"); + bool _objc_msgSend_159( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer event, + ) { + return __objc_msgSend_159( + obj, + sel, + event, + ); + } + + late final __objc_msgSend_159Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_159 = __objc_msgSend_159Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_shouldDelayWindowOrderingForEvent_1 = + _registerName1("shouldDelayWindowOrderingForEvent:"); + late final _sel_needsPanelToBecomeKey1 = + _registerName1("needsPanelToBecomeKey"); + late final _sel_mouseDownCanMoveWindow1 = + _registerName1("mouseDownCanMoveWindow"); + late final _sel_acceptsTouchEvents1 = _registerName1("acceptsTouchEvents"); + late final _sel_setAcceptsTouchEvents_1 = + _registerName1("setAcceptsTouchEvents:"); + late final _sel_wantsRestingTouches1 = _registerName1("wantsRestingTouches"); + late final _sel_setWantsRestingTouches_1 = + _registerName1("setWantsRestingTouches:"); + late final _class_CALayer1 = _getClass1("CALayer"); + late final _sel_makeBackingLayer1 = _registerName1("makeBackingLayer"); + ffi.Pointer _objc_msgSend_160( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_160( + obj, + sel, + ); + } + + late final __objc_msgSend_160Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_160 = __objc_msgSend_160Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_layerContentsRedrawPolicy1 = + _registerName1("layerContentsRedrawPolicy"); + int _objc_msgSend_161( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_161( + obj, + sel, + ); + } + + late final __objc_msgSend_161Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_161 = __objc_msgSend_161Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setLayerContentsRedrawPolicy_1 = + _registerName1("setLayerContentsRedrawPolicy:"); + void _objc_msgSend_162( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_162( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_162Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_162 = __objc_msgSend_162Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_layerContentsPlacement1 = + _registerName1("layerContentsPlacement"); + int _objc_msgSend_163( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_163( + obj, + sel, + ); + } + + late final __objc_msgSend_163Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_163 = __objc_msgSend_163Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setLayerContentsPlacement_1 = + _registerName1("setLayerContentsPlacement:"); + void _objc_msgSend_164( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_164( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_164Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_164 = __objc_msgSend_164Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_wantsLayer1 = _registerName1("wantsLayer"); + late final _sel_setWantsLayer_1 = _registerName1("setWantsLayer:"); + late final _sel_layer1 = _registerName1("layer"); + ffi.Pointer _objc_msgSend_165( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_165( + obj, + sel, + ); + } + + late final __objc_msgSend_165Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_165 = __objc_msgSend_165Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setLayer_1 = _registerName1("setLayer:"); + void _objc_msgSend_166( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_166( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_166Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_166 = __objc_msgSend_166Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_wantsUpdateLayer1 = _registerName1("wantsUpdateLayer"); + late final _sel_updateLayer1 = _registerName1("updateLayer"); + late final _sel_canDrawSubviewsIntoLayer1 = + _registerName1("canDrawSubviewsIntoLayer"); + late final _sel_setCanDrawSubviewsIntoLayer_1 = + _registerName1("setCanDrawSubviewsIntoLayer:"); + late final _sel_layoutSubtreeIfNeeded1 = + _registerName1("layoutSubtreeIfNeeded"); + late final _sel_layout1 = _registerName1("layout"); + late final _sel_needsLayout1 = _registerName1("needsLayout"); + late final _sel_setNeedsLayout_1 = _registerName1("setNeedsLayout:"); + late final _sel_alphaValue1 = _registerName1("alphaValue"); + late final _sel_setAlphaValue_1 = _registerName1("setAlphaValue:"); + late final _sel_layerUsesCoreImageFilters1 = + _registerName1("layerUsesCoreImageFilters"); + late final _sel_setLayerUsesCoreImageFilters_1 = + _registerName1("setLayerUsesCoreImageFilters:"); + late final _sel_backgroundFilters1 = _registerName1("backgroundFilters"); + late final _sel_setBackgroundFilters_1 = + _registerName1("setBackgroundFilters:"); + late final _class_CIFilter1 = _getClass1("CIFilter"); + late final _sel_compositingFilter1 = _registerName1("compositingFilter"); + ffi.Pointer _objc_msgSend_167( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_167( + obj, + sel, + ); + } + + late final __objc_msgSend_167Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_167 = __objc_msgSend_167Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setCompositingFilter_1 = + _registerName1("setCompositingFilter:"); + void _objc_msgSend_168( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_168( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_168Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_168 = __objc_msgSend_168Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_contentFilters1 = _registerName1("contentFilters"); + late final _sel_setContentFilters_1 = _registerName1("setContentFilters:"); + late final _class_NSShadow1 = _getClass1("NSShadow"); + late final _sel_shadow1 = _registerName1("shadow"); + ffi.Pointer _objc_msgSend_169( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_169( + obj, + sel, + ); + } + + late final __objc_msgSend_169Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_169 = __objc_msgSend_169Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setShadow_1 = _registerName1("setShadow:"); + void _objc_msgSend_170( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_170( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_170Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_170 = __objc_msgSend_170Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_clipsToBounds1 = _registerName1("clipsToBounds"); + late final _sel_setClipsToBounds_1 = _registerName1("setClipsToBounds:"); + late final _sel_postsBoundsChangedNotifications1 = + _registerName1("postsBoundsChangedNotifications"); + late final _sel_setPostsBoundsChangedNotifications_1 = + _registerName1("setPostsBoundsChangedNotifications:"); + late final _class_NSScrollView1 = _getClass1("NSScrollView"); + late final _sel_enclosingScrollView1 = _registerName1("enclosingScrollView"); + ffi.Pointer _objc_msgSend_171( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_171( + obj, + sel, + ); + } + + late final __objc_msgSend_171Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_171 = __objc_msgSend_171Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _class_NSMenu1 = _getClass1("NSMenu"); + late final _sel_initWithTitle_1 = _registerName1("initWithTitle:"); + instancetype _objc_msgSend_172( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer coder, + ) { + return __objc_msgSend_172( + obj, + sel, + coder, + ); + } + + late final __objc_msgSend_172Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_172 = __objc_msgSend_172Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_title1 = _registerName1("title"); + late final _sel_setTitle_1 = _registerName1("setTitle:"); + void _objc_msgSend_173( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_173( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_173Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_173 = __objc_msgSend_173Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_popUpContextMenu_withEvent_forView_1 = + _registerName1("popUpContextMenu:withEvent:forView:"); + void _objc_msgSend_174( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer menu, + ffi.Pointer event, + ffi.Pointer view, + ) { + return __objc_msgSend_174( + obj, + sel, + menu, + event, + view, + ); + } + + late final __objc_msgSend_174Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_174 = __objc_msgSend_174Ptr.asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _class_NSFont1 = _getClass1("NSFont"); + late final _sel_popUpContextMenu_withEvent_forView_withFont_1 = + _registerName1("popUpContextMenu:withEvent:forView:withFont:"); + void _objc_msgSend_175( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer menu, + ffi.Pointer event, + ffi.Pointer view, + ffi.Pointer font, + ) { + return __objc_msgSend_175( + obj, + sel, + menu, + event, + view, + font, + ); + } + + late final __objc_msgSend_175Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_175 = __objc_msgSend_175Ptr.asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _class_NSMenuItem1 = _getClass1("NSMenuItem"); + late final _sel_usesUserKeyEquivalents1 = + _registerName1("usesUserKeyEquivalents"); + late final _sel_setUsesUserKeyEquivalents_1 = + _registerName1("setUsesUserKeyEquivalents:"); + late final _sel_separatorItem1 = _registerName1("separatorItem"); + ffi.Pointer _objc_msgSend_176( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_176( + obj, + sel, + ); + } + + late final __objc_msgSend_176Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_176 = __objc_msgSend_176Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_sectionHeaderWithTitle_1 = + _registerName1("sectionHeaderWithTitle:"); + late final _sel_initWithTitle_action_keyEquivalent_1 = + _registerName1("initWithTitle:action:keyEquivalent:"); + instancetype _objc_msgSend_177( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer string, + ffi.Pointer selector, + ffi.Pointer charCode, + ) { + return __objc_msgSend_177( + obj, + sel, + string, + selector, + charCode, + ); + } + + late final __objc_msgSend_177Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_177 = __objc_msgSend_177Ptr.asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_menu1 = _registerName1("menu"); + ffi.Pointer _objc_msgSend_178( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_178( + obj, + sel, + ); + } + + late final __objc_msgSend_178Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_178 = __objc_msgSend_178Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setMenu_1 = _registerName1("setMenu:"); + void _objc_msgSend_179( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_179( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_179Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_179 = __objc_msgSend_179Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_hasSubmenu1 = _registerName1("hasSubmenu"); + late final _sel_submenu1 = _registerName1("submenu"); + late final _sel_setSubmenu_1 = _registerName1("setSubmenu:"); + late final _sel_parentItem1 = _registerName1("parentItem"); + ffi.Pointer _objc_msgSend_180( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_180( + obj, + sel, + ); + } + + late final __objc_msgSend_180Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_180 = __objc_msgSend_180Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _class_NSAttributedString1 = _getClass1("NSAttributedString"); + late final _sel_string1 = _registerName1("string"); + late final _sel_attributesAtIndex_effectiveRange_1 = + _registerName1("attributesAtIndex:effectiveRange:"); + ffi.Pointer _objc_msgSend_181( + ffi.Pointer obj, + ffi.Pointer sel, + int location, + ffi.Pointer<_NSRange> range, + ) { + return __objc_msgSend_181( + obj, + sel, + location, + range, + ); + } + + late final __objc_msgSend_181Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + ffi.Pointer<_NSRange>)>>('objc_msgSend'); + late final __objc_msgSend_181 = __objc_msgSend_181Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, int, ffi.Pointer<_NSRange>)>(); + + late final _sel_attributedTitle1 = _registerName1("attributedTitle"); + ffi.Pointer _objc_msgSend_182( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_182( + obj, + sel, + ); + } + + late final __objc_msgSend_182Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_182 = __objc_msgSend_182Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setAttributedTitle_1 = _registerName1("setAttributedTitle:"); + void _objc_msgSend_183( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_183( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_183Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_183 = __objc_msgSend_183Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_isSeparatorItem1 = _registerName1("isSeparatorItem"); + late final _sel_isSectionHeader1 = _registerName1("isSectionHeader"); + late final _sel_keyEquivalent1 = _registerName1("keyEquivalent"); + late final _sel_setKeyEquivalent_1 = _registerName1("setKeyEquivalent:"); + late final _sel_keyEquivalentModifierMask1 = + _registerName1("keyEquivalentModifierMask"); + late final _sel_setKeyEquivalentModifierMask_1 = + _registerName1("setKeyEquivalentModifierMask:"); + void _objc_msgSend_184( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_184( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_184Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_184 = __objc_msgSend_184Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_userKeyEquivalent1 = _registerName1("userKeyEquivalent"); + late final _sel_allowsKeyEquivalentWhenHidden1 = + _registerName1("allowsKeyEquivalentWhenHidden"); + late final _sel_setAllowsKeyEquivalentWhenHidden_1 = + _registerName1("setAllowsKeyEquivalentWhenHidden:"); + late final _sel_allowsAutomaticKeyEquivalentLocalization1 = + _registerName1("allowsAutomaticKeyEquivalentLocalization"); + late final _sel_setAllowsAutomaticKeyEquivalentLocalization_1 = + _registerName1("setAllowsAutomaticKeyEquivalentLocalization:"); + late final _sel_allowsAutomaticKeyEquivalentMirroring1 = + _registerName1("allowsAutomaticKeyEquivalentMirroring"); + late final _sel_setAllowsAutomaticKeyEquivalentMirroring_1 = + _registerName1("setAllowsAutomaticKeyEquivalentMirroring:"); + late final _class_NSImage1 = _getClass1("NSImage"); + late final _sel_image1 = _registerName1("image"); + ffi.Pointer _objc_msgSend_185( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_185( + obj, + sel, + ); + } + + late final __objc_msgSend_185Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_185 = __objc_msgSend_185Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setImage_1 = _registerName1("setImage:"); + void _objc_msgSend_186( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_186( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_186Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_186 = __objc_msgSend_186Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_state1 = _registerName1("state"); + late final _sel_setState_1 = _registerName1("setState:"); + void _objc_msgSend_187( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_187( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_187Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Long)>>('objc_msgSend'); + late final __objc_msgSend_187 = __objc_msgSend_187Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_onStateImage1 = _registerName1("onStateImage"); + ffi.Pointer _objc_msgSend_188( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_188( + obj, + sel, + ); + } + + late final __objc_msgSend_188Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_188 = __objc_msgSend_188Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setOnStateImage_1 = _registerName1("setOnStateImage:"); + void _objc_msgSend_189( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_189( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_189Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_189 = __objc_msgSend_189Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_offStateImage1 = _registerName1("offStateImage"); + late final _sel_setOffStateImage_1 = _registerName1("setOffStateImage:"); + late final _sel_mixedStateImage1 = _registerName1("mixedStateImage"); + late final _sel_setMixedStateImage_1 = _registerName1("setMixedStateImage:"); + late final _sel_isEnabled1 = _registerName1("isEnabled"); + late final _sel_setEnabled_1 = _registerName1("setEnabled:"); + late final _sel_isAlternate1 = _registerName1("isAlternate"); + late final _sel_setAlternate_1 = _registerName1("setAlternate:"); + late final _sel_indentationLevel1 = _registerName1("indentationLevel"); + late final _sel_setIndentationLevel_1 = + _registerName1("setIndentationLevel:"); + late final _sel_action1 = _registerName1("action"); + late final _sel_setAction_1 = _registerName1("setAction:"); + late final _sel_setTag_1 = _registerName1("setTag:"); + late final _sel_representedObject1 = _registerName1("representedObject"); + late final _sel_setRepresentedObject_1 = + _registerName1("setRepresentedObject:"); + late final _sel_view1 = _registerName1("view"); + late final _sel_setView_1 = _registerName1("setView:"); + void _objc_msgSend_190( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_190( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_190Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_190 = __objc_msgSend_190Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_isHighlighted1 = _registerName1("isHighlighted"); + late final _sel_toolTip1 = _registerName1("toolTip"); + late final _sel_setToolTip_1 = _registerName1("setToolTip:"); + void _objc_msgSend_191( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_191( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_191Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_191 = __objc_msgSend_191Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _class_NSMenuItemBadge1 = _getClass1("NSMenuItemBadge"); + late final _sel_badge1 = _registerName1("badge"); + ffi.Pointer _objc_msgSend_192( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_192( + obj, + sel, + ); + } + + late final __objc_msgSend_192Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_192 = __objc_msgSend_192Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setBadge_1 = _registerName1("setBadge:"); + void _objc_msgSend_193( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_193( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_193Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_193 = __objc_msgSend_193Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_popUpMenuPositioningItem_atLocation_inView_1 = + _registerName1("popUpMenuPositioningItem:atLocation:inView:"); + bool _objc_msgSend_194( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer item, + CGPoint location, + ffi.Pointer view, + ) { + return __objc_msgSend_194( + obj, + sel, + item, + location, + view, + ); + } + + late final __objc_msgSend_194Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + CGPoint, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_194 = __objc_msgSend_194Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, CGPoint, ffi.Pointer)>(); + + late final _sel_setMenuBarVisible_1 = _registerName1("setMenuBarVisible:"); + void _objc_msgSend_195( + ffi.Pointer obj, + ffi.Pointer sel, + bool visible, + ) { + return __objc_msgSend_195( + obj, + sel, + visible, + ); + } + + late final __objc_msgSend_195Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_195 = __objc_msgSend_195Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, bool)>(); + + late final _sel_menuBarVisible1 = _registerName1("menuBarVisible"); + late final _sel_supermenu1 = _registerName1("supermenu"); + late final _sel_setSupermenu_1 = _registerName1("setSupermenu:"); + late final _sel_insertItem_atIndex_1 = _registerName1("insertItem:atIndex:"); + void _objc_msgSend_196( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer newItem, + int index, + ) { + return __objc_msgSend_196( + obj, + sel, + newItem, + index, + ); + } + + late final __objc_msgSend_196Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Long)>>('objc_msgSend'); + late final __objc_msgSend_196 = __objc_msgSend_196Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + late final _sel_addItem_1 = _registerName1("addItem:"); + void _objc_msgSend_197( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer newItem, + ) { + return __objc_msgSend_197( + obj, + sel, + newItem, + ); + } + + late final __objc_msgSend_197Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_197 = __objc_msgSend_197Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_insertItemWithTitle_action_keyEquivalent_atIndex_1 = + _registerName1("insertItemWithTitle:action:keyEquivalent:atIndex:"); + ffi.Pointer _objc_msgSend_198( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer string, + ffi.Pointer selector, + ffi.Pointer charCode, + int index, + ) { + return __objc_msgSend_198( + obj, + sel, + string, + selector, + charCode, + index, + ); + } + + late final __objc_msgSend_198Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Long)>>('objc_msgSend'); + late final __objc_msgSend_198 = __objc_msgSend_198Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int)>(); + + late final _sel_addItemWithTitle_action_keyEquivalent_1 = + _registerName1("addItemWithTitle:action:keyEquivalent:"); + ffi.Pointer _objc_msgSend_199( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer string, + ffi.Pointer selector, + ffi.Pointer charCode, + ) { + return __objc_msgSend_199( + obj, + sel, + string, + selector, + charCode, + ); + } + + late final __objc_msgSend_199Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_199 = __objc_msgSend_199Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_removeItemAtIndex_1 = _registerName1("removeItemAtIndex:"); + void _objc_msgSend_200( + ffi.Pointer obj, + ffi.Pointer sel, + int index, + ) { + return __objc_msgSend_200( + obj, + sel, + index, + ); + } + + late final __objc_msgSend_200Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Long)>>('objc_msgSend'); + late final __objc_msgSend_200 = __objc_msgSend_200Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_removeItem_1 = _registerName1("removeItem:"); + late final _sel_setSubmenu_forItem_1 = _registerName1("setSubmenu:forItem:"); + void _objc_msgSend_201( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer menu, + ffi.Pointer item, + ) { + return __objc_msgSend_201( + obj, + sel, + menu, + item, + ); + } + + late final __objc_msgSend_201Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_201 = __objc_msgSend_201Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_removeAllItems1 = _registerName1("removeAllItems"); + late final _sel_itemArray1 = _registerName1("itemArray"); + late final _sel_setItemArray_1 = _registerName1("setItemArray:"); + late final _sel_numberOfItems1 = _registerName1("numberOfItems"); + late final _sel_itemAtIndex_1 = _registerName1("itemAtIndex:"); + ffi.Pointer _objc_msgSend_202( + ffi.Pointer obj, + ffi.Pointer sel, + int index, + ) { + return __objc_msgSend_202( + obj, + sel, + index, + ); + } + + late final __objc_msgSend_202Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Long)>>('objc_msgSend'); + late final __objc_msgSend_202 = __objc_msgSend_202Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_indexOfItem_1 = _registerName1("indexOfItem:"); + int _objc_msgSend_203( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer item, + ) { + return __objc_msgSend_203( + obj, + sel, + item, + ); + } + + late final __objc_msgSend_203Ptr = _lookup< + ffi.NativeFunction< + ffi.Long Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_203 = __objc_msgSend_203Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_indexOfItemWithTitle_1 = + _registerName1("indexOfItemWithTitle:"); + late final _sel_indexOfItemWithTag_1 = _registerName1("indexOfItemWithTag:"); + int _objc_msgSend_204( + ffi.Pointer obj, + ffi.Pointer sel, + int tag, + ) { + return __objc_msgSend_204( + obj, + sel, + tag, + ); + } + + late final __objc_msgSend_204Ptr = _lookup< + ffi.NativeFunction< + ffi.Long Function(ffi.Pointer, ffi.Pointer, + ffi.Long)>>('objc_msgSend'); + late final __objc_msgSend_204 = __objc_msgSend_204Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_indexOfItemWithRepresentedObject_1 = + _registerName1("indexOfItemWithRepresentedObject:"); + int _objc_msgSend_205( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer object, + ) { + return __objc_msgSend_205( + obj, + sel, + object, + ); + } + + late final __objc_msgSend_205Ptr = _lookup< + ffi.NativeFunction< + ffi.Long Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_205 = __objc_msgSend_205Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_indexOfItemWithSubmenu_1 = + _registerName1("indexOfItemWithSubmenu:"); + int _objc_msgSend_206( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer submenu, + ) { + return __objc_msgSend_206( + obj, + sel, + submenu, + ); + } + + late final __objc_msgSend_206Ptr = _lookup< + ffi.NativeFunction< + ffi.Long Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_206 = __objc_msgSend_206Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_indexOfItemWithTarget_andAction_1 = + _registerName1("indexOfItemWithTarget:andAction:"); + int _objc_msgSend_207( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer target, + ffi.Pointer actionSelector, + ) { + return __objc_msgSend_207( + obj, + sel, + target, + actionSelector, + ); + } + + late final __objc_msgSend_207Ptr = _lookup< + ffi.NativeFunction< + ffi.Long Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_207 = __objc_msgSend_207Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_itemWithTitle_1 = _registerName1("itemWithTitle:"); + ffi.Pointer _objc_msgSend_208( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer title, + ) { + return __objc_msgSend_208( + obj, + sel, + title, + ); + } + + late final __objc_msgSend_208Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_208 = __objc_msgSend_208Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_itemWithTag_1 = _registerName1("itemWithTag:"); + late final _sel_autoenablesItems1 = _registerName1("autoenablesItems"); + late final _sel_setAutoenablesItems_1 = + _registerName1("setAutoenablesItems:"); + late final _sel_update1 = _registerName1("update"); + late final _sel_itemChanged_1 = _registerName1("itemChanged:"); + late final _sel_performActionForItemAtIndex_1 = + _registerName1("performActionForItemAtIndex:"); + late final _sel_delegate1 = _registerName1("delegate"); + late final _sel_setDelegate_1 = _registerName1("setDelegate:"); + late final _sel_menuBarHeight1 = _registerName1("menuBarHeight"); + late final _sel_cancelTracking1 = _registerName1("cancelTracking"); + late final _sel_cancelTrackingWithoutAnimation1 = + _registerName1("cancelTrackingWithoutAnimation"); + late final _sel_highlightedItem1 = _registerName1("highlightedItem"); + late final _sel_minimumWidth1 = _registerName1("minimumWidth"); + late final _sel_setMinimumWidth_1 = _registerName1("setMinimumWidth:"); + late final _sel_size1 = _registerName1("size"); + CGSize _objc_msgSend_209( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_209( + obj, + sel, + ); + } + + late final __objc_msgSend_209Ptr = _lookup< + ffi.NativeFunction< + CGSize Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_209 = __objc_msgSend_209Ptr.asFunction< + CGSize Function(ffi.Pointer, ffi.Pointer)>(); + + void _objc_msgSend_209_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_209_stret( + stret, + obj, + sel, + ); + } + + late final __objc_msgSend_209_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend_stret'); + late final __objc_msgSend_209_stret = __objc_msgSend_209_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_font1 = _registerName1("font"); + ffi.Pointer _objc_msgSend_210( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_210( + obj, + sel, + ); + } + + late final __objc_msgSend_210Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_210 = __objc_msgSend_210Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setFont_1 = _registerName1("setFont:"); + void _objc_msgSend_211( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_211( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_211Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_211 = __objc_msgSend_211Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_allowsContextMenuPlugIns1 = + _registerName1("allowsContextMenuPlugIns"); + late final _sel_setAllowsContextMenuPlugIns_1 = + _registerName1("setAllowsContextMenuPlugIns:"); + late final _sel_showsStateColumn1 = _registerName1("showsStateColumn"); + late final _sel_setShowsStateColumn_1 = + _registerName1("setShowsStateColumn:"); + late final _sel_userInterfaceLayoutDirection1 = + _registerName1("userInterfaceLayoutDirection"); + int _objc_msgSend_212( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_212( + obj, + sel, + ); + } + + late final __objc_msgSend_212Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_212 = __objc_msgSend_212Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setUserInterfaceLayoutDirection_1 = + _registerName1("setUserInterfaceLayoutDirection:"); + void _objc_msgSend_213( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_213( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_213Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_213 = __objc_msgSend_213Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_menuForEvent_1 = _registerName1("menuForEvent:"); + ffi.Pointer _objc_msgSend_214( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer event, + ) { + return __objc_msgSend_214( + obj, + sel, + event, + ); + } + + late final __objc_msgSend_214Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_214 = __objc_msgSend_214Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_defaultMenu1 = _registerName1("defaultMenu"); + late final _sel_willOpenMenu_withEvent_1 = + _registerName1("willOpenMenu:withEvent:"); + void _objc_msgSend_215( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer menu, + ffi.Pointer event, + ) { + return __objc_msgSend_215( + obj, + sel, + menu, + event, + ); + } + + late final __objc_msgSend_215Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_215 = __objc_msgSend_215Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_didCloseMenu_withEvent_1 = + _registerName1("didCloseMenu:withEvent:"); + void _objc_msgSend_216( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer menu, + ffi.Pointer event, + ) { + return __objc_msgSend_216( + obj, + sel, + menu, + event, + ); + } + + late final __objc_msgSend_216Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_216 = __objc_msgSend_216Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_addToolTipRect_owner_userData_1 = + _registerName1("addToolTipRect:owner:userData:"); + int _objc_msgSend_217( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect rect, + ffi.Pointer owner, + ffi.Pointer data, + ) { + return __objc_msgSend_217( + obj, + sel, + rect, + owner, + data, + ); + } + + late final __objc_msgSend_217Ptr = _lookup< + ffi.NativeFunction< + ffi.Long Function( + ffi.Pointer, + ffi.Pointer, + CGRect, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_217 = __objc_msgSend_217Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, CGRect, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_removeToolTip_1 = _registerName1("removeToolTip:"); + late final _sel_removeAllToolTips1 = _registerName1("removeAllToolTips"); + late final _sel_viewWillStartLiveResize1 = + _registerName1("viewWillStartLiveResize"); + late final _sel_viewDidEndLiveResize1 = + _registerName1("viewDidEndLiveResize"); + late final _sel_inLiveResize1 = _registerName1("inLiveResize"); + late final _sel_preservesContentDuringLiveResize1 = + _registerName1("preservesContentDuringLiveResize"); + late final _sel_rectPreservedDuringLiveResize1 = + _registerName1("rectPreservedDuringLiveResize"); + late final _sel_getRectsExposedDuringLiveResize_count_1 = + _registerName1("getRectsExposedDuringLiveResize:count:"); + void _objc_msgSend_218( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer exposedRects, + ffi.Pointer count, + ) { + return __objc_msgSend_218( + obj, + sel, + exposedRects, + count, + ); + } + + late final __objc_msgSend_218Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_218 = __objc_msgSend_218Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _class_NSTextInputContext1 = _getClass1("NSTextInputContext"); + late final _sel_inputContext1 = _registerName1("inputContext"); + ffi.Pointer _objc_msgSend_219( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_219( + obj, + sel, + ); + } + + late final __objc_msgSend_219Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_219 = __objc_msgSend_219Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_rectForSmartMagnificationAtPoint_inRect_1 = + _registerName1("rectForSmartMagnificationAtPoint:inRect:"); + CGRect _objc_msgSend_220( + ffi.Pointer obj, + ffi.Pointer sel, + CGPoint location, + CGRect visibleRect, + ) { + return __objc_msgSend_220( + obj, + sel, + location, + visibleRect, + ); + } + + late final __objc_msgSend_220Ptr = _lookup< + ffi.NativeFunction< + CGRect Function(ffi.Pointer, ffi.Pointer, + CGPoint, CGRect)>>('objc_msgSend'); + late final __objc_msgSend_220 = __objc_msgSend_220Ptr.asFunction< + CGRect Function( + ffi.Pointer, ffi.Pointer, CGPoint, CGRect)>(); + + void _objc_msgSend_220_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + CGPoint location, + CGRect visibleRect, + ) { + return __objc_msgSend_220_stret( + stret, + obj, + sel, + location, + visibleRect, + ); + } + + late final __objc_msgSend_220_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, CGPoint, CGRect)>>('objc_msgSend_stret'); + late final __objc_msgSend_220_stret = __objc_msgSend_220_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, CGPoint, CGRect)>(); + + late final _sel_prepareForReuse1 = _registerName1("prepareForReuse"); + late final _sel_isCompatibleWithResponsiveScrolling1 = + _registerName1("isCompatibleWithResponsiveScrolling"); + late final _sel_prepareContentInRect_1 = + _registerName1("prepareContentInRect:"); + late final _sel_preparedContentRect1 = _registerName1("preparedContentRect"); + late final _sel_setPreparedContentRect_1 = + _registerName1("setPreparedContentRect:"); + late final _sel_allowsVibrancy1 = _registerName1("allowsVibrancy"); + late final _sel_viewDidChangeEffectiveAppearance1 = + _registerName1("viewDidChangeEffectiveAppearance"); + late final _sel_touchesMatchingPhase_inView_1 = + _registerName1("touchesMatchingPhase:inView:"); + ffi.Pointer _objc_msgSend_221( + ffi.Pointer obj, + ffi.Pointer sel, + int phase, + ffi.Pointer view, + ) { + return __objc_msgSend_221( + obj, + sel, + phase, + view, + ); + } + + late final __objc_msgSend_221Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_221 = __objc_msgSend_221Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, int, ffi.Pointer)>(); + + late final _sel_allTouches1 = _registerName1("allTouches"); + late final _sel_touchesForView_1 = _registerName1("touchesForView:"); + ffi.Pointer _objc_msgSend_222( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer view, + ) { + return __objc_msgSend_222( + obj, + sel, + view, + ); + } + + late final __objc_msgSend_222Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_222 = __objc_msgSend_222Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _class_NSTouch1 = _getClass1("NSTouch"); + late final _sel_identity1 = _registerName1("identity"); + late final _sel_phase1 = _registerName1("phase"); + int _objc_msgSend_223( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_223( + obj, + sel, + ); + } + + late final __objc_msgSend_223Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_223 = __objc_msgSend_223Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_normalizedPosition1 = _registerName1("normalizedPosition"); + late final _sel_isResting1 = _registerName1("isResting"); + late final _sel_device1 = _registerName1("device"); + late final _sel_deviceSize1 = _registerName1("deviceSize"); + late final _sel_coalescedTouchesForTouch_1 = + _registerName1("coalescedTouchesForTouch:"); + ffi.Pointer _objc_msgSend_224( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer touch, + ) { + return __objc_msgSend_224( + obj, + sel, + touch, + ); + } + + late final __objc_msgSend_224Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_224 = __objc_msgSend_224Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_stage1 = _registerName1("stage"); + late final _sel_stageTransition1 = _registerName1("stageTransition"); + late final _sel_associatedEventsMask1 = + _registerName1("associatedEventsMask"); + int _objc_msgSend_225( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_225( + obj, + sel, + ); + } + + late final __objc_msgSend_225Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_225 = __objc_msgSend_225Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_pressureBehavior1 = _registerName1("pressureBehavior"); + int _objc_msgSend_226( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_226( + obj, + sel, + ); + } + + late final __objc_msgSend_226Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_226 = __objc_msgSend_226Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_isSwipeTrackingFromScrollEventsEnabled1 = + _registerName1("isSwipeTrackingFromScrollEventsEnabled"); + late final _sel_trackSwipeEventWithOptions_dampenAmountThresholdMin_max_usingHandler_1 = + _registerName1( + "trackSwipeEventWithOptions:dampenAmountThresholdMin:max:usingHandler:"); + void _objc_msgSend_227( + ffi.Pointer obj, + ffi.Pointer sel, + int options, + double minDampenThreshold, + double maxDampenThreshold, + ffi.Pointer<_ObjCBlock> trackingHandler, + ) { + return __objc_msgSend_227( + obj, + sel, + options, + minDampenThreshold, + maxDampenThreshold, + trackingHandler, + ); + } + + late final __objc_msgSend_227Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + ffi.Double, + ffi.Double, + ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); + late final __objc_msgSend_227 = __objc_msgSend_227Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int, double, + double, ffi.Pointer<_ObjCBlock>)>(); + + late final _sel_startPeriodicEventsAfterDelay_withPeriod_1 = + _registerName1("startPeriodicEventsAfterDelay:withPeriod:"); + void _objc_msgSend_228( + ffi.Pointer obj, + ffi.Pointer sel, + double delay, + double period, + ) { + return __objc_msgSend_228( + obj, + sel, + delay, + period, + ); + } + + late final __objc_msgSend_228Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Double, ffi.Double)>>('objc_msgSend'); + late final __objc_msgSend_228 = __objc_msgSend_228Ptr.asFunction< + void Function( + ffi.Pointer, ffi.Pointer, double, double)>(); + + late final _sel_stopPeriodicEvents1 = _registerName1("stopPeriodicEvents"); + late final _sel_mouseEventWithType_location_modifierFlags_timestamp_windowNumber_context_eventNumber_clickCount_pressure_1 = + _registerName1( + "mouseEventWithType:location:modifierFlags:timestamp:windowNumber:context:eventNumber:clickCount:pressure:"); + ffi.Pointer _objc_msgSend_229( + ffi.Pointer obj, + ffi.Pointer sel, + int type, + CGPoint location, + int flags, + double time, + int wNum, + ffi.Pointer unusedPassNil, + int eNum, + int cNum, + double pressure, + ) { + return __objc_msgSend_229( + obj, + sel, + type, + location, + flags, + time, + wNum, + unusedPassNil, + eNum, + cNum, + pressure, + ); + } + + late final __objc_msgSend_229Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + CGPoint, + ffi.Int32, + ffi.Double, + ffi.Long, + ffi.Pointer, + ffi.Long, + ffi.Long, + ffi.Float)>>('objc_msgSend'); + late final __objc_msgSend_229 = __objc_msgSend_229Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + int, + CGPoint, + int, + double, + int, + ffi.Pointer, + int, + int, + double)>(); + + late final _sel_keyEventWithType_location_modifierFlags_timestamp_windowNumber_context_characters_charactersIgnoringModifiers_isARepeat_keyCode_1 = + _registerName1( + "keyEventWithType:location:modifierFlags:timestamp:windowNumber:context:characters:charactersIgnoringModifiers:isARepeat:keyCode:"); + ffi.Pointer _objc_msgSend_230( + ffi.Pointer obj, + ffi.Pointer sel, + int type, + CGPoint location, + int flags, + double time, + int wNum, + ffi.Pointer unusedPassNil, + ffi.Pointer keys, + ffi.Pointer ukeys, + bool flag, + int code, + ) { + return __objc_msgSend_230( + obj, + sel, + type, + location, + flags, + time, + wNum, + unusedPassNil, + keys, + ukeys, + flag, + code, + ); + } + + late final __objc_msgSend_230Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + CGPoint, + ffi.Int32, + ffi.Double, + ffi.Long, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Bool, + ffi.UnsignedShort)>>('objc_msgSend'); + late final __objc_msgSend_230 = __objc_msgSend_230Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + int, + CGPoint, + int, + double, + int, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + bool, + int)>(); + + late final _sel_enterExitEventWithType_location_modifierFlags_timestamp_windowNumber_context_eventNumber_trackingNumber_userData_1 = + _registerName1( + "enterExitEventWithType:location:modifierFlags:timestamp:windowNumber:context:eventNumber:trackingNumber:userData:"); + ffi.Pointer _objc_msgSend_231( + ffi.Pointer obj, + ffi.Pointer sel, + int type, + CGPoint location, + int flags, + double time, + int wNum, + ffi.Pointer unusedPassNil, + int eNum, + int tNum, + ffi.Pointer data, + ) { + return __objc_msgSend_231( + obj, + sel, + type, + location, + flags, + time, + wNum, + unusedPassNil, + eNum, + tNum, + data, + ); + } + + late final __objc_msgSend_231Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + CGPoint, + ffi.Int32, + ffi.Double, + ffi.Long, + ffi.Pointer, + ffi.Long, + ffi.Long, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_231 = __objc_msgSend_231Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + int, + CGPoint, + int, + double, + int, + ffi.Pointer, + int, + int, + ffi.Pointer)>(); + + late final _sel_otherEventWithType_location_modifierFlags_timestamp_windowNumber_context_subtype_data1_data2_1 = + _registerName1( + "otherEventWithType:location:modifierFlags:timestamp:windowNumber:context:subtype:data1:data2:"); + ffi.Pointer _objc_msgSend_232( + ffi.Pointer obj, + ffi.Pointer sel, + int type, + CGPoint location, + int flags, + double time, + int wNum, + ffi.Pointer unusedPassNil, + int subtype, + int d1, + int d2, + ) { + return __objc_msgSend_232( + obj, + sel, + type, + location, + flags, + time, + wNum, + unusedPassNil, + subtype, + d1, + d2, + ); + } + + late final __objc_msgSend_232Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + CGPoint, + ffi.Int32, + ffi.Double, + ffi.Long, + ffi.Pointer, + ffi.Short, + ffi.Long, + ffi.Long)>>('objc_msgSend'); + late final __objc_msgSend_232 = __objc_msgSend_232Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + int, + CGPoint, + int, + double, + int, + ffi.Pointer, + int, + int, + int)>(); + + late final _sel_mouseLocation1 = _registerName1("mouseLocation"); + late final _sel_pressedMouseButtons1 = _registerName1("pressedMouseButtons"); + late final _sel_doubleClickInterval1 = _registerName1("doubleClickInterval"); + late final _sel_keyRepeatDelay1 = _registerName1("keyRepeatDelay"); + late final _sel_keyRepeatInterval1 = _registerName1("keyRepeatInterval"); + late final _sel_addGlobalMonitorForEventsMatchingMask_handler_1 = + _registerName1("addGlobalMonitorForEventsMatchingMask:handler:"); + ffi.Pointer _objc_msgSend_233( + ffi.Pointer obj, + ffi.Pointer sel, + int mask, + ffi.Pointer<_ObjCBlock> block, + ) { + return __objc_msgSend_233( + obj, + sel, + mask, + block, + ); + } + + late final __objc_msgSend_233Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); + late final __objc_msgSend_233 = __objc_msgSend_233Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, int, ffi.Pointer<_ObjCBlock>)>(); + + late final _sel_addLocalMonitorForEventsMatchingMask_handler_1 = + _registerName1("addLocalMonitorForEventsMatchingMask:handler:"); + ffi.Pointer _objc_msgSend_234( + ffi.Pointer obj, + ffi.Pointer sel, + int mask, + ffi.Pointer<_ObjCBlock> block, + ) { + return __objc_msgSend_234( + obj, + sel, + mask, + block, + ); + } + + late final __objc_msgSend_234Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); + late final __objc_msgSend_234 = __objc_msgSend_234Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, int, ffi.Pointer<_ObjCBlock>)>(); + + late final _sel_removeMonitor_1 = _registerName1("removeMonitor:"); + late final _sel_validRequestorForSendType_returnType_1 = + _registerName1("validRequestorForSendType:returnType:"); + ffi.Pointer _objc_msgSend_235( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer sendType, + ffi.Pointer returnType, + ) { + return __objc_msgSend_235( + obj, + sel, + sendType, + returnType, + ); + } + + late final __objc_msgSend_235Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_235 = __objc_msgSend_235Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_mouseDown_1 = _registerName1("mouseDown:"); + void _objc_msgSend_236( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer event, + ) { + return __objc_msgSend_236( + obj, + sel, + event, + ); + } + + late final __objc_msgSend_236Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_236 = __objc_msgSend_236Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_rightMouseDown_1 = _registerName1("rightMouseDown:"); + late final _sel_otherMouseDown_1 = _registerName1("otherMouseDown:"); + late final _sel_mouseUp_1 = _registerName1("mouseUp:"); + late final _sel_rightMouseUp_1 = _registerName1("rightMouseUp:"); + late final _sel_otherMouseUp_1 = _registerName1("otherMouseUp:"); + late final _sel_mouseMoved_1 = _registerName1("mouseMoved:"); + late final _sel_mouseDragged_1 = _registerName1("mouseDragged:"); + late final _sel_scrollWheel_1 = _registerName1("scrollWheel:"); + late final _sel_rightMouseDragged_1 = _registerName1("rightMouseDragged:"); + late final _sel_otherMouseDragged_1 = _registerName1("otherMouseDragged:"); + late final _sel_mouseEntered_1 = _registerName1("mouseEntered:"); + late final _sel_mouseExited_1 = _registerName1("mouseExited:"); + late final _sel_keyDown_1 = _registerName1("keyDown:"); + late final _sel_keyUp_1 = _registerName1("keyUp:"); + late final _sel_flagsChanged_1 = _registerName1("flagsChanged:"); + late final _sel_tabletPoint_1 = _registerName1("tabletPoint:"); + late final _sel_tabletProximity_1 = _registerName1("tabletProximity:"); + late final _sel_cursorUpdate_1 = _registerName1("cursorUpdate:"); + late final _sel_magnifyWithEvent_1 = _registerName1("magnifyWithEvent:"); + late final _sel_rotateWithEvent_1 = _registerName1("rotateWithEvent:"); + late final _sel_swipeWithEvent_1 = _registerName1("swipeWithEvent:"); + late final _sel_beginGestureWithEvent_1 = + _registerName1("beginGestureWithEvent:"); + late final _sel_endGestureWithEvent_1 = + _registerName1("endGestureWithEvent:"); + late final _sel_smartMagnifyWithEvent_1 = + _registerName1("smartMagnifyWithEvent:"); + late final _sel_changeModeWithEvent_1 = + _registerName1("changeModeWithEvent:"); + late final _sel_touchesBeganWithEvent_1 = + _registerName1("touchesBeganWithEvent:"); + late final _sel_touchesMovedWithEvent_1 = + _registerName1("touchesMovedWithEvent:"); + late final _sel_touchesEndedWithEvent_1 = + _registerName1("touchesEndedWithEvent:"); + late final _sel_touchesCancelledWithEvent_1 = + _registerName1("touchesCancelledWithEvent:"); + late final _sel_quickLookWithEvent_1 = _registerName1("quickLookWithEvent:"); + late final _sel_pressureChangeWithEvent_1 = + _registerName1("pressureChangeWithEvent:"); + late final _sel_noResponderFor_1 = _registerName1("noResponderFor:"); + late final _sel_acceptsFirstResponder1 = + _registerName1("acceptsFirstResponder"); + late final _sel_becomeFirstResponder1 = + _registerName1("becomeFirstResponder"); + late final _sel_resignFirstResponder1 = + _registerName1("resignFirstResponder"); + late final _sel_interpretKeyEvents_1 = _registerName1("interpretKeyEvents:"); + late final _sel_flushBufferedKeyEvents1 = + _registerName1("flushBufferedKeyEvents"); + late final _sel_showContextHelp_1 = _registerName1("showContextHelp:"); + void _objc_msgSend_237( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer sender, + ) { + return __objc_msgSend_237( + obj, + sel, + sender, + ); + } + + late final __objc_msgSend_237Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_237 = __objc_msgSend_237Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_helpRequested_1 = _registerName1("helpRequested:"); + late final _sel_shouldBeTreatedAsInkEvent_1 = + _registerName1("shouldBeTreatedAsInkEvent:"); + late final _sel_wantsScrollEventsForSwipeTrackingOnAxis_1 = + _registerName1("wantsScrollEventsForSwipeTrackingOnAxis:"); + bool _objc_msgSend_238( + ffi.Pointer obj, + ffi.Pointer sel, + int axis, + ) { + return __objc_msgSend_238( + obj, + sel, + axis, + ); + } + + late final __objc_msgSend_238Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_238 = __objc_msgSend_238Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_wantsForwardedScrollEventsForAxis_1 = + _registerName1("wantsForwardedScrollEventsForAxis:"); + late final _sel_supplementalTargetForAction_sender_1 = + _registerName1("supplementalTargetForAction:sender:"); + ffi.Pointer _objc_msgSend_239( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer action, + ffi.Pointer sender, + ) { + return __objc_msgSend_239( + obj, + sel, + action, + sender, + ); + } + + late final __objc_msgSend_239Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_239 = __objc_msgSend_239Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_frameRectForContentRect_styleMask_1 = + _registerName1("frameRectForContentRect:styleMask:"); + CGRect _objc_msgSend_240( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect cRect, + int style, + ) { + return __objc_msgSend_240( + obj, + sel, + cRect, + style, + ); + } + + late final __objc_msgSend_240Ptr = _lookup< + ffi.NativeFunction< + CGRect Function(ffi.Pointer, ffi.Pointer, CGRect, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_240 = __objc_msgSend_240Ptr.asFunction< + CGRect Function( + ffi.Pointer, ffi.Pointer, CGRect, int)>(); + + void _objc_msgSend_240_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + CGRect cRect, + int style, + ) { + return __objc_msgSend_240_stret( + stret, + obj, + sel, + cRect, + style, + ); + } + + late final __objc_msgSend_240_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, CGRect, ffi.Int32)>>('objc_msgSend_stret'); + late final __objc_msgSend_240_stret = __objc_msgSend_240_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, CGRect, int)>(); + + late final _sel_contentRectForFrameRect_styleMask_1 = + _registerName1("contentRectForFrameRect:styleMask:"); + late final _sel_minFrameWidthWithTitle_styleMask_1 = + _registerName1("minFrameWidthWithTitle:styleMask:"); + double _objc_msgSend_241( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer title, + int style, + ) { + return __objc_msgSend_241( + obj, + sel, + title, + style, + ); + } + + late final __objc_msgSend_241Ptr = _lookup< + ffi.NativeFunction< + ffi.Double Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_241 = __objc_msgSend_241Ptr.asFunction< + double Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + double _objc_msgSend_241_fpret( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer title, + int style, + ) { + return __objc_msgSend_241_fpret( + obj, + sel, + title, + style, + ); + } + + late final __objc_msgSend_241_fpretPtr = _lookup< + ffi.NativeFunction< + ffi.Double Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Int32)>>('objc_msgSend_fpret'); + late final __objc_msgSend_241_fpret = __objc_msgSend_241_fpretPtr.asFunction< + double Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + late final _sel_defaultDepthLimit1 = _registerName1("defaultDepthLimit"); + int _objc_msgSend_242( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_242( + obj, + sel, + ); + } + + late final __objc_msgSend_242Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_242 = __objc_msgSend_242Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_frameRectForContentRect_1 = + _registerName1("frameRectForContentRect:"); + late final _sel_contentRectForFrameRect_1 = + _registerName1("contentRectForFrameRect:"); + late final _sel_initWithContentRect_styleMask_backing_defer_1 = + _registerName1("initWithContentRect:styleMask:backing:defer:"); + instancetype _objc_msgSend_243( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect contentRect, + int style, + int backingStoreType, + bool flag, + ) { + return __objc_msgSend_243( + obj, + sel, + contentRect, + style, + backingStoreType, + flag, + ); + } + + late final __objc_msgSend_243Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + CGRect, ffi.Int32, ffi.Int32, ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_243 = __objc_msgSend_243Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + CGRect, int, int, bool)>(); + + late final _class_NSScreen1 = _getClass1("NSScreen"); + late final _sel_initWithContentRect_styleMask_backing_defer_screen_1 = + _registerName1("initWithContentRect:styleMask:backing:defer:screen:"); + instancetype _objc_msgSend_244( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect contentRect, + int style, + int backingStoreType, + bool flag, + ffi.Pointer screen, + ) { + return __objc_msgSend_244( + obj, + sel, + contentRect, + style, + backingStoreType, + flag, + screen, + ); + } + + late final __objc_msgSend_244Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + CGRect, + ffi.Int32, + ffi.Int32, + ffi.Bool, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_244 = __objc_msgSend_244Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + CGRect, int, int, bool, ffi.Pointer)>(); + + late final _sel_subtitle1 = _registerName1("subtitle"); + late final _sel_setSubtitle_1 = _registerName1("setSubtitle:"); + late final _sel_titleVisibility1 = _registerName1("titleVisibility"); + int _objc_msgSend_245( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_245( + obj, + sel, + ); + } + + late final __objc_msgSend_245Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_245 = __objc_msgSend_245Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setTitleVisibility_1 = _registerName1("setTitleVisibility:"); + void _objc_msgSend_246( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_246( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_246Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_246 = __objc_msgSend_246Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_titlebarAppearsTransparent1 = + _registerName1("titlebarAppearsTransparent"); + late final _sel_setTitlebarAppearsTransparent_1 = + _registerName1("setTitlebarAppearsTransparent:"); + late final _sel_toolbarStyle1 = _registerName1("toolbarStyle"); + int _objc_msgSend_247( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_247( + obj, + sel, + ); + } + + late final __objc_msgSend_247Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_247 = __objc_msgSend_247Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setToolbarStyle_1 = _registerName1("setToolbarStyle:"); + void _objc_msgSend_248( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_248( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_248Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_248 = __objc_msgSend_248Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_contentLayoutRect1 = _registerName1("contentLayoutRect"); + late final _sel_contentLayoutGuide1 = _registerName1("contentLayoutGuide"); + late final _sel_titlebarAccessoryViewControllers1 = + _registerName1("titlebarAccessoryViewControllers"); + late final _sel_setTitlebarAccessoryViewControllers_1 = + _registerName1("setTitlebarAccessoryViewControllers:"); + late final _class_NSTitlebarAccessoryViewController1 = + _getClass1("NSTitlebarAccessoryViewController"); + late final _sel_addTitlebarAccessoryViewController_1 = + _registerName1("addTitlebarAccessoryViewController:"); + void _objc_msgSend_249( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer childViewController, + ) { + return __objc_msgSend_249( + obj, + sel, + childViewController, + ); + } + + late final __objc_msgSend_249Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_249 = __objc_msgSend_249Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_insertTitlebarAccessoryViewController_atIndex_1 = + _registerName1("insertTitlebarAccessoryViewController:atIndex:"); + void _objc_msgSend_250( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer childViewController, + int index, + ) { + return __objc_msgSend_250( + obj, + sel, + childViewController, + index, + ); + } + + late final __objc_msgSend_250Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Long)>>('objc_msgSend'); + late final __objc_msgSend_250 = __objc_msgSend_250Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + late final _sel_removeTitlebarAccessoryViewControllerAtIndex_1 = + _registerName1("removeTitlebarAccessoryViewControllerAtIndex:"); + late final _sel_representedURL1 = _registerName1("representedURL"); + late final _sel_setRepresentedURL_1 = _registerName1("setRepresentedURL:"); + void _objc_msgSend_251( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_251( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_251Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_251 = __objc_msgSend_251Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_representedFilename1 = _registerName1("representedFilename"); + late final _sel_setRepresentedFilename_1 = + _registerName1("setRepresentedFilename:"); + late final _sel_setTitleWithRepresentedFilename_1 = + _registerName1("setTitleWithRepresentedFilename:"); + late final _sel_isExcludedFromWindowsMenu1 = + _registerName1("isExcludedFromWindowsMenu"); + late final _sel_setExcludedFromWindowsMenu_1 = + _registerName1("setExcludedFromWindowsMenu:"); + late final _sel_contentView1 = _registerName1("contentView"); + late final _sel_setContentView_1 = _registerName1("setContentView:"); + late final _sel_styleMask1 = _registerName1("styleMask"); + int _objc_msgSend_252( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_252( + obj, + sel, + ); + } + + late final __objc_msgSend_252Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_252 = __objc_msgSend_252Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setStyleMask_1 = _registerName1("setStyleMask:"); + void _objc_msgSend_253( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_253( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_253Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_253 = __objc_msgSend_253Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _class_NSText1 = _getClass1("NSText"); + late final _sel_setString_1 = _registerName1("setString:"); + late final _sel_replaceCharactersInRange_withString_1 = + _registerName1("replaceCharactersInRange:withString:"); + void _objc_msgSend_254( + ffi.Pointer obj, + ffi.Pointer sel, + _NSRange range, + ffi.Pointer string, + ) { + return __objc_msgSend_254( + obj, + sel, + range, + string, + ); + } + + late final __objc_msgSend_254Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + _NSRange, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_254 = __objc_msgSend_254Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, _NSRange, + ffi.Pointer)>(); + + late final _sel_replaceCharactersInRange_withRTF_1 = + _registerName1("replaceCharactersInRange:withRTF:"); + void _objc_msgSend_255( + ffi.Pointer obj, + ffi.Pointer sel, + _NSRange range, + ffi.Pointer rtfData, + ) { + return __objc_msgSend_255( + obj, + sel, + range, + rtfData, + ); + } + + late final __objc_msgSend_255Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + _NSRange, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_255 = __objc_msgSend_255Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, _NSRange, + ffi.Pointer)>(); + + late final _sel_replaceCharactersInRange_withRTFD_1 = + _registerName1("replaceCharactersInRange:withRTFD:"); + late final _sel_RTFFromRange_1 = _registerName1("RTFFromRange:"); + ffi.Pointer _objc_msgSend_256( + ffi.Pointer obj, + ffi.Pointer sel, + _NSRange range, + ) { + return __objc_msgSend_256( + obj, + sel, + range, + ); + } + + late final __objc_msgSend_256Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, _NSRange)>>('objc_msgSend'); + late final __objc_msgSend_256 = __objc_msgSend_256Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, _NSRange)>(); + + late final _sel_RTFDFromRange_1 = _registerName1("RTFDFromRange:"); + late final _sel_writeRTFDToFile_atomically_1 = + _registerName1("writeRTFDToFile:atomically:"); + bool _objc_msgSend_257( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + bool flag, + ) { + return __objc_msgSend_257( + obj, + sel, + path, + flag, + ); + } + + late final __objc_msgSend_257Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_257 = __objc_msgSend_257Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, bool)>(); + + late final _sel_readRTFDFromFile_1 = _registerName1("readRTFDFromFile:"); + bool _objc_msgSend_258( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + ) { + return __objc_msgSend_258( + obj, + sel, + path, + ); + } + + late final __objc_msgSend_258Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_258 = __objc_msgSend_258Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_isEditable1 = _registerName1("isEditable"); + late final _sel_setEditable_1 = _registerName1("setEditable:"); + late final _sel_isSelectable1 = _registerName1("isSelectable"); + late final _sel_setSelectable_1 = _registerName1("setSelectable:"); + late final _sel_isRichText1 = _registerName1("isRichText"); + late final _sel_setRichText_1 = _registerName1("setRichText:"); + late final _sel_importsGraphics1 = _registerName1("importsGraphics"); + late final _sel_setImportsGraphics_1 = _registerName1("setImportsGraphics:"); + late final _sel_isFieldEditor1 = _registerName1("isFieldEditor"); + late final _sel_setFieldEditor_1 = _registerName1("setFieldEditor:"); + late final _sel_usesFontPanel1 = _registerName1("usesFontPanel"); + late final _sel_setUsesFontPanel_1 = _registerName1("setUsesFontPanel:"); + late final _sel_drawsBackground1 = _registerName1("drawsBackground"); + late final _sel_setDrawsBackground_1 = _registerName1("setDrawsBackground:"); + late final _class_NSColor1 = _getClass1("NSColor"); + late final _sel_backgroundColor1 = _registerName1("backgroundColor"); + ffi.Pointer _objc_msgSend_259( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_259( + obj, + sel, + ); + } + + late final __objc_msgSend_259Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_259 = __objc_msgSend_259Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setBackgroundColor_1 = _registerName1("setBackgroundColor:"); + void _objc_msgSend_260( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_260( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_260Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_260 = __objc_msgSend_260Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_isRulerVisible1 = _registerName1("isRulerVisible"); + late final _sel_selectedRange1 = _registerName1("selectedRange"); + _NSRange _objc_msgSend_261( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_261( + obj, + sel, + ); + } + + late final __objc_msgSend_261Ptr = _lookup< + ffi.NativeFunction< + _NSRange Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_261 = __objc_msgSend_261Ptr.asFunction< + _NSRange Function(ffi.Pointer, ffi.Pointer)>(); + + void _objc_msgSend_261_stret( + ffi.Pointer<_NSRange> stret, + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_261_stret( + stret, + obj, + sel, + ); + } + + late final __objc_msgSend_261_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer<_NSRange>, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend_stret'); + late final __objc_msgSend_261_stret = __objc_msgSend_261_stretPtr.asFunction< + void Function(ffi.Pointer<_NSRange>, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_setSelectedRange_1 = _registerName1("setSelectedRange:"); + void _objc_msgSend_262( + ffi.Pointer obj, + ffi.Pointer sel, + _NSRange value, + ) { + return __objc_msgSend_262( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_262Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + _NSRange)>>('objc_msgSend'); + late final __objc_msgSend_262 = __objc_msgSend_262Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, _NSRange)>(); + + late final _sel_scrollRangeToVisible_1 = + _registerName1("scrollRangeToVisible:"); + void _objc_msgSend_263( + ffi.Pointer obj, + ffi.Pointer sel, + _NSRange range, + ) { + return __objc_msgSend_263( + obj, + sel, + range, + ); + } + + late final __objc_msgSend_263Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + _NSRange)>>('objc_msgSend'); + late final __objc_msgSend_263 = __objc_msgSend_263Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, _NSRange)>(); + + ffi.Pointer _objc_msgSend_264( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_264( + obj, + sel, + ); + } + + late final __objc_msgSend_264Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_264 = __objc_msgSend_264Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + void _objc_msgSend_265( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_265( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_265Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_265 = __objc_msgSend_265Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_textColor1 = _registerName1("textColor"); + late final _sel_setTextColor_1 = _registerName1("setTextColor:"); + late final _sel_alignment1 = _registerName1("alignment"); + int _objc_msgSend_266( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_266( + obj, + sel, + ); + } + + late final __objc_msgSend_266Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_266 = __objc_msgSend_266Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setAlignment_1 = _registerName1("setAlignment:"); + void _objc_msgSend_267( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_267( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_267Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_267 = __objc_msgSend_267Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_baseWritingDirection1 = + _registerName1("baseWritingDirection"); + int _objc_msgSend_268( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_268( + obj, + sel, + ); + } + + late final __objc_msgSend_268Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_268 = __objc_msgSend_268Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setBaseWritingDirection_1 = + _registerName1("setBaseWritingDirection:"); + void _objc_msgSend_269( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_269( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_269Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_269 = __objc_msgSend_269Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_setTextColor_range_1 = _registerName1("setTextColor:range:"); + void _objc_msgSend_270( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer color, + _NSRange range, + ) { + return __objc_msgSend_270( + obj, + sel, + color, + range, + ); + } + + late final __objc_msgSend_270Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, _NSRange)>>('objc_msgSend'); + late final __objc_msgSend_270 = __objc_msgSend_270Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, _NSRange)>(); + + late final _sel_setFont_range_1 = _registerName1("setFont:range:"); + void _objc_msgSend_271( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer font, + _NSRange range, + ) { + return __objc_msgSend_271( + obj, + sel, + font, + range, + ); + } + + late final __objc_msgSend_271Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, _NSRange)>>('objc_msgSend'); + late final __objc_msgSend_271 = __objc_msgSend_271Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, _NSRange)>(); + + late final _sel_maxSize1 = _registerName1("maxSize"); + late final _sel_setMaxSize_1 = _registerName1("setMaxSize:"); + void _objc_msgSend_272( + ffi.Pointer obj, + ffi.Pointer sel, + CGSize value, + ) { + return __objc_msgSend_272( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_272Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + CGSize)>>('objc_msgSend'); + late final __objc_msgSend_272 = __objc_msgSend_272Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, CGSize)>(); + + late final _sel_minSize1 = _registerName1("minSize"); + late final _sel_setMinSize_1 = _registerName1("setMinSize:"); + late final _sel_isHorizontallyResizable1 = + _registerName1("isHorizontallyResizable"); + late final _sel_setHorizontallyResizable_1 = + _registerName1("setHorizontallyResizable:"); + late final _sel_isVerticallyResizable1 = + _registerName1("isVerticallyResizable"); + late final _sel_setVerticallyResizable_1 = + _registerName1("setVerticallyResizable:"); + late final _sel_sizeToFit1 = _registerName1("sizeToFit"); + late final _sel_copy_1 = _registerName1("copy:"); + late final _sel_copyFont_1 = _registerName1("copyFont:"); + late final _sel_copyRuler_1 = _registerName1("copyRuler:"); + late final _sel_cut_1 = _registerName1("cut:"); + late final _sel_delete_1 = _registerName1("delete:"); + late final _sel_paste_1 = _registerName1("paste:"); + late final _sel_pasteFont_1 = _registerName1("pasteFont:"); + late final _sel_pasteRuler_1 = _registerName1("pasteRuler:"); + late final _sel_selectAll_1 = _registerName1("selectAll:"); + late final _sel_changeFont_1 = _registerName1("changeFont:"); + late final _sel_alignLeft_1 = _registerName1("alignLeft:"); + late final _sel_alignRight_1 = _registerName1("alignRight:"); + late final _sel_alignCenter_1 = _registerName1("alignCenter:"); + late final _sel_subscript_1 = _registerName1("subscript:"); + late final _sel_superscript_1 = _registerName1("superscript:"); + late final _sel_underline_1 = _registerName1("underline:"); + late final _sel_unscript_1 = _registerName1("unscript:"); + late final _sel_showGuessPanel_1 = _registerName1("showGuessPanel:"); + late final _sel_checkSpelling_1 = _registerName1("checkSpelling:"); + late final _sel_toggleRuler_1 = _registerName1("toggleRuler:"); + late final _sel_fieldEditor_forObject_1 = + _registerName1("fieldEditor:forObject:"); + ffi.Pointer _objc_msgSend_273( + ffi.Pointer obj, + ffi.Pointer sel, + bool createFlag, + ffi.Pointer object, + ) { + return __objc_msgSend_273( + obj, + sel, + createFlag, + object, + ); + } + + late final __objc_msgSend_273Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Bool, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_273 = __objc_msgSend_273Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, bool, ffi.Pointer)>(); + + late final _sel_endEditingFor_1 = _registerName1("endEditingFor:"); + late final _sel_constrainFrameRect_toScreen_1 = + _registerName1("constrainFrameRect:toScreen:"); + CGRect _objc_msgSend_274( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect frameRect, + ffi.Pointer screen, + ) { + return __objc_msgSend_274( + obj, + sel, + frameRect, + screen, + ); + } + + late final __objc_msgSend_274Ptr = _lookup< + ffi.NativeFunction< + CGRect Function(ffi.Pointer, ffi.Pointer, CGRect, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_274 = __objc_msgSend_274Ptr.asFunction< + CGRect Function(ffi.Pointer, ffi.Pointer, CGRect, + ffi.Pointer)>(); + + void _objc_msgSend_274_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + CGRect frameRect, + ffi.Pointer screen, + ) { + return __objc_msgSend_274_stret( + stret, + obj, + sel, + frameRect, + screen, + ); + } + + late final __objc_msgSend_274_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + CGRect, + ffi.Pointer)>>('objc_msgSend_stret'); + late final __objc_msgSend_274_stret = __objc_msgSend_274_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, CGRect, ffi.Pointer)>(); + + late final _sel_setFrame_display_1 = _registerName1("setFrame:display:"); + void _objc_msgSend_275( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect frameRect, + bool flag, + ) { + return __objc_msgSend_275( + obj, + sel, + frameRect, + flag, + ); + } + + late final __objc_msgSend_275Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + CGRect, ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_275 = __objc_msgSend_275Ptr.asFunction< + void Function( + ffi.Pointer, ffi.Pointer, CGRect, bool)>(); + + late final _sel_setContentSize_1 = _registerName1("setContentSize:"); + late final _sel_setFrameTopLeftPoint_1 = + _registerName1("setFrameTopLeftPoint:"); + late final _sel_cascadeTopLeftFromPoint_1 = + _registerName1("cascadeTopLeftFromPoint:"); + late final _sel_animationResizeTime_1 = + _registerName1("animationResizeTime:"); + double _objc_msgSend_276( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect newFrame, + ) { + return __objc_msgSend_276( + obj, + sel, + newFrame, + ); + } + + late final __objc_msgSend_276Ptr = _lookup< + ffi.NativeFunction< + ffi.Double Function(ffi.Pointer, ffi.Pointer, + CGRect)>>('objc_msgSend'); + late final __objc_msgSend_276 = __objc_msgSend_276Ptr.asFunction< + double Function(ffi.Pointer, ffi.Pointer, CGRect)>(); + + double _objc_msgSend_276_fpret( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect newFrame, + ) { + return __objc_msgSend_276_fpret( + obj, + sel, + newFrame, + ); + } + + late final __objc_msgSend_276_fpretPtr = _lookup< + ffi.NativeFunction< + ffi.Double Function(ffi.Pointer, ffi.Pointer, + CGRect)>>('objc_msgSend_fpret'); + late final __objc_msgSend_276_fpret = __objc_msgSend_276_fpretPtr.asFunction< + double Function(ffi.Pointer, ffi.Pointer, CGRect)>(); + + late final _sel_setFrame_display_animate_1 = + _registerName1("setFrame:display:animate:"); + void _objc_msgSend_277( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect frameRect, + bool displayFlag, + bool animateFlag, + ) { + return __objc_msgSend_277( + obj, + sel, + frameRect, + displayFlag, + animateFlag, + ); + } + + late final __objc_msgSend_277Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + CGRect, ffi.Bool, ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_277 = __objc_msgSend_277Ptr.asFunction< + void Function( + ffi.Pointer, ffi.Pointer, CGRect, bool, bool)>(); + + late final _sel_resizeIncrements1 = _registerName1("resizeIncrements"); + late final _sel_setResizeIncrements_1 = + _registerName1("setResizeIncrements:"); + late final _sel_aspectRatio1 = _registerName1("aspectRatio"); + late final _sel_setAspectRatio_1 = _registerName1("setAspectRatio:"); + late final _sel_contentResizeIncrements1 = + _registerName1("contentResizeIncrements"); + late final _sel_setContentResizeIncrements_1 = + _registerName1("setContentResizeIncrements:"); + late final _sel_contentAspectRatio1 = _registerName1("contentAspectRatio"); + late final _sel_setContentAspectRatio_1 = + _registerName1("setContentAspectRatio:"); + late final _sel_viewsNeedDisplay1 = _registerName1("viewsNeedDisplay"); + late final _sel_setViewsNeedDisplay_1 = + _registerName1("setViewsNeedDisplay:"); + late final _sel_setPreservesContentDuringLiveResize_1 = + _registerName1("setPreservesContentDuringLiveResize:"); + late final _sel_makeFirstResponder_1 = _registerName1("makeFirstResponder:"); + bool _objc_msgSend_278( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer responder, + ) { + return __objc_msgSend_278( + obj, + sel, + responder, + ); + } + + late final __objc_msgSend_278Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_278 = __objc_msgSend_278Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_firstResponder1 = _registerName1("firstResponder"); + late final _sel_resizeFlags1 = _registerName1("resizeFlags"); + late final _sel_close1 = _registerName1("close"); + late final _sel_isReleasedWhenClosed1 = + _registerName1("isReleasedWhenClosed"); + late final _sel_setReleasedWhenClosed_1 = + _registerName1("setReleasedWhenClosed:"); + late final _sel_miniaturize_1 = _registerName1("miniaturize:"); + late final _sel_deminiaturize_1 = _registerName1("deminiaturize:"); + late final _sel_isZoomed1 = _registerName1("isZoomed"); + late final _sel_zoom_1 = _registerName1("zoom:"); + late final _sel_isMiniaturized1 = _registerName1("isMiniaturized"); + ffi.Pointer _objc_msgSend_279( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_279( + obj, + sel, + ); + } + + late final __objc_msgSend_279Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_279 = __objc_msgSend_279Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + void _objc_msgSend_280( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_280( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_280Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_280 = __objc_msgSend_280Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_setContentBorderThickness_forEdge_1 = + _registerName1("setContentBorderThickness:forEdge:"); + void _objc_msgSend_281( + ffi.Pointer obj, + ffi.Pointer sel, + double thickness, + int edge, + ) { + return __objc_msgSend_281( + obj, + sel, + thickness, + edge, + ); + } + + late final __objc_msgSend_281Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Double, ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_281 = __objc_msgSend_281Ptr.asFunction< + void Function( + ffi.Pointer, ffi.Pointer, double, int)>(); + + late final _sel_contentBorderThicknessForEdge_1 = + _registerName1("contentBorderThicknessForEdge:"); + double _objc_msgSend_282( + ffi.Pointer obj, + ffi.Pointer sel, + int edge, + ) { + return __objc_msgSend_282( + obj, + sel, + edge, + ); + } + + late final __objc_msgSend_282Ptr = _lookup< + ffi.NativeFunction< + ffi.Double Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_282 = __objc_msgSend_282Ptr.asFunction< + double Function(ffi.Pointer, ffi.Pointer, int)>(); + + double _objc_msgSend_282_fpret( + ffi.Pointer obj, + ffi.Pointer sel, + int edge, + ) { + return __objc_msgSend_282_fpret( + obj, + sel, + edge, + ); + } + + late final __objc_msgSend_282_fpretPtr = _lookup< + ffi.NativeFunction< + ffi.Double Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend_fpret'); + late final __objc_msgSend_282_fpret = __objc_msgSend_282_fpretPtr.asFunction< + double Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_setAutorecalculatesContentBorderThickness_forEdge_1 = + _registerName1("setAutorecalculatesContentBorderThickness:forEdge:"); + void _objc_msgSend_283( + ffi.Pointer obj, + ffi.Pointer sel, + bool flag, + int edge, + ) { + return __objc_msgSend_283( + obj, + sel, + flag, + edge, + ); + } + + late final __objc_msgSend_283Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Bool, ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_283 = __objc_msgSend_283Ptr.asFunction< + void Function( + ffi.Pointer, ffi.Pointer, bool, int)>(); + + late final _sel_autorecalculatesContentBorderThicknessForEdge_1 = + _registerName1("autorecalculatesContentBorderThicknessForEdge:"); + bool _objc_msgSend_284( + ffi.Pointer obj, + ffi.Pointer sel, + int edge, + ) { + return __objc_msgSend_284( + obj, + sel, + edge, + ); + } + + late final __objc_msgSend_284Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_284 = __objc_msgSend_284Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_isMovable1 = _registerName1("isMovable"); + late final _sel_setMovable_1 = _registerName1("setMovable:"); + late final _sel_isMovableByWindowBackground1 = + _registerName1("isMovableByWindowBackground"); + late final _sel_setMovableByWindowBackground_1 = + _registerName1("setMovableByWindowBackground:"); + late final _sel_hidesOnDeactivate1 = _registerName1("hidesOnDeactivate"); + late final _sel_setHidesOnDeactivate_1 = + _registerName1("setHidesOnDeactivate:"); + late final _sel_canHide1 = _registerName1("canHide"); + late final _sel_setCanHide_1 = _registerName1("setCanHide:"); + late final _sel_center1 = _registerName1("center"); + late final _sel_makeKeyAndOrderFront_1 = + _registerName1("makeKeyAndOrderFront:"); + late final _sel_orderFront_1 = _registerName1("orderFront:"); + late final _sel_orderBack_1 = _registerName1("orderBack:"); + late final _sel_orderOut_1 = _registerName1("orderOut:"); + late final _sel_orderWindow_relativeTo_1 = + _registerName1("orderWindow:relativeTo:"); + void _objc_msgSend_285( + ffi.Pointer obj, + ffi.Pointer sel, + int place, + int otherWin, + ) { + return __objc_msgSend_285( + obj, + sel, + place, + otherWin, + ); + } + + late final __objc_msgSend_285Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32, ffi.Long)>>('objc_msgSend'); + late final __objc_msgSend_285 = __objc_msgSend_285Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int, int)>(); + + late final _sel_orderFrontRegardless1 = + _registerName1("orderFrontRegardless"); + late final _sel_miniwindowImage1 = _registerName1("miniwindowImage"); + late final _sel_setMiniwindowImage_1 = _registerName1("setMiniwindowImage:"); + late final _sel_miniwindowTitle1 = _registerName1("miniwindowTitle"); + late final _sel_setMiniwindowTitle_1 = _registerName1("setMiniwindowTitle:"); + late final _class_NSDockTile1 = _getClass1("NSDockTile"); + late final _sel_dockTile1 = _registerName1("dockTile"); + ffi.Pointer _objc_msgSend_286( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_286( + obj, + sel, + ); + } + + late final __objc_msgSend_286Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_286 = __objc_msgSend_286Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_isDocumentEdited1 = _registerName1("isDocumentEdited"); + late final _sel_setDocumentEdited_1 = _registerName1("setDocumentEdited:"); + late final _sel_isVisible1 = _registerName1("isVisible"); + late final _sel_isKeyWindow1 = _registerName1("isKeyWindow"); + late final _sel_isMainWindow1 = _registerName1("isMainWindow"); + late final _sel_canBecomeKeyWindow1 = _registerName1("canBecomeKeyWindow"); + late final _sel_canBecomeMainWindow1 = _registerName1("canBecomeMainWindow"); + late final _sel_makeKeyWindow1 = _registerName1("makeKeyWindow"); + late final _sel_makeMainWindow1 = _registerName1("makeMainWindow"); + late final _sel_becomeKeyWindow1 = _registerName1("becomeKeyWindow"); + late final _sel_resignKeyWindow1 = _registerName1("resignKeyWindow"); + late final _sel_becomeMainWindow1 = _registerName1("becomeMainWindow"); + late final _sel_resignMainWindow1 = _registerName1("resignMainWindow"); + late final _sel_worksWhenModal1 = _registerName1("worksWhenModal"); + late final _sel_preventsApplicationTerminationWhenModal1 = + _registerName1("preventsApplicationTerminationWhenModal"); + late final _sel_setPreventsApplicationTerminationWhenModal_1 = + _registerName1("setPreventsApplicationTerminationWhenModal:"); + late final _sel_convertRectToScreen_1 = + _registerName1("convertRectToScreen:"); + late final _sel_convertRectFromScreen_1 = + _registerName1("convertRectFromScreen:"); + late final _sel_convertPointToScreen_1 = + _registerName1("convertPointToScreen:"); + late final _sel_convertPointFromScreen_1 = + _registerName1("convertPointFromScreen:"); + late final _sel_backingScaleFactor1 = _registerName1("backingScaleFactor"); + late final _sel_performClose_1 = _registerName1("performClose:"); + late final _sel_performMiniaturize_1 = _registerName1("performMiniaturize:"); + late final _sel_performZoom_1 = _registerName1("performZoom:"); + late final _sel_dataWithEPSInsideRect_1 = + _registerName1("dataWithEPSInsideRect:"); + ffi.Pointer _objc_msgSend_287( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect rect, + ) { + return __objc_msgSend_287( + obj, + sel, + rect, + ); + } + + late final __objc_msgSend_287Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, CGRect)>>('objc_msgSend'); + late final __objc_msgSend_287 = __objc_msgSend_287Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, CGRect)>(); + + late final _sel_dataWithPDFInsideRect_1 = + _registerName1("dataWithPDFInsideRect:"); + late final _sel_print_1 = _registerName1("print:"); + late final _sel_allowsToolTipsWhenApplicationIsInactive1 = + _registerName1("allowsToolTipsWhenApplicationIsInactive"); + late final _sel_setAllowsToolTipsWhenApplicationIsInactive_1 = + _registerName1("setAllowsToolTipsWhenApplicationIsInactive:"); + late final _sel_backingType1 = _registerName1("backingType"); + int _objc_msgSend_288( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_288( + obj, + sel, + ); + } + + late final __objc_msgSend_288Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_288 = __objc_msgSend_288Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setBackingType_1 = _registerName1("setBackingType:"); + void _objc_msgSend_289( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_289( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_289Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_289 = __objc_msgSend_289Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_level1 = _registerName1("level"); + late final _sel_setLevel_1 = _registerName1("setLevel:"); + late final _sel_depthLimit1 = _registerName1("depthLimit"); + late final _sel_setDepthLimit_1 = _registerName1("setDepthLimit:"); + void _objc_msgSend_290( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_290( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_290Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_290 = __objc_msgSend_290Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_setDynamicDepthLimit_1 = + _registerName1("setDynamicDepthLimit:"); + late final _sel_hasDynamicDepthLimit1 = + _registerName1("hasDynamicDepthLimit"); + late final _sel_screen1 = _registerName1("screen"); + ffi.Pointer _objc_msgSend_291( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_291( + obj, + sel, + ); + } + + late final __objc_msgSend_291Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_291 = __objc_msgSend_291Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_deepestScreen1 = _registerName1("deepestScreen"); + late final _sel_hasShadow1 = _registerName1("hasShadow"); + late final _sel_setHasShadow_1 = _registerName1("setHasShadow:"); + late final _sel_invalidateShadow1 = _registerName1("invalidateShadow"); + late final _sel_setOpaque_1 = _registerName1("setOpaque:"); + late final _sel_sharingType1 = _registerName1("sharingType"); + int _objc_msgSend_292( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_292( + obj, + sel, + ); + } + + late final __objc_msgSend_292Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_292 = __objc_msgSend_292Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setSharingType_1 = _registerName1("setSharingType:"); + void _objc_msgSend_293( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_293( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_293Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_293 = __objc_msgSend_293Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_allowsConcurrentViewDrawing1 = + _registerName1("allowsConcurrentViewDrawing"); + late final _sel_setAllowsConcurrentViewDrawing_1 = + _registerName1("setAllowsConcurrentViewDrawing:"); + late final _sel_displaysWhenScreenProfileChanges1 = + _registerName1("displaysWhenScreenProfileChanges"); + late final _sel_setDisplaysWhenScreenProfileChanges_1 = + _registerName1("setDisplaysWhenScreenProfileChanges:"); + late final _sel_disableScreenUpdatesUntilFlush1 = + _registerName1("disableScreenUpdatesUntilFlush"); + late final _sel_canBecomeVisibleWithoutLogin1 = + _registerName1("canBecomeVisibleWithoutLogin"); + late final _sel_setCanBecomeVisibleWithoutLogin_1 = + _registerName1("setCanBecomeVisibleWithoutLogin:"); + late final _sel_collectionBehavior1 = _registerName1("collectionBehavior"); + int _objc_msgSend_294( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_294( + obj, + sel, + ); + } + + late final __objc_msgSend_294Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_294 = __objc_msgSend_294Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setCollectionBehavior_1 = + _registerName1("setCollectionBehavior:"); + void _objc_msgSend_295( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_295( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_295Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_295 = __objc_msgSend_295Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_animationBehavior1 = _registerName1("animationBehavior"); + int _objc_msgSend_296( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_296( + obj, + sel, + ); + } + + late final __objc_msgSend_296Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_296 = __objc_msgSend_296Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setAnimationBehavior_1 = + _registerName1("setAnimationBehavior:"); + void _objc_msgSend_297( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_297( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_297Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_297 = __objc_msgSend_297Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_isOnActiveSpace1 = _registerName1("isOnActiveSpace"); + late final _sel_toggleFullScreen_1 = _registerName1("toggleFullScreen:"); + late final _sel_stringWithSavedFrame1 = + _registerName1("stringWithSavedFrame"); + late final _sel_setFrameFromString_1 = _registerName1("setFrameFromString:"); + late final _sel_saveFrameUsingName_1 = _registerName1("saveFrameUsingName:"); + late final _sel_setFrameUsingName_force_1 = + _registerName1("setFrameUsingName:force:"); + late final _sel_setFrameUsingName_1 = _registerName1("setFrameUsingName:"); + late final _sel_setFrameAutosaveName_1 = + _registerName1("setFrameAutosaveName:"); + late final _sel_frameAutosaveName1 = _registerName1("frameAutosaveName"); + late final _sel_removeFrameUsingName_1 = + _registerName1("removeFrameUsingName:"); + late final _sel_contentMinSize1 = _registerName1("contentMinSize"); + late final _sel_setContentMinSize_1 = _registerName1("setContentMinSize:"); + late final _sel_contentMaxSize1 = _registerName1("contentMaxSize"); + late final _sel_setContentMaxSize_1 = _registerName1("setContentMaxSize:"); + late final _sel_minFullScreenContentSize1 = + _registerName1("minFullScreenContentSize"); + late final _sel_setMinFullScreenContentSize_1 = + _registerName1("setMinFullScreenContentSize:"); + late final _sel_maxFullScreenContentSize1 = + _registerName1("maxFullScreenContentSize"); + late final _sel_setMaxFullScreenContentSize_1 = + _registerName1("setMaxFullScreenContentSize:"); + late final _sel_deviceDescription1 = _registerName1("deviceDescription"); + late final _class_NSWindowController1 = _getClass1("NSWindowController"); + late final _sel_windowController1 = _registerName1("windowController"); + ffi.Pointer _objc_msgSend_298( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_298( + obj, + sel, + ); + } + + late final __objc_msgSend_298Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_298 = __objc_msgSend_298Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setWindowController_1 = + _registerName1("setWindowController:"); + void _objc_msgSend_299( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_299( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_299Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_299 = __objc_msgSend_299Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_beginSheet_completionHandler_1 = + _registerName1("beginSheet:completionHandler:"); + void _objc_msgSend_300( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer sheetWindow, + ffi.Pointer<_ObjCBlock> handler, + ) { + return __objc_msgSend_300( + obj, + sel, + sheetWindow, + handler, + ); + } + + late final __objc_msgSend_300Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); + late final __objc_msgSend_300 = __objc_msgSend_300Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer<_ObjCBlock>)>(); + + late final _sel_beginCriticalSheet_completionHandler_1 = + _registerName1("beginCriticalSheet:completionHandler:"); + late final _sel_endSheet_1 = _registerName1("endSheet:"); + void _objc_msgSend_301( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer sheetWindow, + ) { + return __objc_msgSend_301( + obj, + sel, + sheetWindow, + ); + } + + late final __objc_msgSend_301Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_301 = __objc_msgSend_301Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_endSheet_returnCode_1 = + _registerName1("endSheet:returnCode:"); + void _objc_msgSend_302( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer sheetWindow, + int returnCode, + ) { + return __objc_msgSend_302( + obj, + sel, + sheetWindow, + returnCode, + ); + } + + late final __objc_msgSend_302Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Long)>>('objc_msgSend'); + late final __objc_msgSend_302 = __objc_msgSend_302Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + late final _sel_sheets1 = _registerName1("sheets"); + late final _sel_attachedSheet1 = _registerName1("attachedSheet"); + late final _sel_isSheet1 = _registerName1("isSheet"); + late final _sel_sheetParent1 = _registerName1("sheetParent"); + late final _class_NSButton1 = _getClass1("NSButton"); + late final _sel_standardWindowButton_forStyleMask_1 = + _registerName1("standardWindowButton:forStyleMask:"); + ffi.Pointer _objc_msgSend_303( + ffi.Pointer obj, + ffi.Pointer sel, + int b, + int styleMask, + ) { + return __objc_msgSend_303( + obj, + sel, + b, + styleMask, + ); + } + + late final __objc_msgSend_303Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Int32, ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_303 = __objc_msgSend_303Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int, int)>(); + + late final _sel_standardWindowButton_1 = + _registerName1("standardWindowButton:"); + ffi.Pointer _objc_msgSend_304( + ffi.Pointer obj, + ffi.Pointer sel, + int b, + ) { + return __objc_msgSend_304( + obj, + sel, + b, + ); + } + + late final __objc_msgSend_304Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_304 = __objc_msgSend_304Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_addChildWindow_ordered_1 = + _registerName1("addChildWindow:ordered:"); + void _objc_msgSend_305( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer childWin, + int place, + ) { + return __objc_msgSend_305( + obj, + sel, + childWin, + place, + ); + } + + late final __objc_msgSend_305Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_305 = __objc_msgSend_305Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + late final _sel_removeChildWindow_1 = _registerName1("removeChildWindow:"); + late final _sel_childWindows1 = _registerName1("childWindows"); + late final _sel_parentWindow1 = _registerName1("parentWindow"); + late final _sel_setParentWindow_1 = _registerName1("setParentWindow:"); + void _objc_msgSend_306( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_306( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_306Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_306 = __objc_msgSend_306Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_appearanceSource1 = _registerName1("appearanceSource"); + ffi.Pointer _objc_msgSend_307( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_307( + obj, + sel, + ); + } + + late final __objc_msgSend_307Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_307 = __objc_msgSend_307Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setAppearanceSource_1 = + _registerName1("setAppearanceSource:"); + void _objc_msgSend_308( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_308( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_308Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_308 = __objc_msgSend_308Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _class_NSColorSpace1 = _getClass1("NSColorSpace"); + late final _sel_colorSpace1 = _registerName1("colorSpace"); + ffi.Pointer _objc_msgSend_309( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_309( + obj, + sel, + ); + } + + late final __objc_msgSend_309Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_309 = __objc_msgSend_309Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setColorSpace_1 = _registerName1("setColorSpace:"); + void _objc_msgSend_310( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_310( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_310Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_310 = __objc_msgSend_310Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_canRepresentDisplayGamut_1 = + _registerName1("canRepresentDisplayGamut:"); + bool _objc_msgSend_311( + ffi.Pointer obj, + ffi.Pointer sel, + int displayGamut, + ) { + return __objc_msgSend_311( + obj, + sel, + displayGamut, + ); + } + + late final __objc_msgSend_311Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_311 = __objc_msgSend_311Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_windowNumbersWithOptions_1 = + _registerName1("windowNumbersWithOptions:"); + ffi.Pointer _objc_msgSend_312( + ffi.Pointer obj, + ffi.Pointer sel, + int options, + ) { + return __objc_msgSend_312( + obj, + sel, + options, + ); + } + + late final __objc_msgSend_312Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_312 = __objc_msgSend_312Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_windowNumberAtPoint_belowWindowWithWindowNumber_1 = + _registerName1("windowNumberAtPoint:belowWindowWithWindowNumber:"); + int _objc_msgSend_313( + ffi.Pointer obj, + ffi.Pointer sel, + CGPoint point, + int windowNumber, + ) { + return __objc_msgSend_313( + obj, + sel, + point, + windowNumber, + ); + } + + late final __objc_msgSend_313Ptr = _lookup< + ffi.NativeFunction< + ffi.Long Function(ffi.Pointer, ffi.Pointer, + CGPoint, ffi.Long)>>('objc_msgSend'); + late final __objc_msgSend_313 = __objc_msgSend_313Ptr.asFunction< + int Function( + ffi.Pointer, ffi.Pointer, CGPoint, int)>(); + + late final _sel_occlusionState1 = _registerName1("occlusionState"); + int _objc_msgSend_314( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_314( + obj, + sel, + ); + } + + late final __objc_msgSend_314Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_314 = __objc_msgSend_314Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_titlebarSeparatorStyle1 = + _registerName1("titlebarSeparatorStyle"); + int _objc_msgSend_315( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_315( + obj, + sel, + ); + } + + late final __objc_msgSend_315Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_315 = __objc_msgSend_315Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setTitlebarSeparatorStyle_1 = + _registerName1("setTitlebarSeparatorStyle:"); + void _objc_msgSend_316( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_316( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_316Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_316 = __objc_msgSend_316Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _class_NSViewController1 = _getClass1("NSViewController"); + late final _sel_contentViewController1 = + _registerName1("contentViewController"); + ffi.Pointer _objc_msgSend_317( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_317( + obj, + sel, + ); + } + + late final __objc_msgSend_317Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_317 = __objc_msgSend_317Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setContentViewController_1 = + _registerName1("setContentViewController:"); + void _objc_msgSend_318( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_318( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_318Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_318 = __objc_msgSend_318Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_windowWithContentViewController_1 = + _registerName1("windowWithContentViewController:"); + instancetype _objc_msgSend_319( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer contentViewController, + ) { + return __objc_msgSend_319( + obj, + sel, + contentViewController, + ); + } + + late final __objc_msgSend_319Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_319 = __objc_msgSend_319Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_performWindowDragWithEvent_1 = + _registerName1("performWindowDragWithEvent:"); + late final _sel_initialFirstResponder1 = + _registerName1("initialFirstResponder"); + late final _sel_setInitialFirstResponder_1 = + _registerName1("setInitialFirstResponder:"); + late final _sel_selectNextKeyView_1 = _registerName1("selectNextKeyView:"); + late final _sel_selectPreviousKeyView_1 = + _registerName1("selectPreviousKeyView:"); + late final _sel_selectKeyViewFollowingView_1 = + _registerName1("selectKeyViewFollowingView:"); + late final _sel_selectKeyViewPrecedingView_1 = + _registerName1("selectKeyViewPrecedingView:"); + late final _sel_keyViewSelectionDirection1 = + _registerName1("keyViewSelectionDirection"); + int _objc_msgSend_320( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_320( + obj, + sel, + ); + } + + late final __objc_msgSend_320Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_320 = __objc_msgSend_320Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _class_NSButtonCell1 = _getClass1("NSButtonCell"); + late final _sel_defaultButtonCell1 = _registerName1("defaultButtonCell"); + ffi.Pointer _objc_msgSend_321( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_321( + obj, + sel, + ); + } + + late final __objc_msgSend_321Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_321 = __objc_msgSend_321Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setDefaultButtonCell_1 = + _registerName1("setDefaultButtonCell:"); + void _objc_msgSend_322( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_322( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_322Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_322 = __objc_msgSend_322Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_disableKeyEquivalentForDefaultButtonCell1 = + _registerName1("disableKeyEquivalentForDefaultButtonCell"); + late final _sel_enableKeyEquivalentForDefaultButtonCell1 = + _registerName1("enableKeyEquivalentForDefaultButtonCell"); + late final _sel_autorecalculatesKeyViewLoop1 = + _registerName1("autorecalculatesKeyViewLoop"); + late final _sel_setAutorecalculatesKeyViewLoop_1 = + _registerName1("setAutorecalculatesKeyViewLoop:"); + late final _sel_recalculateKeyViewLoop1 = + _registerName1("recalculateKeyViewLoop"); + late final _class_NSToolbar1 = _getClass1("NSToolbar"); + late final _sel_toolbar1 = _registerName1("toolbar"); + ffi.Pointer _objc_msgSend_323( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_323( + obj, + sel, + ); + } + + late final __objc_msgSend_323Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_323 = __objc_msgSend_323Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setToolbar_1 = _registerName1("setToolbar:"); + void _objc_msgSend_324( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_324( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_324Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_324 = __objc_msgSend_324Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_toggleToolbarShown_1 = _registerName1("toggleToolbarShown:"); + late final _sel_runToolbarCustomizationPalette_1 = + _registerName1("runToolbarCustomizationPalette:"); + late final _sel_showsToolbarButton1 = _registerName1("showsToolbarButton"); + late final _sel_setShowsToolbarButton_1 = + _registerName1("setShowsToolbarButton:"); + late final _sel_allowsAutomaticWindowTabbing1 = + _registerName1("allowsAutomaticWindowTabbing"); + late final _sel_setAllowsAutomaticWindowTabbing_1 = + _registerName1("setAllowsAutomaticWindowTabbing:"); + late final _sel_userTabbingPreference1 = + _registerName1("userTabbingPreference"); + int _objc_msgSend_325( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_325( + obj, + sel, + ); + } + + late final __objc_msgSend_325Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_325 = __objc_msgSend_325Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_tabbingMode1 = _registerName1("tabbingMode"); + int _objc_msgSend_326( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_326( + obj, + sel, + ); + } + + late final __objc_msgSend_326Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_326 = __objc_msgSend_326Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setTabbingMode_1 = _registerName1("setTabbingMode:"); + void _objc_msgSend_327( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_327( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_327Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_327 = __objc_msgSend_327Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_tabbingIdentifier1 = _registerName1("tabbingIdentifier"); + late final _sel_setTabbingIdentifier_1 = + _registerName1("setTabbingIdentifier:"); + late final _sel_selectNextTab_1 = _registerName1("selectNextTab:"); + late final _sel_selectPreviousTab_1 = _registerName1("selectPreviousTab:"); + late final _sel_moveTabToNewWindow_1 = _registerName1("moveTabToNewWindow:"); + late final _sel_mergeAllWindows_1 = _registerName1("mergeAllWindows:"); + late final _sel_toggleTabBar_1 = _registerName1("toggleTabBar:"); + late final _sel_toggleTabOverview_1 = _registerName1("toggleTabOverview:"); + late final _sel_tabbedWindows1 = _registerName1("tabbedWindows"); + late final _sel_addTabbedWindow_ordered_1 = + _registerName1("addTabbedWindow:ordered:"); + late final _class_NSWindowTab1 = _getClass1("NSWindowTab"); + late final _sel_tab1 = _registerName1("tab"); + ffi.Pointer _objc_msgSend_328( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_328( + obj, + sel, + ); + } + + late final __objc_msgSend_328Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_328 = __objc_msgSend_328Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _class_NSWindowTabGroup1 = _getClass1("NSWindowTabGroup"); + late final _sel_tabGroup1 = _registerName1("tabGroup"); + ffi.Pointer _objc_msgSend_329( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_329( + obj, + sel, + ); + } + + late final __objc_msgSend_329Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_329 = __objc_msgSend_329Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_transferWindowSharingToWindow_completionHandler_1 = + _registerName1("transferWindowSharingToWindow:completionHandler:"); + void _objc_msgSend_330( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer window, + ffi.Pointer<_ObjCBlock> completionHandler, + ) { + return __objc_msgSend_330( + obj, + sel, + window, + completionHandler, + ); + } + + late final __objc_msgSend_330Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); + late final __objc_msgSend_330 = __objc_msgSend_330Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer<_ObjCBlock>)>(); + + late final _sel_hasActiveWindowSharingSession1 = + _registerName1("hasActiveWindowSharingSession"); + late final _sel_windowTitlebarLayoutDirection1 = + _registerName1("windowTitlebarLayoutDirection"); + late final _sel_trackEventsMatchingMask_timeout_mode_handler_1 = + _registerName1("trackEventsMatchingMask:timeout:mode:handler:"); + void _objc_msgSend_331( + ffi.Pointer obj, + ffi.Pointer sel, + int mask, + double timeout, + ffi.Pointer mode, + ffi.Pointer<_ObjCBlock> trackingHandler, + ) { + return __objc_msgSend_331( + obj, + sel, + mask, + timeout, + mode, + trackingHandler, + ); + } + + late final __objc_msgSend_331Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + ffi.Double, + ffi.Pointer, + ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); + late final __objc_msgSend_331 = __objc_msgSend_331Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int, double, + ffi.Pointer, ffi.Pointer<_ObjCBlock>)>(); + + late final _sel_nextEventMatchingMask_1 = + _registerName1("nextEventMatchingMask:"); + ffi.Pointer _objc_msgSend_332( + ffi.Pointer obj, + ffi.Pointer sel, + int mask, + ) { + return __objc_msgSend_332( + obj, + sel, + mask, + ); + } + + late final __objc_msgSend_332Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_332 = __objc_msgSend_332Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _class_NSDate1 = _getClass1("NSDate"); + late final _sel_timeIntervalSinceReferenceDate1 = + _registerName1("timeIntervalSinceReferenceDate"); + late final _sel_initWithTimeIntervalSinceReferenceDate_1 = + _registerName1("initWithTimeIntervalSinceReferenceDate:"); + instancetype _objc_msgSend_333( + ffi.Pointer obj, + ffi.Pointer sel, + double ti, + ) { + return __objc_msgSend_333( + obj, + sel, + ti, + ); + } + + late final __objc_msgSend_333Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Double)>>('objc_msgSend'); + late final __objc_msgSend_333 = __objc_msgSend_333Ptr.asFunction< + instancetype Function( + ffi.Pointer, ffi.Pointer, double)>(); + + late final _sel_nextEventMatchingMask_untilDate_inMode_dequeue_1 = + _registerName1("nextEventMatchingMask:untilDate:inMode:dequeue:"); + ffi.Pointer _objc_msgSend_334( + ffi.Pointer obj, + ffi.Pointer sel, + int mask, + ffi.Pointer expiration, + ffi.Pointer mode, + bool deqFlag, + ) { + return __objc_msgSend_334( + obj, + sel, + mask, + expiration, + mode, + deqFlag, + ); + } + + late final __objc_msgSend_334Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + ffi.Pointer, + ffi.Pointer, + ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_334 = __objc_msgSend_334Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + int, + ffi.Pointer, + ffi.Pointer, + bool)>(); + + late final _sel_discardEventsMatchingMask_beforeEvent_1 = + _registerName1("discardEventsMatchingMask:beforeEvent:"); + void _objc_msgSend_335( + ffi.Pointer obj, + ffi.Pointer sel, + int mask, + ffi.Pointer lastEvent, + ) { + return __objc_msgSend_335( + obj, + sel, + mask, + lastEvent, + ); + } + + late final __objc_msgSend_335Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_335 = __objc_msgSend_335Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int, + ffi.Pointer)>(); + + late final _sel_postEvent_atStart_1 = _registerName1("postEvent:atStart:"); + void _objc_msgSend_336( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer event, + bool flag, + ) { + return __objc_msgSend_336( + obj, + sel, + event, + flag, + ); + } + + late final __objc_msgSend_336Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_336 = __objc_msgSend_336Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, bool)>(); + + late final _sel_sendEvent_1 = _registerName1("sendEvent:"); + late final _sel_currentEvent1 = _registerName1("currentEvent"); + ffi.Pointer _objc_msgSend_337( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_337( + obj, + sel, + ); + } + + late final __objc_msgSend_337Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_337 = __objc_msgSend_337Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_acceptsMouseMovedEvents1 = + _registerName1("acceptsMouseMovedEvents"); + late final _sel_setAcceptsMouseMovedEvents_1 = + _registerName1("setAcceptsMouseMovedEvents:"); + late final _sel_ignoresMouseEvents1 = _registerName1("ignoresMouseEvents"); + late final _sel_setIgnoresMouseEvents_1 = + _registerName1("setIgnoresMouseEvents:"); + late final _sel_mouseLocationOutsideOfEventStream1 = + _registerName1("mouseLocationOutsideOfEventStream"); + late final _sel_disableCursorRects1 = _registerName1("disableCursorRects"); + late final _sel_enableCursorRects1 = _registerName1("enableCursorRects"); + late final _sel_discardCursorRects1 = _registerName1("discardCursorRects"); + late final _sel_areCursorRectsEnabled1 = + _registerName1("areCursorRectsEnabled"); + late final _sel_invalidateCursorRectsForView_1 = + _registerName1("invalidateCursorRectsForView:"); + late final _sel_resetCursorRects1 = _registerName1("resetCursorRects"); + late final _class_NSPasteboard1 = _getClass1("NSPasteboard"); + late final _sel_generalPasteboard1 = _registerName1("generalPasteboard"); + ffi.Pointer _objc_msgSend_338( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_338( + obj, + sel, + ); + } + + late final __objc_msgSend_338Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_338 = __objc_msgSend_338Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_pasteboardWithName_1 = _registerName1("pasteboardWithName:"); + ffi.Pointer _objc_msgSend_339( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer name, + ) { + return __objc_msgSend_339( + obj, + sel, + name, + ); + } + + late final __objc_msgSend_339Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_339 = __objc_msgSend_339Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_pasteboardWithUniqueName1 = + _registerName1("pasteboardWithUniqueName"); + late final _sel_name1 = _registerName1("name"); + late final _sel_changeCount1 = _registerName1("changeCount"); + late final _sel_releaseGlobally1 = _registerName1("releaseGlobally"); + late final _sel_prepareForNewContentsWithOptions_1 = + _registerName1("prepareForNewContentsWithOptions:"); + int _objc_msgSend_340( + ffi.Pointer obj, + ffi.Pointer sel, + int options, + ) { + return __objc_msgSend_340( + obj, + sel, + options, + ); + } + + late final __objc_msgSend_340Ptr = _lookup< + ffi.NativeFunction< + ffi.Long Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_340 = __objc_msgSend_340Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_clearContents1 = _registerName1("clearContents"); + late final _sel_writeObjects_1 = _registerName1("writeObjects:"); + late final _class_NSArray1 = _getClass1("NSArray"); + late final _sel_count1 = _registerName1("count"); + late final _sel_objectAtIndex_1 = _registerName1("objectAtIndex:"); + ffi.Pointer _objc_msgSend_341( + ffi.Pointer obj, + ffi.Pointer sel, + int index, + ) { + return __objc_msgSend_341( + obj, + sel, + index, + ); + } + + late final __objc_msgSend_341Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_341 = __objc_msgSend_341Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithObjects_count_1 = + _registerName1("initWithObjects:count:"); + instancetype _objc_msgSend_342( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer> objects, + int cnt, + ) { + return __objc_msgSend_342( + obj, + sel, + objects, + cnt, + ); + } + + late final __objc_msgSend_342Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>, + ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_342 = __objc_msgSend_342Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer>, int)>(); + + late final _sel_readObjectsForClasses_options_1 = + _registerName1("readObjectsForClasses:options:"); + ffi.Pointer _objc_msgSend_343( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer classArray, + ffi.Pointer options, + ) { + return __objc_msgSend_343( + obj, + sel, + classArray, + options, + ); + } + + late final __objc_msgSend_343Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_343 = __objc_msgSend_343Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_pasteboardItems1 = _registerName1("pasteboardItems"); + ffi.Pointer _objc_msgSend_344( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_344( + obj, + sel, + ); + } + + late final __objc_msgSend_344Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_344 = __objc_msgSend_344Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _class_NSPasteboardItem1 = _getClass1("NSPasteboardItem"); + late final _sel_indexOfPasteboardItem_1 = + _registerName1("indexOfPasteboardItem:"); + int _objc_msgSend_345( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer pasteboardItem, + ) { + return __objc_msgSend_345( + obj, + sel, + pasteboardItem, + ); + } + + late final __objc_msgSend_345Ptr = _lookup< + ffi.NativeFunction< + ffi.UnsignedLong Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_345 = __objc_msgSend_345Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_canReadItemWithDataConformingToTypes_1 = + _registerName1("canReadItemWithDataConformingToTypes:"); + bool _objc_msgSend_346( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer types, + ) { + return __objc_msgSend_346( + obj, + sel, + types, + ); + } + + late final __objc_msgSend_346Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_346 = __objc_msgSend_346Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_canReadObjectForClasses_options_1 = + _registerName1("canReadObjectForClasses:options:"); + bool _objc_msgSend_347( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer classArray, + ffi.Pointer options, + ) { + return __objc_msgSend_347( + obj, + sel, + classArray, + options, + ); + } + + late final __objc_msgSend_347Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_347 = __objc_msgSend_347Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_declareTypes_owner_1 = _registerName1("declareTypes:owner:"); + int _objc_msgSend_348( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer newTypes, + ffi.Pointer newOwner, + ) { + return __objc_msgSend_348( + obj, + sel, + newTypes, + newOwner, + ); + } + + late final __objc_msgSend_348Ptr = _lookup< + ffi.NativeFunction< + ffi.Long Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_348 = __objc_msgSend_348Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_addTypes_owner_1 = _registerName1("addTypes:owner:"); + late final _sel_types1 = _registerName1("types"); + late final _sel_availableTypeFromArray_1 = + _registerName1("availableTypeFromArray:"); + ffi.Pointer _objc_msgSend_349( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer types, + ) { + return __objc_msgSend_349( + obj, + sel, + types, + ); + } + + late final __objc_msgSend_349Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_349 = __objc_msgSend_349Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setData_forType_1 = _registerName1("setData:forType:"); + bool _objc_msgSend_350( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer data, + ffi.Pointer dataType, + ) { + return __objc_msgSend_350( + obj, + sel, + data, + dataType, + ); + } + + late final __objc_msgSend_350Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_350 = __objc_msgSend_350Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setPropertyList_forType_1 = + _registerName1("setPropertyList:forType:"); + bool _objc_msgSend_351( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer plist, + ffi.Pointer dataType, + ) { + return __objc_msgSend_351( + obj, + sel, + plist, + dataType, + ); + } + + late final __objc_msgSend_351Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_351 = __objc_msgSend_351Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setString_forType_1 = _registerName1("setString:forType:"); + bool _objc_msgSend_352( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer string, + ffi.Pointer dataType, + ) { + return __objc_msgSend_352( + obj, + sel, + string, + dataType, + ); + } + + late final __objc_msgSend_352Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_352 = __objc_msgSend_352Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_dataForType_1 = _registerName1("dataForType:"); + ffi.Pointer _objc_msgSend_353( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer dataType, + ) { + return __objc_msgSend_353( + obj, + sel, + dataType, + ); + } + + late final __objc_msgSend_353Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_353 = __objc_msgSend_353Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_propertyListForType_1 = + _registerName1("propertyListForType:"); + late final _sel_stringForType_1 = _registerName1("stringForType:"); + ffi.Pointer _objc_msgSend_354( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer dataType, + ) { + return __objc_msgSend_354( + obj, + sel, + dataType, + ); + } + + late final __objc_msgSend_354Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_354 = __objc_msgSend_354Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_dragImage_at_offset_event_pasteboard_source_slideBack_1 = + _registerName1("dragImage:at:offset:event:pasteboard:source:slideBack:"); + void _objc_msgSend_355( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer image, + CGPoint baseLocation, + CGSize initialOffset, + ffi.Pointer event, + ffi.Pointer pboard, + ffi.Pointer sourceObj, + bool slideFlag, + ) { + return __objc_msgSend_355( + obj, + sel, + image, + baseLocation, + initialOffset, + event, + pboard, + sourceObj, + slideFlag, + ); + } + + late final __objc_msgSend_355Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + CGPoint, + CGSize, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_355 = __objc_msgSend_355Ptr.asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + CGPoint, + CGSize, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + bool)>(); + + late final _sel_registerForDraggedTypes_1 = + _registerName1("registerForDraggedTypes:"); + void _objc_msgSend_356( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer newTypes, + ) { + return __objc_msgSend_356( + obj, + sel, + newTypes, + ); + } + + late final __objc_msgSend_356Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_356 = __objc_msgSend_356Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_unregisterDraggedTypes1 = + _registerName1("unregisterDraggedTypes"); + late final _sel_initWithWindowRef_1 = _registerName1("initWithWindowRef:"); + ffi.Pointer _objc_msgSend_357( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer windowRef, + ) { + return __objc_msgSend_357( + obj, + sel, + windowRef, + ); + } + + late final __objc_msgSend_357Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_357 = __objc_msgSend_357Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_windowRef1 = _registerName1("windowRef"); + late final _class_CADisplayLink1 = _getClass1("CADisplayLink"); + late final _sel_displayLinkWithTarget_selector_1 = + _registerName1("displayLinkWithTarget:selector:"); + ffi.Pointer _objc_msgSend_358( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer target, + ffi.Pointer selector, + ) { + return __objc_msgSend_358( + obj, + sel, + target, + selector, + ); + } + + late final __objc_msgSend_358Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_358 = __objc_msgSend_358Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_cacheImageInRect_1 = _registerName1("cacheImageInRect:"); + late final _sel_restoreCachedImage1 = _registerName1("restoreCachedImage"); + late final _sel_discardCachedImage1 = _registerName1("discardCachedImage"); + late final _sel_menuChanged_1 = _registerName1("menuChanged:"); + void _objc_msgSend_359( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer menu, + ) { + return __objc_msgSend_359( + obj, + sel, + menu, + ); + } + + late final __objc_msgSend_359Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_359 = __objc_msgSend_359Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_gState1 = _registerName1("gState"); + late final _sel_convertBaseToScreen_1 = + _registerName1("convertBaseToScreen:"); + late final _sel_convertScreenToBase_1 = + _registerName1("convertScreenToBase:"); + late final _sel_userSpaceScaleFactor1 = + _registerName1("userSpaceScaleFactor"); + late final _sel_useOptimizedDrawing_1 = + _registerName1("useOptimizedDrawing:"); + late final _sel_canStoreColor1 = _registerName1("canStoreColor"); + late final _sel_disableFlushWindow1 = _registerName1("disableFlushWindow"); + late final _sel_enableFlushWindow1 = _registerName1("enableFlushWindow"); + late final _sel_isFlushWindowDisabled1 = + _registerName1("isFlushWindowDisabled"); + late final _sel_flushWindow1 = _registerName1("flushWindow"); + late final _sel_flushWindowIfNeeded1 = _registerName1("flushWindowIfNeeded"); + late final _sel_isAutodisplay1 = _registerName1("isAutodisplay"); + late final _sel_setAutodisplay_1 = _registerName1("setAutodisplay:"); + late final _sel_graphicsContext1 = _registerName1("graphicsContext"); + late final _sel_isOneShot1 = _registerName1("isOneShot"); + late final _sel_setOneShot_1 = _registerName1("setOneShot:"); + late final _sel_preferredBackingLocation1 = + _registerName1("preferredBackingLocation"); + int _objc_msgSend_360( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_360( + obj, + sel, + ); + } + + late final __objc_msgSend_360Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_360 = __objc_msgSend_360Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setPreferredBackingLocation_1 = + _registerName1("setPreferredBackingLocation:"); + void _objc_msgSend_361( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_361( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_361Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_361 = __objc_msgSend_361Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_backingLocation1 = _registerName1("backingLocation"); + late final _sel_showsResizeIndicator1 = + _registerName1("showsResizeIndicator"); + late final _sel_setShowsResizeIndicator_1 = + _registerName1("setShowsResizeIndicator:"); + late final _class_NSApplication1 = _getClass1("NSApplication"); + late final _sel_sharedApplication1 = _registerName1("sharedApplication"); + ffi.Pointer _objc_msgSend_362( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_362( + obj, + sel, + ); + } + + late final __objc_msgSend_362Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_362 = __objc_msgSend_362Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_hide_1 = _registerName1("hide:"); + late final _sel_unhide_1 = _registerName1("unhide:"); + late final _sel_unhideWithoutActivation1 = + _registerName1("unhideWithoutActivation"); + late final _sel_windowWithWindowNumber_1 = + _registerName1("windowWithWindowNumber:"); + ffi.Pointer _objc_msgSend_363( + ffi.Pointer obj, + ffi.Pointer sel, + int windowNum, + ) { + return __objc_msgSend_363( + obj, + sel, + windowNum, + ); + } + + late final __objc_msgSend_363Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Long)>>('objc_msgSend'); + late final __objc_msgSend_363 = __objc_msgSend_363Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_mainWindow1 = _registerName1("mainWindow"); + late final _sel_keyWindow1 = _registerName1("keyWindow"); + late final _sel_isActive1 = _registerName1("isActive"); + late final _sel_isRunning1 = _registerName1("isRunning"); + late final _sel_deactivate1 = _registerName1("deactivate"); + late final _sel_activateIgnoringOtherApps_1 = + _registerName1("activateIgnoringOtherApps:"); + late final _sel_activate1 = _registerName1("activate"); + late final _class_NSRunningApplication1 = _getClass1("NSRunningApplication"); + late final _sel_isTerminated1 = _registerName1("isTerminated"); + late final _sel_isFinishedLaunching1 = _registerName1("isFinishedLaunching"); + late final _sel_ownsMenuBar1 = _registerName1("ownsMenuBar"); + late final _sel_activationPolicy1 = _registerName1("activationPolicy"); + int _objc_msgSend_364( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_364( + obj, + sel, + ); + } + + late final __objc_msgSend_364Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_364 = __objc_msgSend_364Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_localizedName1 = _registerName1("localizedName"); + late final _sel_bundleIdentifier1 = _registerName1("bundleIdentifier"); + late final _sel_bundleURL1 = _registerName1("bundleURL"); + late final _sel_executableURL1 = _registerName1("executableURL"); + late final _sel_processIdentifier1 = _registerName1("processIdentifier"); + late final _sel_launchDate1 = _registerName1("launchDate"); + ffi.Pointer _objc_msgSend_365( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_365( + obj, + sel, + ); + } + + late final __objc_msgSend_365Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_365 = __objc_msgSend_365Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_icon1 = _registerName1("icon"); + late final _sel_executableArchitecture1 = + _registerName1("executableArchitecture"); + late final _sel_hide1 = _registerName1("hide"); + late final _sel_unhide1 = _registerName1("unhide"); + late final _sel_activateFromApplication_options_1 = + _registerName1("activateFromApplication:options:"); + bool _objc_msgSend_366( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer application, + int options, + ) { + return __objc_msgSend_366( + obj, + sel, + application, + options, + ); + } + + late final __objc_msgSend_366Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_366 = __objc_msgSend_366Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + late final _sel_activateWithOptions_1 = + _registerName1("activateWithOptions:"); + bool _objc_msgSend_367( + ffi.Pointer obj, + ffi.Pointer sel, + int options, + ) { + return __objc_msgSend_367( + obj, + sel, + options, + ); + } + + late final __objc_msgSend_367Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_367 = __objc_msgSend_367Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_terminate1 = _registerName1("terminate"); + late final _sel_forceTerminate1 = _registerName1("forceTerminate"); + late final _sel_runningApplicationsWithBundleIdentifier_1 = + _registerName1("runningApplicationsWithBundleIdentifier:"); + ffi.Pointer _objc_msgSend_368( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer bundleIdentifier, + ) { + return __objc_msgSend_368( + obj, + sel, + bundleIdentifier, + ); + } + + late final __objc_msgSend_368Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_368 = __objc_msgSend_368Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_runningApplicationWithProcessIdentifier_1 = + _registerName1("runningApplicationWithProcessIdentifier:"); + instancetype _objc_msgSend_369( + ffi.Pointer obj, + ffi.Pointer sel, + int pid, + ) { + return __objc_msgSend_369( + obj, + sel, + pid, + ); + } + + late final __objc_msgSend_369Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Int)>>('objc_msgSend'); + late final __objc_msgSend_369 = __objc_msgSend_369Ptr.asFunction< + instancetype Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_currentApplication1 = _registerName1("currentApplication"); + ffi.Pointer _objc_msgSend_370( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_370( + obj, + sel, + ); + } + + late final __objc_msgSend_370Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_370 = __objc_msgSend_370Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_terminateAutomaticallyTerminableApplications1 = + _registerName1("terminateAutomaticallyTerminableApplications"); + late final _sel_yieldActivationToApplication_1 = + _registerName1("yieldActivationToApplication:"); + void _objc_msgSend_371( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer application, + ) { + return __objc_msgSend_371( + obj, + sel, + application, + ); + } + + late final __objc_msgSend_371Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_371 = __objc_msgSend_371Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_yieldActivationToApplicationWithBundleIdentifier_1 = + _registerName1("yieldActivationToApplicationWithBundleIdentifier:"); + late final _sel_hideOtherApplications_1 = + _registerName1("hideOtherApplications:"); + late final _sel_unhideAllApplications_1 = + _registerName1("unhideAllApplications:"); + late final _sel_finishLaunching1 = _registerName1("finishLaunching"); + late final _sel_run1 = _registerName1("run"); + late final _sel_runModalForWindow_1 = _registerName1("runModalForWindow:"); + int _objc_msgSend_372( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer window, + ) { + return __objc_msgSend_372( + obj, + sel, + window, + ); + } + + late final __objc_msgSend_372Ptr = _lookup< + ffi.NativeFunction< + ffi.Long Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_372 = __objc_msgSend_372Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_stop_1 = _registerName1("stop:"); + late final _sel_stopModal1 = _registerName1("stopModal"); + late final _sel_stopModalWithCode_1 = _registerName1("stopModalWithCode:"); + late final _sel_abortModal1 = _registerName1("abortModal"); + late final _sel_modalWindow1 = _registerName1("modalWindow"); + late final _sel_beginModalSessionForWindow_1 = + _registerName1("beginModalSessionForWindow:"); + ffi.Pointer<_NSModalSession> _objc_msgSend_373( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer window, + ) { + return __objc_msgSend_373( + obj, + sel, + window, + ); + } + + late final __objc_msgSend_373Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer<_NSModalSession> Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_373 = __objc_msgSend_373Ptr.asFunction< + ffi.Pointer<_NSModalSession> Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_runModalSession_1 = _registerName1("runModalSession:"); + int _objc_msgSend_374( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer<_NSModalSession> session, + ) { + return __objc_msgSend_374( + obj, + sel, + session, + ); + } + + late final __objc_msgSend_374Ptr = _lookup< + ffi.NativeFunction< + ffi.Long Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer<_NSModalSession>)>>('objc_msgSend'); + late final __objc_msgSend_374 = __objc_msgSend_374Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer<_NSModalSession>)>(); + + late final _sel_endModalSession_1 = _registerName1("endModalSession:"); + void _objc_msgSend_375( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer<_NSModalSession> session, + ) { + return __objc_msgSend_375( + obj, + sel, + session, + ); + } + + late final __objc_msgSend_375Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer<_NSModalSession>)>>('objc_msgSend'); + late final __objc_msgSend_375 = __objc_msgSend_375Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer<_NSModalSession>)>(); + + late final _sel_terminate_1 = _registerName1("terminate:"); + late final _sel_requestUserAttention_1 = + _registerName1("requestUserAttention:"); + int _objc_msgSend_376( + ffi.Pointer obj, + ffi.Pointer sel, + int requestType, + ) { + return __objc_msgSend_376( + obj, + sel, + requestType, + ); + } + + late final __objc_msgSend_376Ptr = _lookup< + ffi.NativeFunction< + ffi.Long Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_376 = __objc_msgSend_376Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_cancelUserAttentionRequest_1 = + _registerName1("cancelUserAttentionRequest:"); + late final _sel_enumerateWindowsWithOptions_usingBlock_1 = + _registerName1("enumerateWindowsWithOptions:usingBlock:"); + void _objc_msgSend_377( + ffi.Pointer obj, + ffi.Pointer sel, + int options, + ffi.Pointer<_ObjCBlock> block, + ) { + return __objc_msgSend_377( + obj, + sel, + options, + block, + ); + } + + late final __objc_msgSend_377Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32, ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); + late final __objc_msgSend_377 = __objc_msgSend_377Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int, + ffi.Pointer<_ObjCBlock>)>(); + + late final _sel_preventWindowOrdering1 = + _registerName1("preventWindowOrdering"); + late final _sel_windows1 = _registerName1("windows"); + ffi.Pointer _objc_msgSend_378( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_378( + obj, + sel, + ); + } + + late final __objc_msgSend_378Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_378 = __objc_msgSend_378Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setWindowsNeedUpdate_1 = + _registerName1("setWindowsNeedUpdate:"); + late final _sel_updateWindows1 = _registerName1("updateWindows"); + late final _sel_mainMenu1 = _registerName1("mainMenu"); + late final _sel_setMainMenu_1 = _registerName1("setMainMenu:"); + late final _sel_helpMenu1 = _registerName1("helpMenu"); + late final _sel_setHelpMenu_1 = _registerName1("setHelpMenu:"); + late final _sel_applicationIconImage1 = + _registerName1("applicationIconImage"); + late final _sel_setApplicationIconImage_1 = + _registerName1("setApplicationIconImage:"); + late final _sel_setActivationPolicy_1 = + _registerName1("setActivationPolicy:"); + bool _objc_msgSend_379( + ffi.Pointer obj, + ffi.Pointer sel, + int activationPolicy, + ) { + return __objc_msgSend_379( + obj, + sel, + activationPolicy, + ); + } + + late final __objc_msgSend_379Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_379 = __objc_msgSend_379Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _class_NSException1 = _getClass1("NSException"); + late final _class_NSDictionary1 = _getClass1("NSDictionary"); + late final _sel_objectForKey_1 = _registerName1("objectForKey:"); + ffi.Pointer _objc_msgSend_380( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aKey, + ) { + return __objc_msgSend_380( + obj, + sel, + aKey, + ); + } + + late final __objc_msgSend_380Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_380 = __objc_msgSend_380Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_keyEnumerator1 = _registerName1("keyEnumerator"); + late final _sel_initWithObjects_forKeys_count_1 = + _registerName1("initWithObjects:forKeys:count:"); + instancetype _objc_msgSend_381( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer> objects, + ffi.Pointer> keys, + int cnt, + ) { + return __objc_msgSend_381( + obj, + sel, + objects, + keys, + cnt, + ); + } + + late final __objc_msgSend_381Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>, + ffi.Pointer>, + ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_381 = __objc_msgSend_381Ptr.asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>, + ffi.Pointer>, + int)>(); + + late final _sel_exceptionWithName_reason_userInfo_1 = + _registerName1("exceptionWithName:reason:userInfo:"); + ffi.Pointer _objc_msgSend_382( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer name, + ffi.Pointer reason, + ffi.Pointer userInfo, + ) { + return __objc_msgSend_382( + obj, + sel, + name, + reason, + userInfo, + ); + } + + late final __objc_msgSend_382Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_382 = __objc_msgSend_382Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_initWithName_reason_userInfo_1 = + _registerName1("initWithName:reason:userInfo:"); + instancetype _objc_msgSend_383( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aName, + ffi.Pointer aReason, + ffi.Pointer aUserInfo, + ) { + return __objc_msgSend_383( + obj, + sel, + aName, + aReason, + aUserInfo, + ); + } + + late final __objc_msgSend_383Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_383 = __objc_msgSend_383Ptr.asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_reason1 = _registerName1("reason"); + ffi.Pointer _objc_msgSend_384( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_384( + obj, + sel, + ); + } + + late final __objc_msgSend_384Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_384 = __objc_msgSend_384Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_callStackReturnAddresses1 = + _registerName1("callStackReturnAddresses"); + late final _sel_callStackSymbols1 = _registerName1("callStackSymbols"); + late final _sel_raise1 = _registerName1("raise"); + late final _sel_reportException_1 = _registerName1("reportException:"); + void _objc_msgSend_385( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer exception, + ) { + return __objc_msgSend_385( + obj, + sel, + exception, + ); + } + + late final __objc_msgSend_385Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_385 = __objc_msgSend_385Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_detachDrawingThread_toTarget_withObject_1 = + _registerName1("detachDrawingThread:toTarget:withObject:"); + void _objc_msgSend_386( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer selector, + ffi.Pointer target, + ffi.Pointer argument, + ) { + return __objc_msgSend_386( + obj, + sel, + selector, + target, + argument, + ); + } + + late final __objc_msgSend_386Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_386 = __objc_msgSend_386Ptr.asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_replyToApplicationShouldTerminate_1 = + _registerName1("replyToApplicationShouldTerminate:"); + late final _sel_replyToOpenOrPrint_1 = _registerName1("replyToOpenOrPrint:"); + void _objc_msgSend_387( + ffi.Pointer obj, + ffi.Pointer sel, + int reply, + ) { + return __objc_msgSend_387( + obj, + sel, + reply, + ); + } + + late final __objc_msgSend_387Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_387 = __objc_msgSend_387Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_orderFrontCharacterPalette_1 = + _registerName1("orderFrontCharacterPalette:"); + late final _sel_presentationOptions1 = _registerName1("presentationOptions"); + int _objc_msgSend_388( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_388( + obj, + sel, + ); + } + + late final __objc_msgSend_388Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_388 = __objc_msgSend_388Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setPresentationOptions_1 = + _registerName1("setPresentationOptions:"); + void _objc_msgSend_389( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_389( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_389Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_389 = __objc_msgSend_389Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_currentSystemPresentationOptions1 = + _registerName1("currentSystemPresentationOptions"); + int _objc_msgSend_390( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_390( + obj, + sel, + ); + } + + late final __objc_msgSend_390Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_390 = __objc_msgSend_390Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_isProtectedDataAvailable1 = + _registerName1("isProtectedDataAvailable"); + late final _class_NSAppearance1 = _getClass1("NSAppearance"); + late final _sel_currentAppearance1 = _registerName1("currentAppearance"); + ffi.Pointer _objc_msgSend_391( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_391( + obj, + sel, + ); + } + + late final __objc_msgSend_391Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_391 = __objc_msgSend_391Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setCurrentAppearance_1 = + _registerName1("setCurrentAppearance:"); + void _objc_msgSend_392( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_392( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_392Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_392 = __objc_msgSend_392Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_currentDrawingAppearance1 = + _registerName1("currentDrawingAppearance"); + late final _sel_performAsCurrentDrawingAppearance_1 = + _registerName1("performAsCurrentDrawingAppearance:"); + void _objc_msgSend_393( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer<_ObjCBlock> block, + ) { + return __objc_msgSend_393( + obj, + sel, + block, + ); + } + + late final __objc_msgSend_393Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); + late final __objc_msgSend_393 = __objc_msgSend_393Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer<_ObjCBlock>)>(); + + late final _sel_appearanceNamed_1 = _registerName1("appearanceNamed:"); + ffi.Pointer _objc_msgSend_394( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer name, + ) { + return __objc_msgSend_394( + obj, + sel, + name, + ); + } + + late final __objc_msgSend_394Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_394 = __objc_msgSend_394Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _class_NSBundle1 = _getClass1("NSBundle"); + late final _sel_mainBundle1 = _registerName1("mainBundle"); + ffi.Pointer _objc_msgSend_395( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_395( + obj, + sel, + ); + } + + late final __objc_msgSend_395Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_395 = __objc_msgSend_395Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_bundleWithPath_1 = _registerName1("bundleWithPath:"); + late final _sel_initWithPath_1 = _registerName1("initWithPath:"); + late final _sel_bundleWithURL_1 = _registerName1("bundleWithURL:"); + instancetype _objc_msgSend_396( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer url, + ) { + return __objc_msgSend_396( + obj, + sel, + url, + ); + } + + late final __objc_msgSend_396Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_396 = __objc_msgSend_396Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_initWithURL_1 = _registerName1("initWithURL:"); + late final _sel_bundleForClass_1 = _registerName1("bundleForClass:"); + ffi.Pointer _objc_msgSend_397( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aClass, + ) { + return __objc_msgSend_397( + obj, + sel, + aClass, + ); + } + + late final __objc_msgSend_397Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_397 = __objc_msgSend_397Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_bundleWithIdentifier_1 = + _registerName1("bundleWithIdentifier:"); + ffi.Pointer _objc_msgSend_398( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer identifier, + ) { + return __objc_msgSend_398( + obj, + sel, + identifier, + ); + } + + late final __objc_msgSend_398Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_398 = __objc_msgSend_398Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_allBundles1 = _registerName1("allBundles"); + late final _sel_allFrameworks1 = _registerName1("allFrameworks"); + late final _sel_isLoaded1 = _registerName1("isLoaded"); + late final _sel_unload1 = _registerName1("unload"); + late final _sel_preflightAndReturnError_1 = + _registerName1("preflightAndReturnError:"); + bool _objc_msgSend_399( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer> error, + ) { + return __objc_msgSend_399( + obj, + sel, + error, + ); + } + + late final __objc_msgSend_399Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_399 = __objc_msgSend_399Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer>)>(); + + late final _sel_loadAndReturnError_1 = _registerName1("loadAndReturnError:"); + ffi.Pointer _objc_msgSend_400( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_400( + obj, + sel, + ); + } + + late final __objc_msgSend_400Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_400 = __objc_msgSend_400Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_resourceURL1 = _registerName1("resourceURL"); + late final _sel_URLForAuxiliaryExecutable_1 = + _registerName1("URLForAuxiliaryExecutable:"); + ffi.Pointer _objc_msgSend_401( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer executableName, + ) { + return __objc_msgSend_401( + obj, + sel, + executableName, + ); + } + + late final __objc_msgSend_401Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_401 = __objc_msgSend_401Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_privateFrameworksURL1 = + _registerName1("privateFrameworksURL"); + late final _sel_sharedFrameworksURL1 = _registerName1("sharedFrameworksURL"); + late final _sel_sharedSupportURL1 = _registerName1("sharedSupportURL"); + late final _sel_builtInPlugInsURL1 = _registerName1("builtInPlugInsURL"); + late final _sel_appStoreReceiptURL1 = _registerName1("appStoreReceiptURL"); + late final _sel_bundlePath1 = _registerName1("bundlePath"); + late final _sel_resourcePath1 = _registerName1("resourcePath"); + late final _sel_executablePath1 = _registerName1("executablePath"); + late final _sel_pathForAuxiliaryExecutable_1 = + _registerName1("pathForAuxiliaryExecutable:"); + late final _sel_privateFrameworksPath1 = + _registerName1("privateFrameworksPath"); + late final _sel_sharedFrameworksPath1 = + _registerName1("sharedFrameworksPath"); + late final _sel_sharedSupportPath1 = _registerName1("sharedSupportPath"); + late final _sel_builtInPlugInsPath1 = _registerName1("builtInPlugInsPath"); + late final _sel_URLForResource_withExtension_subdirectory_inBundleWithURL_1 = + _registerName1( + "URLForResource:withExtension:subdirectory:inBundleWithURL:"); + ffi.Pointer _objc_msgSend_402( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer name, + ffi.Pointer ext, + ffi.Pointer subpath, + ffi.Pointer bundleURL, + ) { + return __objc_msgSend_402( + obj, + sel, + name, + ext, + subpath, + bundleURL, + ); + } + + late final __objc_msgSend_402Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_402 = __objc_msgSend_402Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_URLsForResourcesWithExtension_subdirectory_inBundleWithURL_1 = + _registerName1( + "URLsForResourcesWithExtension:subdirectory:inBundleWithURL:"); + ffi.Pointer _objc_msgSend_403( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer ext, + ffi.Pointer subpath, + ffi.Pointer bundleURL, + ) { + return __objc_msgSend_403( + obj, + sel, + ext, + subpath, + bundleURL, + ); + } + + late final __objc_msgSend_403Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_403 = __objc_msgSend_403Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_URLForResource_withExtension_1 = + _registerName1("URLForResource:withExtension:"); + ffi.Pointer _objc_msgSend_404( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer name, + ffi.Pointer ext, + ) { + return __objc_msgSend_404( + obj, + sel, + name, + ext, + ); + } + + late final __objc_msgSend_404Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_404 = __objc_msgSend_404Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_URLForResource_withExtension_subdirectory_1 = + _registerName1("URLForResource:withExtension:subdirectory:"); + ffi.Pointer _objc_msgSend_405( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer name, + ffi.Pointer ext, + ffi.Pointer subpath, + ) { + return __objc_msgSend_405( + obj, + sel, + name, + ext, + subpath, + ); + } + + late final __objc_msgSend_405Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_405 = __objc_msgSend_405Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_URLForResource_withExtension_subdirectory_localization_1 = + _registerName1("URLForResource:withExtension:subdirectory:localization:"); + ffi.Pointer _objc_msgSend_406( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer name, + ffi.Pointer ext, + ffi.Pointer subpath, + ffi.Pointer localizationName, + ) { + return __objc_msgSend_406( + obj, + sel, + name, + ext, + subpath, + localizationName, + ); + } + + late final __objc_msgSend_406Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_406 = __objc_msgSend_406Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_URLsForResourcesWithExtension_subdirectory_1 = + _registerName1("URLsForResourcesWithExtension:subdirectory:"); + ffi.Pointer _objc_msgSend_407( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer ext, + ffi.Pointer subpath, + ) { + return __objc_msgSend_407( + obj, + sel, + ext, + subpath, + ); + } + + late final __objc_msgSend_407Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_407 = __objc_msgSend_407Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_URLsForResourcesWithExtension_subdirectory_localization_1 = + _registerName1( + "URLsForResourcesWithExtension:subdirectory:localization:"); + ffi.Pointer _objc_msgSend_408( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer ext, + ffi.Pointer subpath, + ffi.Pointer localizationName, + ) { + return __objc_msgSend_408( + obj, + sel, + ext, + subpath, + localizationName, + ); + } + + late final __objc_msgSend_408Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_408 = __objc_msgSend_408Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_pathForResource_ofType_inDirectory_1 = + _registerName1("pathForResource:ofType:inDirectory:"); + ffi.Pointer _objc_msgSend_409( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer name, + ffi.Pointer ext, + ffi.Pointer bundlePath, + ) { + return __objc_msgSend_409( + obj, + sel, + name, + ext, + bundlePath, + ); + } + + late final __objc_msgSend_409Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_409 = __objc_msgSend_409Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_pathsForResourcesOfType_inDirectory_1 = + _registerName1("pathsForResourcesOfType:inDirectory:"); + ffi.Pointer _objc_msgSend_410( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer ext, + ffi.Pointer bundlePath, + ) { + return __objc_msgSend_410( + obj, + sel, + ext, + bundlePath, + ); + } + + late final __objc_msgSend_410Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_410 = __objc_msgSend_410Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_pathForResource_ofType_1 = + _registerName1("pathForResource:ofType:"); + ffi.Pointer _objc_msgSend_411( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer name, + ffi.Pointer ext, + ) { + return __objc_msgSend_411( + obj, + sel, + name, + ext, + ); + } + + late final __objc_msgSend_411Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_411 = __objc_msgSend_411Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_pathForResource_ofType_inDirectory_forLocalization_1 = + _registerName1("pathForResource:ofType:inDirectory:forLocalization:"); + ffi.Pointer _objc_msgSend_412( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer name, + ffi.Pointer ext, + ffi.Pointer subpath, + ffi.Pointer localizationName, + ) { + return __objc_msgSend_412( + obj, + sel, + name, + ext, + subpath, + localizationName, + ); + } + + late final __objc_msgSend_412Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_412 = __objc_msgSend_412Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_pathsForResourcesOfType_inDirectory_forLocalization_1 = + _registerName1("pathsForResourcesOfType:inDirectory:forLocalization:"); + ffi.Pointer _objc_msgSend_413( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer ext, + ffi.Pointer subpath, + ffi.Pointer localizationName, + ) { + return __objc_msgSend_413( + obj, + sel, + ext, + subpath, + localizationName, + ); + } + + late final __objc_msgSend_413Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_413 = __objc_msgSend_413Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_localizedStringForKey_value_table_1 = + _registerName1("localizedStringForKey:value:table:"); + ffi.Pointer _objc_msgSend_414( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer key, + ffi.Pointer value, + ffi.Pointer tableName, + ) { + return __objc_msgSend_414( + obj, + sel, + key, + value, + tableName, + ); + } + + late final __objc_msgSend_414Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_414 = __objc_msgSend_414Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_localizedAttributedStringForKey_value_table_1 = + _registerName1("localizedAttributedStringForKey:value:table:"); + ffi.Pointer _objc_msgSend_415( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer key, + ffi.Pointer value, + ffi.Pointer tableName, + ) { + return __objc_msgSend_415( + obj, + sel, + key, + value, + tableName, + ); + } + + late final __objc_msgSend_415Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_415 = __objc_msgSend_415Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_infoDictionary1 = _registerName1("infoDictionary"); + late final _sel_localizedInfoDictionary1 = + _registerName1("localizedInfoDictionary"); + late final _sel_objectForInfoDictionaryKey_1 = + _registerName1("objectForInfoDictionaryKey:"); + late final _sel_classNamed_1 = _registerName1("classNamed:"); + late final _sel_principalClass1 = _registerName1("principalClass"); + late final _sel_preferredLocalizations1 = + _registerName1("preferredLocalizations"); + late final _sel_localizations1 = _registerName1("localizations"); + late final _sel_developmentLocalization1 = + _registerName1("developmentLocalization"); + late final _sel_preferredLocalizationsFromArray_1 = + _registerName1("preferredLocalizationsFromArray:"); + ffi.Pointer _objc_msgSend_416( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer localizationsArray, + ) { + return __objc_msgSend_416( + obj, + sel, + localizationsArray, + ); + } + + late final __objc_msgSend_416Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_416 = __objc_msgSend_416Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_preferredLocalizationsFromArray_forPreferences_1 = + _registerName1("preferredLocalizationsFromArray:forPreferences:"); + ffi.Pointer _objc_msgSend_417( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer localizationsArray, + ffi.Pointer preferencesArray, + ) { + return __objc_msgSend_417( + obj, + sel, + localizationsArray, + preferencesArray, + ); + } + + late final __objc_msgSend_417Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_417 = __objc_msgSend_417Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_executableArchitectures1 = + _registerName1("executableArchitectures"); + late final _sel_initWithAppearanceNamed_bundle_1 = + _registerName1("initWithAppearanceNamed:bundle:"); + instancetype _objc_msgSend_418( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer name, + ffi.Pointer bundle, + ) { + return __objc_msgSend_418( + obj, + sel, + name, + bundle, + ); + } + + late final __objc_msgSend_418Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_418 = __objc_msgSend_418Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_bestMatchFromAppearancesWithNames_1 = + _registerName1("bestMatchFromAppearancesWithNames:"); + late final _sel_appearance1 = _registerName1("appearance"); + ffi.Pointer _objc_msgSend_419( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_419( + obj, + sel, + ); + } + + late final __objc_msgSend_419Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_419 = __objc_msgSend_419Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setAppearance_1 = _registerName1("setAppearance:"); + void _objc_msgSend_420( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_420( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_420Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_420 = __objc_msgSend_420Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_effectiveAppearance1 = _registerName1("effectiveAppearance"); + late final _sel_sendAction_to_from_1 = _registerName1("sendAction:to:from:"); + bool _objc_msgSend_421( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer action, + ffi.Pointer target, + ffi.Pointer sender, + ) { + return __objc_msgSend_421( + obj, + sel, + action, + target, + sender, + ); + } + + late final __objc_msgSend_421Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_421 = __objc_msgSend_421Ptr.asFunction< + bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_targetForAction_1 = _registerName1("targetForAction:"); + ffi.Pointer _objc_msgSend_422( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer action, + ) { + return __objc_msgSend_422( + obj, + sel, + action, + ); + } + + late final __objc_msgSend_422Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_422 = __objc_msgSend_422Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_targetForAction_to_from_1 = + _registerName1("targetForAction:to:from:"); + ffi.Pointer _objc_msgSend_423( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer action, + ffi.Pointer target, + ffi.Pointer sender, + ) { + return __objc_msgSend_423( + obj, + sel, + action, + target, + sender, + ); + } + + late final __objc_msgSend_423Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_423 = __objc_msgSend_423Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_windowsMenu1 = _registerName1("windowsMenu"); + late final _sel_setWindowsMenu_1 = _registerName1("setWindowsMenu:"); + late final _sel_arrangeInFront_1 = _registerName1("arrangeInFront:"); + late final _sel_removeWindowsItem_1 = _registerName1("removeWindowsItem:"); + late final _sel_addWindowsItem_title_filename_1 = + _registerName1("addWindowsItem:title:filename:"); + void _objc_msgSend_424( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer win, + ffi.Pointer string, + bool isFilename, + ) { + return __objc_msgSend_424( + obj, + sel, + win, + string, + isFilename, + ); + } + + late final __objc_msgSend_424Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_424 = __objc_msgSend_424Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer, bool)>(); + + late final _sel_changeWindowsItem_title_filename_1 = + _registerName1("changeWindowsItem:title:filename:"); + late final _sel_updateWindowsItem_1 = _registerName1("updateWindowsItem:"); + late final _sel_miniaturizeAll_1 = _registerName1("miniaturizeAll:"); + late final _sel_isFullKeyboardAccessEnabled1 = + _registerName1("isFullKeyboardAccessEnabled"); + late final _sel_servicesMenu1 = _registerName1("servicesMenu"); + late final _sel_setServicesMenu_1 = _registerName1("setServicesMenu:"); + late final _sel_registerServicesMenuSendTypes_returnTypes_1 = + _registerName1("registerServicesMenuSendTypes:returnTypes:"); + void _objc_msgSend_425( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer sendTypes, + ffi.Pointer returnTypes, + ) { + return __objc_msgSend_425( + obj, + sel, + sendTypes, + returnTypes, + ); + } + + late final __objc_msgSend_425Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_425 = __objc_msgSend_425Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_servicesProvider1 = _registerName1("servicesProvider"); + late final _sel_setServicesProvider_1 = + _registerName1("setServicesProvider:"); + late final _sel_orderFrontStandardAboutPanel_1 = + _registerName1("orderFrontStandardAboutPanel:"); + late final _sel_orderFrontStandardAboutPanelWithOptions_1 = + _registerName1("orderFrontStandardAboutPanelWithOptions:"); + void _objc_msgSend_426( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer optionsDictionary, + ) { + return __objc_msgSend_426( + obj, + sel, + optionsDictionary, + ); + } + + late final __objc_msgSend_426Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_426 = __objc_msgSend_426Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_disableRelaunchOnLogin1 = + _registerName1("disableRelaunchOnLogin"); + late final _sel_enableRelaunchOnLogin1 = + _registerName1("enableRelaunchOnLogin"); + late final _sel_registerForRemoteNotifications1 = + _registerName1("registerForRemoteNotifications"); + late final _sel_unregisterForRemoteNotifications1 = + _registerName1("unregisterForRemoteNotifications"); + late final _sel_isRegisteredForRemoteNotifications1 = + _registerName1("isRegisteredForRemoteNotifications"); + late final _sel_registerForRemoteNotificationTypes_1 = + _registerName1("registerForRemoteNotificationTypes:"); + void _objc_msgSend_427( + ffi.Pointer obj, + ffi.Pointer sel, + int types, + ) { + return __objc_msgSend_427( + obj, + sel, + types, + ); + } + + late final __objc_msgSend_427Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_427 = __objc_msgSend_427Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_enabledRemoteNotificationTypes1 = + _registerName1("enabledRemoteNotificationTypes"); + int _objc_msgSend_428( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_428( + obj, + sel, + ); + } + + late final __objc_msgSend_428Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_428 = __objc_msgSend_428Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_runModalForWindow_relativeToWindow_1 = + _registerName1("runModalForWindow:relativeToWindow:"); + int _objc_msgSend_429( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer window, + ffi.Pointer docWindow, + ) { + return __objc_msgSend_429( + obj, + sel, + window, + docWindow, + ); + } + + late final __objc_msgSend_429Ptr = _lookup< + ffi.NativeFunction< + ffi.Long Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_429 = __objc_msgSend_429Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_beginModalSessionForWindow_relativeToWindow_1 = + _registerName1("beginModalSessionForWindow:relativeToWindow:"); + ffi.Pointer<_NSModalSession> _objc_msgSend_430( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer window, + ffi.Pointer docWindow, + ) { + return __objc_msgSend_430( + obj, + sel, + window, + docWindow, + ); + } + + late final __objc_msgSend_430Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer<_NSModalSession> Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_430 = __objc_msgSend_430Ptr.asFunction< + ffi.Pointer<_NSModalSession> Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_application_printFiles_1 = + _registerName1("application:printFiles:"); + void _objc_msgSend_431( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer sender, + ffi.Pointer filenames, + ) { + return __objc_msgSend_431( + obj, + sel, + sender, + filenames, + ); + } + + late final __objc_msgSend_431Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_431 = __objc_msgSend_431Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_beginSheet_modalForWindow_modalDelegate_didEndSelector_contextInfo_1 = + _registerName1( + "beginSheet:modalForWindow:modalDelegate:didEndSelector:contextInfo:"); + void _objc_msgSend_432( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer sheet, + ffi.Pointer docWindow, + ffi.Pointer modalDelegate, + ffi.Pointer didEndSelector, + ffi.Pointer contextInfo, + ) { + return __objc_msgSend_432( + obj, + sel, + sheet, + docWindow, + modalDelegate, + didEndSelector, + contextInfo, + ); + } + + late final __objc_msgSend_432Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_432 = __objc_msgSend_432Ptr.asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_makeWindowsPerform_inOrder_1 = + _registerName1("makeWindowsPerform:inOrder:"); + ffi.Pointer _objc_msgSend_433( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer selector, + bool flag, + ) { + return __objc_msgSend_433( + obj, + sel, + selector, + flag, + ); + } + + late final __objc_msgSend_433Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_433 = __objc_msgSend_433Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer, bool)>(); + + /// Returns the class definition of a specified class. + /// + /// @param name The name of the class to look up. + /// + /// @return The Class object for the named class, or \c nil + /// if the class is not registered with the Objective-C runtime. + /// + /// @note The implementation of \c objc_getClass is identical to the implementation + /// of \c objc_lookUpClass. + NSObject objc_getClass( + ffi.Pointer name, + ) { + return NSObject._( + _objc_getClass1( + name, + ), + this, + retain: true, + release: true); + } + + late final _objc_getClassPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('objc_getClass'); + late final _objc_getClass1 = _objc_getClassPtr + .asFunction Function(ffi.Pointer)>(); + + /// Returns the metaclass definition of a specified class. + /// + /// @param name The name of the class to look up. + /// + /// @return The \c Class object for the metaclass of the named class, or \c nil if the class + /// is not registered with the Objective-C runtime. + /// + /// @note If the definition for the named class is not registered, this function calls the class handler + /// callback and then checks a second time to see if the class is registered. However, every class + /// definition must have a valid metaclass definition, and so the metaclass definition is always returned, + /// whether it’s valid or not. + NSObject objc_getMetaClass( + ffi.Pointer name, + ) { + return NSObject._( + _objc_getMetaClass( + name, + ), + this, + retain: true, + release: true); + } + + late final _objc_getMetaClassPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('objc_getMetaClass'); + late final _objc_getMetaClass = _objc_getMetaClassPtr + .asFunction Function(ffi.Pointer)>(); + + /// Returns the class definition of a specified class. + /// + /// @param name The name of the class to look up. + /// + /// @return The Class object for the named class, or \c nil if the class + /// is not registered with the Objective-C runtime. + /// + /// @note The implementation of \c objc_lookUpClass is identical to the implementation + /// of \c objc_getClass. + NSObject? objc_lookUpClass( + ffi.Pointer name, + ) { + return _objc_lookUpClass( + name, + ).address == + 0 + ? null + : NSObject._( + _objc_lookUpClass( + name, + ), + this, + retain: true, + release: true); + } + + late final _objc_lookUpClassPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('objc_lookUpClass'); + late final _objc_lookUpClass = _objc_lookUpClassPtr + .asFunction Function(ffi.Pointer)>(); + + /// Returns the class definition of a specified class. + /// + /// @param name The name of the class to look up. + /// + /// @return The Class object for the named class. + /// + /// @note This function is the same as \c objc_getClass, but kills the process if the class is not found. + NSObject objc_getRequiredClass( + ffi.Pointer name, + ) { + return NSObject._( + _objc_getRequiredClass( + name, + ), + this, + retain: true, + release: true); + } + + late final _objc_getRequiredClassPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('objc_getRequiredClass'); + late final _objc_getRequiredClass = _objc_getRequiredClassPtr + .asFunction Function(ffi.Pointer)>(); + + /// Obtains the list of registered class definitions. + /// + /// @param buffer An array of \c Class values. On output, each \c Class value points to + /// one class definition, up to either \e bufferCount or the total number of registered classes, + /// whichever is less. You can pass \c NULL to obtain the total number of registered class + /// definitions without actually retrieving any class definitions. + /// @param bufferCount An integer value. Pass the number of pointers for which you have allocated space + /// in \e buffer. On return, this function fills in only this number of elements. If this number is less + /// than the number of registered classes, this function returns an arbitrary subset of the registered classes. + /// + /// @return An integer value indicating the total number of registered classes. + /// + /// @note The Objective-C runtime library automatically registers all the classes defined in your source code. + /// You can create class definitions at runtime and register them with the \c objc_addClass function. + /// + /// @warning You cannot assume that class objects you get from this function are classes that inherit from \c NSObject, + /// so you cannot safely call any methods on such classes without detecting that the method is implemented first. + int objc_getClassList( + ffi.Pointer> buffer, + int bufferCount, + ) { + return _objc_getClassList( + buffer, + bufferCount, + ); + } + + late final _objc_getClassListPtr = _lookup< + ffi.NativeFunction< + ffi.Int Function(ffi.Pointer>, + ffi.Int)>>('objc_getClassList'); + late final _objc_getClassList = _objc_getClassListPtr + .asFunction>, int)>(); + + /// Creates and returns a list of pointers to all registered class definitions. + /// + /// @param outCount An integer pointer used to store the number of classes returned by + /// this function in the list. It can be \c nil. + /// + /// @return A nil terminated array of classes. It must be freed with \c free(). + /// + /// @see objc_getClassList + ffi.Pointer> objc_copyClassList( + ffi.Pointer outCount, + ) { + return _objc_copyClassList( + outCount, + ); + } + + late final _objc_copyClassListPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer> Function( + ffi.Pointer)>>('objc_copyClassList'); + late final _objc_copyClassList = _objc_copyClassListPtr.asFunction< + ffi.Pointer> Function( + ffi.Pointer)>(); + + void objc_enumerateClasses( + ffi.Pointer image, + ffi.Pointer namePrefix, + Protocol? conformingTo, + NSObject? subclassing, + ObjCBlock_ffiVoid_ObjCObject_bool block, + ) { + return _objc_enumerateClasses( + image, + namePrefix, + conformingTo?._id ?? ffi.nullptr, + subclassing?._id ?? ffi.nullptr, + block._id, + ); + } + + late final _objc_enumerateClassesPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer<_ObjCBlock>)>>('objc_enumerateClasses'); + late final _objc_enumerateClasses = _objc_enumerateClassesPtr.asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer<_ObjCBlock>)>(); + + /// Used by CoreFoundation's toll-free bridging. + /// Return the id of the named class. + /// + /// @return The id of the named class, or an uninitialized class + /// structure that will be used for the class when and if it does + /// get loaded. + /// + /// @warning Do not call this function yourself. + NSObject objc_getFutureClass( + ffi.Pointer name, + ) { + return NSObject._( + _objc_getFutureClass( + name, + ), + this, + retain: true, + release: true); + } + + late final _objc_getFutureClassPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('objc_getFutureClass'); + late final _objc_getFutureClass = _objc_getFutureClassPtr + .asFunction Function(ffi.Pointer)>(); + + /// Creates an instance of a class at the specific location provided. + /// + /// @param cls The class that you wish to allocate an instance of. + /// @param bytes The location at which to allocate an instance of \e cls. + /// Must point to at least \c class_getInstanceSize(cls) bytes of well-aligned, + /// zero-filled memory. + /// + /// @return \e bytes on success, \c nil otherwise. (For example, \e cls or \e bytes + /// might be \c nil) + /// + /// @see class_createInstance + NSObject? objc_constructInstance( + NSObject? cls, + ffi.Pointer bytes, + ) { + return _objc_constructInstance( + cls?._id ?? ffi.nullptr, + bytes, + ).address == + 0 + ? null + : NSObject._( + _objc_constructInstance( + cls?._id ?? ffi.nullptr, + bytes, + ), + this, + retain: true, + release: true); + } + + late final _objc_constructInstancePtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer)>>('objc_constructInstance'); + late final _objc_constructInstance = _objc_constructInstancePtr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + /// Destroys an instance of a class without freeing memory and removes any + /// associated references this instance might have had. + /// + /// @param obj The class instance to destroy. + /// + /// @return \e obj. Does nothing if \e obj is nil. + /// + /// @note CF and other clients do call this under GC. + ffi.Pointer objc_destructInstance( + NSObject? obj, + ) { + return _objc_destructInstance( + obj?._id ?? ffi.nullptr, + ); + } + + late final _objc_destructInstancePtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('objc_destructInstance'); + late final _objc_destructInstance = _objc_destructInstancePtr + .asFunction Function(ffi.Pointer)>(); + + /// Creates a new class and metaclass. + /// + /// @param superclass The class to use as the new class's superclass, or \c Nil to create a new root class. + /// @param name The string to use as the new class's name. The string will be copied. + /// @param extraBytes The number of bytes to allocate for indexed ivars at the end of + /// the class and metaclass objects. This should usually be \c 0. + /// + /// @return The new class, or Nil if the class could not be created (for example, the desired name is already in use). + /// + /// @note You can get a pointer to the new metaclass by calling \c object_getClass(newClass). + /// @note To create a new class, start by calling \c objc_allocateClassPair. + /// Then set the class's attributes with functions like \c class_addMethod and \c class_addIvar. + /// When you are done building the class, call \c objc_registerClassPair. The new class is now ready for use. + /// @note Instance methods and instance variables should be added to the class itself. + /// Class methods should be added to the metaclass. + NSObject? objc_allocateClassPair( + NSObject? superclass, + ffi.Pointer name, + int extraBytes, + ) { + return _objc_allocateClassPair( + superclass?._id ?? ffi.nullptr, + name, + extraBytes, + ).address == + 0 + ? null + : NSObject._( + _objc_allocateClassPair( + superclass?._id ?? ffi.nullptr, + name, + extraBytes, + ), + this, + retain: true, + release: true); + } + + late final _objc_allocateClassPairPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Size)>>('objc_allocateClassPair'); + late final _objc_allocateClassPair = _objc_allocateClassPairPtr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + /// Registers a class that was allocated using \c objc_allocateClassPair. + /// + /// @param cls The class you want to register. + void objc_registerClassPair( + NSObject cls, + ) { + return _objc_registerClassPair( + cls._id, + ); + } + + late final _objc_registerClassPairPtr = + _lookup)>>( + 'objc_registerClassPair'); + late final _objc_registerClassPair = _objc_registerClassPairPtr + .asFunction)>(); + + /// Used by Foundation's Key-Value Observing. + /// + /// @warning Do not call this function yourself. + NSObject objc_duplicateClass( + NSObject original, + ffi.Pointer name, + int extraBytes, + ) { + return NSObject._( + _objc_duplicateClass( + original._id, + name, + extraBytes, + ), + this, + retain: true, + release: true); + } + + late final _objc_duplicateClassPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Size)>>('objc_duplicateClass'); + late final _objc_duplicateClass = _objc_duplicateClassPtr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + /// Destroy a class and its associated metaclass. + /// + /// @param cls The class to be destroyed. It must have been allocated with + /// \c objc_allocateClassPair + /// + /// @warning Do not call if instances of this class or a subclass exist. + void objc_disposeClassPair( + NSObject cls, + ) { + return _objc_disposeClassPair( + cls._id, + ); + } + + late final _objc_disposeClassPairPtr = + _lookup)>>( + 'objc_disposeClassPair'); + late final _objc_disposeClassPair = _objc_disposeClassPairPtr + .asFunction)>(); + + /// Returns a specified protocol. + /// + /// @param name The name of a protocol. + /// + /// @return The protocol named \e name, or \c NULL if no protocol named \e name could be found. + /// + /// @note This function acquires the runtime lock. + Protocol? objc_getProtocol( + ffi.Pointer name, + ) { + return _objc_getProtocol( + name, + ).address == + 0 + ? null + : Protocol._( + _objc_getProtocol( + name, + ), + this, + retain: true, + release: true); + } + + late final _objc_getProtocolPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('objc_getProtocol'); + late final _objc_getProtocol = _objc_getProtocolPtr + .asFunction Function(ffi.Pointer)>(); + + /// Returns an array of all the protocols known to the runtime. + /// + /// @param outCount Upon return, contains the number of protocols in the returned array. + /// + /// @return A C array of all the protocols known to the runtime. The array contains \c *outCount + /// pointers followed by a \c NULL terminator. You must free the list with \c free(). + /// + /// @note This function acquires the runtime lock. + ffi.Pointer> objc_copyProtocolList( + ffi.Pointer outCount, + ) { + return _objc_copyProtocolList( + outCount, + ); + } + + late final _objc_copyProtocolListPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer> Function( + ffi.Pointer)>>('objc_copyProtocolList'); + late final _objc_copyProtocolList = _objc_copyProtocolListPtr.asFunction< + ffi.Pointer> Function( + ffi.Pointer)>(); + + /// Returns a Boolean value that indicates whether one protocol conforms to another protocol. + /// + /// @param proto A protocol. + /// @param other A protocol. + /// + /// @return \c YES if \e proto conforms to \e other, otherwise \c NO. + /// + /// @note One protocol can incorporate other protocols using the same syntax + /// that classes use to adopt a protocol: + /// \code + /// @protocol ProtocolName < protocol list > + /// \endcode + /// All the protocols listed between angle brackets are considered part of the ProtocolName protocol. + bool protocol_conformsToProtocol( + Protocol? proto, + Protocol? other, + ) { + return _protocol_conformsToProtocol( + proto?._id ?? ffi.nullptr, + other?._id ?? ffi.nullptr, + ); + } + + late final _protocol_conformsToProtocolPtr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, + ffi.Pointer)>>('protocol_conformsToProtocol'); + late final _protocol_conformsToProtocol = + _protocol_conformsToProtocolPtr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer)>(); + + /// Returns a Boolean value that indicates whether two protocols are equal. + /// + /// @param proto A protocol. + /// @param other A protocol. + /// + /// @return \c YES if \e proto is the same as \e other, otherwise \c NO. + bool protocol_isEqual( + Protocol? proto, + Protocol? other, + ) { + return _protocol_isEqual( + proto?._id ?? ffi.nullptr, + other?._id ?? ffi.nullptr, + ); + } + + late final _protocol_isEqualPtr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, + ffi.Pointer)>>('protocol_isEqual'); + late final _protocol_isEqual = _protocol_isEqualPtr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer)>(); + + /// Returns the name of a protocol. + /// + /// @param proto A protocol. + /// + /// @return The name of the protocol \e p as a C string. + ffi.Pointer protocol_getName( + Protocol proto, + ) { + return _protocol_getName( + proto._id, + ); + } + + late final _protocol_getNamePtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('protocol_getName'); + late final _protocol_getName = _protocol_getNamePtr + .asFunction Function(ffi.Pointer)>(); + + /// Returns a method description structure for a specified method of a given protocol. + /// + /// @param proto A protocol. + /// @param aSel A selector. + /// @param isRequiredMethod A Boolean value that indicates whether aSel is a required method. + /// @param isInstanceMethod A Boolean value that indicates whether aSel is an instance method. + /// + /// @return An \c objc_method_description structure that describes the method specified by \e aSel, + /// \e isRequiredMethod, and \e isInstanceMethod for the protocol \e p. + /// If the protocol does not contain the specified method, returns an \c objc_method_description structure + /// with the value \c {NULL, \c NULL}. + /// + /// @note This function recursively searches any protocols that this protocol conforms to. + objc_method_description protocol_getMethodDescription( + Protocol proto, + ffi.Pointer aSel, + bool isRequiredMethod, + bool isInstanceMethod, + ) { + return _protocol_getMethodDescription( + proto._id, + aSel, + isRequiredMethod, + isInstanceMethod, + ); + } + + late final _protocol_getMethodDescriptionPtr = _lookup< + ffi.NativeFunction< + objc_method_description Function( + ffi.Pointer, + ffi.Pointer, + ffi.Bool, + ffi.Bool)>>('protocol_getMethodDescription'); + late final _protocol_getMethodDescription = + _protocol_getMethodDescriptionPtr.asFunction< + objc_method_description Function( + ffi.Pointer, ffi.Pointer, bool, bool)>(); + + /// Returns an array of method descriptions of methods meeting a given specification for a given protocol. + /// + /// @param proto A protocol. + /// @param isRequiredMethod A Boolean value that indicates whether returned methods should + /// be required methods (pass YES to specify required methods). + /// @param isInstanceMethod A Boolean value that indicates whether returned methods should + /// be instance methods (pass YES to specify instance methods). + /// @param outCount Upon return, contains the number of method description structures in the returned array. + /// + /// @return A C array of \c objc_method_description structures containing the names and types of \e p's methods + /// specified by \e isRequiredMethod and \e isInstanceMethod. The array contains \c *outCount pointers followed + /// by a \c NULL terminator. You must free the list with \c free(). + /// If the protocol declares no methods that meet the specification, \c NULL is returned and \c *outCount is 0. + /// + /// @note Methods in other protocols adopted by this protocol are not included. + ffi.Pointer protocol_copyMethodDescriptionList( + Protocol proto, + bool isRequiredMethod, + bool isInstanceMethod, + ffi.Pointer outCount, + ) { + return _protocol_copyMethodDescriptionList( + proto._id, + isRequiredMethod, + isInstanceMethod, + outCount, + ); + } + + late final _protocol_copyMethodDescriptionListPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Bool, + ffi.Bool, + ffi.Pointer)>>( + 'protocol_copyMethodDescriptionList'); + late final _protocol_copyMethodDescriptionList = + _protocol_copyMethodDescriptionListPtr.asFunction< + ffi.Pointer Function(ffi.Pointer, + bool, bool, ffi.Pointer)>(); + + /// Returns the specified property of a given protocol. + /// + /// @param proto A protocol. + /// @param name The name of a property. + /// @param isRequiredProperty \c YES searches for a required property, \c NO searches for an optional property. + /// @param isInstanceProperty \c YES searches for an instance property, \c NO searches for a class property. + /// + /// @return The property specified by \e name, \e isRequiredProperty, and \e isInstanceProperty for \e proto, + /// or \c NULL if none of \e proto's properties meets the specification. + ffi.Pointer protocol_getProperty( + Protocol proto, + ffi.Pointer name, + bool isRequiredProperty, + bool isInstanceProperty, + ) { + return _protocol_getProperty( + proto._id, + name, + isRequiredProperty, + isInstanceProperty, + ); + } + + late final _protocol_getPropertyPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Bool, + ffi.Bool)>>('protocol_getProperty'); + late final _protocol_getProperty = _protocol_getPropertyPtr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, bool, bool)>(); + + /// Returns an array of the required instance properties declared by a protocol. + /// + /// @note Identical to + /// \code + /// protocol_copyPropertyList2(proto, outCount, YES, YES); + /// \endcode + ffi.Pointer> protocol_copyPropertyList( + Protocol proto, + ffi.Pointer outCount, + ) { + return _protocol_copyPropertyList( + proto._id, + outCount, + ); + } + + late final _protocol_copyPropertyListPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer> Function( + ffi.Pointer, + ffi.Pointer)>>('protocol_copyPropertyList'); + late final _protocol_copyPropertyList = + _protocol_copyPropertyListPtr.asFunction< + ffi.Pointer> Function( + ffi.Pointer, ffi.Pointer)>(); + + /// Returns an array of properties declared by a protocol. + /// + /// @param proto A protocol. + /// @param outCount Upon return, contains the number of elements in the returned array. + /// @param isRequiredProperty \c YES returns required properties, \c NO returns optional properties. + /// @param isInstanceProperty \c YES returns instance properties, \c NO returns class properties. + /// + /// @return A C array of pointers of type \c objc_property_t describing the properties declared by \e proto. + /// Any properties declared by other protocols adopted by this protocol are not included. The array contains + /// \c *outCount pointers followed by a \c NULL terminator. You must free the array with \c free(). + /// If the protocol declares no matching properties, \c NULL is returned and \c *outCount is \c 0. + ffi.Pointer> protocol_copyPropertyList2( + Protocol proto, + ffi.Pointer outCount, + bool isRequiredProperty, + bool isInstanceProperty, + ) { + return _protocol_copyPropertyList2( + proto._id, + outCount, + isRequiredProperty, + isInstanceProperty, + ); + } + + late final _protocol_copyPropertyList2Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer> Function( + ffi.Pointer, + ffi.Pointer, + ffi.Bool, + ffi.Bool)>>('protocol_copyPropertyList2'); + late final _protocol_copyPropertyList2 = + _protocol_copyPropertyList2Ptr.asFunction< + ffi.Pointer> Function( + ffi.Pointer, + ffi.Pointer, + bool, + bool)>(); + + /// Returns an array of the protocols adopted by a protocol. + /// + /// @param proto A protocol. + /// @param outCount Upon return, contains the number of elements in the returned array. + /// + /// @return A C array of protocols adopted by \e proto. The array contains \e *outCount pointers + /// followed by a \c NULL terminator. You must free the array with \c free(). + /// If the protocol adopts no other protocols, \c NULL is returned and \c *outCount is \c 0. + ffi.Pointer> protocol_copyProtocolList( + Protocol proto, + ffi.Pointer outCount, + ) { + return _protocol_copyProtocolList( + proto._id, + outCount, + ); + } + + late final _protocol_copyProtocolListPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer> Function(ffi.Pointer, + ffi.Pointer)>>('protocol_copyProtocolList'); + late final _protocol_copyProtocolList = + _protocol_copyProtocolListPtr.asFunction< + ffi.Pointer> Function( + ffi.Pointer, ffi.Pointer)>(); + + /// Creates a new protocol instance that cannot be used until registered with + /// \c objc_registerProtocol() + /// + /// @param name The name of the protocol to create. + /// + /// @return The Protocol instance on success, \c nil if a protocol + /// with the same name already exists. + /// @note There is no dispose method for this. + Protocol? objc_allocateProtocol( + ffi.Pointer name, + ) { + return _objc_allocateProtocol( + name, + ).address == + 0 + ? null + : Protocol._( + _objc_allocateProtocol( + name, + ), + this, + retain: true, + release: true); + } + + late final _objc_allocateProtocolPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('objc_allocateProtocol'); + late final _objc_allocateProtocol = _objc_allocateProtocolPtr + .asFunction Function(ffi.Pointer)>(); + + /// Registers a newly constructed protocol with the runtime. The protocol + /// will be ready for use and is immutable after this. + /// + /// @param proto The protocol you want to register. + void objc_registerProtocol( + Protocol proto, + ) { + return _objc_registerProtocol( + proto._id, + ); + } + + late final _objc_registerProtocolPtr = + _lookup)>>( + 'objc_registerProtocol'); + late final _objc_registerProtocol = _objc_registerProtocolPtr + .asFunction)>(); + + /// Adds a method to a protocol. The protocol must be under construction. + /// + /// @param proto The protocol to add a method to. + /// @param name The name of the method to add. + /// @param types A C string that represents the method signature. + /// @param isRequiredMethod YES if the method is not an optional method. + /// @param isInstanceMethod YES if the method is an instance method. + void protocol_addMethodDescription( + Protocol proto, + ffi.Pointer name, + ffi.Pointer types, + bool isRequiredMethod, + bool isInstanceMethod, + ) { + return _protocol_addMethodDescription( + proto._id, + name, + types, + isRequiredMethod, + isInstanceMethod, + ); + } + + late final _protocol_addMethodDescriptionPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Bool, + ffi.Bool)>>('protocol_addMethodDescription'); + late final _protocol_addMethodDescription = + _protocol_addMethodDescriptionPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, bool, bool)>(); + + /// Adds an incorporated protocol to another protocol. The protocol being + /// added to must still be under construction, while the additional protocol + /// must be already constructed. + /// + /// @param proto The protocol you want to add to, it must be under construction. + /// @param addition The protocol you want to incorporate into \e proto, it must be registered. + void protocol_addProtocol( + Protocol proto, + Protocol addition, + ) { + return _protocol_addProtocol( + proto._id, + addition._id, + ); + } + + late final _protocol_addProtocolPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, + ffi.Pointer)>>('protocol_addProtocol'); + late final _protocol_addProtocol = _protocol_addProtocolPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer)>(); + + /// Adds a property to a protocol. The protocol must be under construction. + /// + /// @param proto The protocol to add a property to. + /// @param name The name of the property. + /// @param attributes An array of property attributes. + /// @param attributeCount The number of attributes in \e attributes. + /// @param isRequiredProperty YES if the property (accessor methods) is not optional. + /// @param isInstanceProperty YES if the property (accessor methods) are instance methods. + /// This is the only case allowed fo a property, as a result, setting this to NO will + /// not add the property to the protocol at all. + void protocol_addProperty( + Protocol proto, + ffi.Pointer name, + ffi.Pointer attributes, + int attributeCount, + bool isRequiredProperty, + bool isInstanceProperty, + ) { + return _protocol_addProperty( + proto._id, + name, + attributes, + attributeCount, + isRequiredProperty, + isInstanceProperty, + ); + } + + late final _protocol_addPropertyPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedInt, + ffi.Bool, + ffi.Bool)>>('protocol_addProperty'); + late final _protocol_addProperty = _protocol_addPropertyPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int, bool, bool)>(); + + /// Returns the names of all the loaded Objective-C frameworks and dynamic + /// libraries. + /// + /// @param outCount The number of names returned. + /// + /// @return An array of C strings of names. Must be free()'d by caller. + ffi.Pointer> objc_copyImageNames( + ffi.Pointer outCount, + ) { + return _objc_copyImageNames( + outCount, + ); + } + + late final _objc_copyImageNamesPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer> Function( + ffi.Pointer)>>('objc_copyImageNames'); + late final _objc_copyImageNames = _objc_copyImageNamesPtr.asFunction< + ffi.Pointer> Function( + ffi.Pointer)>(); + + /// Returns the names of all the classes within a library. + /// + /// @param image The library or framework you are inquiring about. + /// @param outCount The number of class names returned. + /// + /// @return An array of C strings representing the class names. + ffi.Pointer> objc_copyClassNamesForImage( + ffi.Pointer image, + ffi.Pointer outCount, + ) { + return _objc_copyClassNamesForImage( + image, + outCount, + ); + } + + late final _objc_copyClassNamesForImagePtr = _lookup< + ffi.NativeFunction< + ffi.Pointer> Function(ffi.Pointer, + ffi.Pointer)>>('objc_copyClassNamesForImage'); + late final _objc_copyClassNamesForImage = + _objc_copyClassNamesForImagePtr.asFunction< + ffi.Pointer> Function( + ffi.Pointer, ffi.Pointer)>(); + + /// This function is inserted by the compiler when a mutation + /// is detected during a foreach iteration. It gets called + /// when a mutation occurs, and the enumerationMutationHandler + /// is enacted if it is set up. A fatal error occurs if a handler is not set up. + /// + /// @param obj The object being mutated. + void objc_enumerationMutation( + NSObject obj, + ) { + return _objc_enumerationMutation( + obj._id, + ); + } + + late final _objc_enumerationMutationPtr = + _lookup)>>( + 'objc_enumerationMutation'); + late final _objc_enumerationMutation = _objc_enumerationMutationPtr + .asFunction)>(); + + /// Sets the current mutation handler. + /// + /// @param handler Function pointer to the new mutation handler. + void objc_setEnumerationMutationHandler( + ffi.Pointer)>> + handler, + ) { + return _objc_setEnumerationMutationHandler( + handler, + ); + } + + late final _objc_setEnumerationMutationHandlerPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer)>>)>>( + 'objc_setEnumerationMutationHandler'); + late final _objc_setEnumerationMutationHandler = + _objc_setEnumerationMutationHandlerPtr.asFunction< + void Function( + ffi.Pointer< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer)>>)>(); + + /// Set the function to be called by objc_msgForward. + /// + /// @param fwd Function to be jumped to by objc_msgForward. + /// @param fwd_stret Function to be jumped to by objc_msgForward_stret. + /// + /// @see message.h::_objc_msgForward + void objc_setForwardHandler( + ffi.Pointer fwd, + ffi.Pointer fwd_stret, + ) { + return _objc_setForwardHandler( + fwd, + fwd_stret, + ); + } + + late final _objc_setForwardHandlerPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, + ffi.Pointer)>>('objc_setForwardHandler'); + late final _objc_setForwardHandler = _objc_setForwardHandlerPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer)>(); + + /// This loads the object referenced by a weak pointer and returns it, after + /// retaining and autoreleasing the object to ensure that it stays alive + /// long enough for the caller to use it. This function would be used + /// anywhere a __weak variable is used in an expression. + /// + /// @param location The weak pointer address + /// + /// @return The object pointed to by \e location, or \c nil if \e *location is \c nil. + NSObject? objc_loadWeak( + ffi.Pointer> location, + ) { + return _objc_loadWeak( + location, + ).address == + 0 + ? null + : NSObject._( + _objc_loadWeak( + location, + ), + this, + retain: true, + release: true); + } + + late final _objc_loadWeakPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer>)>>('objc_loadWeak'); + late final _objc_loadWeak = _objc_loadWeakPtr.asFunction< + ffi.Pointer Function(ffi.Pointer>)>(); + + /// This function stores a new value into a __weak variable. It would + /// be used anywhere a __weak variable is the target of an assignment. + /// + /// @param location The address of the weak pointer itself + /// @param obj The new object this weak ptr should now point to + /// + /// @return The value stored into \e location, i.e. \e obj + NSObject? objc_storeWeak( + ffi.Pointer> location, + NSObject? obj, + ) { + return _objc_storeWeak( + location, + obj?._id ?? ffi.nullptr, + ).address == + 0 + ? null + : NSObject._( + _objc_storeWeak( + location, + obj?._id ?? ffi.nullptr, + ), + this, + retain: true, + release: true); + } + + late final _objc_storeWeakPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer>, + ffi.Pointer)>>('objc_storeWeak'); + late final _objc_storeWeak = _objc_storeWeakPtr.asFunction< + ffi.Pointer Function( + ffi.Pointer>, ffi.Pointer)>(); + + /// Sets an associated value for a given object using a given key and association policy. + /// + /// @param object The source object for the association. + /// @param key The key for the association. + /// @param value The value to associate with the key key for object. Pass nil to clear an existing association. + /// @param policy The policy for the association. For possible values, see “Associative Object Behaviors.” + /// + /// @see objc_setAssociatedObject + /// @see objc_removeAssociatedObjects + void objc_setAssociatedObject( + NSObject object, + ffi.Pointer key, + NSObject? value, + int policy, + ) { + return _objc_setAssociatedObject( + object._id, + key, + value?._id ?? ffi.nullptr, + policy, + ); + } + + late final _objc_setAssociatedObjectPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Int32)>>('objc_setAssociatedObject'); + late final _objc_setAssociatedObject = + _objc_setAssociatedObjectPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + /// Returns the value associated with a given object for a given key. + /// + /// @param object The source object for the association. + /// @param key The key for the association. + /// + /// @return The value associated with the key \e key for \e object. + /// + /// @see objc_setAssociatedObject + NSObject? objc_getAssociatedObject( + NSObject object, + ffi.Pointer key, + ) { + return _objc_getAssociatedObject( + object._id, + key, + ).address == + 0 + ? null + : NSObject._( + _objc_getAssociatedObject( + object._id, + key, + ), + this, + retain: true, + release: true); + } + + late final _objc_getAssociatedObjectPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer)>>('objc_getAssociatedObject'); + late final _objc_getAssociatedObject = + _objc_getAssociatedObjectPtr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + /// Removes all associations for a given object. + /// + /// @param object An object that maintains associated objects. + /// + /// @note The main purpose of this function is to make it easy to return an object + /// to a "pristine state”. You should not use this function for general removal of + /// associations from objects, since it also removes associations that other clients + /// may have added to the object. Typically you should use \c objc_setAssociatedObject + /// with a nil value to clear an association. + /// + /// @see objc_setAssociatedObject + /// @see objc_getAssociatedObject + void objc_removeAssociatedObjects( + NSObject object, + ) { + return _objc_removeAssociatedObjects( + object._id, + ); + } + + late final _objc_removeAssociatedObjectsPtr = + _lookup)>>( + 'objc_removeAssociatedObjects'); + late final _objc_removeAssociatedObjects = _objc_removeAssociatedObjectsPtr + .asFunction)>(); + + /// Install a hook for class_getImageName(). + /// + /// @param newValue The hook function to install. + /// @param outOldValue The address of a function pointer variable. On return, + /// the old hook function is stored in the variable. + /// + /// @note The store to *outOldValue is thread-safe: the variable will be + /// updated before class_getImageName() calls your new hook to read it, + /// even if your new hook is called from another thread before this + /// setter completes. + /// @note The first hook in the chain is the native implementation of + /// class_getImageName(). Your hook should call the previous hook for + /// classes that you do not recognize. + /// + /// @see class_getImageName + /// @see objc_hook_getImageName + void objc_setHook_getImageName( + ffi.Pointer< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, + ffi.Pointer>)>> + newValue, + ffi.Pointer< + ffi.Pointer< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, + ffi.Pointer>)>>> + outOldValue, + ) { + return _objc_setHook_getImageName( + newValue, + outOldValue, + ); + } + + late final _objc_setHook_getImageNamePtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, + ffi.Pointer>)>>, + ffi.Pointer< + ffi.Pointer< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, + ffi.Pointer>)>>>)>>( + 'objc_setHook_getImageName'); + late final _objc_setHook_getImageName = + _objc_setHook_getImageNamePtr.asFunction< + void Function( + ffi.Pointer< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, + ffi.Pointer>)>>, + ffi.Pointer< + ffi.Pointer< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, + ffi.Pointer>)>>>)>(); + + void objc_setHook_getClass( + ffi.Pointer< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, + ffi.Pointer>)>> + newValue, + ffi.Pointer< + ffi.Pointer< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, + ffi.Pointer>)>>> + outOldValue, + ) { + return _objc_setHook_getClass( + newValue, + outOldValue, + ); + } + + late final _objc_setHook_getClassPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, + ffi.Pointer>)>>, + ffi.Pointer< + ffi.Pointer< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, + ffi.Pointer>)>>>)>>( + 'objc_setHook_getClass'); + late final _objc_setHook_getClass = _objc_setHook_getClassPtr.asFunction< + void Function( + ffi.Pointer< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, + ffi.Pointer>)>>, + ffi.Pointer< + ffi.Pointer< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, + ffi.Pointer>)>>>)>(); + + void objc_addLoadImageFunc( + ffi.Pointer)>> + func, + ) { + return _objc_addLoadImageFunc( + func, + ); + } + + late final _objc_addLoadImageFuncPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer)>>)>>( + 'objc_addLoadImageFunc'); + late final _objc_addLoadImageFunc = _objc_addLoadImageFuncPtr.asFunction< + void Function( + ffi.Pointer< + ffi + .NativeFunction)>>)>(); + + void objc_setHook_lazyClassNamer( + ffi.Pointer< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer)>> + newValue, + ffi.Pointer< + ffi.Pointer< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer)>>> + oldOutValue, + ) { + return _objc_setHook_lazyClassNamer( + newValue, + oldOutValue, + ); + } + + late final _objc_setHook_lazyClassNamerPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi + .Pointer< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>, + ffi.Pointer< + ffi.Pointer< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>>)>>( + 'objc_setHook_lazyClassNamer'); + late final _objc_setHook_lazyClassNamer = + _objc_setHook_lazyClassNamerPtr.asFunction< + void Function( + ffi.Pointer< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer)>>, + ffi.Pointer< + ffi.Pointer< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>>)>(); +} + +abstract class ASWebAuthenticationSessionErrorCode { + static const int ASWebAuthenticationSessionErrorCodeCanceledLogin = 1; + static const int + ASWebAuthenticationSessionErrorCodePresentationContextNotProvided = 2; + static const int + ASWebAuthenticationSessionErrorCodePresentationContextInvalid = 3; +} + +/// ! +/// @class ASWebAuthenticationSession +/// An ASWebAuthenticationSession object can be used to authenticate a user with a web service, even if the web service is run +/// by a third party. ASWebAuthenticationSession puts the user in control of whether they want to use their existing logged-in +/// session from Safari. The app provides a URL that points to the authentication webpage. The page will be loaded in a secure +/// view controller. From the webpage, the user can authenticate herself and grant access to the app. +/// On completion, the service will send a callback URL with an authentication token, and this URL will be passed to the app by +/// ASWebAuthenticationSessionCompletionHandler. +/// +/// The callback URL usually has a custom URL scheme. For the app to receive the callback URL, it needs to either register the +/// custom URL scheme in its Info.plist, or set the scheme to callbackURLScheme argument in the initializer. +/// +/// If the user has already logged into the web service in Safari or other apps via ASWebAuthenticationSession, it is possible to +/// share the existing login information. An alert will be presented to get the user's consent for sharing their existing login +/// information. If the user cancels the alert, the session will be canceled, and the completion handler will be called with +/// the error code ASWebAuthenticationSessionErrorCodeCanceledLogin. +/// +/// If the user taps Cancel when showing the login webpage for the web service, the session will be canceled, and the completion +/// handler will be called with the error code ASWebAuthenticationSessionErrorCodeCanceledLogin. +/// +/// The app can cancel the session by calling -[ASWebAuthenticationSession cancel]. This will also dismiss the view controller that +/// is showing the web service's login page. +class _ObjCWrapper implements ffi.Finalizable { + final ffi.Pointer _id; + final AuthenticationServices _lib; + bool _pendingRelease; + + _ObjCWrapper._(this._id, this._lib, + {bool retain = false, bool release = false}) + : _pendingRelease = release { + if (retain) { + _lib._objc_retain(_id.cast()); + } + if (release) { + _lib._objc_releaseFinalizer2.attach(this, _id.cast(), detach: this); + } + } + + /// Releases the reference to the underlying ObjC object held by this wrapper. + /// Throws a StateError if this wrapper doesn't currently hold a reference. + void release() { + if (_pendingRelease) { + _pendingRelease = false; + _lib._objc_release(_id.cast()); + _lib._objc_releaseFinalizer2.detach(this); + } else { + throw StateError( + 'Released an ObjC object that was unowned or already released.'); + } + } + + @override + bool operator ==(Object other) { + return other is _ObjCWrapper && _id == other._id; + } + + @override + int get hashCode => _id.hashCode; + + /// Return a pointer to this object. + ffi.Pointer get pointer => _id; + + ffi.Pointer _retainAndReturnId() { + _lib._objc_retain(_id.cast()); + return _id; + } +} + +class ASWebAuthenticationSession extends NSObject { + ASWebAuthenticationSession._( + ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [ASWebAuthenticationSession] that points to the same underlying object as [other]. + static ASWebAuthenticationSession castFrom(T other) { + return ASWebAuthenticationSession._(other._id, other._lib, + retain: true, release: true); + } + + /// Returns a [ASWebAuthenticationSession] that wraps the given raw object pointer. + static ASWebAuthenticationSession castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return ASWebAuthenticationSession._(other, lib, + retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [ASWebAuthenticationSession]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_ASWebAuthenticationSession1); + } + + /// ! @abstract Returns an ASWebAuthenticationSession object. + /// @param URL the initial URL pointing to the authentication webpage. Only supports URLs with http:// or https:// schemes. + /// @param callbackURLScheme the custom URL scheme that the app expects in the callback URL. + /// @param completionHandler the completion handler which is called when the session is completed successfully or canceled by user. + ASWebAuthenticationSession initWithURL_callbackURLScheme_completionHandler_( + NSURL URL, + NSString? callbackURLScheme, + DartASWebAuthenticationSessionCompletionHandler completionHandler) { + final _ret = _lib._objc_msgSend_102( + _id, + _lib._sel_initWithURL_callbackURLScheme_completionHandler_1, + URL._id, + callbackURLScheme?._id ?? ffi.nullptr, + completionHandler._id); + return ASWebAuthenticationSession._(_ret, _lib, + retain: true, release: true); + } + + /// ! @abstract Provides context to target where in an application's UI the authorization view should be shown. A provider + /// must be set prior to calling -start, otherwise the authorization view cannot be displayed. If deploying to iOS prior to + /// 13.0, the desired window is inferred by the application's key window. + NSObject? get presentationContextProvider { + final _ret = + _lib._objc_msgSend_16(_id, _lib._sel_presentationContextProvider1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + /// ! @abstract Provides context to target where in an application's UI the authorization view should be shown. A provider + /// must be set prior to calling -start, otherwise the authorization view cannot be displayed. If deploying to iOS prior to + /// 13.0, the desired window is inferred by the application's key window. + set presentationContextProvider(NSObject? value) { + return _lib._objc_msgSend_17(_id, + _lib._sel_setPresentationContextProvider_1, value?._id ?? ffi.nullptr); + } + + /// ! @abstract Indicates whether this session should ask the browser for an ephemeral session. + /// @discussion Ephemeral web browser sessions do not not share cookies or other browsing data with a user's normal browser session. + /// This value is NO by default. Setting this property after calling -[ASWebAuthenticationSession start] has no effect. + bool get prefersEphemeralWebBrowserSession { + return _lib._objc_msgSend_12( + _id, _lib._sel_prefersEphemeralWebBrowserSession1); + } + + /// ! @abstract Indicates whether this session should ask the browser for an ephemeral session. + /// @discussion Ephemeral web browser sessions do not not share cookies or other browsing data with a user's normal browser session. + /// This value is NO by default. Setting this property after calling -[ASWebAuthenticationSession start] has no effect. + set prefersEphemeralWebBrowserSession(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setPrefersEphemeralWebBrowserSession_1, value); + } + + /// ! @abstract Returns whether the session can be successfully started. This property returns the same value as calling -start, + /// but without the side effect of actually starting the session. + bool get canStart { + return _lib._objc_msgSend_12(_id, _lib._sel_canStart1); + } + + /// ! @abstract Starts the ASWebAuthenticationSession instance after it is instantiated. + /// @discussion start can only be called once for an ASWebAuthenticationSession instance. This also means calling start on a + /// canceled session will fail. + /// @result Returns YES if the session starts successfully. + bool start() { + return _lib._objc_msgSend_12(_id, _lib._sel_start1); + } + + /// ! @abstract Cancel an ASWebAuthenticationSession. If the view controller is already presented to load the webpage for + /// authentication, it will be dismissed. Calling cancel on an already canceled session will have no effect. + void cancel() { + _lib._objc_msgSend_1(_id, _lib._sel_cancel1); + } + + static ASWebAuthenticationSession new1(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2( + _lib._class_ASWebAuthenticationSession1, _lib._sel_new1); + return ASWebAuthenticationSession._(_ret, _lib, + retain: false, release: true); + } + + @override + ASWebAuthenticationSession init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return ASWebAuthenticationSession._(_ret, _lib, + retain: true, release: true); + } + + static ASWebAuthenticationSession allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3(_lib._class_ASWebAuthenticationSession1, + _lib._sel_allocWithZone_1, zone); + return ASWebAuthenticationSession._(_ret, _lib, + retain: false, release: true); + } + + static ASWebAuthenticationSession alloc(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2( + _lib._class_ASWebAuthenticationSession1, _lib._sel_alloc1); + return ASWebAuthenticationSession._(_ret, _lib, + retain: false, release: true); + } +} + +final class ObjCSel extends ffi.Opaque {} + +final class ObjCObject extends ffi.Opaque {} + +class NSObject extends _ObjCWrapper { + NSObject._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSObject] that points to the same underlying object as [other]. + static NSObject castFrom(T other) { + return NSObject._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSObject] that wraps the given raw object pointer. + static NSObject castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSObject._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSObject]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSObject1); + } + + static void load(AuthenticationServices _lib) { + _lib._objc_msgSend_1(_lib._class_NSObject1, _lib._sel_load1); + } + + static void initialize(AuthenticationServices _lib) { + _lib._objc_msgSend_1(_lib._class_NSObject1, _lib._sel_initialize1); + } + + NSObject init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSObject new1(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_new1); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + static NSObject allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSObject1, _lib._sel_allocWithZone_1, zone); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + static NSObject alloc(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_alloc1); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + void dealloc() { + _lib._objc_msgSend_1(_id, _lib._sel_dealloc1); + } + + void finalize() { + _lib._objc_msgSend_1(_id, _lib._sel_finalize1); + } + + NSObject copy() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_copy1); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + NSObject mutableCopy() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_mutableCopy1); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + static NSObject copyWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSObject1, _lib._sel_copyWithZone_1, zone); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + static NSObject mutableCopyWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSObject1, _lib._sel_mutableCopyWithZone_1, zone); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + static bool instancesRespondToSelector_( + AuthenticationServices _lib, ffi.Pointer aSelector) { + return _lib._objc_msgSend_4(_lib._class_NSObject1, + _lib._sel_instancesRespondToSelector_1, aSelector); + } + + static bool conformsToProtocol_( + AuthenticationServices _lib, Protocol protocol) { + return _lib._objc_msgSend_5( + _lib._class_NSObject1, _lib._sel_conformsToProtocol_1, protocol._id); + } + + ffi.Pointer> methodForSelector_( + ffi.Pointer aSelector) { + return _lib._objc_msgSend_6(_id, _lib._sel_methodForSelector_1, aSelector); + } + + static ffi.Pointer> + instanceMethodForSelector_( + AuthenticationServices _lib, ffi.Pointer aSelector) { + return _lib._objc_msgSend_6(_lib._class_NSObject1, + _lib._sel_instanceMethodForSelector_1, aSelector); + } + + void doesNotRecognizeSelector_(ffi.Pointer aSelector) { + _lib._objc_msgSend_7(_id, _lib._sel_doesNotRecognizeSelector_1, aSelector); + } + + NSObject forwardingTargetForSelector_(ffi.Pointer aSelector) { + final _ret = _lib._objc_msgSend_8( + _id, _lib._sel_forwardingTargetForSelector_1, aSelector); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + void forwardInvocation_(NSInvocation anInvocation) { + _lib._objc_msgSend_24(_id, _lib._sel_forwardInvocation_1, anInvocation._id); + } + + NSMethodSignature methodSignatureForSelector_( + ffi.Pointer aSelector) { + final _ret = _lib._objc_msgSend_25( + _id, _lib._sel_methodSignatureForSelector_1, aSelector); + return NSMethodSignature._(_ret, _lib, retain: true, release: true); + } + + static NSMethodSignature instanceMethodSignatureForSelector_( + AuthenticationServices _lib, ffi.Pointer aSelector) { + final _ret = _lib._objc_msgSend_25(_lib._class_NSObject1, + _lib._sel_instanceMethodSignatureForSelector_1, aSelector); + return NSMethodSignature._(_ret, _lib, retain: true, release: true); + } + + bool allowsWeakReference() { + return _lib._objc_msgSend_12(_id, _lib._sel_allowsWeakReference1); + } + + bool retainWeakReference() { + return _lib._objc_msgSend_12(_id, _lib._sel_retainWeakReference1); + } + + static bool isSubclassOfClass_(AuthenticationServices _lib, NSObject aClass) { + return _lib._objc_msgSend_0( + _lib._class_NSObject1, _lib._sel_isSubclassOfClass_1, aClass._id); + } + + static bool resolveClassMethod_( + AuthenticationServices _lib, ffi.Pointer sel) { + return _lib._objc_msgSend_4( + _lib._class_NSObject1, _lib._sel_resolveClassMethod_1, sel); + } + + static bool resolveInstanceMethod_( + AuthenticationServices _lib, ffi.Pointer sel) { + return _lib._objc_msgSend_4( + _lib._class_NSObject1, _lib._sel_resolveInstanceMethod_1, sel); + } + + static int hash(AuthenticationServices _lib) { + return _lib._objc_msgSend_10(_lib._class_NSObject1, _lib._sel_hash1); + } + + static NSObject superclass(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_superclass1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSObject class1(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_class1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSString description(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_36(_lib._class_NSObject1, _lib._sel_description1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + static NSString debugDescription(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_36( + _lib._class_NSObject1, _lib._sel_debugDescription1); + return NSString._(_ret, _lib, retain: true, release: true); + } +} + +typedef instancetype = ffi.Pointer; +typedef Dartinstancetype = NSObject; + +final class _NSZone extends ffi.Opaque {} + +class Protocol extends _ObjCWrapper { + Protocol._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [Protocol] that points to the same underlying object as [other]. + static Protocol castFrom(T other) { + return Protocol._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [Protocol] that wraps the given raw object pointer. + static Protocol castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return Protocol._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [Protocol]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_Protocol1); + } +} + +class NSInvocation extends NSObject { + NSInvocation._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSInvocation] that points to the same underlying object as [other]. + static NSInvocation castFrom(T other) { + return NSInvocation._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSInvocation] that wraps the given raw object pointer. + static NSInvocation castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSInvocation._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSInvocation]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSInvocation1); + } + + static NSInvocation invocationWithMethodSignature_( + AuthenticationServices _lib, NSMethodSignature sig) { + final _ret = _lib._objc_msgSend_14(_lib._class_NSInvocation1, + _lib._sel_invocationWithMethodSignature_1, sig._id); + return NSInvocation._(_ret, _lib, retain: true, release: true); + } + + NSMethodSignature get methodSignature { + final _ret = _lib._objc_msgSend_15(_id, _lib._sel_methodSignature1); + return NSMethodSignature._(_ret, _lib, retain: true, release: true); + } + + void retainArguments() { + _lib._objc_msgSend_1(_id, _lib._sel_retainArguments1); + } + + bool get argumentsRetained { + return _lib._objc_msgSend_12(_id, _lib._sel_argumentsRetained1); + } + + NSObject? get target { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_target1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + set target(NSObject? value) { + return _lib._objc_msgSend_17( + _id, _lib._sel_setTarget_1, value?._id ?? ffi.nullptr); + } + + ffi.Pointer get selector { + return _lib._objc_msgSend_18(_id, _lib._sel_selector1); + } + + set selector(ffi.Pointer value) { + return _lib._objc_msgSend_19(_id, _lib._sel_setSelector_1, value); + } + + void getReturnValue_(ffi.Pointer retLoc) { + _lib._objc_msgSend_20(_id, _lib._sel_getReturnValue_1, retLoc); + } + + void setReturnValue_(ffi.Pointer retLoc) { + _lib._objc_msgSend_20(_id, _lib._sel_setReturnValue_1, retLoc); + } + + void getArgument_atIndex_(ffi.Pointer argumentLocation, int idx) { + _lib._objc_msgSend_21( + _id, _lib._sel_getArgument_atIndex_1, argumentLocation, idx); + } + + void setArgument_atIndex_(ffi.Pointer argumentLocation, int idx) { + _lib._objc_msgSend_21( + _id, _lib._sel_setArgument_atIndex_1, argumentLocation, idx); + } + + void invoke() { + _lib._objc_msgSend_1(_id, _lib._sel_invoke1); + } + + void invokeWithTarget_(NSObject target) { + _lib._objc_msgSend_22(_id, _lib._sel_invokeWithTarget_1, target._id); + } + + void invokeUsingIMP_( + ffi.Pointer> imp) { + _lib._objc_msgSend_23(_id, _lib._sel_invokeUsingIMP_1, imp); + } + + @override + NSInvocation init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSInvocation._(_ret, _lib, retain: true, release: true); + } + + static NSInvocation new1(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSInvocation1, _lib._sel_new1); + return NSInvocation._(_ret, _lib, retain: false, release: true); + } + + static NSInvocation allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSInvocation1, _lib._sel_allocWithZone_1, zone); + return NSInvocation._(_ret, _lib, retain: false, release: true); + } + + static NSInvocation alloc(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSInvocation1, _lib._sel_alloc1); + return NSInvocation._(_ret, _lib, retain: false, release: true); + } +} + +class NSMethodSignature extends NSObject { + NSMethodSignature._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSMethodSignature] that points to the same underlying object as [other]. + static NSMethodSignature castFrom(T other) { + return NSMethodSignature._(other._id, other._lib, + retain: true, release: true); + } + + /// Returns a [NSMethodSignature] that wraps the given raw object pointer. + static NSMethodSignature castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSMethodSignature._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSMethodSignature]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_NSMethodSignature1); + } + + static NSMethodSignature? signatureWithObjCTypes_( + AuthenticationServices _lib, ffi.Pointer types) { + final _ret = _lib._objc_msgSend_9(_lib._class_NSMethodSignature1, + _lib._sel_signatureWithObjCTypes_1, types); + return _ret.address == 0 + ? null + : NSMethodSignature._(_ret, _lib, retain: true, release: true); + } + + int get numberOfArguments { + return _lib._objc_msgSend_10(_id, _lib._sel_numberOfArguments1); + } + + ffi.Pointer getArgumentTypeAtIndex_(int idx) { + return _lib._objc_msgSend_11(_id, _lib._sel_getArgumentTypeAtIndex_1, idx); + } + + int get frameLength { + return _lib._objc_msgSend_10(_id, _lib._sel_frameLength1); + } + + bool isOneway() { + return _lib._objc_msgSend_12(_id, _lib._sel_isOneway1); + } + + ffi.Pointer get methodReturnType { + return _lib._objc_msgSend_13(_id, _lib._sel_methodReturnType1); + } + + int get methodReturnLength { + return _lib._objc_msgSend_10(_id, _lib._sel_methodReturnLength1); + } + + @override + NSMethodSignature init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSMethodSignature._(_ret, _lib, retain: true, release: true); + } + + static NSMethodSignature new1(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSMethodSignature1, _lib._sel_new1); + return NSMethodSignature._(_ret, _lib, retain: false, release: true); + } + + static NSMethodSignature allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSMethodSignature1, _lib._sel_allocWithZone_1, zone); + return NSMethodSignature._(_ret, _lib, retain: false, release: true); + } + + static NSMethodSignature alloc(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSMethodSignature1, _lib._sel_alloc1); + return NSMethodSignature._(_ret, _lib, retain: false, release: true); + } +} + +class NSString extends NSObject { + NSString._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSString] that points to the same underlying object as [other]. + static NSString castFrom(T other) { + return NSString._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSString] that wraps the given raw object pointer. + static NSString castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSString._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSString]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSString1); + } + + factory NSString(AuthenticationServices _lib, String str) { + final cstr = str.toNativeUtf16(); + final nsstr = stringWithCharacters_length_(_lib, cstr.cast(), str.length); + pkg_ffi.calloc.free(cstr); + return nsstr; + } + + @override + String toString() { + final data = + dataUsingEncoding_(0x94000100 /* NSUTF16LittleEndianStringEncoding */); + return data!.bytes.cast().toDartString(length: length); + } + + int get length { + return _lib._objc_msgSend_10(_id, _lib._sel_length1); + } + + int characterAtIndex_(int index) { + return _lib._objc_msgSend_26(_id, _lib._sel_characterAtIndex_1, index); + } + + @override + NSString init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + static NSString stringWithCharacters_length_(AuthenticationServices _lib, + ffi.Pointer characters, int length) { + final _ret = _lib._objc_msgSend_34(_lib._class_NSString1, + _lib._sel_stringWithCharacters_length_1, characters, length); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSData dataUsingEncoding_(int encoding) { + final _ret = + _lib._objc_msgSend_35(_id, _lib._sel_dataUsingEncoding_1, encoding); + return NSData._(_ret, _lib, retain: true, release: true); + } + + static NSString new1(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSString1, _lib._sel_new1); + return NSString._(_ret, _lib, retain: false, release: true); + } + + static NSString allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSString1, _lib._sel_allocWithZone_1, zone); + return NSString._(_ret, _lib, retain: false, release: true); + } + + static NSString alloc(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSString1, _lib._sel_alloc1); + return NSString._(_ret, _lib, retain: false, release: true); + } +} + +extension StringToNSString on String { + NSString toNSString(AuthenticationServices lib) => NSString(lib, this); +} + +class NSCoder extends NSObject { + NSCoder._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSCoder] that points to the same underlying object as [other]. + static NSCoder castFrom(T other) { + return NSCoder._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSCoder] that wraps the given raw object pointer. + static NSCoder castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSCoder._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSCoder]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSCoder1); + } + + void encodeValueOfObjCType_at_( + ffi.Pointer type, ffi.Pointer addr) { + _lib._objc_msgSend_27( + _id, _lib._sel_encodeValueOfObjCType_at_1, type, addr); + } + + void encodeDataObject_(NSData data) { + _lib._objc_msgSend_29(_id, _lib._sel_encodeDataObject_1, data._id); + } + + NSData? decodeDataObject() { + final _ret = _lib._objc_msgSend_30(_id, _lib._sel_decodeDataObject1); + return _ret.address == 0 + ? null + : NSData._(_ret, _lib, retain: true, release: true); + } + + void decodeValueOfObjCType_at_size_( + ffi.Pointer type, ffi.Pointer data, int size) { + _lib._objc_msgSend_31( + _id, _lib._sel_decodeValueOfObjCType_at_size_1, type, data, size); + } + + int versionForClassName_(NSString className) { + return _lib._objc_msgSend_32( + _id, _lib._sel_versionForClassName_1, className._id); + } + + @override + NSCoder init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSCoder._(_ret, _lib, retain: true, release: true); + } + + static NSCoder new1(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSCoder1, _lib._sel_new1); + return NSCoder._(_ret, _lib, retain: false, release: true); + } + + static NSCoder allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSCoder1, _lib._sel_allocWithZone_1, zone); + return NSCoder._(_ret, _lib, retain: false, release: true); + } + + static NSCoder alloc(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSCoder1, _lib._sel_alloc1); + return NSCoder._(_ret, _lib, retain: false, release: true); + } +} + +class NSData extends NSObject { + NSData._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSData] that points to the same underlying object as [other]. + static NSData castFrom(T other) { + return NSData._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSData] that wraps the given raw object pointer. + static NSData castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSData._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSData]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSData1); + } + + int get length { + return _lib._objc_msgSend_10(_id, _lib._sel_length1); + } + + ffi.Pointer get bytes { + return _lib._objc_msgSend_28(_id, _lib._sel_bytes1); + } + + @override + NSData init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSData._(_ret, _lib, retain: true, release: true); + } + + static NSData new1(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSData1, _lib._sel_new1); + return NSData._(_ret, _lib, retain: false, release: true); + } + + static NSData allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSData1, _lib._sel_allocWithZone_1, zone); + return NSData._(_ret, _lib, retain: false, release: true); + } + + static NSData alloc(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSData1, _lib._sel_alloc1); + return NSData._(_ret, _lib, retain: false, release: true); + } +} + +class NSURL extends NSObject { + NSURL._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSURL] that points to the same underlying object as [other]. + static NSURL castFrom(T other) { + return NSURL._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSURL] that wraps the given raw object pointer. + static NSURL castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSURL._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSURL]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSURL1); + } + + NSURL? initWithScheme_host_path_( + NSString scheme, NSString? host, NSString path) { + final _ret = _lib._objc_msgSend_37( + _id, + _lib._sel_initWithScheme_host_path_1, + scheme._id, + host?._id ?? ffi.nullptr, + path._id); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL initFileURLWithPath_isDirectory_relativeToURL_( + NSString path, bool isDir, NSURL? baseURL) { + final _ret = _lib._objc_msgSend_38( + _id, + _lib._sel_initFileURLWithPath_isDirectory_relativeToURL_1, + path._id, + isDir, + baseURL?._id ?? ffi.nullptr); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL initFileURLWithPath_relativeToURL_(NSString path, NSURL? baseURL) { + final _ret = _lib._objc_msgSend_39( + _id, + _lib._sel_initFileURLWithPath_relativeToURL_1, + path._id, + baseURL?._id ?? ffi.nullptr); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL initFileURLWithPath_isDirectory_(NSString path, bool isDir) { + final _ret = _lib._objc_msgSend_40( + _id, _lib._sel_initFileURLWithPath_isDirectory_1, path._id, isDir); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL initFileURLWithPath_(NSString path) { + final _ret = + _lib._objc_msgSend_41(_id, _lib._sel_initFileURLWithPath_1, path._id); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + static NSURL fileURLWithPath_isDirectory_relativeToURL_( + AuthenticationServices _lib, NSString path, bool isDir, NSURL? baseURL) { + final _ret = _lib._objc_msgSend_42( + _lib._class_NSURL1, + _lib._sel_fileURLWithPath_isDirectory_relativeToURL_1, + path._id, + isDir, + baseURL?._id ?? ffi.nullptr); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + static NSURL fileURLWithPath_relativeToURL_( + AuthenticationServices _lib, NSString path, NSURL? baseURL) { + final _ret = _lib._objc_msgSend_43( + _lib._class_NSURL1, + _lib._sel_fileURLWithPath_relativeToURL_1, + path._id, + baseURL?._id ?? ffi.nullptr); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + static NSURL fileURLWithPath_isDirectory_( + AuthenticationServices _lib, NSString path, bool isDir) { + final _ret = _lib._objc_msgSend_44(_lib._class_NSURL1, + _lib._sel_fileURLWithPath_isDirectory_1, path._id, isDir); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + static NSURL fileURLWithPath_(AuthenticationServices _lib, NSString path) { + final _ret = _lib._objc_msgSend_45( + _lib._class_NSURL1, _lib._sel_fileURLWithPath_1, path._id); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL initFileURLWithFileSystemRepresentation_isDirectory_relativeToURL_( + ffi.Pointer path, bool isDir, NSURL? baseURL) { + final _ret = _lib._objc_msgSend_46( + _id, + _lib._sel_initFileURLWithFileSystemRepresentation_isDirectory_relativeToURL_1, + path, + isDir, + baseURL?._id ?? ffi.nullptr); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + static NSURL fileURLWithFileSystemRepresentation_isDirectory_relativeToURL_( + AuthenticationServices _lib, + ffi.Pointer path, + bool isDir, + NSURL? baseURL) { + final _ret = _lib._objc_msgSend_47( + _lib._class_NSURL1, + _lib._sel_fileURLWithFileSystemRepresentation_isDirectory_relativeToURL_1, + path, + isDir, + baseURL?._id ?? ffi.nullptr); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL? initWithString_(NSString URLString) { + final _ret = + _lib._objc_msgSend_48(_id, _lib._sel_initWithString_1, URLString._id); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL? initWithString_relativeToURL_(NSString URLString, NSURL? baseURL) { + final _ret = _lib._objc_msgSend_49( + _id, + _lib._sel_initWithString_relativeToURL_1, + URLString._id, + baseURL?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + static NSURL? URLWithString_( + AuthenticationServices _lib, NSString URLString) { + final _ret = _lib._objc_msgSend_48( + _lib._class_NSURL1, _lib._sel_URLWithString_1, URLString._id); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + static NSURL? URLWithString_relativeToURL_( + AuthenticationServices _lib, NSString URLString, NSURL? baseURL) { + final _ret = _lib._objc_msgSend_49( + _lib._class_NSURL1, + _lib._sel_URLWithString_relativeToURL_1, + URLString._id, + baseURL?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL? initWithString_encodingInvalidCharacters_( + NSString URLString, bool encodingInvalidCharacters) { + final _ret = _lib._objc_msgSend_50( + _id, + _lib._sel_initWithString_encodingInvalidCharacters_1, + URLString._id, + encodingInvalidCharacters); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + static NSURL? URLWithString_encodingInvalidCharacters_( + AuthenticationServices _lib, + NSString URLString, + bool encodingInvalidCharacters) { + final _ret = _lib._objc_msgSend_50( + _lib._class_NSURL1, + _lib._sel_URLWithString_encodingInvalidCharacters_1, + URLString._id, + encodingInvalidCharacters); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL initWithDataRepresentation_relativeToURL_(NSData data, NSURL? baseURL) { + final _ret = _lib._objc_msgSend_51( + _id, + _lib._sel_initWithDataRepresentation_relativeToURL_1, + data._id, + baseURL?._id ?? ffi.nullptr); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + static NSURL URLWithDataRepresentation_relativeToURL_( + AuthenticationServices _lib, NSData data, NSURL? baseURL) { + final _ret = _lib._objc_msgSend_52( + _lib._class_NSURL1, + _lib._sel_URLWithDataRepresentation_relativeToURL_1, + data._id, + baseURL?._id ?? ffi.nullptr); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL initAbsoluteURLWithDataRepresentation_relativeToURL_( + NSData data, NSURL? baseURL) { + final _ret = _lib._objc_msgSend_51( + _id, + _lib._sel_initAbsoluteURLWithDataRepresentation_relativeToURL_1, + data._id, + baseURL?._id ?? ffi.nullptr); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + static NSURL absoluteURLWithDataRepresentation_relativeToURL_( + AuthenticationServices _lib, NSData data, NSURL? baseURL) { + final _ret = _lib._objc_msgSend_52( + _lib._class_NSURL1, + _lib._sel_absoluteURLWithDataRepresentation_relativeToURL_1, + data._id, + baseURL?._id ?? ffi.nullptr); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + NSData get dataRepresentation { + final _ret = _lib._objc_msgSend_53(_id, _lib._sel_dataRepresentation1); + return NSData._(_ret, _lib, retain: true, release: true); + } + + NSString? get absoluteString { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_absoluteString1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString get relativeString { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_relativeString1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSURL? get baseURL { + final _ret = _lib._objc_msgSend_55(_id, _lib._sel_baseURL1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL? get absoluteURL { + final _ret = _lib._objc_msgSend_55(_id, _lib._sel_absoluteURL1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSString? get scheme { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_scheme1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get resourceSpecifier { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_resourceSpecifier1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get host { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_host1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSNumber? get port { + final _ret = _lib._objc_msgSend_85(_id, _lib._sel_port1); + return _ret.address == 0 + ? null + : NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSString? get user { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_user1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get password { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_password1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get path { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_path1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get fragment { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_fragment1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get parameterString { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_parameterString1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get query { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_query1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get relativePath { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_relativePath1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + bool get hasDirectoryPath { + return _lib._objc_msgSend_12(_id, _lib._sel_hasDirectoryPath1); + } + + bool getFileSystemRepresentation_maxLength_( + ffi.Pointer buffer, int maxBufferLength) { + return _lib._objc_msgSend_86( + _id, + _lib._sel_getFileSystemRepresentation_maxLength_1, + buffer, + maxBufferLength); + } + + ffi.Pointer get fileSystemRepresentation { + return _lib._objc_msgSend_13(_id, _lib._sel_fileSystemRepresentation1); + } + + bool get fileURL { + return _lib._objc_msgSend_12(_id, _lib._sel_isFileURL1); + } + + NSURL? get standardizedURL { + final _ret = _lib._objc_msgSend_55(_id, _lib._sel_standardizedURL1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + bool isFileReferenceURL() { + return _lib._objc_msgSend_12(_id, _lib._sel_isFileReferenceURL1); + } + + NSURL? fileReferenceURL() { + final _ret = _lib._objc_msgSend_55(_id, _lib._sel_fileReferenceURL1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL? get filePathURL { + final _ret = _lib._objc_msgSend_55(_id, _lib._sel_filePathURL1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + bool getResourceValue_forKey_error_( + ffi.Pointer> value, + NSString key, + ffi.Pointer> error) { + return _lib._objc_msgSend_90( + _id, _lib._sel_getResourceValue_forKey_error_1, value, key._id, error); + } + + NSObject? resourceValuesForKeys_error_( + NSObject keys, ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_91( + _id, _lib._sel_resourceValuesForKeys_error_1, keys._id, error); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + bool setResourceValue_forKey_error_(NSObject? value, NSString key, + ffi.Pointer> error) { + return _lib._objc_msgSend_92(_id, _lib._sel_setResourceValue_forKey_error_1, + value?._id ?? ffi.nullptr, key._id, error); + } + + bool setResourceValues_error_( + NSObject keyedValues, ffi.Pointer> error) { + return _lib._objc_msgSend_93( + _id, _lib._sel_setResourceValues_error_1, keyedValues._id, error); + } + + void removeCachedResourceValueForKey_(NSString key) { + _lib._objc_msgSend_94( + _id, _lib._sel_removeCachedResourceValueForKey_1, key._id); + } + + void removeAllCachedResourceValues() { + _lib._objc_msgSend_1(_id, _lib._sel_removeAllCachedResourceValues1); + } + + void setTemporaryResourceValue_forKey_(NSObject? value, NSString key) { + _lib._objc_msgSend_95(_id, _lib._sel_setTemporaryResourceValue_forKey_1, + value?._id ?? ffi.nullptr, key._id); + } + + NSData? + bookmarkDataWithOptions_includingResourceValuesForKeys_relativeToURL_error_( + int options, + NSObject? keys, + NSURL? relativeURL, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_96( + _id, + _lib._sel_bookmarkDataWithOptions_includingResourceValuesForKeys_relativeToURL_error_1, + options, + keys?._id ?? ffi.nullptr, + relativeURL?._id ?? ffi.nullptr, + error); + return _ret.address == 0 + ? null + : NSData._(_ret, _lib, retain: true, release: true); + } + + NSURL? + initByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_( + NSData bookmarkData, + int options, + NSURL? relativeURL, + ffi.Pointer isStale, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_97( + _id, + _lib._sel_initByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_1, + bookmarkData._id, + options, + relativeURL?._id ?? ffi.nullptr, + isStale, + error); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + static NSURL? + URLByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_( + AuthenticationServices _lib, + NSData bookmarkData, + int options, + NSURL? relativeURL, + ffi.Pointer isStale, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_97( + _lib._class_NSURL1, + _lib._sel_URLByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_1, + bookmarkData._id, + options, + relativeURL?._id ?? ffi.nullptr, + isStale, + error); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + static NSObject? resourceValuesForKeys_fromBookmarkData_( + AuthenticationServices _lib, NSObject keys, NSData bookmarkData) { + final _ret = _lib._objc_msgSend_98( + _lib._class_NSURL1, + _lib._sel_resourceValuesForKeys_fromBookmarkData_1, + keys._id, + bookmarkData._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + static bool writeBookmarkData_toURL_options_error_( + AuthenticationServices _lib, + NSData bookmarkData, + NSURL bookmarkFileURL, + int options, + ffi.Pointer> error) { + return _lib._objc_msgSend_99( + _lib._class_NSURL1, + _lib._sel_writeBookmarkData_toURL_options_error_1, + bookmarkData._id, + bookmarkFileURL._id, + options, + error); + } + + static NSData? bookmarkDataWithContentsOfURL_error_( + AuthenticationServices _lib, + NSURL bookmarkFileURL, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_100( + _lib._class_NSURL1, + _lib._sel_bookmarkDataWithContentsOfURL_error_1, + bookmarkFileURL._id, + error); + return _ret.address == 0 + ? null + : NSData._(_ret, _lib, retain: true, release: true); + } + + static NSURL? URLByResolvingAliasFileAtURL_options_error_( + AuthenticationServices _lib, + NSURL url, + int options, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_101( + _lib._class_NSURL1, + _lib._sel_URLByResolvingAliasFileAtURL_options_error_1, + url._id, + options, + error); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + bool startAccessingSecurityScopedResource() { + return _lib._objc_msgSend_12( + _id, _lib._sel_startAccessingSecurityScopedResource1); + } + + void stopAccessingSecurityScopedResource() { + _lib._objc_msgSend_1(_id, _lib._sel_stopAccessingSecurityScopedResource1); + } + + @override + NSURL init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + static NSURL new1(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSURL1, _lib._sel_new1); + return NSURL._(_ret, _lib, retain: false, release: true); + } + + static NSURL allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSURL1, _lib._sel_allocWithZone_1, zone); + return NSURL._(_ret, _lib, retain: false, release: true); + } + + static NSURL alloc(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSURL1, _lib._sel_alloc1); + return NSURL._(_ret, _lib, retain: false, release: true); + } +} + +class NSNumber extends NSValue { + NSNumber._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSNumber] that points to the same underlying object as [other]. + static NSNumber castFrom(T other) { + return NSNumber._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSNumber] that wraps the given raw object pointer. + static NSNumber castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSNumber._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSNumber]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSNumber1); + } + + @override + NSNumber? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithChar_(int value) { + final _ret = _lib._objc_msgSend_58(_id, _lib._sel_initWithChar_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithUnsignedChar_(int value) { + final _ret = + _lib._objc_msgSend_59(_id, _lib._sel_initWithUnsignedChar_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithShort_(int value) { + final _ret = _lib._objc_msgSend_60(_id, _lib._sel_initWithShort_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithUnsignedShort_(int value) { + final _ret = + _lib._objc_msgSend_61(_id, _lib._sel_initWithUnsignedShort_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithInt_(int value) { + final _ret = _lib._objc_msgSend_62(_id, _lib._sel_initWithInt_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithUnsignedInt_(int value) { + final _ret = + _lib._objc_msgSend_63(_id, _lib._sel_initWithUnsignedInt_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithLong_(int value) { + final _ret = _lib._objc_msgSend_64(_id, _lib._sel_initWithLong_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithUnsignedLong_(int value) { + final _ret = + _lib._objc_msgSend_65(_id, _lib._sel_initWithUnsignedLong_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithLongLong_(int value) { + final _ret = + _lib._objc_msgSend_66(_id, _lib._sel_initWithLongLong_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithUnsignedLongLong_(int value) { + final _ret = + _lib._objc_msgSend_67(_id, _lib._sel_initWithUnsignedLongLong_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithFloat_(double value) { + final _ret = _lib._objc_msgSend_68(_id, _lib._sel_initWithFloat_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithDouble_(double value) { + final _ret = _lib._objc_msgSend_69(_id, _lib._sel_initWithDouble_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithBool_(bool value) { + final _ret = _lib._objc_msgSend_70(_id, _lib._sel_initWithBool_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithInteger_(int value) { + final _ret = _lib._objc_msgSend_64(_id, _lib._sel_initWithInteger_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithUnsignedInteger_(int value) { + final _ret = + _lib._objc_msgSend_65(_id, _lib._sel_initWithUnsignedInteger_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + int get charValue { + return _lib._objc_msgSend_71(_id, _lib._sel_charValue1); + } + + int get unsignedCharValue { + return _lib._objc_msgSend_72(_id, _lib._sel_unsignedCharValue1); + } + + int get shortValue { + return _lib._objc_msgSend_73(_id, _lib._sel_shortValue1); + } + + int get unsignedShortValue { + return _lib._objc_msgSend_74(_id, _lib._sel_unsignedShortValue1); + } + + int get intValue { + return _lib._objc_msgSend_75(_id, _lib._sel_intValue1); + } + + int get unsignedIntValue { + return _lib._objc_msgSend_76(_id, _lib._sel_unsignedIntValue1); + } + + int get longValue { + return _lib._objc_msgSend_77(_id, _lib._sel_longValue1); + } + + int get unsignedLongValue { + return _lib._objc_msgSend_10(_id, _lib._sel_unsignedLongValue1); + } + + int get longLongValue { + return _lib._objc_msgSend_78(_id, _lib._sel_longLongValue1); + } + + int get unsignedLongLongValue { + return _lib._objc_msgSend_79(_id, _lib._sel_unsignedLongLongValue1); + } + + double get floatValue { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_80_fpret(_id, _lib._sel_floatValue1) + : _lib._objc_msgSend_80(_id, _lib._sel_floatValue1); + } + + double get doubleValue { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_doubleValue1) + : _lib._objc_msgSend_81(_id, _lib._sel_doubleValue1); + } + + bool get boolValue { + return _lib._objc_msgSend_12(_id, _lib._sel_boolValue1); + } + + int get integerValue { + return _lib._objc_msgSend_77(_id, _lib._sel_integerValue1); + } + + int get unsignedIntegerValue { + return _lib._objc_msgSend_10(_id, _lib._sel_unsignedIntegerValue1); + } + + NSString get stringValue { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_stringValue1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + int compare_(NSNumber otherNumber) { + return _lib._objc_msgSend_82(_id, _lib._sel_compare_1, otherNumber._id); + } + + bool isEqualToNumber_(NSNumber number) { + return _lib._objc_msgSend_83(_id, _lib._sel_isEqualToNumber_1, number._id); + } + + NSString descriptionWithLocale_(NSObject? locale) { + final _ret = _lib._objc_msgSend_84( + _id, _lib._sel_descriptionWithLocale_1, locale?._id ?? ffi.nullptr); + return NSString._(_ret, _lib, retain: true, release: true); + } + + @override + NSNumber initWithBytes_objCType_( + ffi.Pointer value, ffi.Pointer type) { + final _ret = _lib._objc_msgSend_57( + _id, _lib._sel_initWithBytes_objCType_1, value, type); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + @override + NSNumber init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + static NSNumber new1(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSNumber1, _lib._sel_new1); + return NSNumber._(_ret, _lib, retain: false, release: true); + } + + static NSNumber allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSNumber1, _lib._sel_allocWithZone_1, zone); + return NSNumber._(_ret, _lib, retain: false, release: true); + } + + static NSNumber alloc(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSNumber1, _lib._sel_alloc1); + return NSNumber._(_ret, _lib, retain: false, release: true); + } +} + +class NSValue extends NSObject { + NSValue._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSValue] that points to the same underlying object as [other]. + static NSValue castFrom(T other) { + return NSValue._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSValue] that wraps the given raw object pointer. + static NSValue castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSValue._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSValue]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSValue1); + } + + void getValue_size_(ffi.Pointer value, int size) { + _lib._objc_msgSend_56(_id, _lib._sel_getValue_size_1, value, size); + } + + ffi.Pointer get objCType { + return _lib._objc_msgSend_13(_id, _lib._sel_objCType1); + } + + NSValue initWithBytes_objCType_( + ffi.Pointer value, ffi.Pointer type) { + final _ret = _lib._objc_msgSend_57( + _id, _lib._sel_initWithBytes_objCType_1, value, type); + return NSValue._(_ret, _lib, retain: true, release: true); + } + + NSValue? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : NSValue._(_ret, _lib, retain: true, release: true); + } + + @override + NSValue init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSValue._(_ret, _lib, retain: true, release: true); + } + + static NSValue new1(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSValue1, _lib._sel_new1); + return NSValue._(_ret, _lib, retain: false, release: true); + } + + static NSValue allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSValue1, _lib._sel_allocWithZone_1, zone); + return NSValue._(_ret, _lib, retain: false, release: true); + } + + static NSValue alloc(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSValue1, _lib._sel_alloc1); + return NSValue._(_ret, _lib, retain: false, release: true); + } +} + +abstract class NSComparisonResult { + static const int NSOrderedAscending = -1; + static const int NSOrderedSame = 0; + static const int NSOrderedDescending = 1; +} + +class NSError extends NSObject { + NSError._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSError] that points to the same underlying object as [other]. + static NSError castFrom(T other) { + return NSError._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSError] that wraps the given raw object pointer. + static NSError castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSError._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSError]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSError1); + } + + NSError initWithDomain_code_userInfo_( + NSString domain, int code, NSObject? dict) { + final _ret = _lib._objc_msgSend_87( + _id, + _lib._sel_initWithDomain_code_userInfo_1, + domain._id, + code, + dict?._id ?? ffi.nullptr); + return NSError._(_ret, _lib, retain: true, release: true); + } + + static NSError errorWithDomain_code_userInfo_( + AuthenticationServices _lib, NSString domain, int code, NSObject? dict) { + final _ret = _lib._objc_msgSend_87( + _lib._class_NSError1, + _lib._sel_errorWithDomain_code_userInfo_1, + domain._id, + code, + dict?._id ?? ffi.nullptr); + return NSError._(_ret, _lib, retain: true, release: true); + } + + NSString get domain { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_domain1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + int get code { + return _lib._objc_msgSend_77(_id, _lib._sel_code1); + } + + NSObject get userInfo { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_userInfo1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + NSString get localizedDescription { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_localizedDescription1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get localizedFailureReason { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_localizedFailureReason1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get localizedRecoverySuggestion { + final _ret = + _lib._objc_msgSend_54(_id, _lib._sel_localizedRecoverySuggestion1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSObject? get localizedRecoveryOptions { + final _ret = + _lib._objc_msgSend_16(_id, _lib._sel_localizedRecoveryOptions1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + NSObject? get recoveryAttempter { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_recoveryAttempter1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + NSString? get helpAnchor { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_helpAnchor1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSObject get underlyingErrors { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_underlyingErrors1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + static void setUserInfoValueProviderForDomain_provider_( + AuthenticationServices _lib, + NSString errorDomain, + ObjCBlock_ObjCObject_NSError_NSString? provider) { + _lib._objc_msgSend_88( + _lib._class_NSError1, + _lib._sel_setUserInfoValueProviderForDomain_provider_1, + errorDomain._id, + provider?._id ?? ffi.nullptr); + } + + static ObjCBlock_ObjCObject_NSError_NSString? userInfoValueProviderForDomain_( + AuthenticationServices _lib, + NSError err, + NSString userInfoKey, + NSString errorDomain) { + final _ret = _lib._objc_msgSend_89( + _lib._class_NSError1, + _lib._sel_userInfoValueProviderForDomain_1, + err._id, + userInfoKey._id, + errorDomain._id); + return _ret.address == 0 + ? null + : ObjCBlock_ObjCObject_NSError_NSString._(_ret, _lib, + retain: true, release: true); + } + + @override + NSError init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSError._(_ret, _lib, retain: true, release: true); + } + + static NSError new1(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSError1, _lib._sel_new1); + return NSError._(_ret, _lib, retain: false, release: true); + } + + static NSError allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSError1, _lib._sel_allocWithZone_1, zone); + return NSError._(_ret, _lib, retain: false, release: true); + } + + static NSError alloc(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSError1, _lib._sel_alloc1); + return NSError._(_ret, _lib, retain: false, release: true); + } +} + +class _ObjCBlockBase implements ffi.Finalizable { + final ffi.Pointer<_ObjCBlock> _id; + final AuthenticationServices _lib; + bool _pendingRelease; + + _ObjCBlockBase._(this._id, this._lib, + {bool retain = false, bool release = false}) + : _pendingRelease = release { + if (retain) { + _lib._Block_copy(_id.cast()); + } + if (release) { + _lib._objc_releaseFinalizer11.attach(this, _id.cast(), detach: this); + } + } + + /// Releases the reference to the underlying ObjC block held by this wrapper. + /// Throws a StateError if this wrapper doesn't currently hold a reference. + void release() { + if (_pendingRelease) { + _pendingRelease = false; + _lib._Block_release(_id.cast()); + _lib._objc_releaseFinalizer11.detach(this); + } else { + throw StateError( + 'Released an ObjC block that was unowned or already released.'); + } + } + + @override + bool operator ==(Object other) { + return other is _ObjCBlockBase && _id == other._id; + } + + @override + int get hashCode => _id.hashCode; + + /// Return a pointer to this object. + ffi.Pointer<_ObjCBlock> get pointer => _id; + + ffi.Pointer<_ObjCBlock> _retainAndReturnId() { + _lib._Block_copy(_id.cast()); + return _id; + } +} + +ffi.Pointer _ObjCBlock_ObjCObject_NSError_NSString_fnPtrTrampoline( + ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, + ffi.Pointer arg1) => + block.ref.target + .cast< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer arg0, + ffi.Pointer arg1)>>() + .asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer)>()(arg0, arg1); +final _ObjCBlock_ObjCObject_NSError_NSString_closureRegistry = Function( + ffi.Pointer, ffi.Pointer)>{}; +int _ObjCBlock_ObjCObject_NSError_NSString_closureRegistryIndex = 0; +ffi.Pointer _ObjCBlock_ObjCObject_NSError_NSString_registerClosure( + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer) + fn) { + final id = ++_ObjCBlock_ObjCObject_NSError_NSString_closureRegistryIndex; + _ObjCBlock_ObjCObject_NSError_NSString_closureRegistry[id] = fn; + return ffi.Pointer.fromAddress(id); +} + +ffi.Pointer + _ObjCBlock_ObjCObject_NSError_NSString_closureTrampoline( + ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, + ffi.Pointer arg1) => + _ObjCBlock_ObjCObject_NSError_NSString_closureRegistry[ + block.ref.target.address]!(arg0, arg1); + +class ObjCBlock_ObjCObject_NSError_NSString extends _ObjCBlockBase { + ObjCBlock_ObjCObject_NSError_NSString._( + ffi.Pointer<_ObjCBlock> id, AuthenticationServices lib, + {bool retain = false, bool release = true}) + : super._(id, lib, retain: retain, release: release); + + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ObjCObject_NSError_NSString.fromFunctionPointer( + AuthenticationServices lib, + ffi.Pointer< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer arg0, + ffi.Pointer arg1)>> + ptr) + : this._( + lib._newBlock1( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Pointer Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_ObjCObject_NSError_NSString_fnPtrTrampoline) + .cast(), + ptr.cast()), + lib); + static ffi.Pointer? _cFuncTrampoline; + + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ObjCObject_NSError_NSString.fromFunction( + AuthenticationServices lib, NSObject? Function(NSError, NSString) fn) + : this._( + lib._newBlock1( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Pointer Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_ObjCObject_NSError_NSString_closureTrampoline) + .cast(), + _ObjCBlock_ObjCObject_NSError_NSString_registerClosure( + (ffi.Pointer arg0, ffi.Pointer arg1) => + fn(NSError._(arg0, lib, retain: true, release: true), NSString._(arg1, lib, retain: true, release: true)) + ?._retainAndReturnId() ?? + ffi.nullptr)), + lib); + static ffi.Pointer? _dartFuncTrampoline; + + NSObject? call(NSError arg0, NSString arg1) => _id.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, + ffi.Pointer arg1)>>() + .asFunction Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, ffi.Pointer)>() + (_id, arg0._id, arg1._id) + .address == + 0 + ? null + : NSObject._( + _id.ref.invoke + .cast Function(ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0, ffi.Pointer arg1)>>() + .asFunction Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, ffi.Pointer)>()(_id, arg0._id, arg1._id), + _lib, + retain: false, + release: true); +} + +final class _ObjCBlockDesc extends ffi.Struct { + @ffi.UnsignedLong() + external int reserved; + + @ffi.UnsignedLong() + external int size; + + external ffi.Pointer copy_helper; + + external ffi.Pointer dispose_helper; + + external ffi.Pointer signature; +} + +final class _ObjCBlock extends ffi.Struct { + external ffi.Pointer isa; + + @ffi.Int() + external int flags; + + @ffi.Int() + external int reserved; + + external ffi.Pointer invoke; + + external ffi.Pointer<_ObjCBlockDesc> descriptor; + + external ffi.Pointer target; +} + +abstract class NSURLBookmarkCreationOptions { + static const int NSURLBookmarkCreationPreferFileIDResolution = 256; + static const int NSURLBookmarkCreationMinimalBookmark = 512; + static const int NSURLBookmarkCreationSuitableForBookmarkFile = 1024; + static const int NSURLBookmarkCreationWithSecurityScope = 2048; + static const int NSURLBookmarkCreationSecurityScopeAllowOnlyReadAccess = 4096; + static const int NSURLBookmarkCreationWithoutImplicitSecurityScope = + 536870912; +} + +abstract class NSURLBookmarkResolutionOptions { + static const int NSURLBookmarkResolutionWithoutUI = 256; + static const int NSURLBookmarkResolutionWithoutMounting = 512; + static const int NSURLBookmarkResolutionWithSecurityScope = 1024; + static const int NSURLBookmarkResolutionWithoutImplicitStartAccessing = 32768; +} + +typedef ASWebAuthenticationSessionCompletionHandler = ffi.Pointer<_ObjCBlock>; +typedef DartASWebAuthenticationSessionCompletionHandler + = ObjCBlock_ffiVoid_NSURL_NSError; +void _ObjCBlock_ffiVoid_NSURL_NSError_fnPtrTrampoline( + ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, + ffi.Pointer arg1) => + block.ref.target + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer arg0, + ffi.Pointer arg1)>>() + .asFunction< + void Function(ffi.Pointer, + ffi.Pointer)>()(arg0, arg1); +final _ObjCBlock_ffiVoid_NSURL_NSError_closureRegistry = + , ffi.Pointer)>{}; +int _ObjCBlock_ffiVoid_NSURL_NSError_closureRegistryIndex = 0; +ffi.Pointer _ObjCBlock_ffiVoid_NSURL_NSError_registerClosure( + void Function(ffi.Pointer, ffi.Pointer) fn) { + final id = ++_ObjCBlock_ffiVoid_NSURL_NSError_closureRegistryIndex; + _ObjCBlock_ffiVoid_NSURL_NSError_closureRegistry[id] = fn; + return ffi.Pointer.fromAddress(id); +} + +void _ObjCBlock_ffiVoid_NSURL_NSError_closureTrampoline( + ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, + ffi.Pointer arg1) => + _ObjCBlock_ffiVoid_NSURL_NSError_closureRegistry[block.ref.target.address]!( + arg0, arg1); + +class ObjCBlock_ffiVoid_NSURL_NSError extends _ObjCBlockBase { + ObjCBlock_ffiVoid_NSURL_NSError._( + ffi.Pointer<_ObjCBlock> id, AuthenticationServices lib, + {bool retain = false, bool release = true}) + : super._(id, lib, retain: retain, release: release); + + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_NSURL_NSError.fromFunctionPointer( + AuthenticationServices lib, + ffi.Pointer< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer arg0, + ffi.Pointer arg1)>> + ptr) + : this._( + lib._newBlock1( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_NSURL_NSError_fnPtrTrampoline) + .cast(), + ptr.cast()), + lib); + static ffi.Pointer? _cFuncTrampoline; + + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_NSURL_NSError.fromFunction( + AuthenticationServices lib, void Function(NSURL?, NSError?) fn) + : this._( + lib._newBlock1( + _dartFuncTrampoline ??= + ffi.Pointer.fromFunction, ffi.Pointer, ffi.Pointer)>( + _ObjCBlock_ffiVoid_NSURL_NSError_closureTrampoline) + .cast(), + _ObjCBlock_ffiVoid_NSURL_NSError_registerClosure( + (ffi.Pointer arg0, ffi.Pointer arg1) => fn( + arg0.address == 0 + ? null + : NSURL._(arg0, lib, retain: true, release: true), + arg1.address == 0 + ? null + : NSError._(arg1, lib, retain: true, release: true)))), + lib); + static ffi.Pointer? _dartFuncTrampoline; + + /// Creates a listener block from a Dart function. + /// + /// This is based on FFI's NativeCallable.listener, and has the same + /// capabilities and limitations. This block can be invoked from any thread, + /// but only supports void functions, and is not run synchronously. See + /// NativeCallable.listener for more details. + /// + /// Note that unlike the default behavior of NativeCallable.listener, listener + /// blocks do not keep the isolate alive. + ObjCBlock_ffiVoid_NSURL_NSError.listener( + AuthenticationServices lib, void Function(NSURL?, NSError?) fn) + : this._( + lib._newBlock1( + (_dartFuncListenerTrampoline ??= + ffi.NativeCallable, ffi.Pointer, ffi.Pointer)>.listener( + _ObjCBlock_ffiVoid_NSURL_NSError_closureTrampoline) + ..keepIsolateAlive = false) + .nativeFunction + .cast(), + _ObjCBlock_ffiVoid_NSURL_NSError_registerClosure( + (ffi.Pointer arg0, ffi.Pointer arg1) => fn( + arg0.address == 0 + ? null + : NSURL._(arg0, lib, retain: true, release: true), + arg1.address == 0 + ? null + : NSError._(arg1, lib, retain: true, release: true)))), + lib); + static ffi.NativeCallable< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, + ffi.Pointer)>? _dartFuncListenerTrampoline; + + void call(NSURL? arg0, NSError? arg1) => _id.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, + ffi.Pointer arg1)>>() + .asFunction< + void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, + ffi.Pointer)>()( + _id, arg0?._id ?? ffi.nullptr, arg1?._id ?? ffi.nullptr); +} + +class NSWindow extends NSResponder { + NSWindow._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSWindow] that points to the same underlying object as [other]. + static NSWindow castFrom(T other) { + return NSWindow._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSWindow] that wraps the given raw object pointer. + static NSWindow castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSWindow._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSWindow]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSWindow1); + } + + static void frameRectForContentRect_styleMask_(AuthenticationServices _lib, + ffi.Pointer stret, CGRect cRect, int style) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_240_stret(stret, _lib._class_NSWindow1, + _lib._sel_frameRectForContentRect_styleMask_1, cRect, style) + : stret.ref = _lib._objc_msgSend_240(_lib._class_NSWindow1, + _lib._sel_frameRectForContentRect_styleMask_1, cRect, style); + } + + static void contentRectForFrameRect_styleMask_(AuthenticationServices _lib, + ffi.Pointer stret, CGRect fRect, int style) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_240_stret(stret, _lib._class_NSWindow1, + _lib._sel_contentRectForFrameRect_styleMask_1, fRect, style) + : stret.ref = _lib._objc_msgSend_240(_lib._class_NSWindow1, + _lib._sel_contentRectForFrameRect_styleMask_1, fRect, style); + } + + static double minFrameWidthWithTitle_styleMask_( + AuthenticationServices _lib, NSString title, int style) { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_241_fpret(_lib._class_NSWindow1, + _lib._sel_minFrameWidthWithTitle_styleMask_1, title._id, style) + : _lib._objc_msgSend_241(_lib._class_NSWindow1, + _lib._sel_minFrameWidthWithTitle_styleMask_1, title._id, style); + } + + static int getDefaultDepthLimit(AuthenticationServices _lib) { + return _lib._objc_msgSend_242( + _lib._class_NSWindow1, _lib._sel_defaultDepthLimit1); + } + + void frameRectForContentRect_(ffi.Pointer stret, CGRect contentRect) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_146_stret( + stret, _id, _lib._sel_frameRectForContentRect_1, contentRect) + : stret.ref = _lib._objc_msgSend_146( + _id, _lib._sel_frameRectForContentRect_1, contentRect); + } + + void contentRectForFrameRect_(ffi.Pointer stret, CGRect frameRect) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_146_stret( + stret, _id, _lib._sel_contentRectForFrameRect_1, frameRect) + : stret.ref = _lib._objc_msgSend_146( + _id, _lib._sel_contentRectForFrameRect_1, frameRect); + } + + NSWindow initWithContentRect_styleMask_backing_defer_( + CGRect contentRect, int style, int backingStoreType, bool flag) { + final _ret = _lib._objc_msgSend_243( + _id, + _lib._sel_initWithContentRect_styleMask_backing_defer_1, + contentRect, + style, + backingStoreType, + flag); + return NSWindow._(_ret, _lib, retain: true, release: true); + } + + NSWindow initWithContentRect_styleMask_backing_defer_screen_( + CGRect contentRect, + int style, + int backingStoreType, + bool flag, + NSScreen? screen) { + final _ret = _lib._objc_msgSend_244( + _id, + _lib._sel_initWithContentRect_styleMask_backing_defer_screen_1, + contentRect, + style, + backingStoreType, + flag, + screen?._id ?? ffi.nullptr); + return NSWindow._(_ret, _lib, retain: true, release: true); + } + + /// Use initWithContentRect:. This method will throw an exception for coders that support allowsKeyedCoding, and is only available for compatibility with non keyed coding. + NSWindow initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_172(_id, _lib._sel_initWithCoder_1, coder._id); + return NSWindow._(_ret, _lib, retain: true, release: true); + } + + NSString get title { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_title1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + set title(NSString value) { + return _lib._objc_msgSend_173(_id, _lib._sel_setTitle_1, value._id); + } + + /// ! + /// Secondary text that may be displayed adjacent to or below the primary title depending on the configuration of the window. + /// A value of empty string will remove the subtitle from the window layout. + NSString get subtitle { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_subtitle1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + /// ! + /// Secondary text that may be displayed adjacent to or below the primary title depending on the configuration of the window. + /// A value of empty string will remove the subtitle from the window layout. + set subtitle(NSString value) { + return _lib._objc_msgSend_173(_id, _lib._sel_setSubtitle_1, value._id); + } + + /// Default value is NSWindowTitleVisible + int get titleVisibility { + return _lib._objc_msgSend_245(_id, _lib._sel_titleVisibility1); + } + + /// Default value is NSWindowTitleVisible + set titleVisibility(int value) { + return _lib._objc_msgSend_246(_id, _lib._sel_setTitleVisibility_1, value); + } + + /// When \c YES, the titlebar doesn't draw its background, allowing all buttons to show through, and "click through" to happen. In general, this is only useful when \c NSFullSizeContentViewWindowMask is set. + bool get titlebarAppearsTransparent { + return _lib._objc_msgSend_12(_id, _lib._sel_titlebarAppearsTransparent1); + } + + /// When \c YES, the titlebar doesn't draw its background, allowing all buttons to show through, and "click through" to happen. In general, this is only useful when \c NSFullSizeContentViewWindowMask is set. + set titlebarAppearsTransparent(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setTitlebarAppearsTransparent_1, value); + } + + /// Specifies how the titlebar area of the window should appear when the window displays an NSToolbar + int get toolbarStyle { + return _lib._objc_msgSend_247(_id, _lib._sel_toolbarStyle1); + } + + /// Specifies how the titlebar area of the window should appear when the window displays an NSToolbar + set toolbarStyle(int value) { + return _lib._objc_msgSend_248(_id, _lib._sel_setToolbarStyle_1, value); + } + + /// The \c contentLayoutRect will return the area inside the window that is for non-obscured content. Typically, this is the same thing as the `contentView`'s frame. However, for windows with the \c NSFullSizeContentViewWindowMask set, there needs to be a way to determine the portion that is not under the toolbar. The \c contentLayoutRect returns the portion of the layout that is not obscured under the toolbar. \c contentLayoutRect is in window coordinates. It is KVO compliant. */ + void getContentLayoutRect(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_138_stret(stret, _id, _lib._sel_contentLayoutRect1) + : stret.ref = _lib._objc_msgSend_138(_id, _lib._sel_contentLayoutRect1); + } + + /// \c contentLayoutGuide is a corollary to \c contentLayoutRect. It can be used by autolayout constraints to automatically bind to the \c contentLayoutRect. + NSObject? get contentLayoutGuide { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_contentLayoutGuide1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + /// The following methods allow you to add accessory views to the titlebar/toolbar area of a window. See NSTitlebarAccessoryViewController for more details. + NSObject get titlebarAccessoryViewControllers { + final _ret = + _lib._objc_msgSend_2(_id, _lib._sel_titlebarAccessoryViewControllers1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + /// The following methods allow you to add accessory views to the titlebar/toolbar area of a window. See NSTitlebarAccessoryViewController for more details. + set titlebarAccessoryViewControllers(NSObject value) { + return _lib._objc_msgSend_123( + _id, _lib._sel_setTitlebarAccessoryViewControllers_1, value._id); + } + + void addTitlebarAccessoryViewController_( + NSTitlebarAccessoryViewController childViewController) { + _lib._objc_msgSend_249(_id, _lib._sel_addTitlebarAccessoryViewController_1, + childViewController._id); + } + + void insertTitlebarAccessoryViewController_atIndex_( + NSTitlebarAccessoryViewController childViewController, int index) { + _lib._objc_msgSend_250( + _id, + _lib._sel_insertTitlebarAccessoryViewController_atIndex_1, + childViewController._id, + index); + } + + /// NOTE: you can use this method, or removeFromParentViewController, which ever is easier. + void removeTitlebarAccessoryViewControllerAtIndex_(int index) { + _lib._objc_msgSend_200( + _id, _lib._sel_removeTitlebarAccessoryViewControllerAtIndex_1, index); + } + + /// ! + /// If url is not nil and its path is not empty, the window will show a document icon in the titlebar. + /// If the url represents a filename or other resource with a known icon, that icon will be used as the document icon. Otherwise the default document icon will be used. The icon can be customized using `-[[NSWindow standardWindowButton:NSWindowDocumentIconButton] setImage:customImage]`. If url is not nil and its path is not empty, the window will have a pop-up menu which can be shown via command-click on the area containing the document icon and title. By default, this menu will display the path components of the url. The presence and contents of this menu can be controlled by the delegate method `-[window:shouldPopUpDocumentPathMenu:]` + /// If the url is nil or has an empty path, the window will not show a document icon and will not have a pop-up menu available via command-click. + NSURL? get representedURL { + final _ret = _lib._objc_msgSend_55(_id, _lib._sel_representedURL1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + /// ! + /// If url is not nil and its path is not empty, the window will show a document icon in the titlebar. + /// If the url represents a filename or other resource with a known icon, that icon will be used as the document icon. Otherwise the default document icon will be used. The icon can be customized using `-[[NSWindow standardWindowButton:NSWindowDocumentIconButton] setImage:customImage]`. If url is not nil and its path is not empty, the window will have a pop-up menu which can be shown via command-click on the area containing the document icon and title. By default, this menu will display the path components of the url. The presence and contents of this menu can be controlled by the delegate method `-[window:shouldPopUpDocumentPathMenu:]` + /// If the url is nil or has an empty path, the window will not show a document icon and will not have a pop-up menu available via command-click. + set representedURL(NSURL? value) { + return _lib._objc_msgSend_251( + _id, _lib._sel_setRepresentedURL_1, value?._id ?? ffi.nullptr); + } + + NSString get representedFilename { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_representedFilename1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + set representedFilename(NSString value) { + return _lib._objc_msgSend_173( + _id, _lib._sel_setRepresentedFilename_1, value._id); + } + + void setTitleWithRepresentedFilename_(NSString filename) { + _lib._objc_msgSend_94( + _id, _lib._sel_setTitleWithRepresentedFilename_1, filename._id); + } + + bool get excludedFromWindowsMenu { + return _lib._objc_msgSend_12(_id, _lib._sel_isExcludedFromWindowsMenu1); + } + + set excludedFromWindowsMenu(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setExcludedFromWindowsMenu_1, value); + } + + NSView? get contentView { + final _ret = _lib._objc_msgSend_122(_id, _lib._sel_contentView1); + return _ret.address == 0 + ? null + : NSView._(_ret, _lib, retain: true, release: true); + } + + set contentView(NSView? value) { + return _lib._objc_msgSend_190( + _id, _lib._sel_setContentView_1, value?._id ?? ffi.nullptr); + } + + NSObject? get delegate { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_delegate1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + set delegate(NSObject? value) { + return _lib._objc_msgSend_17( + _id, _lib._sel_setDelegate_1, value?._id ?? ffi.nullptr); + } + + int get windowNumber { + return _lib._objc_msgSend_77(_id, _lib._sel_windowNumber1); + } + + /// @note The styleMask can only be set on macOS 10.6 and later. Valid \c styleMask settings have the same restrictions as the \c styleMask passed to `-initWithContentRect:styleMask:backing:defer:`. Some \c styleMask changes will cause the view hierarchy to be rebuilt, since there is a different subclass for the top level view of a borderless window than for the top level view of a titled window. + int get styleMask { + return _lib._objc_msgSend_252(_id, _lib._sel_styleMask1); + } + + /// @note The styleMask can only be set on macOS 10.6 and later. Valid \c styleMask settings have the same restrictions as the \c styleMask passed to `-initWithContentRect:styleMask:backing:defer:`. Some \c styleMask changes will cause the view hierarchy to be rebuilt, since there is a different subclass for the top level view of a borderless window than for the top level view of a titled window. + set styleMask(int value) { + return _lib._objc_msgSend_253(_id, _lib._sel_setStyleMask_1, value); + } + + NSText? fieldEditor_forObject_(bool createFlag, NSObject? object) { + final _ret = _lib._objc_msgSend_273(_id, _lib._sel_fieldEditor_forObject_1, + createFlag, object?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSText._(_ret, _lib, retain: true, release: true); + } + + void endEditingFor_(NSObject? object) { + _lib._objc_msgSend_237( + _id, _lib._sel_endEditingFor_1, object?._id ?? ffi.nullptr); + } + + void constrainFrameRect_toScreen_( + ffi.Pointer stret, CGRect frameRect, NSScreen? screen) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_274_stret( + stret, + _id, + _lib._sel_constrainFrameRect_toScreen_1, + frameRect, + screen?._id ?? ffi.nullptr) + : stret.ref = _lib._objc_msgSend_274( + _id, + _lib._sel_constrainFrameRect_toScreen_1, + frameRect, + screen?._id ?? ffi.nullptr); + } + + void setFrame_display_(CGRect frameRect, bool flag) { + _lib._objc_msgSend_275(_id, _lib._sel_setFrame_display_1, frameRect, flag); + } + + void setContentSize_(CGSize size) { + _lib._objc_msgSend_134(_id, _lib._sel_setContentSize_1, size); + } + + void setFrameOrigin_(CGPoint point) { + _lib._objc_msgSend_137(_id, _lib._sel_setFrameOrigin_1, point); + } + + void setFrameTopLeftPoint_(CGPoint point) { + _lib._objc_msgSend_137(_id, _lib._sel_setFrameTopLeftPoint_1, point); + } + + void cascadeTopLeftFromPoint_( + ffi.Pointer stret, CGPoint topLeftPoint) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_147_stret( + stret, _id, _lib._sel_cascadeTopLeftFromPoint_1, topLeftPoint) + : stret.ref = _lib._objc_msgSend_147( + _id, _lib._sel_cascadeTopLeftFromPoint_1, topLeftPoint); + } + + void getFrame(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_138_stret(stret, _id, _lib._sel_frame1) + : stret.ref = _lib._objc_msgSend_138(_id, _lib._sel_frame1); + } + + /// ! Subclasses can override \c animationResizeTime: to control the total time for the frame change. + /// \c newFrame is the rect passed into \c setFrame:display:animate: + double animationResizeTime_(CGRect newFrame) { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_276_fpret( + _id, _lib._sel_animationResizeTime_1, newFrame) + : _lib._objc_msgSend_276( + _id, _lib._sel_animationResizeTime_1, newFrame); + } + + /// ! \c setFrame:display:animate: is equivalent to \c setFrame:display: if the \c animateFlag is NO. + /// If the \c animationFlag is YES, this method will perform a smooth resize of the window, where the total time for the resize is specified by \c -animationResizeTime: + void setFrame_display_animate_( + CGRect frameRect, bool displayFlag, bool animateFlag) { + _lib._objc_msgSend_277(_id, _lib._sel_setFrame_display_animate_1, frameRect, + displayFlag, animateFlag); + } + + bool get inLiveResize { + return _lib._objc_msgSend_12(_id, _lib._sel_inLiveResize1); + } + + void getResizeIncrements(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_209_stret(stret, _id, _lib._sel_resizeIncrements1) + : stret.ref = _lib._objc_msgSend_209(_id, _lib._sel_resizeIncrements1); + } + + set resizeIncrements(CGSize value) { + return _lib._objc_msgSend_272(_id, _lib._sel_setResizeIncrements_1, value); + } + + void getAspectRatio(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_209_stret(stret, _id, _lib._sel_aspectRatio1) + : stret.ref = _lib._objc_msgSend_209(_id, _lib._sel_aspectRatio1); + } + + set aspectRatio(CGSize value) { + return _lib._objc_msgSend_272(_id, _lib._sel_setAspectRatio_1, value); + } + + void getContentResizeIncrements(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_209_stret( + stret, _id, _lib._sel_contentResizeIncrements1) + : stret.ref = + _lib._objc_msgSend_209(_id, _lib._sel_contentResizeIncrements1); + } + + set contentResizeIncrements(CGSize value) { + return _lib._objc_msgSend_272( + _id, _lib._sel_setContentResizeIncrements_1, value); + } + + void getContentAspectRatio(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_209_stret( + stret, _id, _lib._sel_contentAspectRatio1) + : stret.ref = + _lib._objc_msgSend_209(_id, _lib._sel_contentAspectRatio1); + } + + set contentAspectRatio(CGSize value) { + return _lib._objc_msgSend_272( + _id, _lib._sel_setContentAspectRatio_1, value); + } + + bool get viewsNeedDisplay { + return _lib._objc_msgSend_12(_id, _lib._sel_viewsNeedDisplay1); + } + + set viewsNeedDisplay(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setViewsNeedDisplay_1, value); + } + + void displayIfNeeded() { + _lib._objc_msgSend_1(_id, _lib._sel_displayIfNeeded1); + } + + void display() { + _lib._objc_msgSend_1(_id, _lib._sel_display1); + } + + bool get preservesContentDuringLiveResize { + return _lib._objc_msgSend_12( + _id, _lib._sel_preservesContentDuringLiveResize1); + } + + set preservesContentDuringLiveResize(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setPreservesContentDuringLiveResize_1, value); + } + + void update() { + _lib._objc_msgSend_1(_id, _lib._sel_update1); + } + + bool makeFirstResponder_(NSResponder? responder) { + return _lib._objc_msgSend_278( + _id, _lib._sel_makeFirstResponder_1, responder?._id ?? ffi.nullptr); + } + + /// firstResponder is Key Value Observing (KVO) compliant. + NSResponder? get firstResponder { + final _ret = _lib._objc_msgSend_104(_id, _lib._sel_firstResponder1); + return _ret.address == 0 + ? null + : NSResponder._(_ret, _lib, retain: true, release: true); + } + + int get resizeFlags { + return _lib._objc_msgSend_108(_id, _lib._sel_resizeFlags1); + } + + void close() { + _lib._objc_msgSend_1(_id, _lib._sel_close1); + } + + bool get releasedWhenClosed { + return _lib._objc_msgSend_12(_id, _lib._sel_isReleasedWhenClosed1); + } + + set releasedWhenClosed(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setReleasedWhenClosed_1, value); + } + + void miniaturize_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_miniaturize_1, sender?._id ?? ffi.nullptr); + } + + void deminiaturize_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_deminiaturize_1, sender?._id ?? ffi.nullptr); + } + + bool get zoomed { + return _lib._objc_msgSend_12(_id, _lib._sel_isZoomed1); + } + + void zoom_(NSObject? sender) { + _lib._objc_msgSend_237(_id, _lib._sel_zoom_1, sender?._id ?? ffi.nullptr); + } + + bool get miniaturized { + return _lib._objc_msgSend_12(_id, _lib._sel_isMiniaturized1); + } + + @override + bool tryToPerform_with_(ffi.Pointer action, NSObject? object) { + return _lib._objc_msgSend_106( + _id, _lib._sel_tryToPerform_with_1, action, object?._id ?? ffi.nullptr); + } + + @override + NSObject? validRequestorForSendType_returnType_( + NSString? sendType, NSString? returnType) { + final _ret = _lib._objc_msgSend_235( + _id, + _lib._sel_validRequestorForSendType_returnType_1, + sendType?._id ?? ffi.nullptr, + returnType?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + NSColor get backgroundColor { + final _ret = _lib._objc_msgSend_279(_id, _lib._sel_backgroundColor1); + return NSColor._(_ret, _lib, retain: true, release: true); + } + + set backgroundColor(NSColor value) { + return _lib._objc_msgSend_280( + _id, _lib._sel_setBackgroundColor_1, value._id); + } + + /// Indicates the thickness of a given border of the window. NSMinYEdge is the bottom edge of the window, while NSMaxYEdge is the top edge of the window. This method may throw an exception for values that don't apply to the current window styleMask; specifically, passing NSMaxYEdge for a non-textured window will always raise. The contentBorder does not include the titlebar or toolbar. + void setContentBorderThickness_forEdge_(double thickness, int edge) { + _lib._objc_msgSend_281( + _id, _lib._sel_setContentBorderThickness_forEdge_1, thickness, edge); + } + + double contentBorderThicknessForEdge_(int edge) { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_282_fpret( + _id, _lib._sel_contentBorderThicknessForEdge_1, edge) + : _lib._objc_msgSend_282( + _id, _lib._sel_contentBorderThicknessForEdge_1, edge); + } + + void setAutorecalculatesContentBorderThickness_forEdge_(bool flag, int edge) { + _lib._objc_msgSend_283( + _id, + _lib._sel_setAutorecalculatesContentBorderThickness_forEdge_1, + flag, + edge); + } + + bool autorecalculatesContentBorderThicknessForEdge_(int edge) { + return _lib._objc_msgSend_284( + _id, _lib._sel_autorecalculatesContentBorderThicknessForEdge_1, edge); + } + + /// Calling -setMovable with a flag of NO will disable server-side dragging of the window via titlebar or background. -setMovableByWindowBackground:YES is ignored on a window that returns NO from -isMovable. When a window returns NO for -isMovable, it can be assigned to a different space with its relative screen position preserved. Note that a resizable window may still be resized, and the window frame may be changed programmatically. Applications may choose to enable application-controlled window dragging after disabling server-side dragging (perhaps to achieve snapping or pinning) by handling the mouseDown/mouseDragged/mouseUp sequence in -sendEvent: in an NSWindow subclass. Note that a non movable window will also not be moved (or resized) by the system in response to a display reconfiguration. + bool get movable { + return _lib._objc_msgSend_12(_id, _lib._sel_isMovable1); + } + + /// Calling -setMovable with a flag of NO will disable server-side dragging of the window via titlebar or background. -setMovableByWindowBackground:YES is ignored on a window that returns NO from -isMovable. When a window returns NO for -isMovable, it can be assigned to a different space with its relative screen position preserved. Note that a resizable window may still be resized, and the window frame may be changed programmatically. Applications may choose to enable application-controlled window dragging after disabling server-side dragging (perhaps to achieve snapping or pinning) by handling the mouseDown/mouseDragged/mouseUp sequence in -sendEvent: in an NSWindow subclass. Note that a non movable window will also not be moved (or resized) by the system in response to a display reconfiguration. + set movable(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setMovable_1, value); + } + + bool get movableByWindowBackground { + return _lib._objc_msgSend_12(_id, _lib._sel_isMovableByWindowBackground1); + } + + set movableByWindowBackground(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setMovableByWindowBackground_1, value); + } + + bool get hidesOnDeactivate { + return _lib._objc_msgSend_12(_id, _lib._sel_hidesOnDeactivate1); + } + + set hidesOnDeactivate(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setHidesOnDeactivate_1, value); + } + + /// Indicates whether a window can be hidden during `-[NSApplication hide:]`. Default is \c YES. + bool get canHide { + return _lib._objc_msgSend_12(_id, _lib._sel_canHide1); + } + + /// Indicates whether a window can be hidden during `-[NSApplication hide:]`. Default is \c YES. + set canHide(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setCanHide_1, value); + } + + void center() { + _lib._objc_msgSend_1(_id, _lib._sel_center1); + } + + void makeKeyAndOrderFront_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_makeKeyAndOrderFront_1, sender?._id ?? ffi.nullptr); + } + + void orderFront_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_orderFront_1, sender?._id ?? ffi.nullptr); + } + + void orderBack_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_orderBack_1, sender?._id ?? ffi.nullptr); + } + + void orderOut_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_orderOut_1, sender?._id ?? ffi.nullptr); + } + + void orderWindow_relativeTo_(int place, int otherWin) { + _lib._objc_msgSend_285( + _id, _lib._sel_orderWindow_relativeTo_1, place, otherWin); + } + + void orderFrontRegardless() { + _lib._objc_msgSend_1(_id, _lib._sel_orderFrontRegardless1); + } + + NSImage? get miniwindowImage { + final _ret = _lib._objc_msgSend_185(_id, _lib._sel_miniwindowImage1); + return _ret.address == 0 + ? null + : NSImage._(_ret, _lib, retain: true, release: true); + } + + set miniwindowImage(NSImage? value) { + return _lib._objc_msgSend_186( + _id, _lib._sel_setMiniwindowImage_1, value?._id ?? ffi.nullptr); + } + + NSString get miniwindowTitle { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_miniwindowTitle1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + set miniwindowTitle(NSString value) { + return _lib._objc_msgSend_173( + _id, _lib._sel_setMiniwindowTitle_1, value._id); + } + + NSDockTile get dockTile { + final _ret = _lib._objc_msgSend_286(_id, _lib._sel_dockTile1); + return NSDockTile._(_ret, _lib, retain: true, release: true); + } + + bool get documentEdited { + return _lib._objc_msgSend_12(_id, _lib._sel_isDocumentEdited1); + } + + set documentEdited(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setDocumentEdited_1, value); + } + + bool get visible { + return _lib._objc_msgSend_12(_id, _lib._sel_isVisible1); + } + + bool get keyWindow { + return _lib._objc_msgSend_12(_id, _lib._sel_isKeyWindow1); + } + + bool get mainWindow { + return _lib._objc_msgSend_12(_id, _lib._sel_isMainWindow1); + } + + bool get canBecomeKeyWindow { + return _lib._objc_msgSend_12(_id, _lib._sel_canBecomeKeyWindow1); + } + + bool get canBecomeMainWindow { + return _lib._objc_msgSend_12(_id, _lib._sel_canBecomeMainWindow1); + } + + /// ! Makes the window key and main if eligible, updating NSAppication's `-keyWindow` and `-mainWindow` properties. + void makeKeyWindow() { + _lib._objc_msgSend_1(_id, _lib._sel_makeKeyWindow1); + } + + /// ! Makes the window main if eligible. Updates NSApplication's `-mainWindow` property. + void makeMainWindow() { + _lib._objc_msgSend_1(_id, _lib._sel_makeMainWindow1); + } + + /// ! Informs the window that it has become the key window. This method exists as an override point. Do not invoke directly. Instead, invoke `-makeKeyWindow`. + void becomeKeyWindow() { + _lib._objc_msgSend_1(_id, _lib._sel_becomeKeyWindow1); + } + + /// ! Informs the window that it has stopped being the key window. This method exists as an override point. Do not invoke directly. Windows automatically receive this message when deactivating or when another window has become key. + void resignKeyWindow() { + _lib._objc_msgSend_1(_id, _lib._sel_resignKeyWindow1); + } + + /// ! Informs the window that it has become the main window. This method exists as an override point. Do not invoke directly. Instead, invoke `-makeMainWindow`. + void becomeMainWindow() { + _lib._objc_msgSend_1(_id, _lib._sel_becomeMainWindow1); + } + + /// ! Informs the window that it has stopped being the main window. This method exists as an override point. Do not invoke directly. Windows automatically receive this message when deactivating or when another window has become main. + void resignMainWindow() { + _lib._objc_msgSend_1(_id, _lib._sel_resignMainWindow1); + } + + bool get worksWhenModal { + return _lib._objc_msgSend_12(_id, _lib._sel_worksWhenModal1); + } + + /// ! Normally, application termination is prohibited when a modal window or sheet is open, without consulting the application delegate. Some windows like the open panel or toolbar customization sheet should not prevent application termination. `-setPreventsApplicationTerminationWhenModal:NO` on a modal window or sheet will override the default behavior and allow application termination to proceed, either through the sudden termination path if enabled, or on to the next step of consulting the application delegate. By default, `-preventsApplicationTerminationWhenModal` returns \c YES + bool get preventsApplicationTerminationWhenModal { + return _lib._objc_msgSend_12( + _id, _lib._sel_preventsApplicationTerminationWhenModal1); + } + + /// ! Normally, application termination is prohibited when a modal window or sheet is open, without consulting the application delegate. Some windows like the open panel or toolbar customization sheet should not prevent application termination. `-setPreventsApplicationTerminationWhenModal:NO` on a modal window or sheet will override the default behavior and allow application termination to proceed, either through the sudden termination path if enabled, or on to the next step of consulting the application delegate. By default, `-preventsApplicationTerminationWhenModal` returns \c YES + set preventsApplicationTerminationWhenModal(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setPreventsApplicationTerminationWhenModal_1, value); + } + + /// Methods to convert window coordinates to screen coordinates + void convertRectToScreen_(ffi.Pointer stret, CGRect rect) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_146_stret( + stret, _id, _lib._sel_convertRectToScreen_1, rect) + : stret.ref = + _lib._objc_msgSend_146(_id, _lib._sel_convertRectToScreen_1, rect); + } + + void convertRectFromScreen_(ffi.Pointer stret, CGRect rect) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_146_stret( + stret, _id, _lib._sel_convertRectFromScreen_1, rect) + : stret.ref = _lib._objc_msgSend_146( + _id, _lib._sel_convertRectFromScreen_1, rect); + } + + void convertPointToScreen_(ffi.Pointer stret, CGPoint point) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_147_stret( + stret, _id, _lib._sel_convertPointToScreen_1, point) + : stret.ref = _lib._objc_msgSend_147( + _id, _lib._sel_convertPointToScreen_1, point); + } + + void convertPointFromScreen_(ffi.Pointer stret, CGPoint point) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_147_stret( + stret, _id, _lib._sel_convertPointFromScreen_1, point) + : stret.ref = _lib._objc_msgSend_147( + _id, _lib._sel_convertPointFromScreen_1, point); + } + + /// Methods to convert to/from a pixel integral backing store space + void convertRectToBacking_(ffi.Pointer stret, CGRect rect) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_146_stret( + stret, _id, _lib._sel_convertRectToBacking_1, rect) + : stret.ref = + _lib._objc_msgSend_146(_id, _lib._sel_convertRectToBacking_1, rect); + } + + void convertRectFromBacking_(ffi.Pointer stret, CGRect rect) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_146_stret( + stret, _id, _lib._sel_convertRectFromBacking_1, rect) + : stret.ref = _lib._objc_msgSend_146( + _id, _lib._sel_convertRectFromBacking_1, rect); + } + + void convertPointToBacking_(ffi.Pointer stret, CGPoint point) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_147_stret( + stret, _id, _lib._sel_convertPointToBacking_1, point) + : stret.ref = _lib._objc_msgSend_147( + _id, _lib._sel_convertPointToBacking_1, point); + } + + void convertPointFromBacking_(ffi.Pointer stret, CGPoint point) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_147_stret( + stret, _id, _lib._sel_convertPointFromBacking_1, point) + : stret.ref = _lib._objc_msgSend_147( + _id, _lib._sel_convertPointFromBacking_1, point); + } + + /// Use `NSIntegralRectWithOptions()` to produce a backing store pixel aligned rectangle from the given input rectangle in window coordinates. + void backingAlignedRect_options_( + ffi.Pointer stret, CGRect rect, int options) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_145_stret( + stret, _id, _lib._sel_backingAlignedRect_options_1, rect, options) + : stret.ref = _lib._objc_msgSend_145( + _id, _lib._sel_backingAlignedRect_options_1, rect, options); + } + + /// Returns the scale factor representing the number of backing store pixels corresponding to each linear unit in window space on this \c NSWindow. This method is provided for rare cases when the explicit scale factor is needed. Please use `-convert*ToBacking:` methods whenever possible. + double get backingScaleFactor { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_backingScaleFactor1) + : _lib._objc_msgSend_81(_id, _lib._sel_backingScaleFactor1); + } + + void performClose_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_performClose_1, sender?._id ?? ffi.nullptr); + } + + void performMiniaturize_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_performMiniaturize_1, sender?._id ?? ffi.nullptr); + } + + void performZoom_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_performZoom_1, sender?._id ?? ffi.nullptr); + } + + NSData dataWithEPSInsideRect_(CGRect rect) { + final _ret = + _lib._objc_msgSend_287(_id, _lib._sel_dataWithEPSInsideRect_1, rect); + return NSData._(_ret, _lib, retain: true, release: true); + } + + NSData dataWithPDFInsideRect_(CGRect rect) { + final _ret = + _lib._objc_msgSend_287(_id, _lib._sel_dataWithPDFInsideRect_1, rect); + return NSData._(_ret, _lib, retain: true, release: true); + } + + void print_(NSObject? sender) { + _lib._objc_msgSend_237(_id, _lib._sel_print_1, sender?._id ?? ffi.nullptr); + } + + /// ! + /// Default is \c NO. Set to \c YES to allow a window to display tooltips even when the application is in the background. Note that, enabling tooltips in an inactive application will cause the app to do work any time the mouse passes over the window. This can degrade system performance. + /// Returns \c YES if this window displays tooltips even when the application is in the background. To configure this setting you should call `-setAllowsToolTipsWhenApplicationIsInactive:` instead of overriding `-allowsToolTipsWhenApplicationIsInactive`. + bool get allowsToolTipsWhenApplicationIsInactive { + return _lib._objc_msgSend_12( + _id, _lib._sel_allowsToolTipsWhenApplicationIsInactive1); + } + + /// ! + /// Default is \c NO. Set to \c YES to allow a window to display tooltips even when the application is in the background. Note that, enabling tooltips in an inactive application will cause the app to do work any time the mouse passes over the window. This can degrade system performance. + /// Returns \c YES if this window displays tooltips even when the application is in the background. To configure this setting you should call `-setAllowsToolTipsWhenApplicationIsInactive:` instead of overriding `-allowsToolTipsWhenApplicationIsInactive`. + set allowsToolTipsWhenApplicationIsInactive(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setAllowsToolTipsWhenApplicationIsInactive_1, value); + } + + int get backingType { + return _lib._objc_msgSend_288(_id, _lib._sel_backingType1); + } + + set backingType(int value) { + return _lib._objc_msgSend_289(_id, _lib._sel_setBackingType_1, value); + } + + int get level { + return _lib._objc_msgSend_77(_id, _lib._sel_level1); + } + + set level(int value) { + return _lib._objc_msgSend_187(_id, _lib._sel_setLevel_1, value); + } + + int get depthLimit { + return _lib._objc_msgSend_242(_id, _lib._sel_depthLimit1); + } + + set depthLimit(int value) { + return _lib._objc_msgSend_290(_id, _lib._sel_setDepthLimit_1, value); + } + + void setDynamicDepthLimit_(bool flag) { + _lib._objc_msgSend_195(_id, _lib._sel_setDynamicDepthLimit_1, flag); + } + + bool get hasDynamicDepthLimit { + return _lib._objc_msgSend_12(_id, _lib._sel_hasDynamicDepthLimit1); + } + + /// ! The screen property returns the best screen for the window. If the window only intersects one screen, it returns that screen. If it intersects more than one screen, then it resolves the tie through based on what space it is mostly on. It may return nil if there are no available screens, or it is completely off screen. + NSScreen? get screen { + final _ret = _lib._objc_msgSend_291(_id, _lib._sel_screen1); + return _ret.address == 0 + ? null + : NSScreen._(_ret, _lib, retain: true, release: true); + } + + NSScreen? get deepestScreen { + final _ret = _lib._objc_msgSend_291(_id, _lib._sel_deepestScreen1); + return _ret.address == 0 + ? null + : NSScreen._(_ret, _lib, retain: true, release: true); + } + + bool get hasShadow { + return _lib._objc_msgSend_12(_id, _lib._sel_hasShadow1); + } + + set hasShadow(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setHasShadow_1, value); + } + + void invalidateShadow() { + _lib._objc_msgSend_1(_id, _lib._sel_invalidateShadow1); + } + + double get alphaValue { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_alphaValue1) + : _lib._objc_msgSend_81(_id, _lib._sel_alphaValue1); + } + + set alphaValue(double value) { + return _lib._objc_msgSend_140(_id, _lib._sel_setAlphaValue_1, value); + } + + bool get opaque { + return _lib._objc_msgSend_12(_id, _lib._sel_isOpaque1); + } + + set opaque(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setOpaque_1, value); + } + + /// ! `-setSharingType:` specifies whether the window content can be read and/or written from another process. The default sharing type is \c NSWindowSharingReadOnly, which means other processes can read the window content (eg. for window capture) but cannot modify it. If you set your window sharing type to \c NSWindowSharingNone, so that the content cannot be captured, your window will also not be able to participate in a number of system services, so this setting should be used with caution. If you set your window sharing type to \c NSWindowSharingReadWrite, other processes can both read and modify the window content. + int get sharingType { + return _lib._objc_msgSend_292(_id, _lib._sel_sharingType1); + } + + /// ! `-setSharingType:` specifies whether the window content can be read and/or written from another process. The default sharing type is \c NSWindowSharingReadOnly, which means other processes can read the window content (eg. for window capture) but cannot modify it. If you set your window sharing type to \c NSWindowSharingNone, so that the content cannot be captured, your window will also not be able to participate in a number of system services, so this setting should be used with caution. If you set your window sharing type to \c NSWindowSharingReadWrite, other processes can both read and modify the window content. + set sharingType(int value) { + return _lib._objc_msgSend_293(_id, _lib._sel_setSharingType_1, value); + } + + /// ! Controls whether threading of view drawing should be enabled for this window. Defaults to \c YES. When this is set to \c YES, AppKit's view system is allowed to perform `-drawRect:` activity for the window's views on threads other than the main thread, for views that have `canDrawConcurrently == YES`. When this is set to \c NO, the window's views will be drawn serially as on 10.5 and earlier, even though some of the views may have `canDrawConcurrently == YES`. + bool get allowsConcurrentViewDrawing { + return _lib._objc_msgSend_12(_id, _lib._sel_allowsConcurrentViewDrawing1); + } + + /// ! Controls whether threading of view drawing should be enabled for this window. Defaults to \c YES. When this is set to \c YES, AppKit's view system is allowed to perform `-drawRect:` activity for the window's views on threads other than the main thread, for views that have `canDrawConcurrently == YES`. When this is set to \c NO, the window's views will be drawn serially as on 10.5 and earlier, even though some of the views may have `canDrawConcurrently == YES`. + set allowsConcurrentViewDrawing(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setAllowsConcurrentViewDrawing_1, value); + } + + bool get displaysWhenScreenProfileChanges { + return _lib._objc_msgSend_12( + _id, _lib._sel_displaysWhenScreenProfileChanges1); + } + + set displaysWhenScreenProfileChanges(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setDisplaysWhenScreenProfileChanges_1, value); + } + + /// ! + /// In recent macOS versions this method does not do anything and should not be called. + void disableScreenUpdatesUntilFlush() { + _lib._objc_msgSend_1(_id, _lib._sel_disableScreenUpdatesUntilFlush1); + } + + /// ! This API controls whether the receiver is permitted onscreen before the user has logged in. This property is off by default. Alert panels and windows presented by input managers are examples of windows which should have this property set. + bool get canBecomeVisibleWithoutLogin { + return _lib._objc_msgSend_12(_id, _lib._sel_canBecomeVisibleWithoutLogin1); + } + + /// ! This API controls whether the receiver is permitted onscreen before the user has logged in. This property is off by default. Alert panels and windows presented by input managers are examples of windows which should have this property set. + set canBecomeVisibleWithoutLogin(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setCanBecomeVisibleWithoutLogin_1, value); + } + + int get collectionBehavior { + return _lib._objc_msgSend_294(_id, _lib._sel_collectionBehavior1); + } + + set collectionBehavior(int value) { + return _lib._objc_msgSend_295( + _id, _lib._sel_setCollectionBehavior_1, value); + } + + /// ! Provides for per-window control over automatic orderFront/orderOut animation behaviors added in 10.7. Can be set to \c NSWindowAnimationBehaviorNone to disable Appkit's automatic animations for a given window, or to one of the other non-Default \c NSWindowAnimationBehavior values to override AppKit's automatic inference of appropriate animation behavior based on the window's apparent type. + int get animationBehavior { + return _lib._objc_msgSend_296(_id, _lib._sel_animationBehavior1); + } + + /// ! Provides for per-window control over automatic orderFront/orderOut animation behaviors added in 10.7. Can be set to \c NSWindowAnimationBehaviorNone to disable Appkit's automatic animations for a given window, or to one of the other non-Default \c NSWindowAnimationBehavior values to override AppKit's automatic inference of appropriate animation behavior based on the window's apparent type. + set animationBehavior(int value) { + return _lib._objc_msgSend_297(_id, _lib._sel_setAnimationBehavior_1, value); + } + + /// ! Returns \c YES if this window is associated with the active space. For visible windows, this API indicates whether the window is currently visible on the active space. For offscreen windows, it indicates whether ordering the window onscreen would make it bring it onto the active space + bool get onActiveSpace { + return _lib._objc_msgSend_12(_id, _lib._sel_isOnActiveSpace1); + } + + /// ! `-toggleFullScreen:` enters or exits for full screen. A window must have \c NSWindowCollectionBehaviorFullScreenAuxiliary or \c NSWindowCollectionBehaviorFullScreenPrimary included in the \c collectionBehavior property; if it does not, this method may simply do nothing. + void toggleFullScreen_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_toggleFullScreen_1, sender?._id ?? ffi.nullptr); + } + + NSString get stringWithSavedFrame { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_stringWithSavedFrame1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + void setFrameFromString_(NSString string) { + _lib._objc_msgSend_94(_id, _lib._sel_setFrameFromString_1, string._id); + } + + void saveFrameUsingName_(NSString name) { + _lib._objc_msgSend_94(_id, _lib._sel_saveFrameUsingName_1, name._id); + } + + /// Set force=YES to use setFrameUsingName on a non-resizable window + bool setFrameUsingName_force_(NSString name, bool force) { + return _lib._objc_msgSend_257( + _id, _lib._sel_setFrameUsingName_force_1, name._id, force); + } + + bool setFrameUsingName_(NSString name) { + return _lib._objc_msgSend_258(_id, _lib._sel_setFrameUsingName_1, name._id); + } + + bool setFrameAutosaveName_(NSString name) { + return _lib._objc_msgSend_258( + _id, _lib._sel_setFrameAutosaveName_1, name._id); + } + + NSString get frameAutosaveName { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_frameAutosaveName1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + static void removeFrameUsingName_( + AuthenticationServices _lib, NSString name) { + _lib._objc_msgSend_94( + _lib._class_NSWindow1, _lib._sel_removeFrameUsingName_1, name._id); + } + + /// NOTE: minSize/contentMinSize and maxSize/contentMaxSize are ignored when using autolayout. + void getMinSize(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_209_stret(stret, _id, _lib._sel_minSize1) + : stret.ref = _lib._objc_msgSend_209(_id, _lib._sel_minSize1); + } + + /// NOTE: minSize/contentMinSize and maxSize/contentMaxSize are ignored when using autolayout. + set minSize(CGSize value) { + return _lib._objc_msgSend_272(_id, _lib._sel_setMinSize_1, value); + } + + void getMaxSize(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_209_stret(stret, _id, _lib._sel_maxSize1) + : stret.ref = _lib._objc_msgSend_209(_id, _lib._sel_maxSize1); + } + + set maxSize(CGSize value) { + return _lib._objc_msgSend_272(_id, _lib._sel_setMaxSize_1, value); + } + + void getContentMinSize(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_209_stret(stret, _id, _lib._sel_contentMinSize1) + : stret.ref = _lib._objc_msgSend_209(_id, _lib._sel_contentMinSize1); + } + + set contentMinSize(CGSize value) { + return _lib._objc_msgSend_272(_id, _lib._sel_setContentMinSize_1, value); + } + + void getContentMaxSize(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_209_stret(stret, _id, _lib._sel_contentMaxSize1) + : stret.ref = _lib._objc_msgSend_209(_id, _lib._sel_contentMaxSize1); + } + + set contentMaxSize(CGSize value) { + return _lib._objc_msgSend_272(_id, _lib._sel_setContentMaxSize_1, value); + } + + /// These are the min and max values for a full screen tiled window. + /// + /// In general, one should not need to explicitly set the min/maxFullScreenContentSize. If an application does not change its window content upon entering full screen, then the normal auto layout min and max size will be sufficient, and one should not set these values. If an application does significantly rework the UI in full screen, then it may be necessary to set a min/maxFullScreenContentSize. This size is what is used to determine if a window can fit when it is in full screen in a tile. This property may be used even if the window does not support full screen, but are implicitly opted into supporting a full screen tile based on resizing behavior and window properties (see the collectionBehavior property). By default, the system uses auto layout to determine the min and max sizes. If auto layout is not used, contentMinSize and contentMaxSize are queried. + void getMinFullScreenContentSize(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_209_stret( + stret, _id, _lib._sel_minFullScreenContentSize1) + : stret.ref = + _lib._objc_msgSend_209(_id, _lib._sel_minFullScreenContentSize1); + } + + /// These are the min and max values for a full screen tiled window. + /// + /// In general, one should not need to explicitly set the min/maxFullScreenContentSize. If an application does not change its window content upon entering full screen, then the normal auto layout min and max size will be sufficient, and one should not set these values. If an application does significantly rework the UI in full screen, then it may be necessary to set a min/maxFullScreenContentSize. This size is what is used to determine if a window can fit when it is in full screen in a tile. This property may be used even if the window does not support full screen, but are implicitly opted into supporting a full screen tile based on resizing behavior and window properties (see the collectionBehavior property). By default, the system uses auto layout to determine the min and max sizes. If auto layout is not used, contentMinSize and contentMaxSize are queried. + set minFullScreenContentSize(CGSize value) { + return _lib._objc_msgSend_272( + _id, _lib._sel_setMinFullScreenContentSize_1, value); + } + + void getMaxFullScreenContentSize(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_209_stret( + stret, _id, _lib._sel_maxFullScreenContentSize1) + : stret.ref = + _lib._objc_msgSend_209(_id, _lib._sel_maxFullScreenContentSize1); + } + + set maxFullScreenContentSize(CGSize value) { + return _lib._objc_msgSend_272( + _id, _lib._sel_setMaxFullScreenContentSize_1, value); + } + + NSObject get deviceDescription { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_deviceDescription1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + NSWindowController? get windowController { + final _ret = _lib._objc_msgSend_298(_id, _lib._sel_windowController1); + return _ret.address == 0 + ? null + : NSWindowController._(_ret, _lib, retain: true, release: true); + } + + set windowController(NSWindowController? value) { + return _lib._objc_msgSend_299( + _id, _lib._sel_setWindowController_1, value?._id ?? ffi.nullptr); + } + + /// This API presents modal-sheets on this window. It replaces NSApp's -beginSheet:modalForWindow:modalDelegate:didEndSelector:contextInfo:. + /// + /// If the window already has a presented sheet, it will queue up sheets presented after that. Once the presented sheet is dismissed, the next queued sheet will be presented, and so forth. + /// Critical sheets will skip this queuing process and be immediately presented on top of existing sheets. The presented sheet will be temporarily disabled and be able to be interacted with after the critical sheet is dismissed, and will then continue as normal. Critical sheets should only be used for time-critical or important events, when the presentation of the sheet needs to be guaranteed (Critical Alerts will automatically use this API). + void beginSheet_completionHandler_( + NSWindow sheetWindow, ObjCBlock_ffiVoid_ffiLong? handler) { + _lib._objc_msgSend_300(_id, _lib._sel_beginSheet_completionHandler_1, + sheetWindow._id, handler?._id ?? ffi.nullptr); + } + + void beginCriticalSheet_completionHandler_( + NSWindow sheetWindow, ObjCBlock_ffiVoid_ffiLong? handler) { + _lib._objc_msgSend_300( + _id, + _lib._sel_beginCriticalSheet_completionHandler_1, + sheetWindow._id, + handler?._id ?? ffi.nullptr); + } + + void endSheet_(NSWindow sheetWindow) { + _lib._objc_msgSend_301(_id, _lib._sel_endSheet_1, sheetWindow._id); + } + + void endSheet_returnCode_(NSWindow sheetWindow, int returnCode) { + _lib._objc_msgSend_302( + _id, _lib._sel_endSheet_returnCode_1, sheetWindow._id, returnCode); + } + + /// An ordered array of the sheets on the window. This consists of the presented sheets in top-to-bottom order, followed by queued sheets in the order they were queued. This does not include nested/sub-sheets. + NSObject get sheets { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_sheets1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + /// Returns the top-most sheet if there is one or more sheets, or nil if there is no sheet. + NSWindow? get attachedSheet { + final _ret = _lib._objc_msgSend_109(_id, _lib._sel_attachedSheet1); + return _ret.address == 0 + ? null + : NSWindow._(_ret, _lib, retain: true, release: true); + } + + bool get sheet { + return _lib._objc_msgSend_12(_id, _lib._sel_isSheet1); + } + + /// ! + /// Returns the window that the sheet is directly attached to. This is based on the logical attachment of the sheet, not visual attachment. + /// This relationship exists starting when the sheet is begun (using \c NSApplication's `-beginSheet:modalForWindow:modalDelegate:didEndSelector:contextInfo: or NSWindow's -beginSheet:completionHandler:`), and ending once it is ordered out. + /// Returns nil if the window is not a sheet or has no sheet parent. + NSWindow? get sheetParent { + final _ret = _lib._objc_msgSend_109(_id, _lib._sel_sheetParent1); + return _ret.address == 0 + ? null + : NSWindow._(_ret, _lib, retain: true, release: true); + } + + static NSButton? standardWindowButton_forStyleMask_( + AuthenticationServices _lib, int b, int styleMask) { + final _ret = _lib._objc_msgSend_303(_lib._class_NSWindow1, + _lib._sel_standardWindowButton_forStyleMask_1, b, styleMask); + return _ret.address == 0 + ? null + : NSButton._(_ret, _lib, retain: true, release: true); + } + + NSButton? standardWindowButton_(int b) { + final _ret = + _lib._objc_msgSend_304(_id, _lib._sel_standardWindowButton_1, b); + return _ret.address == 0 + ? null + : NSButton._(_ret, _lib, retain: true, release: true); + } + + void addChildWindow_ordered_(NSWindow childWin, int place) { + _lib._objc_msgSend_305( + _id, _lib._sel_addChildWindow_ordered_1, childWin._id, place); + } + + void removeChildWindow_(NSWindow childWin) { + _lib._objc_msgSend_301(_id, _lib._sel_removeChildWindow_1, childWin._id); + } + + NSObject? get childWindows { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_childWindows1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + NSWindow? get parentWindow { + final _ret = _lib._objc_msgSend_109(_id, _lib._sel_parentWindow1); + return _ret.address == 0 + ? null + : NSWindow._(_ret, _lib, retain: true, release: true); + } + + set parentWindow(NSWindow? value) { + return _lib._objc_msgSend_306( + _id, _lib._sel_setParentWindow_1, value?._id ?? ffi.nullptr); + } + + /// If set, the receiver will inherit the appearance of that object, as well as use KVO to observe its effectiveAppearance for changes. Typically this is used for child windows that are shown from a parent window or specific view. Defaults to NSApp. + NSObject get appearanceSource { + final _ret = _lib._objc_msgSend_307(_id, _lib._sel_appearanceSource1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + /// If set, the receiver will inherit the appearance of that object, as well as use KVO to observe its effectiveAppearance for changes. Typically this is used for child windows that are shown from a parent window or specific view. Defaults to NSApp. + set appearanceSource(NSObject value) { + return _lib._objc_msgSend_308( + _id, _lib._sel_setAppearanceSource_1, value._id); + } + + NSColorSpace? get colorSpace { + final _ret = _lib._objc_msgSend_309(_id, _lib._sel_colorSpace1); + return _ret.address == 0 + ? null + : NSColorSpace._(_ret, _lib, retain: true, release: true); + } + + set colorSpace(NSColorSpace? value) { + return _lib._objc_msgSend_310( + _id, _lib._sel_setColorSpace_1, value?._id ?? ffi.nullptr); + } + + /// ! `-canRepresentDisplayGamut:` returns \c YES if the colorSpace of the receiving window, and the \c colorSpace of the screen containing that window, are capable of representing the given display gamut + bool canRepresentDisplayGamut_(int displayGamut) { + return _lib._objc_msgSend_311( + _id, _lib._sel_canRepresentDisplayGamut_1, displayGamut); + } + + /// ! `+windowNumbersWithOptions:` returns an autoreleased array of \c NSNumbers containing windowNumbers for all visible windows satisfying options. If no options are specified, only visible windows belonging to the calling application and on the active space are included. If options include \c NSWindowNumberListAllApplications, visible windows belonging to all applications are included. If options include \c NSWindowNumberListAllSpaces, visible windows on all spaces are included. Windows on the active space are returned in z-order. + /// Examples: + /// To get an array of windowNumbers visible on the current space and belonging to the calling application: + /// `windowNumbers = [NSWindow windowNumbersWithOptions:0];` + /// To get an array of windowNumbers visible on any space and belonging to any application: + /// `windowNumbers = [NSWindow windowNumbersWithOptions:NSWindowNumberListAllApplications|NSWindowNumberListAllSpaces];` + /// To get an array of windowNumbers visible on any space and belonging to the calling application: + /// `windowNumbers = [NSWindow windowNumbersWithOptions:NSWindowNumberListAllSpaces];` + static NSObject? windowNumbersWithOptions_( + AuthenticationServices _lib, int options) { + final _ret = _lib._objc_msgSend_312( + _lib._class_NSWindow1, _lib._sel_windowNumbersWithOptions_1, options); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + /// ! `+windowNumberAtPoint:belowWindowWithWindowNumber:` returns the number of the frontmost window that would be hit by a mouseDown at the screen location "point". "windowNum" can be specified to exclude a given window along with all windows above it, and may belong to any application. If no windows are to be excluded, specify 0 for "windowNum". The windowNumber returned may correspond to a window in another application. + static int windowNumberAtPoint_belowWindowWithWindowNumber_( + AuthenticationServices _lib, CGPoint point, int windowNumber) { + return _lib._objc_msgSend_313( + _lib._class_NSWindow1, + _lib._sel_windowNumberAtPoint_belowWindowWithWindowNumber_1, + point, + windowNumber); + } + + int get occlusionState { + return _lib._objc_msgSend_314(_id, _lib._sel_occlusionState1); + } + + /// ! Specifies the style of separator displayed between the window's titlebar and content. + /// + /// The default value is NSTitlebarSeparatorStyleAutomatic. Changing this value will override any preference made by `NSSplitViewItem`. + int get titlebarSeparatorStyle { + return _lib._objc_msgSend_315(_id, _lib._sel_titlebarSeparatorStyle1); + } + + /// ! Specifies the style of separator displayed between the window's titlebar and content. + /// + /// The default value is NSTitlebarSeparatorStyleAutomatic. Changing this value will override any preference made by `NSSplitViewItem`. + set titlebarSeparatorStyle(int value) { + return _lib._objc_msgSend_316( + _id, _lib._sel_setTitlebarSeparatorStyle_1, value); + } + + /// ! The main content view controller for the window. This provides the contentView of the window. Assigning this value will remove the existing contentView and will make the contentViewController.view the main contentView for the window. The default value is nil. The contentViewController only controls the contentView, and not the title of the window. The window title can easily be bound to the contentViewController with the following: [window bind:NSTitleBinding toObject:contentViewController withKeyPath:@"title" options:nil]. Setting the contentViewController will cause the window to resize based on the current size of the contentViewController. Autolayout should be used to restrict the size of the window. The value of the contentViewController is encoded in the NIB. Directly assigning a contentView will clear out the contentViewController. + NSViewController? get contentViewController { + final _ret = _lib._objc_msgSend_317(_id, _lib._sel_contentViewController1); + return _ret.address == 0 + ? null + : NSViewController._(_ret, _lib, retain: true, release: true); + } + + /// ! The main content view controller for the window. This provides the contentView of the window. Assigning this value will remove the existing contentView and will make the contentViewController.view the main contentView for the window. The default value is nil. The contentViewController only controls the contentView, and not the title of the window. The window title can easily be bound to the contentViewController with the following: [window bind:NSTitleBinding toObject:contentViewController withKeyPath:@"title" options:nil]. Setting the contentViewController will cause the window to resize based on the current size of the contentViewController. Autolayout should be used to restrict the size of the window. The value of the contentViewController is encoded in the NIB. Directly assigning a contentView will clear out the contentViewController. + set contentViewController(NSViewController? value) { + return _lib._objc_msgSend_318( + _id, _lib._sel_setContentViewController_1, value?._id ?? ffi.nullptr); + } + + /// ! Convenience method for creating an autoreleased titled window with the given contentViewController. A basic NSWindow with the following attributes is made: titled, closable, resizable, miniaturizable. The window's title is automatically bound to the contentViewController's title. The size of the window can easily be controlled by utilizing autolayout and applying size constraints to the view (or its subviews). The window has isReleasedWhenClosed set to NO, and it must be explicitly retained to keep the window instance alive. To have it automatically be freed when it is closed, do the following: [window retain] and [window setReleasedWhenClosed:YES]. + static NSWindow windowWithContentViewController_( + AuthenticationServices _lib, NSViewController contentViewController) { + final _ret = _lib._objc_msgSend_319(_lib._class_NSWindow1, + _lib._sel_windowWithContentViewController_1, contentViewController._id); + return NSWindow._(_ret, _lib, retain: true, release: true); + } + + /// ! Call to start a drag (moving the window) in the Window Server process. In general, this can be done after a mouseDown event has come in and been examined by an application or view. The view may determine it wants to allow that portion of the window to start a window drag, and can hand off the work to the Window Server process by calling this method. This allows the window to participate in space switching, and other system features. Pass the original mouseDown event to the method. The method will return right away, and a mouseUp may not get sent. + void performWindowDragWithEvent_(NSEvent event) { + _lib._objc_msgSend_236( + _id, _lib._sel_performWindowDragWithEvent_1, event._id); + } + + NSView? get initialFirstResponder { + final _ret = _lib._objc_msgSend_122(_id, _lib._sel_initialFirstResponder1); + return _ret.address == 0 + ? null + : NSView._(_ret, _lib, retain: true, release: true); + } + + set initialFirstResponder(NSView? value) { + return _lib._objc_msgSend_190( + _id, _lib._sel_setInitialFirstResponder_1, value?._id ?? ffi.nullptr); + } + + void selectNextKeyView_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_selectNextKeyView_1, sender?._id ?? ffi.nullptr); + } + + void selectPreviousKeyView_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_selectPreviousKeyView_1, sender?._id ?? ffi.nullptr); + } + + void selectKeyViewFollowingView_(NSView view) { + _lib._objc_msgSend_128( + _id, _lib._sel_selectKeyViewFollowingView_1, view._id); + } + + void selectKeyViewPrecedingView_(NSView view) { + _lib._objc_msgSend_128( + _id, _lib._sel_selectKeyViewPrecedingView_1, view._id); + } + + int get keyViewSelectionDirection { + return _lib._objc_msgSend_320(_id, _lib._sel_keyViewSelectionDirection1); + } + + NSButtonCell? get defaultButtonCell { + final _ret = _lib._objc_msgSend_321(_id, _lib._sel_defaultButtonCell1); + return _ret.address == 0 + ? null + : NSButtonCell._(_ret, _lib, retain: true, release: true); + } + + set defaultButtonCell(NSButtonCell? value) { + return _lib._objc_msgSend_322( + _id, _lib._sel_setDefaultButtonCell_1, value?._id ?? ffi.nullptr); + } + + void disableKeyEquivalentForDefaultButtonCell() { + _lib._objc_msgSend_1( + _id, _lib._sel_disableKeyEquivalentForDefaultButtonCell1); + } + + void enableKeyEquivalentForDefaultButtonCell() { + _lib._objc_msgSend_1( + _id, _lib._sel_enableKeyEquivalentForDefaultButtonCell1); + } + + bool get autorecalculatesKeyViewLoop { + return _lib._objc_msgSend_12(_id, _lib._sel_autorecalculatesKeyViewLoop1); + } + + set autorecalculatesKeyViewLoop(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setAutorecalculatesKeyViewLoop_1, value); + } + + void recalculateKeyViewLoop() { + _lib._objc_msgSend_1(_id, _lib._sel_recalculateKeyViewLoop1); + } + + NSToolbar? get toolbar { + final _ret = _lib._objc_msgSend_323(_id, _lib._sel_toolbar1); + return _ret.address == 0 + ? null + : NSToolbar._(_ret, _lib, retain: true, release: true); + } + + set toolbar(NSToolbar? value) { + return _lib._objc_msgSend_324( + _id, _lib._sel_setToolbar_1, value?._id ?? ffi.nullptr); + } + + void toggleToolbarShown_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_toggleToolbarShown_1, sender?._id ?? ffi.nullptr); + } + + void runToolbarCustomizationPalette_(NSObject? sender) { + _lib._objc_msgSend_237(_id, _lib._sel_runToolbarCustomizationPalette_1, + sender?._id ?? ffi.nullptr); + } + + bool get showsToolbarButton { + return _lib._objc_msgSend_12(_id, _lib._sel_showsToolbarButton1); + } + + set showsToolbarButton(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setShowsToolbarButton_1, value); + } + + /// ! Allows automatic window tabbing when the value is \c YES. By default, this will be set to \c YES, but applications can explicitly opt out of all automatic tabbing by setting it to NO, and can still adopted explicit window tabbing, if desired. + static bool getAllowsAutomaticWindowTabbing(AuthenticationServices _lib) { + return _lib._objc_msgSend_12( + _lib._class_NSWindow1, _lib._sel_allowsAutomaticWindowTabbing1); + } + + /// ! Allows automatic window tabbing when the value is \c YES. By default, this will be set to \c YES, but applications can explicitly opt out of all automatic tabbing by setting it to NO, and can still adopted explicit window tabbing, if desired. + static void setAllowsAutomaticWindowTabbing( + AuthenticationServices _lib, bool value) { + return _lib._objc_msgSend_103(_lib._class_NSWindow1, + _lib._sel_setAllowsAutomaticWindowTabbing_1, value); + } + + /// ! Returns the user's tabbing preference as set in System Preferences. This value should be queried anytime a new window is made to see if the user wants to automatically show it in tabs. + static int getUserTabbingPreference(AuthenticationServices _lib) { + return _lib._objc_msgSend_325( + _lib._class_NSWindow1, _lib._sel_userTabbingPreference1); + } + + /// ! Get and set the tabbing mode for this window. This should be set before a window is shown. The default value is \c NSWindowTabbingModeAutomatic. When the value is \c NSWindowTabbingModeAutomatic, the system will look at the \c userTabbingPreference and automatically tab windows together based on the tabbingIdentifier, when it is appropriate to do so. + int get tabbingMode { + return _lib._objc_msgSend_326(_id, _lib._sel_tabbingMode1); + } + + /// ! Get and set the tabbing mode for this window. This should be set before a window is shown. The default value is \c NSWindowTabbingModeAutomatic. When the value is \c NSWindowTabbingModeAutomatic, the system will look at the \c userTabbingPreference and automatically tab windows together based on the tabbingIdentifier, when it is appropriate to do so. + set tabbingMode(int value) { + return _lib._objc_msgSend_327(_id, _lib._sel_setTabbingMode_1, value); + } + + /// ! Windows with the same \c tabbingIdentifier will have the ability to be tabbed together when a window is being shown. This allows aggregation of similar windows. By default, the \c tabbingIdentifier will be generated based on inherent window properties, such as the window class name, the delegate class name, the window controller class name, and some additional state. Windows can be explicitly made to group together by using the same \c tabbingIdentifier. + NSString get tabbingIdentifier { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_tabbingIdentifier1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + /// ! Windows with the same \c tabbingIdentifier will have the ability to be tabbed together when a window is being shown. This allows aggregation of similar windows. By default, the \c tabbingIdentifier will be generated based on inherent window properties, such as the window class name, the delegate class name, the window controller class name, and some additional state. Windows can be explicitly made to group together by using the same \c tabbingIdentifier. + set tabbingIdentifier(NSString value) { + return _lib._objc_msgSend_173( + _id, _lib._sel_setTabbingIdentifier_1, value._id); + } + + /// ! Actions that can be called to perform various tabbed window behaviors. UI that is hooked up to these items can be automatically validated by calling `NSWindow`'s \c validateUserInterfaceItem. + void selectNextTab_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_selectNextTab_1, sender?._id ?? ffi.nullptr); + } + + void selectPreviousTab_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_selectPreviousTab_1, sender?._id ?? ffi.nullptr); + } + + void moveTabToNewWindow_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_moveTabToNewWindow_1, sender?._id ?? ffi.nullptr); + } + + void mergeAllWindows_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_mergeAllWindows_1, sender?._id ?? ffi.nullptr); + } + + void toggleTabBar_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_toggleTabBar_1, sender?._id ?? ffi.nullptr); + } + + /// ! Toggle the Tab Picker / Tab Overview UI which is invoked via "Show All Tabs". Performs the toggle in an animated fashion. Use `tabGroup.isOverviewVisible` to find out if it is visible or not at a given time. + void toggleTabOverview_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_toggleTabOverview_1, sender?._id ?? ffi.nullptr); + } + + /// ! This is now a cover for `self.tabGroup.windows`, but will return nil if the window is not showing a tab bar. + NSObject? get tabbedWindows { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_tabbedWindows1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + /// ! This is now a cover for `-[self.tabGroup addWindow:]`, which allows more precise placement. + void addTabbedWindow_ordered_(NSWindow window, int ordered) { + _lib._objc_msgSend_305( + _id, _lib._sel_addTabbedWindow_ordered_1, window._id, ordered); + } + + /// ! Access the properties for this window when it is a tabbed window environment. See the \c NSWindowTab header and comments for more information. + NSWindowTab get tab { + final _ret = _lib._objc_msgSend_328(_id, _lib._sel_tab1); + return NSWindowTab._(_ret, _lib, retain: true, release: true); + } + + /// ! Represents a tab group of windows. This \c tabGroup is lazily created on demand. + NSWindowTabGroup? get tabGroup { + final _ret = _lib._objc_msgSend_329(_id, _lib._sel_tabGroup1); + return _ret.address == 0 + ? null + : NSWindowTabGroup._(_ret, _lib, retain: true, release: true); + } + + /// ! + /// @abstract Attempt to move window sharing (i.e. within a SharePlay session) from the receiver to another window. In response to this request, the user may choose to transfer sharing to the new window, or simply stop sharing the content. + /// @param window + /// A window that is replacing the reciever in representing the user's current activity. + /// @param completionHandler + /// A completion block that is called after the request finishes. + /// @param error + /// In the event of a failed transfer request, a non-nil error contains details about the failure. + void transferWindowSharingToWindow_completionHandler_( + NSWindow window, ObjCBlock_ffiVoid_NSError completionHandler) { + _lib._objc_msgSend_330( + _id, + _lib._sel_transferWindowSharingToWindow_completionHandler_1, + window._id, + completionHandler._id); + } + + /// ! + /// @abstract Indicates whether the receiver is the subject of an active SharePlay sharing session. + bool get hasActiveWindowSharingSession { + return _lib._objc_msgSend_12(_id, _lib._sel_hasActiveWindowSharingSession1); + } + + /// ! Retrieve the layout direction of the window titlebar: this includes the standard window buttons (close/minimize/maximize buttons) and the title for this window. In general, this will return "right to left" (RTL) if the primary system language is RTL. The layout direction may be RTL even in applications that do not have a RTL language localization. This value should be utilized if an application uses titlebarAppearsTransparent and places controls underneath the titlebar. + int get windowTitlebarLayoutDirection { + return _lib._objc_msgSend_212( + _id, _lib._sel_windowTitlebarLayoutDirection1); + } + + /// ! Tracks events matching the supplied mask with the supplied tracking handler until the tracking handler explicitly terminates tracking. Each event is removed from the event queue then passed to the tracking handler. If a matching event does not exist in the event queue, then the main thread blocks in the specified runloop mode until an event of the requested type is received or the timeout expires. If the timeout expires, the tracking handler is called with a nil event. A negative timeout is interpreted as 0. Use \c NSEventDurationForever to never timeout. Tracking continues until `*stop` is set to \c YES. Calls to `-nextEventMatchingMask:…` are allowed inside the trackingHandler block. This method returns once tracking is terminated. + void trackEventsMatchingMask_timeout_mode_handler_(int mask, double timeout, + NSString mode, ObjCBlock_ffiVoid_NSEvent_bool trackingHandler) { + _lib._objc_msgSend_331( + _id, + _lib._sel_trackEventsMatchingMask_timeout_mode_handler_1, + mask, + timeout, + mode._id, + trackingHandler._id); + } + + NSEvent? nextEventMatchingMask_(int mask) { + final _ret = + _lib._objc_msgSend_332(_id, _lib._sel_nextEventMatchingMask_1, mask); + return _ret.address == 0 + ? null + : NSEvent._(_ret, _lib, retain: true, release: true); + } + + NSEvent? nextEventMatchingMask_untilDate_inMode_dequeue_( + int mask, NSDate? expiration, NSString mode, bool deqFlag) { + final _ret = _lib._objc_msgSend_334( + _id, + _lib._sel_nextEventMatchingMask_untilDate_inMode_dequeue_1, + mask, + expiration?._id ?? ffi.nullptr, + mode._id, + deqFlag); + return _ret.address == 0 + ? null + : NSEvent._(_ret, _lib, retain: true, release: true); + } + + void discardEventsMatchingMask_beforeEvent_(int mask, NSEvent? lastEvent) { + _lib._objc_msgSend_335( + _id, + _lib._sel_discardEventsMatchingMask_beforeEvent_1, + mask, + lastEvent?._id ?? ffi.nullptr); + } + + void postEvent_atStart_(NSEvent event, bool flag) { + _lib._objc_msgSend_336(_id, _lib._sel_postEvent_atStart_1, event._id, flag); + } + + void sendEvent_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_sendEvent_1, event._id); + } + + NSEvent? get currentEvent { + final _ret = _lib._objc_msgSend_337(_id, _lib._sel_currentEvent1); + return _ret.address == 0 + ? null + : NSEvent._(_ret, _lib, retain: true, release: true); + } + + bool get acceptsMouseMovedEvents { + return _lib._objc_msgSend_12(_id, _lib._sel_acceptsMouseMovedEvents1); + } + + set acceptsMouseMovedEvents(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setAcceptsMouseMovedEvents_1, value); + } + + bool get ignoresMouseEvents { + return _lib._objc_msgSend_12(_id, _lib._sel_ignoresMouseEvents1); + } + + set ignoresMouseEvents(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setIgnoresMouseEvents_1, value); + } + + void getMouseLocationOutsideOfEventStream(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_111_stret( + stret, _id, _lib._sel_mouseLocationOutsideOfEventStream1) + : stret.ref = _lib._objc_msgSend_111( + _id, _lib._sel_mouseLocationOutsideOfEventStream1); + } + + void disableCursorRects() { + _lib._objc_msgSend_1(_id, _lib._sel_disableCursorRects1); + } + + void enableCursorRects() { + _lib._objc_msgSend_1(_id, _lib._sel_enableCursorRects1); + } + + void discardCursorRects() { + _lib._objc_msgSend_1(_id, _lib._sel_discardCursorRects1); + } + + bool get areCursorRectsEnabled { + return _lib._objc_msgSend_12(_id, _lib._sel_areCursorRectsEnabled1); + } + + void invalidateCursorRectsForView_(NSView view) { + _lib._objc_msgSend_128( + _id, _lib._sel_invalidateCursorRectsForView_1, view._id); + } + + void resetCursorRects() { + _lib._objc_msgSend_1(_id, _lib._sel_resetCursorRects1); + } + + void dragImage_at_offset_event_pasteboard_source_slideBack_( + NSImage image, + CGPoint baseLocation, + CGSize initialOffset, + NSEvent event, + NSPasteboard pboard, + NSObject sourceObj, + bool slideFlag) { + _lib._objc_msgSend_355( + _id, + _lib._sel_dragImage_at_offset_event_pasteboard_source_slideBack_1, + image._id, + baseLocation, + initialOffset, + event._id, + pboard._id, + sourceObj._id, + slideFlag); + } + + void registerForDraggedTypes_(NSArray newTypes) { + _lib._objc_msgSend_356( + _id, _lib._sel_registerForDraggedTypes_1, newTypes._id); + } + + void unregisterDraggedTypes() { + _lib._objc_msgSend_1(_id, _lib._sel_unregisterDraggedTypes1); + } + + /// WindowRef + NSWindow? initWithWindowRef_(ffi.Pointer windowRef) { + final _ret = + _lib._objc_msgSend_357(_id, _lib._sel_initWithWindowRef_1, windowRef); + return _ret.address == 0 + ? null + : NSWindow._(_ret, _lib, retain: true, release: true); + } + + /// WindowRef + ffi.Pointer get windowRef { + return _lib._objc_msgSend_28(_id, _lib._sel_windowRef1); + } + + /// Returns a new display link whose callback will be invoked in-sync with the display the window is on. If the window is not on any display the callback will not be invoked. + CADisplayLink displayLinkWithTarget_selector_( + NSObject target, ffi.Pointer selector) { + final _ret = _lib._objc_msgSend_358( + _id, _lib._sel_displayLinkWithTarget_selector_1, target._id, selector); + return CADisplayLink._(_ret, _lib, retain: true, release: true); + } + + void cacheImageInRect_(CGRect rect) { + _lib._objc_msgSend_149(_id, _lib._sel_cacheImageInRect_1, rect); + } + + void restoreCachedImage() { + _lib._objc_msgSend_1(_id, _lib._sel_restoreCachedImage1); + } + + void discardCachedImage() { + _lib._objc_msgSend_1(_id, _lib._sel_discardCachedImage1); + } + + static void menuChanged_(AuthenticationServices _lib, NSMenu menu) { + _lib._objc_msgSend_359( + _lib._class_NSWindow1, _lib._sel_menuChanged_1, menu._id); + } + + /// gState is unused and should not be called. + int gState() { + return _lib._objc_msgSend_77(_id, _lib._sel_gState1); + } + + /// The base/screen conversion methods are deprecated in 10.7 and later. Please use one of convertRectToScreen:, convertRectFromScreen:, convertPointToScreen:, or convertPointFromScreen: instead. + void convertBaseToScreen_(ffi.Pointer stret, CGPoint point) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_147_stret( + stret, _id, _lib._sel_convertBaseToScreen_1, point) + : stret.ref = + _lib._objc_msgSend_147(_id, _lib._sel_convertBaseToScreen_1, point); + } + + void convertScreenToBase_(ffi.Pointer stret, CGPoint point) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_147_stret( + stret, _id, _lib._sel_convertScreenToBase_1, point) + : stret.ref = + _lib._objc_msgSend_147(_id, _lib._sel_convertScreenToBase_1, point); + } + + /// This method is deprecated and should not be used by applications targeting Mac OS X 10.7 or later. + /// The implementation of this method will always return 1.0. Please use -convertRectToBacking: and -backingScaleFactor instead. + double userSpaceScaleFactor() { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_userSpaceScaleFactor1) + : _lib._objc_msgSend_81(_id, _lib._sel_userSpaceScaleFactor1); + } + + void useOptimizedDrawing_(bool flag) { + _lib._objc_msgSend_195(_id, _lib._sel_useOptimizedDrawing_1, flag); + } + + /// canStoreColor has not been needed or used in a while and is deprecated. + bool canStoreColor() { + return _lib._objc_msgSend_12(_id, _lib._sel_canStoreColor1); + } + + void disableFlushWindow() { + _lib._objc_msgSend_1(_id, _lib._sel_disableFlushWindow1); + } + + void enableFlushWindow() { + _lib._objc_msgSend_1(_id, _lib._sel_enableFlushWindow1); + } + + bool get flushWindowDisabled { + return _lib._objc_msgSend_12(_id, _lib._sel_isFlushWindowDisabled1); + } + + void flushWindow() { + _lib._objc_msgSend_1(_id, _lib._sel_flushWindow1); + } + + void flushWindowIfNeeded() { + _lib._objc_msgSend_1(_id, _lib._sel_flushWindowIfNeeded1); + } + + bool get autodisplay { + return _lib._objc_msgSend_12(_id, _lib._sel_isAutodisplay1); + } + + set autodisplay(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setAutodisplay_1, value); + } + + /// Returns NSGraphicsContext used to render the receiver's content on the screen for the calling thread. + NSGraphicsContext? get graphicsContext { + final _ret = _lib._objc_msgSend_110(_id, _lib._sel_graphicsContext1); + return _ret.address == 0 + ? null + : NSGraphicsContext._(_ret, _lib, retain: true, release: true); + } + + bool get oneShot { + return _lib._objc_msgSend_12(_id, _lib._sel_isOneShot1); + } + + set oneShot(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setOneShot_1, value); + } + + int get preferredBackingLocation { + return _lib._objc_msgSend_360(_id, _lib._sel_preferredBackingLocation1); + } + + set preferredBackingLocation(int value) { + return _lib._objc_msgSend_361( + _id, _lib._sel_setPreferredBackingLocation_1, value); + } + + int get backingLocation { + return _lib._objc_msgSend_360(_id, _lib._sel_backingLocation1); + } + + /// showsResizeIndicator is soft-deprecated in 10.14. It is ignored on 10.7 and newer, and should not be used. + bool get showsResizeIndicator { + return _lib._objc_msgSend_12(_id, _lib._sel_showsResizeIndicator1); + } + + /// showsResizeIndicator is soft-deprecated in 10.14. It is ignored on 10.7 and newer, and should not be used. + set showsResizeIndicator(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setShowsResizeIndicator_1, value); + } + + @override + NSWindow init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSWindow._(_ret, _lib, retain: true, release: true); + } + + static NSWindow new1(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSWindow1, _lib._sel_new1); + return NSWindow._(_ret, _lib, retain: false, release: true); + } + + static NSWindow allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSWindow1, _lib._sel_allocWithZone_1, zone); + return NSWindow._(_ret, _lib, retain: false, release: true); + } + + static NSWindow alloc(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSWindow1, _lib._sel_alloc1); + return NSWindow._(_ret, _lib, retain: false, release: true); + } +} + +class NSResponder extends NSObject { + NSResponder._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSResponder] that points to the same underlying object as [other]. + static NSResponder castFrom(T other) { + return NSResponder._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSResponder] that wraps the given raw object pointer. + static NSResponder castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSResponder._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSResponder]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSResponder1); + } + + @override + NSResponder init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSResponder._(_ret, _lib, retain: true, release: true); + } + + NSResponder? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : NSResponder._(_ret, _lib, retain: true, release: true); + } + + NSResponder? get nextResponder { + final _ret = _lib._objc_msgSend_104(_id, _lib._sel_nextResponder1); + return _ret.address == 0 + ? null + : NSResponder._(_ret, _lib, retain: true, release: true); + } + + set nextResponder(NSResponder? value) { + return _lib._objc_msgSend_105( + _id, _lib._sel_setNextResponder_1, value?._id ?? ffi.nullptr); + } + + bool tryToPerform_with_(ffi.Pointer action, NSObject? object) { + return _lib._objc_msgSend_106( + _id, _lib._sel_tryToPerform_with_1, action, object?._id ?? ffi.nullptr); + } + + bool performKeyEquivalent_(NSEvent event) { + return _lib._objc_msgSend_154( + _id, _lib._sel_performKeyEquivalent_1, event._id); + } + + NSObject? validRequestorForSendType_returnType_( + NSString? sendType, NSString? returnType) { + final _ret = _lib._objc_msgSend_235( + _id, + _lib._sel_validRequestorForSendType_returnType_1, + sendType?._id ?? ffi.nullptr, + returnType?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + void mouseDown_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_mouseDown_1, event._id); + } + + void rightMouseDown_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_rightMouseDown_1, event._id); + } + + void otherMouseDown_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_otherMouseDown_1, event._id); + } + + void mouseUp_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_mouseUp_1, event._id); + } + + void rightMouseUp_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_rightMouseUp_1, event._id); + } + + void otherMouseUp_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_otherMouseUp_1, event._id); + } + + void mouseMoved_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_mouseMoved_1, event._id); + } + + void mouseDragged_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_mouseDragged_1, event._id); + } + + void scrollWheel_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_scrollWheel_1, event._id); + } + + void rightMouseDragged_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_rightMouseDragged_1, event._id); + } + + void otherMouseDragged_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_otherMouseDragged_1, event._id); + } + + void mouseEntered_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_mouseEntered_1, event._id); + } + + void mouseExited_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_mouseExited_1, event._id); + } + + void keyDown_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_keyDown_1, event._id); + } + + void keyUp_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_keyUp_1, event._id); + } + + void flagsChanged_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_flagsChanged_1, event._id); + } + + void tabletPoint_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_tabletPoint_1, event._id); + } + + void tabletProximity_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_tabletProximity_1, event._id); + } + + void cursorUpdate_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_cursorUpdate_1, event._id); + } + + void magnifyWithEvent_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_magnifyWithEvent_1, event._id); + } + + void rotateWithEvent_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_rotateWithEvent_1, event._id); + } + + void swipeWithEvent_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_swipeWithEvent_1, event._id); + } + + void beginGestureWithEvent_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_beginGestureWithEvent_1, event._id); + } + + void endGestureWithEvent_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_endGestureWithEvent_1, event._id); + } + + void smartMagnifyWithEvent_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_smartMagnifyWithEvent_1, event._id); + } + + void changeModeWithEvent_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_changeModeWithEvent_1, event._id); + } + + void touchesBeganWithEvent_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_touchesBeganWithEvent_1, event._id); + } + + void touchesMovedWithEvent_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_touchesMovedWithEvent_1, event._id); + } + + void touchesEndedWithEvent_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_touchesEndedWithEvent_1, event._id); + } + + void touchesCancelledWithEvent_(NSEvent event) { + _lib._objc_msgSend_236( + _id, _lib._sel_touchesCancelledWithEvent_1, event._id); + } + + void quickLookWithEvent_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_quickLookWithEvent_1, event._id); + } + + void pressureChangeWithEvent_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_pressureChangeWithEvent_1, event._id); + } + + void noResponderFor_(ffi.Pointer eventSelector) { + _lib._objc_msgSend_7(_id, _lib._sel_noResponderFor_1, eventSelector); + } + + bool get acceptsFirstResponder { + return _lib._objc_msgSend_12(_id, _lib._sel_acceptsFirstResponder1); + } + + bool becomeFirstResponder() { + return _lib._objc_msgSend_12(_id, _lib._sel_becomeFirstResponder1); + } + + bool resignFirstResponder() { + return _lib._objc_msgSend_12(_id, _lib._sel_resignFirstResponder1); + } + + void interpretKeyEvents_(NSObject eventArray) { + _lib._objc_msgSend_22(_id, _lib._sel_interpretKeyEvents_1, eventArray._id); + } + + void flushBufferedKeyEvents() { + _lib._objc_msgSend_1(_id, _lib._sel_flushBufferedKeyEvents1); + } + + NSMenu? get menu { + final _ret = _lib._objc_msgSend_178(_id, _lib._sel_menu1); + return _ret.address == 0 + ? null + : NSMenu._(_ret, _lib, retain: true, release: true); + } + + set menu(NSMenu? value) { + return _lib._objc_msgSend_179( + _id, _lib._sel_setMenu_1, value?._id ?? ffi.nullptr); + } + + void showContextHelp_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_showContextHelp_1, sender?._id ?? ffi.nullptr); + } + + void helpRequested_(NSEvent eventPtr) { + _lib._objc_msgSend_236(_id, _lib._sel_helpRequested_1, eventPtr._id); + } + + bool shouldBeTreatedAsInkEvent_(NSEvent event) { + return _lib._objc_msgSend_154( + _id, _lib._sel_shouldBeTreatedAsInkEvent_1, event._id); + } + + bool wantsScrollEventsForSwipeTrackingOnAxis_(int axis) { + return _lib._objc_msgSend_238( + _id, _lib._sel_wantsScrollEventsForSwipeTrackingOnAxis_1, axis); + } + + bool wantsForwardedScrollEventsForAxis_(int axis) { + return _lib._objc_msgSend_238( + _id, _lib._sel_wantsForwardedScrollEventsForAxis_1, axis); + } + + NSObject? supplementalTargetForAction_sender_( + ffi.Pointer action, NSObject? sender) { + final _ret = _lib._objc_msgSend_239( + _id, + _lib._sel_supplementalTargetForAction_sender_1, + action, + sender?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSResponder new1(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSResponder1, _lib._sel_new1); + return NSResponder._(_ret, _lib, retain: false, release: true); + } + + static NSResponder allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSResponder1, _lib._sel_allocWithZone_1, zone); + return NSResponder._(_ret, _lib, retain: false, release: true); + } + + static NSResponder alloc(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSResponder1, _lib._sel_alloc1); + return NSResponder._(_ret, _lib, retain: false, release: true); + } +} + +class NSEvent extends NSObject { + NSEvent._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSEvent] that points to the same underlying object as [other]. + static NSEvent castFrom(T other) { + return NSEvent._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSEvent] that wraps the given raw object pointer. + static NSEvent castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSEvent._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSEvent]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSEvent1); + } + + int get type { + return _lib._objc_msgSend_107(_id, _lib._sel_type1); + } + + int get modifierFlags { + return _lib._objc_msgSend_108(_id, _lib._sel_modifierFlags1); + } + + double get timestamp { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_timestamp1) + : _lib._objc_msgSend_81(_id, _lib._sel_timestamp1); + } + + NSWindow? get window { + final _ret = _lib._objc_msgSend_109(_id, _lib._sel_window1); + return _ret.address == 0 + ? null + : NSWindow._(_ret, _lib, retain: true, release: true); + } + + int get windowNumber { + return _lib._objc_msgSend_77(_id, _lib._sel_windowNumber1); + } + + NSGraphicsContext? get context { + final _ret = _lib._objc_msgSend_110(_id, _lib._sel_context1); + return _ret.address == 0 + ? null + : NSGraphicsContext._(_ret, _lib, retain: true, release: true); + } + + int get clickCount { + return _lib._objc_msgSend_77(_id, _lib._sel_clickCount1); + } + + int get buttonNumber { + return _lib._objc_msgSend_77(_id, _lib._sel_buttonNumber1); + } + + int get eventNumber { + return _lib._objc_msgSend_77(_id, _lib._sel_eventNumber1); + } + + double get pressure { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_80_fpret(_id, _lib._sel_pressure1) + : _lib._objc_msgSend_80(_id, _lib._sel_pressure1); + } + + void getLocationInWindow(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_111_stret(stret, _id, _lib._sel_locationInWindow1) + : stret.ref = _lib._objc_msgSend_111(_id, _lib._sel_locationInWindow1); + } + + double get deltaX { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_deltaX1) + : _lib._objc_msgSend_81(_id, _lib._sel_deltaX1); + } + + double get deltaY { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_deltaY1) + : _lib._objc_msgSend_81(_id, _lib._sel_deltaY1); + } + + double get deltaZ { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_deltaZ1) + : _lib._objc_msgSend_81(_id, _lib._sel_deltaZ1); + } + + bool get hasPreciseScrollingDeltas { + return _lib._objc_msgSend_12(_id, _lib._sel_hasPreciseScrollingDeltas1); + } + + double get scrollingDeltaX { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_scrollingDeltaX1) + : _lib._objc_msgSend_81(_id, _lib._sel_scrollingDeltaX1); + } + + double get scrollingDeltaY { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_scrollingDeltaY1) + : _lib._objc_msgSend_81(_id, _lib._sel_scrollingDeltaY1); + } + + int get momentumPhase { + return _lib._objc_msgSend_112(_id, _lib._sel_momentumPhase1); + } + + bool get directionInvertedFromDevice { + return _lib._objc_msgSend_12(_id, _lib._sel_isDirectionInvertedFromDevice1); + } + + NSString? get characters { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_characters1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get charactersIgnoringModifiers { + final _ret = + _lib._objc_msgSend_54(_id, _lib._sel_charactersIgnoringModifiers1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? charactersByApplyingModifiers_(int modifiers) { + final _ret = _lib._objc_msgSend_113( + _id, _lib._sel_charactersByApplyingModifiers_1, modifiers); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + bool get ARepeat { + return _lib._objc_msgSend_12(_id, _lib._sel_isARepeat1); + } + + int get keyCode { + return _lib._objc_msgSend_74(_id, _lib._sel_keyCode1); + } + + int get trackingNumber { + return _lib._objc_msgSend_77(_id, _lib._sel_trackingNumber1); + } + + ffi.Pointer get userData { + return _lib._objc_msgSend_28(_id, _lib._sel_userData1); + } + + NSTrackingArea? get trackingArea { + final _ret = _lib._objc_msgSend_114(_id, _lib._sel_trackingArea1); + return _ret.address == 0 + ? null + : NSTrackingArea._(_ret, _lib, retain: true, release: true); + } + + int get subtype { + return _lib._objc_msgSend_115(_id, _lib._sel_subtype1); + } + + int get data1 { + return _lib._objc_msgSend_77(_id, _lib._sel_data11); + } + + int get data2 { + return _lib._objc_msgSend_77(_id, _lib._sel_data21); + } + + ffi.Pointer get eventRef { + return _lib._objc_msgSend_28(_id, _lib._sel_eventRef1); + } + + static NSEvent? eventWithEventRef_( + AuthenticationServices _lib, ffi.Pointer eventRef) { + final _ret = _lib._objc_msgSend_116( + _lib._class_NSEvent1, _lib._sel_eventWithEventRef_1, eventRef); + return _ret.address == 0 + ? null + : NSEvent._(_ret, _lib, retain: true, release: true); + } + + ffi.Pointer<__CGEvent> get CGEvent { + return _lib._objc_msgSend_117(_id, _lib._sel_CGEvent1); + } + + static NSEvent? eventWithCGEvent_( + AuthenticationServices _lib, ffi.Pointer<__CGEvent> cgEvent) { + final _ret = _lib._objc_msgSend_118( + _lib._class_NSEvent1, _lib._sel_eventWithCGEvent_1, cgEvent); + return _ret.address == 0 + ? null + : NSEvent._(_ret, _lib, retain: true, release: true); + } + + static bool getMouseCoalescingEnabled(AuthenticationServices _lib) { + return _lib._objc_msgSend_12( + _lib._class_NSEvent1, _lib._sel_isMouseCoalescingEnabled1); + } + + static void setMouseCoalescingEnabled( + AuthenticationServices _lib, bool value) { + return _lib._objc_msgSend_103( + _lib._class_NSEvent1, _lib._sel_setMouseCoalescingEnabled_1, value); + } + + double get magnification { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_magnification1) + : _lib._objc_msgSend_81(_id, _lib._sel_magnification1); + } + + int get deviceID { + return _lib._objc_msgSend_10(_id, _lib._sel_deviceID1); + } + + double get rotation { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_80_fpret(_id, _lib._sel_rotation1) + : _lib._objc_msgSend_80(_id, _lib._sel_rotation1); + } + + int get absoluteX { + return _lib._objc_msgSend_77(_id, _lib._sel_absoluteX1); + } + + int get absoluteY { + return _lib._objc_msgSend_77(_id, _lib._sel_absoluteY1); + } + + int get absoluteZ { + return _lib._objc_msgSend_77(_id, _lib._sel_absoluteZ1); + } + + int get buttonMask { + return _lib._objc_msgSend_119(_id, _lib._sel_buttonMask1); + } + + void getTilt(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_111_stret(stret, _id, _lib._sel_tilt1) + : stret.ref = _lib._objc_msgSend_111(_id, _lib._sel_tilt1); + } + + double get tangentialPressure { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_80_fpret(_id, _lib._sel_tangentialPressure1) + : _lib._objc_msgSend_80(_id, _lib._sel_tangentialPressure1); + } + + NSObject get vendorDefined { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_vendorDefined1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + int get vendorID { + return _lib._objc_msgSend_10(_id, _lib._sel_vendorID1); + } + + int get tabletID { + return _lib._objc_msgSend_10(_id, _lib._sel_tabletID1); + } + + int get pointingDeviceID { + return _lib._objc_msgSend_10(_id, _lib._sel_pointingDeviceID1); + } + + int get systemTabletID { + return _lib._objc_msgSend_10(_id, _lib._sel_systemTabletID1); + } + + int get vendorPointingDeviceType { + return _lib._objc_msgSend_10(_id, _lib._sel_vendorPointingDeviceType1); + } + + int get pointingDeviceSerialNumber { + return _lib._objc_msgSend_10(_id, _lib._sel_pointingDeviceSerialNumber1); + } + + int get uniqueID { + return _lib._objc_msgSend_79(_id, _lib._sel_uniqueID1); + } + + int get capabilityMask { + return _lib._objc_msgSend_10(_id, _lib._sel_capabilityMask1); + } + + int get pointingDeviceType { + return _lib._objc_msgSend_120(_id, _lib._sel_pointingDeviceType1); + } + + bool get enteringProximity { + return _lib._objc_msgSend_12(_id, _lib._sel_isEnteringProximity1); + } + + NSObject touchesMatchingPhase_inView_(int phase, NSView? view) { + final _ret = _lib._objc_msgSend_221( + _id, + _lib._sel_touchesMatchingPhase_inView_1, + phase, + view?._id ?? ffi.nullptr); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + NSObject allTouches() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_allTouches1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + NSObject touchesForView_(NSView view) { + final _ret = + _lib._objc_msgSend_222(_id, _lib._sel_touchesForView_1, view._id); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + NSObject coalescedTouchesForTouch_(NSTouch touch) { + final _ret = _lib._objc_msgSend_224( + _id, _lib._sel_coalescedTouchesForTouch_1, touch._id); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + int get phase { + return _lib._objc_msgSend_112(_id, _lib._sel_phase1); + } + + int get stage { + return _lib._objc_msgSend_77(_id, _lib._sel_stage1); + } + + double get stageTransition { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_stageTransition1) + : _lib._objc_msgSend_81(_id, _lib._sel_stageTransition1); + } + + int get associatedEventsMask { + return _lib._objc_msgSend_225(_id, _lib._sel_associatedEventsMask1); + } + + int get pressureBehavior { + return _lib._objc_msgSend_226(_id, _lib._sel_pressureBehavior1); + } + + static bool getSwipeTrackingFromScrollEventsEnabled( + AuthenticationServices _lib) { + return _lib._objc_msgSend_12(_lib._class_NSEvent1, + _lib._sel_isSwipeTrackingFromScrollEventsEnabled1); + } + + void trackSwipeEventWithOptions_dampenAmountThresholdMin_max_usingHandler_( + int options, + double minDampenThreshold, + double maxDampenThreshold, + ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool trackingHandler) { + _lib._objc_msgSend_227( + _id, + _lib._sel_trackSwipeEventWithOptions_dampenAmountThresholdMin_max_usingHandler_1, + options, + minDampenThreshold, + maxDampenThreshold, + trackingHandler._id); + } + + static void startPeriodicEventsAfterDelay_withPeriod_( + AuthenticationServices _lib, double delay, double period) { + _lib._objc_msgSend_228(_lib._class_NSEvent1, + _lib._sel_startPeriodicEventsAfterDelay_withPeriod_1, delay, period); + } + + static void stopPeriodicEvents(AuthenticationServices _lib) { + _lib._objc_msgSend_1(_lib._class_NSEvent1, _lib._sel_stopPeriodicEvents1); + } + + static NSEvent? + mouseEventWithType_location_modifierFlags_timestamp_windowNumber_context_eventNumber_clickCount_pressure_( + AuthenticationServices _lib, + int type, + CGPoint location, + int flags, + double time, + int wNum, + NSGraphicsContext? unusedPassNil, + int eNum, + int cNum, + double pressure) { + final _ret = _lib._objc_msgSend_229( + _lib._class_NSEvent1, + _lib._sel_mouseEventWithType_location_modifierFlags_timestamp_windowNumber_context_eventNumber_clickCount_pressure_1, + type, + location, + flags, + time, + wNum, + unusedPassNil?._id ?? ffi.nullptr, + eNum, + cNum, + pressure); + return _ret.address == 0 + ? null + : NSEvent._(_ret, _lib, retain: true, release: true); + } + + static NSEvent? + keyEventWithType_location_modifierFlags_timestamp_windowNumber_context_characters_charactersIgnoringModifiers_isARepeat_keyCode_( + AuthenticationServices _lib, + int type, + CGPoint location, + int flags, + double time, + int wNum, + NSGraphicsContext? unusedPassNil, + NSString keys, + NSString ukeys, + bool flag, + int code) { + final _ret = _lib._objc_msgSend_230( + _lib._class_NSEvent1, + _lib._sel_keyEventWithType_location_modifierFlags_timestamp_windowNumber_context_characters_charactersIgnoringModifiers_isARepeat_keyCode_1, + type, + location, + flags, + time, + wNum, + unusedPassNil?._id ?? ffi.nullptr, + keys._id, + ukeys._id, + flag, + code); + return _ret.address == 0 + ? null + : NSEvent._(_ret, _lib, retain: true, release: true); + } + + static NSEvent? + enterExitEventWithType_location_modifierFlags_timestamp_windowNumber_context_eventNumber_trackingNumber_userData_( + AuthenticationServices _lib, + int type, + CGPoint location, + int flags, + double time, + int wNum, + NSGraphicsContext? unusedPassNil, + int eNum, + int tNum, + ffi.Pointer data) { + final _ret = _lib._objc_msgSend_231( + _lib._class_NSEvent1, + _lib._sel_enterExitEventWithType_location_modifierFlags_timestamp_windowNumber_context_eventNumber_trackingNumber_userData_1, + type, + location, + flags, + time, + wNum, + unusedPassNil?._id ?? ffi.nullptr, + eNum, + tNum, + data); + return _ret.address == 0 + ? null + : NSEvent._(_ret, _lib, retain: true, release: true); + } + + static NSEvent? + otherEventWithType_location_modifierFlags_timestamp_windowNumber_context_subtype_data1_data2_( + AuthenticationServices _lib, + int type, + CGPoint location, + int flags, + double time, + int wNum, + NSGraphicsContext? unusedPassNil, + int subtype, + int d1, + int d2) { + final _ret = _lib._objc_msgSend_232( + _lib._class_NSEvent1, + _lib._sel_otherEventWithType_location_modifierFlags_timestamp_windowNumber_context_subtype_data1_data2_1, + type, + location, + flags, + time, + wNum, + unusedPassNil?._id ?? ffi.nullptr, + subtype, + d1, + d2); + return _ret.address == 0 + ? null + : NSEvent._(_ret, _lib, retain: true, release: true); + } + + static void getMouseLocation( + AuthenticationServices _lib, ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_111_stret( + stret, _lib._class_NSEvent1, _lib._sel_mouseLocation1) + : stret.ref = _lib._objc_msgSend_111( + _lib._class_NSEvent1, _lib._sel_mouseLocation1); + } + + static int getPressedMouseButtons(AuthenticationServices _lib) { + return _lib._objc_msgSend_10( + _lib._class_NSEvent1, _lib._sel_pressedMouseButtons1); + } + + static double getDoubleClickInterval(AuthenticationServices _lib) { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_81_fpret( + _lib._class_NSEvent1, _lib._sel_doubleClickInterval1) + : _lib._objc_msgSend_81( + _lib._class_NSEvent1, _lib._sel_doubleClickInterval1); + } + + static double getKeyRepeatDelay(AuthenticationServices _lib) { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_81_fpret( + _lib._class_NSEvent1, _lib._sel_keyRepeatDelay1) + : _lib._objc_msgSend_81( + _lib._class_NSEvent1, _lib._sel_keyRepeatDelay1); + } + + static double getKeyRepeatInterval(AuthenticationServices _lib) { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_81_fpret( + _lib._class_NSEvent1, _lib._sel_keyRepeatInterval1) + : _lib._objc_msgSend_81( + _lib._class_NSEvent1, _lib._sel_keyRepeatInterval1); + } + + static NSObject? addGlobalMonitorForEventsMatchingMask_handler_( + AuthenticationServices _lib, int mask, ObjCBlock_ffiVoid_NSEvent block) { + final _ret = _lib._objc_msgSend_233( + _lib._class_NSEvent1, + _lib._sel_addGlobalMonitorForEventsMatchingMask_handler_1, + mask, + block._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSObject? addLocalMonitorForEventsMatchingMask_handler_( + AuthenticationServices _lib, int mask, ObjCBlock_NSEvent_NSEvent block) { + final _ret = _lib._objc_msgSend_234( + _lib._class_NSEvent1, + _lib._sel_addLocalMonitorForEventsMatchingMask_handler_1, + mask, + block._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + static void removeMonitor_( + AuthenticationServices _lib, NSObject eventMonitor) { + _lib._objc_msgSend_22( + _lib._class_NSEvent1, _lib._sel_removeMonitor_1, eventMonitor._id); + } + + @override + NSEvent init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSEvent._(_ret, _lib, retain: true, release: true); + } + + static NSEvent new1(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSEvent1, _lib._sel_new1); + return NSEvent._(_ret, _lib, retain: false, release: true); + } + + static NSEvent allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSEvent1, _lib._sel_allocWithZone_1, zone); + return NSEvent._(_ret, _lib, retain: false, release: true); + } + + static NSEvent alloc(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSEvent1, _lib._sel_alloc1); + return NSEvent._(_ret, _lib, retain: false, release: true); + } +} + +abstract class NSEventType { + static const int NSEventTypeLeftMouseDown = 1; + static const int NSEventTypeLeftMouseUp = 2; + static const int NSEventTypeRightMouseDown = 3; + static const int NSEventTypeRightMouseUp = 4; + static const int NSEventTypeMouseMoved = 5; + static const int NSEventTypeLeftMouseDragged = 6; + static const int NSEventTypeRightMouseDragged = 7; + static const int NSEventTypeMouseEntered = 8; + static const int NSEventTypeMouseExited = 9; + static const int NSEventTypeKeyDown = 10; + static const int NSEventTypeKeyUp = 11; + static const int NSEventTypeFlagsChanged = 12; + static const int NSEventTypeAppKitDefined = 13; + static const int NSEventTypeSystemDefined = 14; + static const int NSEventTypeApplicationDefined = 15; + static const int NSEventTypePeriodic = 16; + static const int NSEventTypeCursorUpdate = 17; + static const int NSEventTypeScrollWheel = 22; + static const int NSEventTypeTabletPoint = 23; + static const int NSEventTypeTabletProximity = 24; + static const int NSEventTypeOtherMouseDown = 25; + static const int NSEventTypeOtherMouseUp = 26; + static const int NSEventTypeOtherMouseDragged = 27; + static const int NSEventTypeGesture = 29; + static const int NSEventTypeMagnify = 30; + static const int NSEventTypeSwipe = 31; + static const int NSEventTypeRotate = 18; + static const int NSEventTypeBeginGesture = 19; + static const int NSEventTypeEndGesture = 20; + static const int NSEventTypeSmartMagnify = 32; + static const int NSEventTypeQuickLook = 33; + static const int NSEventTypePressure = 34; + static const int NSEventTypeDirectTouch = 37; + static const int NSEventTypeChangeMode = 38; +} + +abstract class NSEventModifierFlags { + static const int NSEventModifierFlagCapsLock = 65536; + static const int NSEventModifierFlagShift = 131072; + static const int NSEventModifierFlagControl = 262144; + static const int NSEventModifierFlagOption = 524288; + static const int NSEventModifierFlagCommand = 1048576; + static const int NSEventModifierFlagNumericPad = 2097152; + static const int NSEventModifierFlagHelp = 4194304; + static const int NSEventModifierFlagFunction = 8388608; + static const int NSEventModifierFlagDeviceIndependentFlagsMask = 4294901760; +} + +class NSGraphicsContext extends _ObjCWrapper { + NSGraphicsContext._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSGraphicsContext] that points to the same underlying object as [other]. + static NSGraphicsContext castFrom(T other) { + return NSGraphicsContext._(other._id, other._lib, + retain: true, release: true); + } + + /// Returns a [NSGraphicsContext] that wraps the given raw object pointer. + static NSGraphicsContext castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSGraphicsContext._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSGraphicsContext]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_NSGraphicsContext1); + } +} + +final class CGPoint extends ffi.Struct { + @ffi.Double() + external double x; + + @ffi.Double() + external double y; +} + +abstract class NSEventPhase { + static const int NSEventPhaseNone = 0; + static const int NSEventPhaseBegan = 1; + static const int NSEventPhaseStationary = 2; + static const int NSEventPhaseChanged = 4; + static const int NSEventPhaseEnded = 8; + static const int NSEventPhaseCancelled = 16; + static const int NSEventPhaseMayBegin = 32; +} + +class NSTrackingArea extends _ObjCWrapper { + NSTrackingArea._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSTrackingArea] that points to the same underlying object as [other]. + static NSTrackingArea castFrom(T other) { + return NSTrackingArea._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSTrackingArea] that wraps the given raw object pointer. + static NSTrackingArea castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSTrackingArea._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSTrackingArea]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_NSTrackingArea1); + } +} + +abstract class NSEventSubtype { + static const int NSEventSubtypeWindowExposed = 0; + static const int NSEventSubtypeApplicationActivated = 1; + static const int NSEventSubtypeApplicationDeactivated = 2; + static const int NSEventSubtypeWindowMoved = 4; + static const int NSEventSubtypeScreenChanged = 8; + static const int NSEventSubtypePowerOff = 1; + static const int NSEventSubtypeMouseEvent = 0; + static const int NSEventSubtypeTabletPoint = 1; + static const int NSEventSubtypeTabletProximity = 2; + static const int NSEventSubtypeTouch = 3; +} + +final class __CGEvent extends ffi.Opaque {} + +abstract class NSEventButtonMask { + static const int NSEventButtonMaskPenTip = 1; + static const int NSEventButtonMaskPenLowerSide = 2; + static const int NSEventButtonMaskPenUpperSide = 4; +} + +abstract class NSPointingDeviceType { + static const int NSPointingDeviceTypeUnknown = 0; + static const int NSPointingDeviceTypePen = 1; + static const int NSPointingDeviceTypeCursor = 2; + static const int NSPointingDeviceTypeEraser = 3; +} + +abstract class NSTouchPhase { + static const int NSTouchPhaseBegan = 1; + static const int NSTouchPhaseMoved = 2; + static const int NSTouchPhaseStationary = 4; + static const int NSTouchPhaseEnded = 8; + static const int NSTouchPhaseCancelled = 16; + static const int NSTouchPhaseTouching = 7; + static const int NSTouchPhaseAny = -1; +} + +class NSView extends NSResponder { + NSView._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSView] that points to the same underlying object as [other]. + static NSView castFrom(T other) { + return NSView._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSView] that wraps the given raw object pointer. + static NSView castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSView._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSView]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSView1); + } + + NSView initWithFrame_(CGRect frameRect) { + final _ret = + _lib._objc_msgSend_121(_id, _lib._sel_initWithFrame_1, frameRect); + return NSView._(_ret, _lib, retain: true, release: true); + } + + @override + NSView? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : NSView._(_ret, _lib, retain: true, release: true); + } + + NSWindow? get window { + final _ret = _lib._objc_msgSend_109(_id, _lib._sel_window1); + return _ret.address == 0 + ? null + : NSWindow._(_ret, _lib, retain: true, release: true); + } + + NSView? get superview { + final _ret = _lib._objc_msgSend_122(_id, _lib._sel_superview1); + return _ret.address == 0 + ? null + : NSView._(_ret, _lib, retain: true, release: true); + } + + NSObject get subviews { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_subviews1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + set subviews(NSObject value) { + return _lib._objc_msgSend_123(_id, _lib._sel_setSubviews_1, value._id); + } + + bool isDescendantOf_(NSView view) { + return _lib._objc_msgSend_124(_id, _lib._sel_isDescendantOf_1, view._id); + } + + NSView? ancestorSharedWithView_(NSView view) { + final _ret = _lib._objc_msgSend_125( + _id, _lib._sel_ancestorSharedWithView_1, view._id); + return _ret.address == 0 + ? null + : NSView._(_ret, _lib, retain: true, release: true); + } + + NSView? get opaqueAncestor { + final _ret = _lib._objc_msgSend_122(_id, _lib._sel_opaqueAncestor1); + return _ret.address == 0 + ? null + : NSView._(_ret, _lib, retain: true, release: true); + } + + bool get hidden { + return _lib._objc_msgSend_12(_id, _lib._sel_isHidden1); + } + + set hidden(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setHidden_1, value); + } + + bool get hiddenOrHasHiddenAncestor { + return _lib._objc_msgSend_12(_id, _lib._sel_isHiddenOrHasHiddenAncestor1); + } + + void getRectsBeingDrawn_count_( + ffi.Pointer> rects, ffi.Pointer count) { + _lib._objc_msgSend_126( + _id, _lib._sel_getRectsBeingDrawn_count_1, rects, count); + } + + bool needsToDrawRect_(CGRect rect) { + return _lib._objc_msgSend_127(_id, _lib._sel_needsToDrawRect_1, rect); + } + + bool get wantsDefaultClipping { + return _lib._objc_msgSend_12(_id, _lib._sel_wantsDefaultClipping1); + } + + void viewDidHide() { + _lib._objc_msgSend_1(_id, _lib._sel_viewDidHide1); + } + + void viewDidUnhide() { + _lib._objc_msgSend_1(_id, _lib._sel_viewDidUnhide1); + } + + void addSubview_(NSView view) { + _lib._objc_msgSend_128(_id, _lib._sel_addSubview_1, view._id); + } + + void addSubview_positioned_relativeTo_( + NSView view, int place, NSView? otherView) { + _lib._objc_msgSend_129(_id, _lib._sel_addSubview_positioned_relativeTo_1, + view._id, place, otherView?._id ?? ffi.nullptr); + } + + void sortSubviewsUsingFunction_context_( + ffi.Pointer< + ffi.NativeFunction< + ffi.Int32 Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>> + compare, + ffi.Pointer context) { + _lib._objc_msgSend_130( + _id, _lib._sel_sortSubviewsUsingFunction_context_1, compare, context); + } + + void viewWillMoveToWindow_(NSWindow? newWindow) { + _lib._objc_msgSend_131( + _id, _lib._sel_viewWillMoveToWindow_1, newWindow?._id ?? ffi.nullptr); + } + + void viewDidMoveToWindow() { + _lib._objc_msgSend_1(_id, _lib._sel_viewDidMoveToWindow1); + } + + void viewWillMoveToSuperview_(NSView? newSuperview) { + _lib._objc_msgSend_132(_id, _lib._sel_viewWillMoveToSuperview_1, + newSuperview?._id ?? ffi.nullptr); + } + + void viewDidMoveToSuperview() { + _lib._objc_msgSend_1(_id, _lib._sel_viewDidMoveToSuperview1); + } + + void didAddSubview_(NSView subview) { + _lib._objc_msgSend_128(_id, _lib._sel_didAddSubview_1, subview._id); + } + + void willRemoveSubview_(NSView subview) { + _lib._objc_msgSend_128(_id, _lib._sel_willRemoveSubview_1, subview._id); + } + + void removeFromSuperview() { + _lib._objc_msgSend_1(_id, _lib._sel_removeFromSuperview1); + } + + void replaceSubview_with_(NSView oldView, NSView newView) { + _lib._objc_msgSend_133( + _id, _lib._sel_replaceSubview_with_1, oldView._id, newView._id); + } + + void removeFromSuperviewWithoutNeedingDisplay() { + _lib._objc_msgSend_1( + _id, _lib._sel_removeFromSuperviewWithoutNeedingDisplay1); + } + + void viewDidChangeBackingProperties() { + _lib._objc_msgSend_1(_id, _lib._sel_viewDidChangeBackingProperties1); + } + + bool get postsFrameChangedNotifications { + return _lib._objc_msgSend_12( + _id, _lib._sel_postsFrameChangedNotifications1); + } + + set postsFrameChangedNotifications(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setPostsFrameChangedNotifications_1, value); + } + + void resizeSubviewsWithOldSize_(CGSize oldSize) { + _lib._objc_msgSend_134(_id, _lib._sel_resizeSubviewsWithOldSize_1, oldSize); + } + + void resizeWithOldSuperviewSize_(CGSize oldSize) { + _lib._objc_msgSend_134( + _id, _lib._sel_resizeWithOldSuperviewSize_1, oldSize); + } + + bool get autoresizesSubviews { + return _lib._objc_msgSend_12(_id, _lib._sel_autoresizesSubviews1); + } + + set autoresizesSubviews(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setAutoresizesSubviews_1, value); + } + + int get autoresizingMask { + return _lib._objc_msgSend_135(_id, _lib._sel_autoresizingMask1); + } + + set autoresizingMask(int value) { + return _lib._objc_msgSend_136(_id, _lib._sel_setAutoresizingMask_1, value); + } + + void setFrameOrigin_(CGPoint newOrigin) { + _lib._objc_msgSend_137(_id, _lib._sel_setFrameOrigin_1, newOrigin); + } + + void setFrameSize_(CGSize newSize) { + _lib._objc_msgSend_134(_id, _lib._sel_setFrameSize_1, newSize); + } + + void getFrame(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_138_stret(stret, _id, _lib._sel_frame1) + : stret.ref = _lib._objc_msgSend_138(_id, _lib._sel_frame1); + } + + set frame(CGRect value) { + return _lib._objc_msgSend_139(_id, _lib._sel_setFrame_1, value); + } + + double get frameRotation { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_frameRotation1) + : _lib._objc_msgSend_81(_id, _lib._sel_frameRotation1); + } + + set frameRotation(double value) { + return _lib._objc_msgSend_140(_id, _lib._sel_setFrameRotation_1, value); + } + + double get frameCenterRotation { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_frameCenterRotation1) + : _lib._objc_msgSend_81(_id, _lib._sel_frameCenterRotation1); + } + + set frameCenterRotation(double value) { + return _lib._objc_msgSend_140( + _id, _lib._sel_setFrameCenterRotation_1, value); + } + + void setBoundsOrigin_(CGPoint newOrigin) { + _lib._objc_msgSend_137(_id, _lib._sel_setBoundsOrigin_1, newOrigin); + } + + void setBoundsSize_(CGSize newSize) { + _lib._objc_msgSend_134(_id, _lib._sel_setBoundsSize_1, newSize); + } + + double get boundsRotation { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_boundsRotation1) + : _lib._objc_msgSend_81(_id, _lib._sel_boundsRotation1); + } + + set boundsRotation(double value) { + return _lib._objc_msgSend_140(_id, _lib._sel_setBoundsRotation_1, value); + } + + void translateOriginToPoint_(CGPoint translation) { + _lib._objc_msgSend_137( + _id, _lib._sel_translateOriginToPoint_1, translation); + } + + void scaleUnitSquareToSize_(CGSize newUnitSize) { + _lib._objc_msgSend_134(_id, _lib._sel_scaleUnitSquareToSize_1, newUnitSize); + } + + void rotateByAngle_(double angle) { + _lib._objc_msgSend_141(_id, _lib._sel_rotateByAngle_1, angle); + } + + void getBounds(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_138_stret(stret, _id, _lib._sel_bounds1) + : stret.ref = _lib._objc_msgSend_138(_id, _lib._sel_bounds1); + } + + set bounds(CGRect value) { + return _lib._objc_msgSend_139(_id, _lib._sel_setBounds_1, value); + } + + bool get flipped { + return _lib._objc_msgSend_12(_id, _lib._sel_isFlipped1); + } + + bool get rotatedFromBase { + return _lib._objc_msgSend_12(_id, _lib._sel_isRotatedFromBase1); + } + + bool get rotatedOrScaledFromBase { + return _lib._objc_msgSend_12(_id, _lib._sel_isRotatedOrScaledFromBase1); + } + + bool get opaque { + return _lib._objc_msgSend_12(_id, _lib._sel_isOpaque1); + } + + void convertPoint_fromView_( + ffi.Pointer stret, CGPoint point, NSView? view) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_142_stret(stret, _id, + _lib._sel_convertPoint_fromView_1, point, view?._id ?? ffi.nullptr) + : stret.ref = _lib._objc_msgSend_142(_id, + _lib._sel_convertPoint_fromView_1, point, view?._id ?? ffi.nullptr); + } + + void convertPoint_toView_( + ffi.Pointer stret, CGPoint point, NSView? view) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_142_stret(stret, _id, + _lib._sel_convertPoint_toView_1, point, view?._id ?? ffi.nullptr) + : stret.ref = _lib._objc_msgSend_142(_id, + _lib._sel_convertPoint_toView_1, point, view?._id ?? ffi.nullptr); + } + + void convertSize_fromView_( + ffi.Pointer stret, CGSize size, NSView? view) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_143_stret(stret, _id, + _lib._sel_convertSize_fromView_1, size, view?._id ?? ffi.nullptr) + : stret.ref = _lib._objc_msgSend_143(_id, + _lib._sel_convertSize_fromView_1, size, view?._id ?? ffi.nullptr); + } + + void convertSize_toView_( + ffi.Pointer stret, CGSize size, NSView? view) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_143_stret(stret, _id, + _lib._sel_convertSize_toView_1, size, view?._id ?? ffi.nullptr) + : stret.ref = _lib._objc_msgSend_143(_id, + _lib._sel_convertSize_toView_1, size, view?._id ?? ffi.nullptr); + } + + void convertRect_fromView_( + ffi.Pointer stret, CGRect rect, NSView? view) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_144_stret(stret, _id, + _lib._sel_convertRect_fromView_1, rect, view?._id ?? ffi.nullptr) + : stret.ref = _lib._objc_msgSend_144(_id, + _lib._sel_convertRect_fromView_1, rect, view?._id ?? ffi.nullptr); + } + + void convertRect_toView_( + ffi.Pointer stret, CGRect rect, NSView? view) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_144_stret(stret, _id, + _lib._sel_convertRect_toView_1, rect, view?._id ?? ffi.nullptr) + : stret.ref = _lib._objc_msgSend_144(_id, + _lib._sel_convertRect_toView_1, rect, view?._id ?? ffi.nullptr); + } + + void backingAlignedRect_options_( + ffi.Pointer stret, CGRect rect, int options) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_145_stret( + stret, _id, _lib._sel_backingAlignedRect_options_1, rect, options) + : stret.ref = _lib._objc_msgSend_145( + _id, _lib._sel_backingAlignedRect_options_1, rect, options); + } + + void centerScanRect_(ffi.Pointer stret, CGRect rect) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_146_stret( + stret, _id, _lib._sel_centerScanRect_1, rect) + : stret.ref = + _lib._objc_msgSend_146(_id, _lib._sel_centerScanRect_1, rect); + } + + void convertPointToBacking_(ffi.Pointer stret, CGPoint point) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_147_stret( + stret, _id, _lib._sel_convertPointToBacking_1, point) + : stret.ref = _lib._objc_msgSend_147( + _id, _lib._sel_convertPointToBacking_1, point); + } + + void convertPointFromBacking_(ffi.Pointer stret, CGPoint point) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_147_stret( + stret, _id, _lib._sel_convertPointFromBacking_1, point) + : stret.ref = _lib._objc_msgSend_147( + _id, _lib._sel_convertPointFromBacking_1, point); + } + + void convertSizeToBacking_(ffi.Pointer stret, CGSize size) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_148_stret( + stret, _id, _lib._sel_convertSizeToBacking_1, size) + : stret.ref = + _lib._objc_msgSend_148(_id, _lib._sel_convertSizeToBacking_1, size); + } + + void convertSizeFromBacking_(ffi.Pointer stret, CGSize size) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_148_stret( + stret, _id, _lib._sel_convertSizeFromBacking_1, size) + : stret.ref = _lib._objc_msgSend_148( + _id, _lib._sel_convertSizeFromBacking_1, size); + } + + void convertRectToBacking_(ffi.Pointer stret, CGRect rect) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_146_stret( + stret, _id, _lib._sel_convertRectToBacking_1, rect) + : stret.ref = + _lib._objc_msgSend_146(_id, _lib._sel_convertRectToBacking_1, rect); + } + + void convertRectFromBacking_(ffi.Pointer stret, CGRect rect) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_146_stret( + stret, _id, _lib._sel_convertRectFromBacking_1, rect) + : stret.ref = _lib._objc_msgSend_146( + _id, _lib._sel_convertRectFromBacking_1, rect); + } + + void convertPointToLayer_(ffi.Pointer stret, CGPoint point) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_147_stret( + stret, _id, _lib._sel_convertPointToLayer_1, point) + : stret.ref = + _lib._objc_msgSend_147(_id, _lib._sel_convertPointToLayer_1, point); + } + + void convertPointFromLayer_(ffi.Pointer stret, CGPoint point) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_147_stret( + stret, _id, _lib._sel_convertPointFromLayer_1, point) + : stret.ref = _lib._objc_msgSend_147( + _id, _lib._sel_convertPointFromLayer_1, point); + } + + void convertSizeToLayer_(ffi.Pointer stret, CGSize size) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_148_stret( + stret, _id, _lib._sel_convertSizeToLayer_1, size) + : stret.ref = + _lib._objc_msgSend_148(_id, _lib._sel_convertSizeToLayer_1, size); + } + + void convertSizeFromLayer_(ffi.Pointer stret, CGSize size) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_148_stret( + stret, _id, _lib._sel_convertSizeFromLayer_1, size) + : stret.ref = + _lib._objc_msgSend_148(_id, _lib._sel_convertSizeFromLayer_1, size); + } + + void convertRectToLayer_(ffi.Pointer stret, CGRect rect) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_146_stret( + stret, _id, _lib._sel_convertRectToLayer_1, rect) + : stret.ref = + _lib._objc_msgSend_146(_id, _lib._sel_convertRectToLayer_1, rect); + } + + void convertRectFromLayer_(ffi.Pointer stret, CGRect rect) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_146_stret( + stret, _id, _lib._sel_convertRectFromLayer_1, rect) + : stret.ref = + _lib._objc_msgSend_146(_id, _lib._sel_convertRectFromLayer_1, rect); + } + + bool get canDrawConcurrently { + return _lib._objc_msgSend_12(_id, _lib._sel_canDrawConcurrently1); + } + + set canDrawConcurrently(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setCanDrawConcurrently_1, value); + } + + bool get canDraw { + return _lib._objc_msgSend_12(_id, _lib._sel_canDraw1); + } + + void setNeedsDisplayInRect_(CGRect invalidRect) { + _lib._objc_msgSend_149(_id, _lib._sel_setNeedsDisplayInRect_1, invalidRect); + } + + bool get needsDisplay { + return _lib._objc_msgSend_12(_id, _lib._sel_needsDisplay1); + } + + set needsDisplay(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setNeedsDisplay_1, value); + } + + void lockFocus() { + _lib._objc_msgSend_1(_id, _lib._sel_lockFocus1); + } + + void unlockFocus() { + _lib._objc_msgSend_1(_id, _lib._sel_unlockFocus1); + } + + bool lockFocusIfCanDraw() { + return _lib._objc_msgSend_12(_id, _lib._sel_lockFocusIfCanDraw1); + } + + bool lockFocusIfCanDrawInContext_(NSGraphicsContext context) { + return _lib._objc_msgSend_150( + _id, _lib._sel_lockFocusIfCanDrawInContext_1, context._id); + } + + static NSView? getFocusView(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_122(_lib._class_NSView1, _lib._sel_focusView1); + return _ret.address == 0 + ? null + : NSView._(_ret, _lib, retain: true, release: true); + } + + void getVisibleRect(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_138_stret(stret, _id, _lib._sel_visibleRect1) + : stret.ref = _lib._objc_msgSend_138(_id, _lib._sel_visibleRect1); + } + + void display() { + _lib._objc_msgSend_1(_id, _lib._sel_display1); + } + + void displayIfNeeded() { + _lib._objc_msgSend_1(_id, _lib._sel_displayIfNeeded1); + } + + void displayIfNeededIgnoringOpacity() { + _lib._objc_msgSend_1(_id, _lib._sel_displayIfNeededIgnoringOpacity1); + } + + void displayRect_(CGRect rect) { + _lib._objc_msgSend_149(_id, _lib._sel_displayRect_1, rect); + } + + void displayIfNeededInRect_(CGRect rect) { + _lib._objc_msgSend_149(_id, _lib._sel_displayIfNeededInRect_1, rect); + } + + void displayRectIgnoringOpacity_(CGRect rect) { + _lib._objc_msgSend_149(_id, _lib._sel_displayRectIgnoringOpacity_1, rect); + } + + void displayIfNeededInRectIgnoringOpacity_(CGRect rect) { + _lib._objc_msgSend_149( + _id, _lib._sel_displayIfNeededInRectIgnoringOpacity_1, rect); + } + + void drawRect_(CGRect dirtyRect) { + _lib._objc_msgSend_149(_id, _lib._sel_drawRect_1, dirtyRect); + } + + void displayRectIgnoringOpacity_inContext_( + CGRect rect, NSGraphicsContext context) { + _lib._objc_msgSend_151(_id, + _lib._sel_displayRectIgnoringOpacity_inContext_1, rect, context._id); + } + + NSBitmapImageRep? bitmapImageRepForCachingDisplayInRect_(CGRect rect) { + final _ret = _lib._objc_msgSend_152( + _id, _lib._sel_bitmapImageRepForCachingDisplayInRect_1, rect); + return _ret.address == 0 + ? null + : NSBitmapImageRep._(_ret, _lib, retain: true, release: true); + } + + void cacheDisplayInRect_toBitmapImageRep_( + CGRect rect, NSBitmapImageRep bitmapImageRep) { + _lib._objc_msgSend_153(_id, _lib._sel_cacheDisplayInRect_toBitmapImageRep_1, + rect, bitmapImageRep._id); + } + + void viewWillDraw() { + _lib._objc_msgSend_1(_id, _lib._sel_viewWillDraw1); + } + + void scrollPoint_(CGPoint point) { + _lib._objc_msgSend_137(_id, _lib._sel_scrollPoint_1, point); + } + + bool scrollRectToVisible_(CGRect rect) { + return _lib._objc_msgSend_127(_id, _lib._sel_scrollRectToVisible_1, rect); + } + + bool autoscroll_(NSEvent event) { + return _lib._objc_msgSend_154(_id, _lib._sel_autoscroll_1, event._id); + } + + void adjustScroll_(ffi.Pointer stret, CGRect newVisible) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_146_stret( + stret, _id, _lib._sel_adjustScroll_1, newVisible) + : stret.ref = + _lib._objc_msgSend_146(_id, _lib._sel_adjustScroll_1, newVisible); + } + + void scrollRect_by_(CGRect rect, CGSize delta) { + _lib._objc_msgSend_155(_id, _lib._sel_scrollRect_by_1, rect, delta); + } + + void translateRectsNeedingDisplayInRect_by_(CGRect clipRect, CGSize delta) { + _lib._objc_msgSend_155(_id, + _lib._sel_translateRectsNeedingDisplayInRect_by_1, clipRect, delta); + } + + NSView? hitTest_(CGPoint point) { + final _ret = _lib._objc_msgSend_156(_id, _lib._sel_hitTest_1, point); + return _ret.address == 0 + ? null + : NSView._(_ret, _lib, retain: true, release: true); + } + + bool mouse_inRect_(CGPoint point, CGRect rect) { + return _lib._objc_msgSend_157(_id, _lib._sel_mouse_inRect_1, point, rect); + } + + NSView? viewWithTag_(int tag) { + final _ret = _lib._objc_msgSend_158(_id, _lib._sel_viewWithTag_1, tag); + return _ret.address == 0 + ? null + : NSView._(_ret, _lib, retain: true, release: true); + } + + int get tag { + return _lib._objc_msgSend_77(_id, _lib._sel_tag1); + } + + @override + bool performKeyEquivalent_(NSEvent event) { + return _lib._objc_msgSend_154( + _id, _lib._sel_performKeyEquivalent_1, event._id); + } + + bool acceptsFirstMouse_(NSEvent? event) { + return _lib._objc_msgSend_159( + _id, _lib._sel_acceptsFirstMouse_1, event?._id ?? ffi.nullptr); + } + + bool shouldDelayWindowOrderingForEvent_(NSEvent event) { + return _lib._objc_msgSend_154( + _id, _lib._sel_shouldDelayWindowOrderingForEvent_1, event._id); + } + + bool get needsPanelToBecomeKey { + return _lib._objc_msgSend_12(_id, _lib._sel_needsPanelToBecomeKey1); + } + + bool get mouseDownCanMoveWindow { + return _lib._objc_msgSend_12(_id, _lib._sel_mouseDownCanMoveWindow1); + } + + bool get acceptsTouchEvents { + return _lib._objc_msgSend_12(_id, _lib._sel_acceptsTouchEvents1); + } + + set acceptsTouchEvents(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setAcceptsTouchEvents_1, value); + } + + bool get wantsRestingTouches { + return _lib._objc_msgSend_12(_id, _lib._sel_wantsRestingTouches1); + } + + set wantsRestingTouches(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setWantsRestingTouches_1, value); + } + + CALayer makeBackingLayer() { + final _ret = _lib._objc_msgSend_160(_id, _lib._sel_makeBackingLayer1); + return CALayer._(_ret, _lib, retain: true, release: true); + } + + int get layerContentsRedrawPolicy { + return _lib._objc_msgSend_161(_id, _lib._sel_layerContentsRedrawPolicy1); + } + + set layerContentsRedrawPolicy(int value) { + return _lib._objc_msgSend_162( + _id, _lib._sel_setLayerContentsRedrawPolicy_1, value); + } + + int get layerContentsPlacement { + return _lib._objc_msgSend_163(_id, _lib._sel_layerContentsPlacement1); + } + + set layerContentsPlacement(int value) { + return _lib._objc_msgSend_164( + _id, _lib._sel_setLayerContentsPlacement_1, value); + } + + bool get wantsLayer { + return _lib._objc_msgSend_12(_id, _lib._sel_wantsLayer1); + } + + set wantsLayer(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setWantsLayer_1, value); + } + + CALayer? get layer { + final _ret = _lib._objc_msgSend_165(_id, _lib._sel_layer1); + return _ret.address == 0 + ? null + : CALayer._(_ret, _lib, retain: true, release: true); + } + + set layer(CALayer? value) { + return _lib._objc_msgSend_166( + _id, _lib._sel_setLayer_1, value?._id ?? ffi.nullptr); + } + + bool get wantsUpdateLayer { + return _lib._objc_msgSend_12(_id, _lib._sel_wantsUpdateLayer1); + } + + void updateLayer() { + _lib._objc_msgSend_1(_id, _lib._sel_updateLayer1); + } + + bool get canDrawSubviewsIntoLayer { + return _lib._objc_msgSend_12(_id, _lib._sel_canDrawSubviewsIntoLayer1); + } + + set canDrawSubviewsIntoLayer(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setCanDrawSubviewsIntoLayer_1, value); + } + + void layoutSubtreeIfNeeded() { + _lib._objc_msgSend_1(_id, _lib._sel_layoutSubtreeIfNeeded1); + } + + void layout() { + _lib._objc_msgSend_1(_id, _lib._sel_layout1); + } + + bool get needsLayout { + return _lib._objc_msgSend_12(_id, _lib._sel_needsLayout1); + } + + set needsLayout(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setNeedsLayout_1, value); + } + + double get alphaValue { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_alphaValue1) + : _lib._objc_msgSend_81(_id, _lib._sel_alphaValue1); + } + + set alphaValue(double value) { + return _lib._objc_msgSend_140(_id, _lib._sel_setAlphaValue_1, value); + } + + bool get layerUsesCoreImageFilters { + return _lib._objc_msgSend_12(_id, _lib._sel_layerUsesCoreImageFilters1); + } + + set layerUsesCoreImageFilters(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setLayerUsesCoreImageFilters_1, value); + } + + NSObject get backgroundFilters { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_backgroundFilters1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + set backgroundFilters(NSObject value) { + return _lib._objc_msgSend_123( + _id, _lib._sel_setBackgroundFilters_1, value._id); + } + + CIFilter? get compositingFilter { + final _ret = _lib._objc_msgSend_167(_id, _lib._sel_compositingFilter1); + return _ret.address == 0 + ? null + : CIFilter._(_ret, _lib, retain: true, release: true); + } + + set compositingFilter(CIFilter? value) { + return _lib._objc_msgSend_168( + _id, _lib._sel_setCompositingFilter_1, value?._id ?? ffi.nullptr); + } + + NSObject get contentFilters { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_contentFilters1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + set contentFilters(NSObject value) { + return _lib._objc_msgSend_123( + _id, _lib._sel_setContentFilters_1, value._id); + } + + NSShadow? get shadow { + final _ret = _lib._objc_msgSend_169(_id, _lib._sel_shadow1); + return _ret.address == 0 + ? null + : NSShadow._(_ret, _lib, retain: true, release: true); + } + + set shadow(NSShadow? value) { + return _lib._objc_msgSend_170( + _id, _lib._sel_setShadow_1, value?._id ?? ffi.nullptr); + } + + bool get clipsToBounds { + return _lib._objc_msgSend_12(_id, _lib._sel_clipsToBounds1); + } + + set clipsToBounds(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setClipsToBounds_1, value); + } + + bool get postsBoundsChangedNotifications { + return _lib._objc_msgSend_12( + _id, _lib._sel_postsBoundsChangedNotifications1); + } + + set postsBoundsChangedNotifications(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setPostsBoundsChangedNotifications_1, value); + } + + NSScrollView? get enclosingScrollView { + final _ret = _lib._objc_msgSend_171(_id, _lib._sel_enclosingScrollView1); + return _ret.address == 0 + ? null + : NSScrollView._(_ret, _lib, retain: true, release: true); + } + + NSMenu? menuForEvent_(NSEvent event) { + final _ret = + _lib._objc_msgSend_214(_id, _lib._sel_menuForEvent_1, event._id); + return _ret.address == 0 + ? null + : NSMenu._(_ret, _lib, retain: true, release: true); + } + + static NSMenu? getDefaultMenu(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_178(_lib._class_NSView1, _lib._sel_defaultMenu1); + return _ret.address == 0 + ? null + : NSMenu._(_ret, _lib, retain: true, release: true); + } + + void willOpenMenu_withEvent_(NSMenu menu, NSEvent event) { + _lib._objc_msgSend_215( + _id, _lib._sel_willOpenMenu_withEvent_1, menu._id, event._id); + } + + void didCloseMenu_withEvent_(NSMenu menu, NSEvent? event) { + _lib._objc_msgSend_216(_id, _lib._sel_didCloseMenu_withEvent_1, menu._id, + event?._id ?? ffi.nullptr); + } + + NSString? get toolTip { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_toolTip1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + set toolTip(NSString? value) { + return _lib._objc_msgSend_191( + _id, _lib._sel_setToolTip_1, value?._id ?? ffi.nullptr); + } + + int addToolTipRect_owner_userData_( + CGRect rect, NSObject owner, ffi.Pointer data) { + return _lib._objc_msgSend_217( + _id, _lib._sel_addToolTipRect_owner_userData_1, rect, owner._id, data); + } + + void removeToolTip_(int tag) { + _lib._objc_msgSend_200(_id, _lib._sel_removeToolTip_1, tag); + } + + void removeAllToolTips() { + _lib._objc_msgSend_1(_id, _lib._sel_removeAllToolTips1); + } + + void viewWillStartLiveResize() { + _lib._objc_msgSend_1(_id, _lib._sel_viewWillStartLiveResize1); + } + + void viewDidEndLiveResize() { + _lib._objc_msgSend_1(_id, _lib._sel_viewDidEndLiveResize1); + } + + bool get inLiveResize { + return _lib._objc_msgSend_12(_id, _lib._sel_inLiveResize1); + } + + bool get preservesContentDuringLiveResize { + return _lib._objc_msgSend_12( + _id, _lib._sel_preservesContentDuringLiveResize1); + } + + void getRectPreservedDuringLiveResize(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_138_stret( + stret, _id, _lib._sel_rectPreservedDuringLiveResize1) + : stret.ref = _lib._objc_msgSend_138( + _id, _lib._sel_rectPreservedDuringLiveResize1); + } + + void getRectsExposedDuringLiveResize_count_( + ffi.Pointer exposedRects, ffi.Pointer count) { + _lib._objc_msgSend_218(_id, + _lib._sel_getRectsExposedDuringLiveResize_count_1, exposedRects, count); + } + + NSTextInputContext? get inputContext { + final _ret = _lib._objc_msgSend_219(_id, _lib._sel_inputContext1); + return _ret.address == 0 + ? null + : NSTextInputContext._(_ret, _lib, retain: true, release: true); + } + + void rectForSmartMagnificationAtPoint_inRect_( + ffi.Pointer stret, CGPoint location, CGRect visibleRect) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_220_stret( + stret, + _id, + _lib._sel_rectForSmartMagnificationAtPoint_inRect_1, + location, + visibleRect) + : stret.ref = _lib._objc_msgSend_220( + _id, + _lib._sel_rectForSmartMagnificationAtPoint_inRect_1, + location, + visibleRect); + } + + int get userInterfaceLayoutDirection { + return _lib._objc_msgSend_212(_id, _lib._sel_userInterfaceLayoutDirection1); + } + + set userInterfaceLayoutDirection(int value) { + return _lib._objc_msgSend_213( + _id, _lib._sel_setUserInterfaceLayoutDirection_1, value); + } + + void prepareForReuse() { + _lib._objc_msgSend_1(_id, _lib._sel_prepareForReuse1); + } + + static bool getCompatibleWithResponsiveScrolling( + AuthenticationServices _lib) { + return _lib._objc_msgSend_12( + _lib._class_NSView1, _lib._sel_isCompatibleWithResponsiveScrolling1); + } + + void prepareContentInRect_(CGRect rect) { + _lib._objc_msgSend_149(_id, _lib._sel_prepareContentInRect_1, rect); + } + + void getPreparedContentRect(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_138_stret( + stret, _id, _lib._sel_preparedContentRect1) + : stret.ref = + _lib._objc_msgSend_138(_id, _lib._sel_preparedContentRect1); + } + + set preparedContentRect(CGRect value) { + return _lib._objc_msgSend_139( + _id, _lib._sel_setPreparedContentRect_1, value); + } + + bool get allowsVibrancy { + return _lib._objc_msgSend_12(_id, _lib._sel_allowsVibrancy1); + } + + void viewDidChangeEffectiveAppearance() { + _lib._objc_msgSend_1(_id, _lib._sel_viewDidChangeEffectiveAppearance1); + } + + @override + NSView init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSView._(_ret, _lib, retain: true, release: true); + } + + static NSView new1(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSView1, _lib._sel_new1); + return NSView._(_ret, _lib, retain: false, release: true); + } + + static NSView allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSView1, _lib._sel_allocWithZone_1, zone); + return NSView._(_ret, _lib, retain: false, release: true); + } + + static NSView alloc(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSView1, _lib._sel_alloc1); + return NSView._(_ret, _lib, retain: false, release: true); + } +} + +final class CGRect extends ffi.Struct { + external CGPoint origin; + + external CGSize size; +} + +final class CGSize extends ffi.Struct { + @ffi.Double() + external double width; + + @ffi.Double() + external double height; +} + +abstract class NSWindowOrderingMode { + static const int NSWindowAbove = 1; + static const int NSWindowBelow = -1; + static const int NSWindowOut = 0; +} + +abstract class NSAutoresizingMaskOptions { + static const int NSViewNotSizable = 0; + static const int NSViewMinXMargin = 1; + static const int NSViewWidthSizable = 2; + static const int NSViewMaxXMargin = 4; + static const int NSViewMinYMargin = 8; + static const int NSViewHeightSizable = 16; + static const int NSViewMaxYMargin = 32; +} + +abstract class NSAlignmentOptions { + static const int NSAlignMinXInward = 1; + static const int NSAlignMinYInward = 2; + static const int NSAlignMaxXInward = 4; + static const int NSAlignMaxYInward = 8; + static const int NSAlignWidthInward = 16; + static const int NSAlignHeightInward = 32; + static const int NSAlignMinXOutward = 256; + static const int NSAlignMinYOutward = 512; + static const int NSAlignMaxXOutward = 1024; + static const int NSAlignMaxYOutward = 2048; + static const int NSAlignWidthOutward = 4096; + static const int NSAlignHeightOutward = 8192; + static const int NSAlignMinXNearest = 65536; + static const int NSAlignMinYNearest = 131072; + static const int NSAlignMaxXNearest = 262144; + static const int NSAlignMaxYNearest = 524288; + static const int NSAlignWidthNearest = 1048576; + static const int NSAlignHeightNearest = 2097152; + static const int NSAlignRectFlipped = -9223372036854775808; + static const int NSAlignAllEdgesInward = 15; + static const int NSAlignAllEdgesOutward = 3840; + static const int NSAlignAllEdgesNearest = 983040; +} + +class NSBitmapImageRep extends _ObjCWrapper { + NSBitmapImageRep._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSBitmapImageRep] that points to the same underlying object as [other]. + static NSBitmapImageRep castFrom(T other) { + return NSBitmapImageRep._(other._id, other._lib, + retain: true, release: true); + } + + /// Returns a [NSBitmapImageRep] that wraps the given raw object pointer. + static NSBitmapImageRep castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSBitmapImageRep._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSBitmapImageRep]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_NSBitmapImageRep1); + } +} + +class CALayer extends _ObjCWrapper { + CALayer._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [CALayer] that points to the same underlying object as [other]. + static CALayer castFrom(T other) { + return CALayer._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [CALayer] that wraps the given raw object pointer. + static CALayer castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return CALayer._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [CALayer]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_CALayer1); + } +} + +abstract class NSViewLayerContentsRedrawPolicy { + static const int NSViewLayerContentsRedrawNever = 0; + static const int NSViewLayerContentsRedrawOnSetNeedsDisplay = 1; + static const int NSViewLayerContentsRedrawDuringViewResize = 2; + static const int NSViewLayerContentsRedrawBeforeViewResize = 3; + static const int NSViewLayerContentsRedrawCrossfade = 4; +} + +abstract class NSViewLayerContentsPlacement { + static const int NSViewLayerContentsPlacementScaleAxesIndependently = 0; + static const int NSViewLayerContentsPlacementScaleProportionallyToFit = 1; + static const int NSViewLayerContentsPlacementScaleProportionallyToFill = 2; + static const int NSViewLayerContentsPlacementCenter = 3; + static const int NSViewLayerContentsPlacementTop = 4; + static const int NSViewLayerContentsPlacementTopRight = 5; + static const int NSViewLayerContentsPlacementRight = 6; + static const int NSViewLayerContentsPlacementBottomRight = 7; + static const int NSViewLayerContentsPlacementBottom = 8; + static const int NSViewLayerContentsPlacementBottomLeft = 9; + static const int NSViewLayerContentsPlacementLeft = 10; + static const int NSViewLayerContentsPlacementTopLeft = 11; +} + +class CIFilter extends _ObjCWrapper { + CIFilter._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [CIFilter] that points to the same underlying object as [other]. + static CIFilter castFrom(T other) { + return CIFilter._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [CIFilter] that wraps the given raw object pointer. + static CIFilter castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return CIFilter._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [CIFilter]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_CIFilter1); + } +} + +class NSShadow extends _ObjCWrapper { + NSShadow._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSShadow] that points to the same underlying object as [other]. + static NSShadow castFrom(T other) { + return NSShadow._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSShadow] that wraps the given raw object pointer. + static NSShadow castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSShadow._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSShadow]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSShadow1); + } +} + +class NSScrollView extends _ObjCWrapper { + NSScrollView._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSScrollView] that points to the same underlying object as [other]. + static NSScrollView castFrom(T other) { + return NSScrollView._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSScrollView] that wraps the given raw object pointer. + static NSScrollView castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSScrollView._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSScrollView]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSScrollView1); + } +} + +class NSMenu extends NSObject { + NSMenu._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSMenu] that points to the same underlying object as [other]. + static NSMenu castFrom(T other) { + return NSMenu._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSMenu] that wraps the given raw object pointer. + static NSMenu castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSMenu._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSMenu]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSMenu1); + } + + NSMenu initWithTitle_(NSString title) { + final _ret = + _lib._objc_msgSend_41(_id, _lib._sel_initWithTitle_1, title._id); + return NSMenu._(_ret, _lib, retain: true, release: true); + } + + NSMenu initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_172(_id, _lib._sel_initWithCoder_1, coder._id); + return NSMenu._(_ret, _lib, retain: true, release: true); + } + + NSString get title { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_title1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + set title(NSString value) { + return _lib._objc_msgSend_173(_id, _lib._sel_setTitle_1, value._id); + } + + static void popUpContextMenu_withEvent_forView_( + AuthenticationServices _lib, NSMenu menu, NSEvent event, NSView view) { + _lib._objc_msgSend_174( + _lib._class_NSMenu1, + _lib._sel_popUpContextMenu_withEvent_forView_1, + menu._id, + event._id, + view._id); + } + + static void popUpContextMenu_withEvent_forView_withFont_( + AuthenticationServices _lib, + NSMenu menu, + NSEvent event, + NSView view, + NSFont? font) { + _lib._objc_msgSend_175( + _lib._class_NSMenu1, + _lib._sel_popUpContextMenu_withEvent_forView_withFont_1, + menu._id, + event._id, + view._id, + font?._id ?? ffi.nullptr); + } + + bool popUpMenuPositioningItem_atLocation_inView_( + NSMenuItem? item, CGPoint location, NSView? view) { + return _lib._objc_msgSend_194( + _id, + _lib._sel_popUpMenuPositioningItem_atLocation_inView_1, + item?._id ?? ffi.nullptr, + location, + view?._id ?? ffi.nullptr); + } + + static void setMenuBarVisible_(AuthenticationServices _lib, bool visible) { + _lib._objc_msgSend_195( + _lib._class_NSMenu1, _lib._sel_setMenuBarVisible_1, visible); + } + + static bool menuBarVisible(AuthenticationServices _lib) { + return _lib._objc_msgSend_12( + _lib._class_NSMenu1, _lib._sel_menuBarVisible1); + } + + NSMenu? get supermenu { + final _ret = _lib._objc_msgSend_178(_id, _lib._sel_supermenu1); + return _ret.address == 0 + ? null + : NSMenu._(_ret, _lib, retain: true, release: true); + } + + set supermenu(NSMenu? value) { + return _lib._objc_msgSend_179( + _id, _lib._sel_setSupermenu_1, value?._id ?? ffi.nullptr); + } + + void insertItem_atIndex_(NSMenuItem newItem, int index) { + _lib._objc_msgSend_196( + _id, _lib._sel_insertItem_atIndex_1, newItem._id, index); + } + + void addItem_(NSMenuItem newItem) { + _lib._objc_msgSend_197(_id, _lib._sel_addItem_1, newItem._id); + } + + NSMenuItem insertItemWithTitle_action_keyEquivalent_atIndex_(NSString string, + ffi.Pointer selector, NSString charCode, int index) { + final _ret = _lib._objc_msgSend_198( + _id, + _lib._sel_insertItemWithTitle_action_keyEquivalent_atIndex_1, + string._id, + selector, + charCode._id, + index); + return NSMenuItem._(_ret, _lib, retain: true, release: true); + } + + NSMenuItem addItemWithTitle_action_keyEquivalent_( + NSString string, ffi.Pointer selector, NSString charCode) { + final _ret = _lib._objc_msgSend_199( + _id, + _lib._sel_addItemWithTitle_action_keyEquivalent_1, + string._id, + selector, + charCode._id); + return NSMenuItem._(_ret, _lib, retain: true, release: true); + } + + void removeItemAtIndex_(int index) { + _lib._objc_msgSend_200(_id, _lib._sel_removeItemAtIndex_1, index); + } + + void removeItem_(NSMenuItem item) { + _lib._objc_msgSend_197(_id, _lib._sel_removeItem_1, item._id); + } + + void setSubmenu_forItem_(NSMenu? menu, NSMenuItem item) { + _lib._objc_msgSend_201(_id, _lib._sel_setSubmenu_forItem_1, + menu?._id ?? ffi.nullptr, item._id); + } + + void removeAllItems() { + _lib._objc_msgSend_1(_id, _lib._sel_removeAllItems1); + } + + NSObject get itemArray { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_itemArray1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + set itemArray(NSObject value) { + return _lib._objc_msgSend_123(_id, _lib._sel_setItemArray_1, value._id); + } + + int get numberOfItems { + return _lib._objc_msgSend_77(_id, _lib._sel_numberOfItems1); + } + + NSMenuItem? itemAtIndex_(int index) { + final _ret = _lib._objc_msgSend_202(_id, _lib._sel_itemAtIndex_1, index); + return _ret.address == 0 + ? null + : NSMenuItem._(_ret, _lib, retain: true, release: true); + } + + int indexOfItem_(NSMenuItem item) { + return _lib._objc_msgSend_203(_id, _lib._sel_indexOfItem_1, item._id); + } + + int indexOfItemWithTitle_(NSString title) { + return _lib._objc_msgSend_32( + _id, _lib._sel_indexOfItemWithTitle_1, title._id); + } + + int indexOfItemWithTag_(int tag) { + return _lib._objc_msgSend_204(_id, _lib._sel_indexOfItemWithTag_1, tag); + } + + int indexOfItemWithRepresentedObject_(NSObject? object) { + return _lib._objc_msgSend_205( + _id, + _lib._sel_indexOfItemWithRepresentedObject_1, + object?._id ?? ffi.nullptr); + } + + int indexOfItemWithSubmenu_(NSMenu? submenu) { + return _lib._objc_msgSend_206( + _id, _lib._sel_indexOfItemWithSubmenu_1, submenu?._id ?? ffi.nullptr); + } + + int indexOfItemWithTarget_andAction_( + NSObject? target, ffi.Pointer actionSelector) { + return _lib._objc_msgSend_207( + _id, + _lib._sel_indexOfItemWithTarget_andAction_1, + target?._id ?? ffi.nullptr, + actionSelector); + } + + NSMenuItem? itemWithTitle_(NSString title) { + final _ret = + _lib._objc_msgSend_208(_id, _lib._sel_itemWithTitle_1, title._id); + return _ret.address == 0 + ? null + : NSMenuItem._(_ret, _lib, retain: true, release: true); + } + + NSMenuItem? itemWithTag_(int tag) { + final _ret = _lib._objc_msgSend_202(_id, _lib._sel_itemWithTag_1, tag); + return _ret.address == 0 + ? null + : NSMenuItem._(_ret, _lib, retain: true, release: true); + } + + bool get autoenablesItems { + return _lib._objc_msgSend_12(_id, _lib._sel_autoenablesItems1); + } + + set autoenablesItems(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setAutoenablesItems_1, value); + } + + void update() { + _lib._objc_msgSend_1(_id, _lib._sel_update1); + } + + bool performKeyEquivalent_(NSEvent event) { + return _lib._objc_msgSend_154( + _id, _lib._sel_performKeyEquivalent_1, event._id); + } + + void itemChanged_(NSMenuItem item) { + _lib._objc_msgSend_197(_id, _lib._sel_itemChanged_1, item._id); + } + + void performActionForItemAtIndex_(int index) { + _lib._objc_msgSend_200(_id, _lib._sel_performActionForItemAtIndex_1, index); + } + + NSObject? get delegate { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_delegate1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + set delegate(NSObject? value) { + return _lib._objc_msgSend_17( + _id, _lib._sel_setDelegate_1, value?._id ?? ffi.nullptr); + } + + double get menuBarHeight { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_menuBarHeight1) + : _lib._objc_msgSend_81(_id, _lib._sel_menuBarHeight1); + } + + void cancelTracking() { + _lib._objc_msgSend_1(_id, _lib._sel_cancelTracking1); + } + + void cancelTrackingWithoutAnimation() { + _lib._objc_msgSend_1(_id, _lib._sel_cancelTrackingWithoutAnimation1); + } + + NSMenuItem? get highlightedItem { + final _ret = _lib._objc_msgSend_180(_id, _lib._sel_highlightedItem1); + return _ret.address == 0 + ? null + : NSMenuItem._(_ret, _lib, retain: true, release: true); + } + + double get minimumWidth { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_minimumWidth1) + : _lib._objc_msgSend_81(_id, _lib._sel_minimumWidth1); + } + + set minimumWidth(double value) { + return _lib._objc_msgSend_140(_id, _lib._sel_setMinimumWidth_1, value); + } + + void getSize(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_209_stret(stret, _id, _lib._sel_size1) + : stret.ref = _lib._objc_msgSend_209(_id, _lib._sel_size1); + } + + NSFont get font { + final _ret = _lib._objc_msgSend_210(_id, _lib._sel_font1); + return NSFont._(_ret, _lib, retain: true, release: true); + } + + set font(NSFont value) { + return _lib._objc_msgSend_211(_id, _lib._sel_setFont_1, value._id); + } + + bool get allowsContextMenuPlugIns { + return _lib._objc_msgSend_12(_id, _lib._sel_allowsContextMenuPlugIns1); + } + + set allowsContextMenuPlugIns(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setAllowsContextMenuPlugIns_1, value); + } + + bool get showsStateColumn { + return _lib._objc_msgSend_12(_id, _lib._sel_showsStateColumn1); + } + + set showsStateColumn(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setShowsStateColumn_1, value); + } + + int get userInterfaceLayoutDirection { + return _lib._objc_msgSend_212(_id, _lib._sel_userInterfaceLayoutDirection1); + } + + set userInterfaceLayoutDirection(int value) { + return _lib._objc_msgSend_213( + _id, _lib._sel_setUserInterfaceLayoutDirection_1, value); + } + + @override + NSMenu init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSMenu._(_ret, _lib, retain: true, release: true); + } + + static NSMenu new1(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSMenu1, _lib._sel_new1); + return NSMenu._(_ret, _lib, retain: false, release: true); + } + + static NSMenu allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSMenu1, _lib._sel_allocWithZone_1, zone); + return NSMenu._(_ret, _lib, retain: false, release: true); + } + + static NSMenu alloc(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSMenu1, _lib._sel_alloc1); + return NSMenu._(_ret, _lib, retain: false, release: true); + } +} + +class NSFont extends _ObjCWrapper { + NSFont._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSFont] that points to the same underlying object as [other]. + static NSFont castFrom(T other) { + return NSFont._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSFont] that wraps the given raw object pointer. + static NSFont castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSFont._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSFont]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSFont1); + } +} + +class NSMenuItem extends NSObject { + NSMenuItem._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSMenuItem] that points to the same underlying object as [other]. + static NSMenuItem castFrom(T other) { + return NSMenuItem._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSMenuItem] that wraps the given raw object pointer. + static NSMenuItem castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSMenuItem._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSMenuItem]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSMenuItem1); + } + + static bool getUsesUserKeyEquivalents(AuthenticationServices _lib) { + return _lib._objc_msgSend_12( + _lib._class_NSMenuItem1, _lib._sel_usesUserKeyEquivalents1); + } + + static void setUsesUserKeyEquivalents( + AuthenticationServices _lib, bool value) { + return _lib._objc_msgSend_103( + _lib._class_NSMenuItem1, _lib._sel_setUsesUserKeyEquivalents_1, value); + } + + static NSMenuItem separatorItem(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_176( + _lib._class_NSMenuItem1, _lib._sel_separatorItem1); + return NSMenuItem._(_ret, _lib, retain: true, release: true); + } + + static NSMenuItem sectionHeaderWithTitle_( + AuthenticationServices _lib, NSString title) { + final _ret = _lib._objc_msgSend_41( + _lib._class_NSMenuItem1, _lib._sel_sectionHeaderWithTitle_1, title._id); + return NSMenuItem._(_ret, _lib, retain: true, release: true); + } + + NSMenuItem initWithTitle_action_keyEquivalent_( + NSString string, ffi.Pointer selector, NSString charCode) { + final _ret = _lib._objc_msgSend_177( + _id, + _lib._sel_initWithTitle_action_keyEquivalent_1, + string._id, + selector, + charCode._id); + return NSMenuItem._(_ret, _lib, retain: true, release: true); + } + + NSMenuItem initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_172(_id, _lib._sel_initWithCoder_1, coder._id); + return NSMenuItem._(_ret, _lib, retain: true, release: true); + } + + NSMenu? get menu { + final _ret = _lib._objc_msgSend_178(_id, _lib._sel_menu1); + return _ret.address == 0 + ? null + : NSMenu._(_ret, _lib, retain: true, release: true); + } + + set menu(NSMenu? value) { + return _lib._objc_msgSend_179( + _id, _lib._sel_setMenu_1, value?._id ?? ffi.nullptr); + } + + bool get hasSubmenu { + return _lib._objc_msgSend_12(_id, _lib._sel_hasSubmenu1); + } + + NSMenu? get submenu { + final _ret = _lib._objc_msgSend_178(_id, _lib._sel_submenu1); + return _ret.address == 0 + ? null + : NSMenu._(_ret, _lib, retain: true, release: true); + } + + set submenu(NSMenu? value) { + return _lib._objc_msgSend_179( + _id, _lib._sel_setSubmenu_1, value?._id ?? ffi.nullptr); + } + + NSMenuItem? get parentItem { + final _ret = _lib._objc_msgSend_180(_id, _lib._sel_parentItem1); + return _ret.address == 0 + ? null + : NSMenuItem._(_ret, _lib, retain: true, release: true); + } + + NSString get title { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_title1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + set title(NSString value) { + return _lib._objc_msgSend_173(_id, _lib._sel_setTitle_1, value._id); + } + + NSAttributedString? get attributedTitle { + final _ret = _lib._objc_msgSend_182(_id, _lib._sel_attributedTitle1); + return _ret.address == 0 + ? null + : NSAttributedString._(_ret, _lib, retain: true, release: true); + } + + set attributedTitle(NSAttributedString? value) { + return _lib._objc_msgSend_183( + _id, _lib._sel_setAttributedTitle_1, value?._id ?? ffi.nullptr); + } + + bool get separatorItem1 { + return _lib._objc_msgSend_12(_id, _lib._sel_isSeparatorItem1); + } + + bool get sectionHeader { + return _lib._objc_msgSend_12(_id, _lib._sel_isSectionHeader1); + } + + NSString get keyEquivalent { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_keyEquivalent1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + set keyEquivalent(NSString value) { + return _lib._objc_msgSend_173(_id, _lib._sel_setKeyEquivalent_1, value._id); + } + + int get keyEquivalentModifierMask { + return _lib._objc_msgSend_108(_id, _lib._sel_keyEquivalentModifierMask1); + } + + set keyEquivalentModifierMask(int value) { + return _lib._objc_msgSend_184( + _id, _lib._sel_setKeyEquivalentModifierMask_1, value); + } + + NSString get userKeyEquivalent { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_userKeyEquivalent1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + bool get allowsKeyEquivalentWhenHidden { + return _lib._objc_msgSend_12(_id, _lib._sel_allowsKeyEquivalentWhenHidden1); + } + + set allowsKeyEquivalentWhenHidden(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setAllowsKeyEquivalentWhenHidden_1, value); + } + + bool get allowsAutomaticKeyEquivalentLocalization { + return _lib._objc_msgSend_12( + _id, _lib._sel_allowsAutomaticKeyEquivalentLocalization1); + } + + set allowsAutomaticKeyEquivalentLocalization(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setAllowsAutomaticKeyEquivalentLocalization_1, value); + } + + bool get allowsAutomaticKeyEquivalentMirroring { + return _lib._objc_msgSend_12( + _id, _lib._sel_allowsAutomaticKeyEquivalentMirroring1); + } + + set allowsAutomaticKeyEquivalentMirroring(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setAllowsAutomaticKeyEquivalentMirroring_1, value); + } + + NSImage? get image { + final _ret = _lib._objc_msgSend_185(_id, _lib._sel_image1); + return _ret.address == 0 + ? null + : NSImage._(_ret, _lib, retain: true, release: true); + } + + set image(NSImage? value) { + return _lib._objc_msgSend_186( + _id, _lib._sel_setImage_1, value?._id ?? ffi.nullptr); + } + + int get state { + return _lib._objc_msgSend_77(_id, _lib._sel_state1); + } + + set state(int value) { + return _lib._objc_msgSend_187(_id, _lib._sel_setState_1, value); + } + + NSImage get onStateImage { + final _ret = _lib._objc_msgSend_188(_id, _lib._sel_onStateImage1); + return NSImage._(_ret, _lib, retain: true, release: true); + } + + set onStateImage(NSImage value) { + return _lib._objc_msgSend_189(_id, _lib._sel_setOnStateImage_1, value._id); + } + + NSImage? get offStateImage { + final _ret = _lib._objc_msgSend_185(_id, _lib._sel_offStateImage1); + return _ret.address == 0 + ? null + : NSImage._(_ret, _lib, retain: true, release: true); + } + + set offStateImage(NSImage? value) { + return _lib._objc_msgSend_186( + _id, _lib._sel_setOffStateImage_1, value?._id ?? ffi.nullptr); + } + + NSImage get mixedStateImage { + final _ret = _lib._objc_msgSend_188(_id, _lib._sel_mixedStateImage1); + return NSImage._(_ret, _lib, retain: true, release: true); + } + + set mixedStateImage(NSImage value) { + return _lib._objc_msgSend_189( + _id, _lib._sel_setMixedStateImage_1, value._id); + } + + bool get enabled { + return _lib._objc_msgSend_12(_id, _lib._sel_isEnabled1); + } + + set enabled(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setEnabled_1, value); + } + + bool get alternate { + return _lib._objc_msgSend_12(_id, _lib._sel_isAlternate1); + } + + set alternate(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setAlternate_1, value); + } + + int get indentationLevel { + return _lib._objc_msgSend_77(_id, _lib._sel_indentationLevel1); + } + + set indentationLevel(int value) { + return _lib._objc_msgSend_187(_id, _lib._sel_setIndentationLevel_1, value); + } + + NSObject? get target { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_target1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + set target(NSObject? value) { + return _lib._objc_msgSend_17( + _id, _lib._sel_setTarget_1, value?._id ?? ffi.nullptr); + } + + ffi.Pointer get action { + return _lib._objc_msgSend_18(_id, _lib._sel_action1); + } + + set action(ffi.Pointer value) { + return _lib._objc_msgSend_19(_id, _lib._sel_setAction_1, value); + } + + int get tag { + return _lib._objc_msgSend_77(_id, _lib._sel_tag1); + } + + set tag(int value) { + return _lib._objc_msgSend_187(_id, _lib._sel_setTag_1, value); + } + + NSObject? get representedObject { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_representedObject1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + set representedObject(NSObject? value) { + return _lib._objc_msgSend_17( + _id, _lib._sel_setRepresentedObject_1, value?._id ?? ffi.nullptr); + } + + NSView? get view { + final _ret = _lib._objc_msgSend_122(_id, _lib._sel_view1); + return _ret.address == 0 + ? null + : NSView._(_ret, _lib, retain: true, release: true); + } + + set view(NSView? value) { + return _lib._objc_msgSend_190( + _id, _lib._sel_setView_1, value?._id ?? ffi.nullptr); + } + + bool get highlighted { + return _lib._objc_msgSend_12(_id, _lib._sel_isHighlighted1); + } + + bool get hidden { + return _lib._objc_msgSend_12(_id, _lib._sel_isHidden1); + } + + set hidden(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setHidden_1, value); + } + + bool get hiddenOrHasHiddenAncestor { + return _lib._objc_msgSend_12(_id, _lib._sel_isHiddenOrHasHiddenAncestor1); + } + + NSString? get toolTip { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_toolTip1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + set toolTip(NSString? value) { + return _lib._objc_msgSend_191( + _id, _lib._sel_setToolTip_1, value?._id ?? ffi.nullptr); + } + + NSMenuItemBadge? get badge { + final _ret = _lib._objc_msgSend_192(_id, _lib._sel_badge1); + return _ret.address == 0 + ? null + : NSMenuItemBadge._(_ret, _lib, retain: true, release: true); + } + + set badge(NSMenuItemBadge? value) { + return _lib._objc_msgSend_193( + _id, _lib._sel_setBadge_1, value?._id ?? ffi.nullptr); + } + + @override + NSMenuItem init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSMenuItem._(_ret, _lib, retain: true, release: true); + } + + static NSMenuItem new1(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSMenuItem1, _lib._sel_new1); + return NSMenuItem._(_ret, _lib, retain: false, release: true); + } + + static NSMenuItem allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSMenuItem1, _lib._sel_allocWithZone_1, zone); + return NSMenuItem._(_ret, _lib, retain: false, release: true); + } + + static NSMenuItem alloc(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSMenuItem1, _lib._sel_alloc1); + return NSMenuItem._(_ret, _lib, retain: false, release: true); + } +} + +class NSAttributedString extends NSObject { + NSAttributedString._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSAttributedString] that points to the same underlying object as [other]. + static NSAttributedString castFrom(T other) { + return NSAttributedString._(other._id, other._lib, + retain: true, release: true); + } + + /// Returns a [NSAttributedString] that wraps the given raw object pointer. + static NSAttributedString castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSAttributedString._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSAttributedString]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_NSAttributedString1); + } + + NSString get string { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_string1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSObject attributesAtIndex_effectiveRange_( + int location, ffi.Pointer<_NSRange> range) { + final _ret = _lib._objc_msgSend_181( + _id, _lib._sel_attributesAtIndex_effectiveRange_1, location, range); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + @override + NSAttributedString init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSAttributedString._(_ret, _lib, retain: true, release: true); + } + + static NSAttributedString new1(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSAttributedString1, _lib._sel_new1); + return NSAttributedString._(_ret, _lib, retain: false, release: true); + } + + static NSAttributedString allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSAttributedString1, _lib._sel_allocWithZone_1, zone); + return NSAttributedString._(_ret, _lib, retain: false, release: true); + } + + static NSAttributedString alloc(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSAttributedString1, _lib._sel_alloc1); + return NSAttributedString._(_ret, _lib, retain: false, release: true); + } +} + +final class _NSRange extends ffi.Struct { + @ffi.UnsignedLong() + external int location; + + @ffi.UnsignedLong() + external int length; +} + +class NSImage extends _ObjCWrapper { + NSImage._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSImage] that points to the same underlying object as [other]. + static NSImage castFrom(T other) { + return NSImage._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSImage] that wraps the given raw object pointer. + static NSImage castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSImage._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSImage]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSImage1); + } +} + +class NSMenuItemBadge extends _ObjCWrapper { + NSMenuItemBadge._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSMenuItemBadge] that points to the same underlying object as [other]. + static NSMenuItemBadge castFrom(T other) { + return NSMenuItemBadge._(other._id, other._lib, + retain: true, release: true); + } + + /// Returns a [NSMenuItemBadge] that wraps the given raw object pointer. + static NSMenuItemBadge castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSMenuItemBadge._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSMenuItemBadge]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_NSMenuItemBadge1); + } +} + +abstract class NSUserInterfaceLayoutDirection { + static const int NSUserInterfaceLayoutDirectionLeftToRight = 0; + static const int NSUserInterfaceLayoutDirectionRightToLeft = 1; +} + +class NSTextInputContext extends _ObjCWrapper { + NSTextInputContext._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSTextInputContext] that points to the same underlying object as [other]. + static NSTextInputContext castFrom(T other) { + return NSTextInputContext._(other._id, other._lib, + retain: true, release: true); + } + + /// Returns a [NSTextInputContext] that wraps the given raw object pointer. + static NSTextInputContext castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSTextInputContext._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSTextInputContext]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_NSTextInputContext1); + } +} + +class NSTouch extends NSObject { + NSTouch._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSTouch] that points to the same underlying object as [other]. + static NSTouch castFrom(T other) { + return NSTouch._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSTouch] that wraps the given raw object pointer. + static NSTouch castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSTouch._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSTouch]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSTouch1); + } + + NSObject get identity { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_identity1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + int get phase { + return _lib._objc_msgSend_223(_id, _lib._sel_phase1); + } + + void getNormalizedPosition(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_111_stret( + stret, _id, _lib._sel_normalizedPosition1) + : stret.ref = + _lib._objc_msgSend_111(_id, _lib._sel_normalizedPosition1); + } + + bool get resting { + return _lib._objc_msgSend_12(_id, _lib._sel_isResting1); + } + + NSObject? get device { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_device1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + void getDeviceSize(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_209_stret(stret, _id, _lib._sel_deviceSize1) + : stret.ref = _lib._objc_msgSend_209(_id, _lib._sel_deviceSize1); + } + + @override + NSTouch init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSTouch._(_ret, _lib, retain: true, release: true); + } + + static NSTouch new1(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSTouch1, _lib._sel_new1); + return NSTouch._(_ret, _lib, retain: false, release: true); + } + + static NSTouch allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSTouch1, _lib._sel_allocWithZone_1, zone); + return NSTouch._(_ret, _lib, retain: false, release: true); + } + + static NSTouch alloc(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSTouch1, _lib._sel_alloc1); + return NSTouch._(_ret, _lib, retain: false, release: true); + } +} + +abstract class NSEventMask { + static const int NSEventMaskLeftMouseDown = 2; + static const int NSEventMaskLeftMouseUp = 4; + static const int NSEventMaskRightMouseDown = 8; + static const int NSEventMaskRightMouseUp = 16; + static const int NSEventMaskMouseMoved = 32; + static const int NSEventMaskLeftMouseDragged = 64; + static const int NSEventMaskRightMouseDragged = 128; + static const int NSEventMaskMouseEntered = 256; + static const int NSEventMaskMouseExited = 512; + static const int NSEventMaskKeyDown = 1024; + static const int NSEventMaskKeyUp = 2048; + static const int NSEventMaskFlagsChanged = 4096; + static const int NSEventMaskAppKitDefined = 8192; + static const int NSEventMaskSystemDefined = 16384; + static const int NSEventMaskApplicationDefined = 32768; + static const int NSEventMaskPeriodic = 65536; + static const int NSEventMaskCursorUpdate = 131072; + static const int NSEventMaskScrollWheel = 4194304; + static const int NSEventMaskTabletPoint = 8388608; + static const int NSEventMaskTabletProximity = 16777216; + static const int NSEventMaskOtherMouseDown = 33554432; + static const int NSEventMaskOtherMouseUp = 67108864; + static const int NSEventMaskOtherMouseDragged = 134217728; + static const int NSEventMaskGesture = 536870912; + static const int NSEventMaskMagnify = 1073741824; + static const int NSEventMaskSwipe = 2147483648; + static const int NSEventMaskRotate = 262144; + static const int NSEventMaskBeginGesture = 524288; + static const int NSEventMaskEndGesture = 1048576; + static const int NSEventMaskSmartMagnify = 4294967296; + static const int NSEventMaskPressure = 17179869184; + static const int NSEventMaskDirectTouch = 137438953472; + static const int NSEventMaskChangeMode = 274877906944; + static const int NSEventMaskAny = -1; +} + +abstract class NSPressureBehavior { + static const int NSPressureBehaviorUnknown = -1; + static const int NSPressureBehaviorPrimaryDefault = 0; + static const int NSPressureBehaviorPrimaryClick = 1; + static const int NSPressureBehaviorPrimaryGeneric = 2; + static const int NSPressureBehaviorPrimaryAccelerator = 3; + static const int NSPressureBehaviorPrimaryDeepClick = 5; + static const int NSPressureBehaviorPrimaryDeepDrag = 6; +} + +abstract class NSEventSwipeTrackingOptions { + static const int NSEventSwipeTrackingLockDirection = 1; + static const int NSEventSwipeTrackingClampGestureAmount = 2; +} + +void _ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_fnPtrTrampoline( + ffi.Pointer<_ObjCBlock> block, + double arg0, + int arg1, + bool arg2, + ffi.Pointer arg3) => + block.ref.target + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Double arg0, ffi.Int32 arg1, + ffi.Bool arg2, ffi.Pointer arg3)>>() + .asFunction< + void Function(double, int, bool, ffi.Pointer)>()( + arg0, arg1, arg2, arg3); +final _ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_closureRegistry = + )>{}; +int _ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_closureRegistryIndex = + 0; +ffi.Pointer + _ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_registerClosure( + void Function(double, int, bool, ffi.Pointer) fn) { + final id = + ++_ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_closureRegistryIndex; + _ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_closureRegistry[id] = fn; + return ffi.Pointer.fromAddress(id); +} + +void _ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_closureTrampoline( + ffi.Pointer<_ObjCBlock> block, + double arg0, + int arg1, + bool arg2, + ffi.Pointer arg3) => + _ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_closureRegistry[ + block.ref.target.address]!(arg0, arg1, arg2, arg3); + +class ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool + extends _ObjCBlockBase { + ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool._( + ffi.Pointer<_ObjCBlock> id, AuthenticationServices lib, + {bool retain = false, bool release = true}) + : super._(id, lib, retain: retain, release: release); + + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool.fromFunctionPointer( + AuthenticationServices lib, + ffi.Pointer< + ffi.NativeFunction< + ffi.Void Function(ffi.Double arg0, ffi.Int32 arg1, + ffi.Bool arg2, ffi.Pointer arg3)>> + ptr) + : this._( + lib._newBlock1( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Double, + ffi.Int32, + ffi.Bool, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_fnPtrTrampoline) + .cast(), + ptr.cast()), + lib); + static ffi.Pointer? _cFuncTrampoline; + + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool.fromFunction( + AuthenticationServices lib, + void Function(double, int, bool, ffi.Pointer) fn) + : this._( + lib._newBlock1( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Double, + ffi.Int32, + ffi.Bool, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_closureTrampoline) + .cast(), + _ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_registerClosure( + (double arg0, int arg1, bool arg2, + ffi.Pointer arg3) => + fn(arg0, arg1, arg2, arg3))), + lib); + static ffi.Pointer? _dartFuncTrampoline; + + /// Creates a listener block from a Dart function. + /// + /// This is based on FFI's NativeCallable.listener, and has the same + /// capabilities and limitations. This block can be invoked from any thread, + /// but only supports void functions, and is not run synchronously. See + /// NativeCallable.listener for more details. + /// + /// Note that unlike the default behavior of NativeCallable.listener, listener + /// blocks do not keep the isolate alive. + ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool.listener( + AuthenticationServices lib, + void Function(double, int, bool, ffi.Pointer) fn) + : this._( + lib._newBlock1( + (_dartFuncListenerTrampoline ??= ffi.NativeCallable< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Double, + ffi.Int32, + ffi.Bool, + ffi.Pointer)>.listener( + _ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_closureTrampoline) + ..keepIsolateAlive = false) + .nativeFunction + .cast(), + _ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_registerClosure( + (double arg0, int arg1, bool arg2, + ffi.Pointer arg3) => + fn(arg0, arg1, arg2, arg3))), + lib); + static ffi.NativeCallable< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, ffi.Double, ffi.Int32, + ffi.Bool, ffi.Pointer)>? _dartFuncListenerTrampoline; + + void call(double arg0, int arg1, bool arg2, ffi.Pointer arg3) => + _id.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer<_ObjCBlock> block, + ffi.Double arg0, + ffi.Int32 arg1, + ffi.Bool arg2, + ffi.Pointer arg3)>>() + .asFunction< + void Function(ffi.Pointer<_ObjCBlock>, double, int, bool, + ffi.Pointer)>()(_id, arg0, arg1, arg2, arg3); +} + +void _ObjCBlock_ffiVoid_NSEvent_fnPtrTrampoline( + ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0) => + block.ref.target + .cast< + ffi + .NativeFunction arg0)>>() + .asFunction)>()(arg0); +final _ObjCBlock_ffiVoid_NSEvent_closureRegistry = + )>{}; +int _ObjCBlock_ffiVoid_NSEvent_closureRegistryIndex = 0; +ffi.Pointer _ObjCBlock_ffiVoid_NSEvent_registerClosure( + void Function(ffi.Pointer) fn) { + final id = ++_ObjCBlock_ffiVoid_NSEvent_closureRegistryIndex; + _ObjCBlock_ffiVoid_NSEvent_closureRegistry[id] = fn; + return ffi.Pointer.fromAddress(id); +} + +void _ObjCBlock_ffiVoid_NSEvent_closureTrampoline( + ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0) => + _ObjCBlock_ffiVoid_NSEvent_closureRegistry[block.ref.target.address]!(arg0); + +class ObjCBlock_ffiVoid_NSEvent extends _ObjCBlockBase { + ObjCBlock_ffiVoid_NSEvent._( + ffi.Pointer<_ObjCBlock> id, AuthenticationServices lib, + {bool retain = false, bool release = true}) + : super._(id, lib, retain: retain, release: release); + + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_NSEvent.fromFunctionPointer( + AuthenticationServices lib, + ffi + .Pointer< + ffi + .NativeFunction arg0)>> + ptr) + : this._( + lib._newBlock1( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_NSEvent_fnPtrTrampoline) + .cast(), + ptr.cast()), + lib); + static ffi.Pointer? _cFuncTrampoline; + + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_NSEvent.fromFunction( + AuthenticationServices lib, void Function(NSEvent) fn) + : this._( + lib._newBlock1( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_NSEvent_closureTrampoline) + .cast(), + _ObjCBlock_ffiVoid_NSEvent_registerClosure( + (ffi.Pointer arg0) => + fn(NSEvent._(arg0, lib, retain: true, release: true)))), + lib); + static ffi.Pointer? _dartFuncTrampoline; + + /// Creates a listener block from a Dart function. + /// + /// This is based on FFI's NativeCallable.listener, and has the same + /// capabilities and limitations. This block can be invoked from any thread, + /// but only supports void functions, and is not run synchronously. See + /// NativeCallable.listener for more details. + /// + /// Note that unlike the default behavior of NativeCallable.listener, listener + /// blocks do not keep the isolate alive. + ObjCBlock_ffiVoid_NSEvent.listener( + AuthenticationServices lib, void Function(NSEvent) fn) + : this._( + lib._newBlock1( + (_dartFuncListenerTrampoline ??= ffi.NativeCallable< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, + ffi.Pointer)>.listener( + _ObjCBlock_ffiVoid_NSEvent_closureTrampoline) + ..keepIsolateAlive = false) + .nativeFunction + .cast(), + _ObjCBlock_ffiVoid_NSEvent_registerClosure( + (ffi.Pointer arg0) => + fn(NSEvent._(arg0, lib, retain: true, release: true)))), + lib); + static ffi.NativeCallable< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer)>? + _dartFuncListenerTrampoline; + + void call(NSEvent arg0) => _id.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0)>>() + .asFunction< + void Function(ffi.Pointer<_ObjCBlock>, + ffi.Pointer)>()(_id, arg0._id); +} + +ffi.Pointer _ObjCBlock_NSEvent_NSEvent_fnPtrTrampoline( + ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0) => + block.ref.target + .cast< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer arg0)>>() + .asFunction< + ffi.Pointer Function(ffi.Pointer)>()(arg0); +final _ObjCBlock_NSEvent_NSEvent_closureRegistry = + Function(ffi.Pointer)>{}; +int _ObjCBlock_NSEvent_NSEvent_closureRegistryIndex = 0; +ffi.Pointer _ObjCBlock_NSEvent_NSEvent_registerClosure( + ffi.Pointer Function(ffi.Pointer) fn) { + final id = ++_ObjCBlock_NSEvent_NSEvent_closureRegistryIndex; + _ObjCBlock_NSEvent_NSEvent_closureRegistry[id] = fn; + return ffi.Pointer.fromAddress(id); +} + +ffi.Pointer _ObjCBlock_NSEvent_NSEvent_closureTrampoline( + ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0) => + _ObjCBlock_NSEvent_NSEvent_closureRegistry[block.ref.target.address]!(arg0); + +class ObjCBlock_NSEvent_NSEvent extends _ObjCBlockBase { + ObjCBlock_NSEvent_NSEvent._( + ffi.Pointer<_ObjCBlock> id, AuthenticationServices lib, + {bool retain = false, bool release = true}) + : super._(id, lib, retain: retain, release: release); + + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_NSEvent_NSEvent.fromFunctionPointer( + AuthenticationServices lib, + ffi.Pointer< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer arg0)>> + ptr) + : this._( + lib._newBlock1( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Pointer Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer)>( + _ObjCBlock_NSEvent_NSEvent_fnPtrTrampoline) + .cast(), + ptr.cast()), + lib); + static ffi.Pointer? _cFuncTrampoline; + + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_NSEvent_NSEvent.fromFunction( + AuthenticationServices lib, NSEvent? Function(NSEvent) fn) + : this._( + lib._newBlock1( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Pointer Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer)>( + _ObjCBlock_NSEvent_NSEvent_closureTrampoline) + .cast(), + _ObjCBlock_NSEvent_NSEvent_registerClosure( + (ffi.Pointer arg0) => + fn(NSEvent._(arg0, lib, retain: true, release: true)) + ?._retainAndReturnId() ?? + ffi.nullptr)), + lib); + static ffi.Pointer? _dartFuncTrampoline; + + NSEvent? call(NSEvent arg0) => _id.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0)>>() + .asFunction Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer)>() + (_id, arg0._id) + .address == + 0 + ? null + : NSEvent._( + _id.ref.invoke + .cast Function(ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0)>>() + .asFunction Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer)>()(_id, arg0._id), + _lib, + retain: false, + release: true); +} + +abstract class NSEventGestureAxis { + static const int NSEventGestureAxisNone = 0; + static const int NSEventGestureAxisHorizontal = 1; + static const int NSEventGestureAxisVertical = 2; +} + +/// ! +/// @typedef NSWindowStyleMask +/// +/// @const NSWindowStyleMaskBorderless +/// @const NSWindowStyleMaskTitled +/// @const NSWindowStyleMaskClosable +/// @const NSWindowStyleMaskMiniaturizable +/// @const NSWindowStyleMaskResizable +/// @const NSWindowStyleMaskTexturedBackground Textured window style is deprecated and should no longer be used. Specifies a window with textured background. Textured windows generally don't draw a top border line under the titlebar/toolbar. To get that line, use the \c NSUnifiedTitleAndToolbarWindowMask mask. +/// @const NSWindowStyleMaskUnifiedTitleAndToolbar Specifies a window whose titlebar and toolbar have a unified look - that is, a continuous background. Under the titlebar and toolbar a horizontal separator line will appear. +/// @const NSWindowStyleMaskFullScreen When present, the window will appear full screen. This mask is automatically toggled when \c -toggleFullScreen: is called. +/// @const NSWindowStyleMaskFullSizeContentView If set, the \c contentView will consume the full size of the window; it can be combined with other window style masks, but is only respected for windows with a titlebar. Utilizing this mask opts-in to layer-backing. Utilize the \c contentLayoutRect or auto-layout \c contentLayoutGuide to layout views underneath the titlebar/toolbar area. +/// @const NSWindowStyleMaskUtilityWindow Only applicable for \c NSPanel (or a subclass thereof). +/// @const NSWindowStyleMaskDocModalWindow Only applicable for \c NSPanel (or a subclass thereof). +/// @const NSWindowStyleMaskNonactivatingPanel Specifies that a panel that does not activate the owning application. Only applicable for \c NSPanel (or a subclass thereof). +/// @const NSWindowStyleMaskHUDWindow Specifies a heads up display panel. Only applicable for \c NSPanel (or a subclass thereof). +abstract class NSWindowStyleMask { + static const int NSWindowStyleMaskBorderless = 0; + static const int NSWindowStyleMaskTitled = 1; + static const int NSWindowStyleMaskClosable = 2; + static const int NSWindowStyleMaskMiniaturizable = 4; + static const int NSWindowStyleMaskResizable = 8; + static const int NSWindowStyleMaskTexturedBackground = 256; + static const int NSWindowStyleMaskUnifiedTitleAndToolbar = 4096; + static const int NSWindowStyleMaskFullScreen = 16384; + static const int NSWindowStyleMaskFullSizeContentView = 32768; + static const int NSWindowStyleMaskUtilityWindow = 16; + static const int NSWindowStyleMaskDocModalWindow = 64; + static const int NSWindowStyleMaskNonactivatingPanel = 128; + static const int NSWindowStyleMaskHUDWindow = 8192; +} + +abstract class NSWindowDepth { + static const int NSWindowDepthTwentyfourBitRGB = 520; + static const int NSWindowDepthSixtyfourBitRGB = 528; + static const int NSWindowDepthOnehundredtwentyeightBitRGB = 544; +} + +abstract class NSBackingStoreType { + static const int NSBackingStoreRetained = 0; + static const int NSBackingStoreNonretained = 1; + static const int NSBackingStoreBuffered = 2; +} + +class NSScreen extends _ObjCWrapper { + NSScreen._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSScreen] that points to the same underlying object as [other]. + static NSScreen castFrom(T other) { + return NSScreen._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSScreen] that wraps the given raw object pointer. + static NSScreen castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSScreen._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSScreen]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSScreen1); + } +} + +/// ! +/// @typedef NSWindowTitleVisibility +/// +/// @const NSWindowTitleVisible The default mode has a normal window title and titlebar buttons. +/// @const NSWindowTitleHidden The always hidden mode hides the title and moves the toolbar up into the area previously occupied by the title. +abstract class NSWindowTitleVisibility { + static const int NSWindowTitleVisible = 0; + static const int NSWindowTitleHidden = 1; +} + +/// ! +/// @typedef NSWindowToolbarStyle +/// +/// @const NSWindowToolbarStyleAutomatic The default value. The style will be determined by the window's given configuration. +/// @const NSWindowToolbarStyleExpanded The toolbar will appear below the window title. +/// @const NSWindowToolbarStylePreference The toolbar will appear below the window title and the items in the toolbar will attempt to have equal widths when possible. +/// @const NSWindowToolbarStyleUnified The window title will appear inline with the toolbar when visible. +/// @const NSWindowToolbarStyleUnifiedCompact Same as \c NSWindowToolbarStyleUnified, but with reduced margins in the toolbar allowing more focus to be on the contents of the window. +abstract class NSWindowToolbarStyle { + static const int NSWindowToolbarStyleAutomatic = 0; + static const int NSWindowToolbarStyleExpanded = 1; + static const int NSWindowToolbarStylePreference = 2; + static const int NSWindowToolbarStyleUnified = 3; + static const int NSWindowToolbarStyleUnifiedCompact = 4; +} + +class NSTitlebarAccessoryViewController extends _ObjCWrapper { + NSTitlebarAccessoryViewController._( + ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSTitlebarAccessoryViewController] that points to the same underlying object as [other]. + static NSTitlebarAccessoryViewController castFrom( + T other) { + return NSTitlebarAccessoryViewController._(other._id, other._lib, + retain: true, release: true); + } + + /// Returns a [NSTitlebarAccessoryViewController] that wraps the given raw object pointer. + static NSTitlebarAccessoryViewController castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSTitlebarAccessoryViewController._(other, lib, + retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSTitlebarAccessoryViewController]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_NSTitlebarAccessoryViewController1); + } +} + +class NSText extends NSView { + NSText._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSText] that points to the same underlying object as [other]. + static NSText castFrom(T other) { + return NSText._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSText] that wraps the given raw object pointer. + static NSText castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSText._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSText]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSText1); + } + + @override + NSText initWithFrame_(CGRect frameRect) { + final _ret = + _lib._objc_msgSend_121(_id, _lib._sel_initWithFrame_1, frameRect); + return NSText._(_ret, _lib, retain: true, release: true); + } + + @override + NSText? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : NSText._(_ret, _lib, retain: true, release: true); + } + + NSString get string { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_string1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + set string(NSString value) { + return _lib._objc_msgSend_173(_id, _lib._sel_setString_1, value._id); + } + + void replaceCharactersInRange_withString_(_NSRange range, NSString string) { + _lib._objc_msgSend_254(_id, _lib._sel_replaceCharactersInRange_withString_1, + range, string._id); + } + + void replaceCharactersInRange_withRTF_(_NSRange range, NSData rtfData) { + _lib._objc_msgSend_255( + _id, _lib._sel_replaceCharactersInRange_withRTF_1, range, rtfData._id); + } + + void replaceCharactersInRange_withRTFD_(_NSRange range, NSData rtfdData) { + _lib._objc_msgSend_255(_id, _lib._sel_replaceCharactersInRange_withRTFD_1, + range, rtfdData._id); + } + + NSData? RTFFromRange_(_NSRange range) { + final _ret = _lib._objc_msgSend_256(_id, _lib._sel_RTFFromRange_1, range); + return _ret.address == 0 + ? null + : NSData._(_ret, _lib, retain: true, release: true); + } + + NSData? RTFDFromRange_(_NSRange range) { + final _ret = _lib._objc_msgSend_256(_id, _lib._sel_RTFDFromRange_1, range); + return _ret.address == 0 + ? null + : NSData._(_ret, _lib, retain: true, release: true); + } + + bool writeRTFDToFile_atomically_(NSString path, bool flag) { + return _lib._objc_msgSend_257( + _id, _lib._sel_writeRTFDToFile_atomically_1, path._id, flag); + } + + bool readRTFDFromFile_(NSString path) { + return _lib._objc_msgSend_258(_id, _lib._sel_readRTFDFromFile_1, path._id); + } + + NSObject? get delegate { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_delegate1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + set delegate(NSObject? value) { + return _lib._objc_msgSend_17( + _id, _lib._sel_setDelegate_1, value?._id ?? ffi.nullptr); + } + + bool get editable { + return _lib._objc_msgSend_12(_id, _lib._sel_isEditable1); + } + + set editable(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setEditable_1, value); + } + + bool get selectable { + return _lib._objc_msgSend_12(_id, _lib._sel_isSelectable1); + } + + set selectable(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setSelectable_1, value); + } + + bool get richText { + return _lib._objc_msgSend_12(_id, _lib._sel_isRichText1); + } + + set richText(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setRichText_1, value); + } + + bool get importsGraphics { + return _lib._objc_msgSend_12(_id, _lib._sel_importsGraphics1); + } + + set importsGraphics(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setImportsGraphics_1, value); + } + + bool get fieldEditor { + return _lib._objc_msgSend_12(_id, _lib._sel_isFieldEditor1); + } + + set fieldEditor(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setFieldEditor_1, value); + } + + bool get usesFontPanel { + return _lib._objc_msgSend_12(_id, _lib._sel_usesFontPanel1); + } + + set usesFontPanel(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setUsesFontPanel_1, value); + } + + bool get drawsBackground { + return _lib._objc_msgSend_12(_id, _lib._sel_drawsBackground1); + } + + set drawsBackground(bool value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setDrawsBackground_1, value); + } + + NSColor? get backgroundColor { + final _ret = _lib._objc_msgSend_259(_id, _lib._sel_backgroundColor1); + return _ret.address == 0 + ? null + : NSColor._(_ret, _lib, retain: true, release: true); + } + + set backgroundColor(NSColor? value) { + return _lib._objc_msgSend_260( + _id, _lib._sel_setBackgroundColor_1, value?._id ?? ffi.nullptr); + } + + bool get rulerVisible { + return _lib._objc_msgSend_12(_id, _lib._sel_isRulerVisible1); + } + + void getSelectedRange(ffi.Pointer<_NSRange> stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_261_stret(stret, _id, _lib._sel_selectedRange1) + : stret.ref = _lib._objc_msgSend_261(_id, _lib._sel_selectedRange1); + } + + set selectedRange(_NSRange value) { + return _lib._objc_msgSend_262(_id, _lib._sel_setSelectedRange_1, value); + } + + void scrollRangeToVisible_(_NSRange range) { + _lib._objc_msgSend_263(_id, _lib._sel_scrollRangeToVisible_1, range); + } + + NSFont? get font { + final _ret = _lib._objc_msgSend_264(_id, _lib._sel_font1); + return _ret.address == 0 + ? null + : NSFont._(_ret, _lib, retain: true, release: true); + } + + set font(NSFont? value) { + return _lib._objc_msgSend_265( + _id, _lib._sel_setFont_1, value?._id ?? ffi.nullptr); + } + + NSColor? get textColor { + final _ret = _lib._objc_msgSend_259(_id, _lib._sel_textColor1); + return _ret.address == 0 + ? null + : NSColor._(_ret, _lib, retain: true, release: true); + } + + set textColor(NSColor? value) { + return _lib._objc_msgSend_260( + _id, _lib._sel_setTextColor_1, value?._id ?? ffi.nullptr); + } + + int get alignment { + return _lib._objc_msgSend_266(_id, _lib._sel_alignment1); + } + + set alignment(int value) { + return _lib._objc_msgSend_267(_id, _lib._sel_setAlignment_1, value); + } + + int get baseWritingDirection { + return _lib._objc_msgSend_268(_id, _lib._sel_baseWritingDirection1); + } + + set baseWritingDirection(int value) { + return _lib._objc_msgSend_269( + _id, _lib._sel_setBaseWritingDirection_1, value); + } + + void setTextColor_range_(NSColor? color, _NSRange range) { + _lib._objc_msgSend_270( + _id, _lib._sel_setTextColor_range_1, color?._id ?? ffi.nullptr, range); + } + + void setFont_range_(NSFont font, _NSRange range) { + _lib._objc_msgSend_271(_id, _lib._sel_setFont_range_1, font._id, range); + } + + void getMaxSize(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_209_stret(stret, _id, _lib._sel_maxSize1) + : stret.ref = _lib._objc_msgSend_209(_id, _lib._sel_maxSize1); + } + + set maxSize(CGSize value) { + return _lib._objc_msgSend_272(_id, _lib._sel_setMaxSize_1, value); + } + + void getMinSize(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_209_stret(stret, _id, _lib._sel_minSize1) + : stret.ref = _lib._objc_msgSend_209(_id, _lib._sel_minSize1); + } + + set minSize(CGSize value) { + return _lib._objc_msgSend_272(_id, _lib._sel_setMinSize_1, value); + } + + bool get horizontallyResizable { + return _lib._objc_msgSend_12(_id, _lib._sel_isHorizontallyResizable1); + } + + set horizontallyResizable(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setHorizontallyResizable_1, value); + } + + bool get verticallyResizable { + return _lib._objc_msgSend_12(_id, _lib._sel_isVerticallyResizable1); + } + + set verticallyResizable(bool value) { + return _lib._objc_msgSend_103( + _id, _lib._sel_setVerticallyResizable_1, value); + } + + void sizeToFit() { + _lib._objc_msgSend_1(_id, _lib._sel_sizeToFit1); + } + + void copy_(NSObject? sender) { + _lib._objc_msgSend_237(_id, _lib._sel_copy_1, sender?._id ?? ffi.nullptr); + } + + void copyFont_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_copyFont_1, sender?._id ?? ffi.nullptr); + } + + void copyRuler_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_copyRuler_1, sender?._id ?? ffi.nullptr); + } + + void cut_(NSObject? sender) { + _lib._objc_msgSend_237(_id, _lib._sel_cut_1, sender?._id ?? ffi.nullptr); + } + + void delete_(NSObject? sender) { + _lib._objc_msgSend_237(_id, _lib._sel_delete_1, sender?._id ?? ffi.nullptr); + } + + void paste_(NSObject? sender) { + _lib._objc_msgSend_237(_id, _lib._sel_paste_1, sender?._id ?? ffi.nullptr); + } + + void pasteFont_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_pasteFont_1, sender?._id ?? ffi.nullptr); + } + + void pasteRuler_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_pasteRuler_1, sender?._id ?? ffi.nullptr); + } + + void selectAll_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_selectAll_1, sender?._id ?? ffi.nullptr); + } + + void changeFont_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_changeFont_1, sender?._id ?? ffi.nullptr); + } + + void alignLeft_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_alignLeft_1, sender?._id ?? ffi.nullptr); + } + + void alignRight_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_alignRight_1, sender?._id ?? ffi.nullptr); + } + + void alignCenter_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_alignCenter_1, sender?._id ?? ffi.nullptr); + } + + void subscript_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_subscript_1, sender?._id ?? ffi.nullptr); + } + + void superscript_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_superscript_1, sender?._id ?? ffi.nullptr); + } + + void underline_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_underline_1, sender?._id ?? ffi.nullptr); + } + + void unscript_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_unscript_1, sender?._id ?? ffi.nullptr); + } + + void showGuessPanel_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_showGuessPanel_1, sender?._id ?? ffi.nullptr); + } + + void checkSpelling_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_checkSpelling_1, sender?._id ?? ffi.nullptr); + } + + void toggleRuler_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_toggleRuler_1, sender?._id ?? ffi.nullptr); + } + + static NSView? getFocusView(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_122(_lib._class_NSText1, _lib._sel_focusView1); + return _ret.address == 0 + ? null + : NSView._(_ret, _lib, retain: true, release: true); + } + + static NSMenu? getDefaultMenu(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_178(_lib._class_NSText1, _lib._sel_defaultMenu1); + return _ret.address == 0 + ? null + : NSMenu._(_ret, _lib, retain: true, release: true); + } + + static bool getCompatibleWithResponsiveScrolling( + AuthenticationServices _lib) { + return _lib._objc_msgSend_12( + _lib._class_NSText1, _lib._sel_isCompatibleWithResponsiveScrolling1); + } + + @override + NSText init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSText._(_ret, _lib, retain: true, release: true); + } + + static NSText new1(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSText1, _lib._sel_new1); + return NSText._(_ret, _lib, retain: false, release: true); + } + + static NSText allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSText1, _lib._sel_allocWithZone_1, zone); + return NSText._(_ret, _lib, retain: false, release: true); + } + + static NSText alloc(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSText1, _lib._sel_alloc1); + return NSText._(_ret, _lib, retain: false, release: true); + } +} + +class NSColor extends _ObjCWrapper { + NSColor._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSColor] that points to the same underlying object as [other]. + static NSColor castFrom(T other) { + return NSColor._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSColor] that wraps the given raw object pointer. + static NSColor castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSColor._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSColor]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSColor1); + } +} + +abstract class NSTextAlignment { + static const int NSTextAlignmentLeft = 0; + static const int NSTextAlignmentCenter = 1; + static const int NSTextAlignmentRight = 2; + static const int NSTextAlignmentJustified = 3; + static const int NSTextAlignmentNatural = 4; +} + +abstract class NSWritingDirection { + static const int NSWritingDirectionNatural = -1; + static const int NSWritingDirectionLeftToRight = 0; + static const int NSWritingDirectionRightToLeft = 1; +} + +abstract class NSRectEdge { + static const int NSRectEdgeMinX = 0; + static const int NSRectEdgeMinY = 1; + static const int NSRectEdgeMaxX = 2; + static const int NSRectEdgeMaxY = 3; + static const int NSMinXEdge = 0; + static const int NSMinYEdge = 1; + static const int NSMaxXEdge = 2; + static const int NSMaxYEdge = 3; +} + +class NSDockTile extends _ObjCWrapper { + NSDockTile._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSDockTile] that points to the same underlying object as [other]. + static NSDockTile castFrom(T other) { + return NSDockTile._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSDockTile] that wraps the given raw object pointer. + static NSDockTile castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSDockTile._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSDockTile]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSDockTile1); + } +} + +/// ! +/// @typedef NSWindowSharingType +/// +/// @const NSWindowSharingNone Window contents may not be read by another process. +/// @const NSWindowSharingReadOnly Window contents may be read but not modified by another process. +/// @const NSWindowSharingReadWrite Window contents may be read or modified by another process. +abstract class NSWindowSharingType { + static const int NSWindowSharingNone = 0; + static const int NSWindowSharingReadOnly = 1; + static const int NSWindowSharingReadWrite = 2; +} + +/// ! +/// @typedef NSWindowCollectionBehavior +/// +/// @const NSWindowCollectionBehaviorPrimary Marks a window as primary. This collection behavior should commonly be used for document or viewer windows. +/// @const NSWindowCollectionBehaviorAuxiliary Marks a window as auxiliary. This collection behavior should commonly be used for About or Settings windows, as well as utility panes. +/// @const NSWindowCollectionBehaviorCanJoinAllApplications Marks a window as able to join all applications, allowing it to join other apps' sets and full screen spaces when eligible. This collection behavior should commonly be used for floating windows and system overlays. +/// +/// @discussion You may specify at most one of @c NSWindowCollectionBehaviorPrimary, @c NSWindowCollectionBehaviorAuxiliary, or @c NSWindowCollectionBehaviorCanJoinAllApplications. If unspecified, the window gets the default treatment determined by its other collection behaviors. +/// +/// @const NSWindowCollectionBehaviorDefault +/// @const NSWindowCollectionBehaviorCanJoinAllSpaces +/// @const NSWindowCollectionBehaviorMoveToActiveSpace +/// +/// @discussion You may specify at most one of \c NSWindowCollectionBehaviorManaged, \c NSWindowCollectionBehaviorTransient, or \c NSWindowCollectionBehaviorStationary. If neither is specified, the window gets the default behavior determined by its window level. +/// +/// @const NSWindowCollectionBehaviorManaged Participates in spaces, exposé. Default behavior if `windowLevel == NSNormalWindowLevel`. +/// @const NSWindowCollectionBehaviorTransient Floats in spaces, hidden by exposé. Default behavior if `windowLevel != NSNormalWindowLevel`. +/// @const NSWindowCollectionBehaviorStationary Unaffected by exposé. Stays visible and stationary, like desktop window. +/// +/// @discussion You may specify at most one of \c NSWindowCollectionBehaviorParticipatesInCycle or \c NSWindowCollectionBehaviorIgnoresCycle. If unspecified, the window gets the default behavior determined by its window level. +/// +/// @const NSWindowCollectionBehaviorParticipatesInCycle Default behavior if `windowLevel != NSNormalWindowLevel`. +/// @const NSWindowCollectionBehaviorIgnoresCycle Default behavior if `windowLevel != NSNormalWindowLevel`. +/// +/// @discussion You may specify at most one of \c NSWindowCollectionBehaviorFullScreenPrimary, \c NSWindowCollectionBehaviorFullScreenAuxiliary, or \c NSWindowCollectionBehaviorFullScreenNone. +/// +/// @const NSWindowCollectionBehaviorFullScreenPrimary The frontmost window with this collection behavior will be the fullscreen window. +/// @const NSWindowCollectionBehaviorFullScreenAuxiliary Windows with this collection behavior can be shown with the fullscreen window. +/// @const NSWindowCollectionBehaviorFullScreenNone The window can not be made fullscreen when this bit is set. +/// +/// @discussion You may specify at most one of \c NSWindowCollectionBehaviorFullScreenAllowsTiling or \c NSWindowCollectionBehaviorFullScreenDisallowsTiling, or an assertion will be raised. +/// +/// The default behavior is to allow any window to participate in full screen tiling, as long as it meets certain requirements, such as being resizable and not a panel or sheet. Windows which are not full screen capable can still become a secondary tile in full screen. A window can explicitly allow itself to be placed into a full screen tile by including \c NSWindowCollectionBehaviorFullScreenAllowsTiling. Even if a window allows itself to be placed in a tile, it still may not be put in the tile if its \c minFullScreenContentSize is too large to fit. A window can explicitly disallow itself from being placed in a full screen tile by including \c NSWindowCollectionBehaviorFullScreenDisallowsTiling. This is useful for non-full screen capable windows to explicitly prevent themselves from being tiled. It can also be used by a full screen window to prevent any other windows from being placed in its full screen tile. +/// +/// @const NSWindowCollectionBehaviorFullScreenAllowsTiling This window can be a full screen tile window. It does not have to have \c NSWindowCollectionBehaviorFullScreenPrimary set. +/// @const NSWindowCollectionBehaviorFullScreenDisallowsTiling This window can NOT be made a full screen tile window; it still may be allowed to be a regular \c NSWindowCollectionBehaviorFullScreenPrimary window. +abstract class NSWindowCollectionBehavior { + static const int NSWindowCollectionBehaviorDefault = 0; + static const int NSWindowCollectionBehaviorCanJoinAllSpaces = 1; + static const int NSWindowCollectionBehaviorMoveToActiveSpace = 2; + static const int NSWindowCollectionBehaviorManaged = 4; + static const int NSWindowCollectionBehaviorTransient = 8; + static const int NSWindowCollectionBehaviorStationary = 16; + static const int NSWindowCollectionBehaviorParticipatesInCycle = 32; + static const int NSWindowCollectionBehaviorIgnoresCycle = 64; + static const int NSWindowCollectionBehaviorFullScreenPrimary = 128; + static const int NSWindowCollectionBehaviorFullScreenAuxiliary = 256; + static const int NSWindowCollectionBehaviorFullScreenNone = 512; + static const int NSWindowCollectionBehaviorFullScreenAllowsTiling = 2048; + static const int NSWindowCollectionBehaviorFullScreenDisallowsTiling = 4096; + static const int NSWindowCollectionBehaviorPrimary = 65536; + static const int NSWindowCollectionBehaviorAuxiliary = 131072; + static const int NSWindowCollectionBehaviorCanJoinAllApplications = 262144; +} + +/// ! +/// @typedef NSWindowAnimationBehavior +/// +/// @const NSWindowAnimationBehaviorDefault Let AppKit infer animation behavior for this window. +/// @const NSWindowAnimationBehaviorNone Suppress inferred animations (don't animate). +/// @const NSWindowAnimationBehaviorDocumentWindow +/// @const NSWindowAnimationBehaviorUtilityWindow +/// @const NSWindowAnimationBehaviorAlertPanel +abstract class NSWindowAnimationBehavior { + static const int NSWindowAnimationBehaviorDefault = 0; + static const int NSWindowAnimationBehaviorNone = 2; + static const int NSWindowAnimationBehaviorDocumentWindow = 3; + static const int NSWindowAnimationBehaviorUtilityWindow = 4; + static const int NSWindowAnimationBehaviorAlertPanel = 5; +} + +class NSWindowController extends _ObjCWrapper { + NSWindowController._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSWindowController] that points to the same underlying object as [other]. + static NSWindowController castFrom(T other) { + return NSWindowController._(other._id, other._lib, + retain: true, release: true); + } + + /// Returns a [NSWindowController] that wraps the given raw object pointer. + static NSWindowController castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSWindowController._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSWindowController]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_NSWindowController1); + } +} + +void _ObjCBlock_ffiVoid_ffiLong_fnPtrTrampoline( + ffi.Pointer<_ObjCBlock> block, int arg0) => + block.ref.target + .cast>() + .asFunction()(arg0); +final _ObjCBlock_ffiVoid_ffiLong_closureRegistry = {}; +int _ObjCBlock_ffiVoid_ffiLong_closureRegistryIndex = 0; +ffi.Pointer _ObjCBlock_ffiVoid_ffiLong_registerClosure( + void Function(int) fn) { + final id = ++_ObjCBlock_ffiVoid_ffiLong_closureRegistryIndex; + _ObjCBlock_ffiVoid_ffiLong_closureRegistry[id] = fn; + return ffi.Pointer.fromAddress(id); +} + +void _ObjCBlock_ffiVoid_ffiLong_closureTrampoline( + ffi.Pointer<_ObjCBlock> block, int arg0) => + _ObjCBlock_ffiVoid_ffiLong_closureRegistry[block.ref.target.address]!(arg0); + +class ObjCBlock_ffiVoid_ffiLong extends _ObjCBlockBase { + ObjCBlock_ffiVoid_ffiLong._( + ffi.Pointer<_ObjCBlock> id, AuthenticationServices lib, + {bool retain = false, bool release = true}) + : super._(id, lib, retain: retain, release: release); + + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_ffiLong.fromFunctionPointer(AuthenticationServices lib, + ffi.Pointer> ptr) + : this._( + lib._newBlock1( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, ffi.Long)>( + _ObjCBlock_ffiVoid_ffiLong_fnPtrTrampoline) + .cast(), + ptr.cast()), + lib); + static ffi.Pointer? _cFuncTrampoline; + + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_ffiLong.fromFunction( + AuthenticationServices lib, void Function(int) fn) + : this._( + lib._newBlock1( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, ffi.Long)>( + _ObjCBlock_ffiVoid_ffiLong_closureTrampoline) + .cast(), + _ObjCBlock_ffiVoid_ffiLong_registerClosure( + (int arg0) => fn(arg0))), + lib); + static ffi.Pointer? _dartFuncTrampoline; + + /// Creates a listener block from a Dart function. + /// + /// This is based on FFI's NativeCallable.listener, and has the same + /// capabilities and limitations. This block can be invoked from any thread, + /// but only supports void functions, and is not run synchronously. See + /// NativeCallable.listener for more details. + /// + /// Note that unlike the default behavior of NativeCallable.listener, listener + /// blocks do not keep the isolate alive. + ObjCBlock_ffiVoid_ffiLong.listener( + AuthenticationServices lib, void Function(int) fn) + : this._( + lib._newBlock1( + (_dartFuncListenerTrampoline ??= ffi.NativeCallable< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, ffi.Long)>.listener( + _ObjCBlock_ffiVoid_ffiLong_closureTrampoline) + ..keepIsolateAlive = false) + .nativeFunction + .cast(), + _ObjCBlock_ffiVoid_ffiLong_registerClosure( + (int arg0) => fn(arg0))), + lib); + static ffi + .NativeCallable, ffi.Long)>? + _dartFuncListenerTrampoline; + + void call(int arg0) => _id.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer<_ObjCBlock> block, ffi.Long arg0)>>() + .asFunction, int)>()(_id, arg0); +} + +class NSButton extends _ObjCWrapper { + NSButton._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSButton] that points to the same underlying object as [other]. + static NSButton castFrom(T other) { + return NSButton._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSButton] that wraps the given raw object pointer. + static NSButton castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSButton._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSButton]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSButton1); + } +} + +/// ! +/// @typedef NSWindowButton +/// +/// Standard window buttons. +abstract class NSWindowButton { + static const int NSWindowCloseButton = 0; + static const int NSWindowMiniaturizeButton = 1; + static const int NSWindowZoomButton = 2; + static const int NSWindowToolbarButton = 3; + static const int NSWindowDocumentIconButton = 4; + static const int NSWindowDocumentVersionsButton = 6; +} + +class NSColorSpace extends _ObjCWrapper { + NSColorSpace._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSColorSpace] that points to the same underlying object as [other]. + static NSColorSpace castFrom(T other) { + return NSColorSpace._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSColorSpace] that wraps the given raw object pointer. + static NSColorSpace castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSColorSpace._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSColorSpace]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSColorSpace1); + } +} + +abstract class NSDisplayGamut { + static const int NSDisplayGamutSRGB = 1; + static const int NSDisplayGamutP3 = 2; +} + +/// ! +/// @typedef NSWindowNumberListOptions +/// +/// Options used in `+windowNumbersWithOptions:`. If no options are specified, the returned list contains window numbers for visible windows on the active space belonging to the calling application. +/// +/// @const NSWindowNumberListAllApplications +/// @const NSWindowNumberListAllSpaces +abstract class NSWindowNumberListOptions { + static const int NSWindowNumberListAllApplications = 1; + static const int NSWindowNumberListAllSpaces = 16; +} + +/// ! +/// @typedef NSWindowOcclusionState +/// +/// @const NSWindowOcclusionStateVisible If set, at least part of the window is visible. If not set, the entire window is occluded. Windows with non-rectangular shapes may be completely occluded on screen but still count as visible, if their bounding box falls into a visible region. Windows that are completely transparent may also still count as visible. +abstract class NSWindowOcclusionState { + static const int NSWindowOcclusionStateVisible = 2; +} + +abstract class NSTitlebarSeparatorStyle { + static const int NSTitlebarSeparatorStyleAutomatic = 0; + static const int NSTitlebarSeparatorStyleNone = 1; + static const int NSTitlebarSeparatorStyleLine = 2; + static const int NSTitlebarSeparatorStyleShadow = 3; +} + +class NSViewController extends _ObjCWrapper { + NSViewController._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSViewController] that points to the same underlying object as [other]. + static NSViewController castFrom(T other) { + return NSViewController._(other._id, other._lib, + retain: true, release: true); + } + + /// Returns a [NSViewController] that wraps the given raw object pointer. + static NSViewController castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSViewController._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSViewController]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_NSViewController1); + } +} + +abstract class NSSelectionDirection { + static const int NSDirectSelection = 0; + static const int NSSelectingNext = 1; + static const int NSSelectingPrevious = 2; +} + +class NSButtonCell extends _ObjCWrapper { + NSButtonCell._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSButtonCell] that points to the same underlying object as [other]. + static NSButtonCell castFrom(T other) { + return NSButtonCell._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSButtonCell] that wraps the given raw object pointer. + static NSButtonCell castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSButtonCell._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSButtonCell]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSButtonCell1); + } +} + +class NSToolbar extends _ObjCWrapper { + NSToolbar._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSToolbar] that points to the same underlying object as [other]. + static NSToolbar castFrom(T other) { + return NSToolbar._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSToolbar] that wraps the given raw object pointer. + static NSToolbar castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSToolbar._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSToolbar]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSToolbar1); + } +} + +abstract class NSWindowUserTabbingPreference { + static const int NSWindowUserTabbingPreferenceManual = 0; + static const int NSWindowUserTabbingPreferenceAlways = 1; + static const int NSWindowUserTabbingPreferenceInFullScreen = 2; +} + +/// ! +/// @typedef NSWindowTabbingMode +/// +/// @const NSWindowTabbingModeAutomatic The system automatically prefers to tab this window when appropriate. +/// @const NSWindowTabbingModePreferred The window explicitly should prefer to tab when shown. +/// @const NSWindowTabbingModeDisallowed The window explicitly should not prefer to tab when shown. +abstract class NSWindowTabbingMode { + static const int NSWindowTabbingModeAutomatic = 0; + static const int NSWindowTabbingModePreferred = 1; + static const int NSWindowTabbingModeDisallowed = 2; +} + +class NSWindowTab extends _ObjCWrapper { + NSWindowTab._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSWindowTab] that points to the same underlying object as [other]. + static NSWindowTab castFrom(T other) { + return NSWindowTab._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSWindowTab] that wraps the given raw object pointer. + static NSWindowTab castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSWindowTab._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSWindowTab]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSWindowTab1); + } +} + +class NSWindowTabGroup extends _ObjCWrapper { + NSWindowTabGroup._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSWindowTabGroup] that points to the same underlying object as [other]. + static NSWindowTabGroup castFrom(T other) { + return NSWindowTabGroup._(other._id, other._lib, + retain: true, release: true); + } + + /// Returns a [NSWindowTabGroup] that wraps the given raw object pointer. + static NSWindowTabGroup castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSWindowTabGroup._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSWindowTabGroup]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_NSWindowTabGroup1); + } +} + +void _ObjCBlock_ffiVoid_NSError_fnPtrTrampoline( + ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0) => + block.ref.target + .cast< + ffi + .NativeFunction arg0)>>() + .asFunction)>()(arg0); +final _ObjCBlock_ffiVoid_NSError_closureRegistry = + )>{}; +int _ObjCBlock_ffiVoid_NSError_closureRegistryIndex = 0; +ffi.Pointer _ObjCBlock_ffiVoid_NSError_registerClosure( + void Function(ffi.Pointer) fn) { + final id = ++_ObjCBlock_ffiVoid_NSError_closureRegistryIndex; + _ObjCBlock_ffiVoid_NSError_closureRegistry[id] = fn; + return ffi.Pointer.fromAddress(id); +} + +void _ObjCBlock_ffiVoid_NSError_closureTrampoline( + ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0) => + _ObjCBlock_ffiVoid_NSError_closureRegistry[block.ref.target.address]!(arg0); + +class ObjCBlock_ffiVoid_NSError extends _ObjCBlockBase { + ObjCBlock_ffiVoid_NSError._( + ffi.Pointer<_ObjCBlock> id, AuthenticationServices lib, + {bool retain = false, bool release = true}) + : super._(id, lib, retain: retain, release: release); + + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_NSError.fromFunctionPointer( + AuthenticationServices lib, + ffi + .Pointer< + ffi + .NativeFunction arg0)>> + ptr) + : this._( + lib._newBlock1( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_NSError_fnPtrTrampoline) + .cast(), + ptr.cast()), + lib); + static ffi.Pointer? _cFuncTrampoline; + + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_NSError.fromFunction( + AuthenticationServices lib, void Function(NSError?) fn) + : this._( + lib._newBlock1( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_NSError_closureTrampoline) + .cast(), + _ObjCBlock_ffiVoid_NSError_registerClosure( + (ffi.Pointer arg0) => fn(arg0.address == 0 + ? null + : NSError._(arg0, lib, retain: true, release: true)))), + lib); + static ffi.Pointer? _dartFuncTrampoline; + + /// Creates a listener block from a Dart function. + /// + /// This is based on FFI's NativeCallable.listener, and has the same + /// capabilities and limitations. This block can be invoked from any thread, + /// but only supports void functions, and is not run synchronously. See + /// NativeCallable.listener for more details. + /// + /// Note that unlike the default behavior of NativeCallable.listener, listener + /// blocks do not keep the isolate alive. + ObjCBlock_ffiVoid_NSError.listener( + AuthenticationServices lib, void Function(NSError?) fn) + : this._( + lib._newBlock1( + (_dartFuncListenerTrampoline ??= ffi.NativeCallable< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, + ffi.Pointer)>.listener( + _ObjCBlock_ffiVoid_NSError_closureTrampoline) + ..keepIsolateAlive = false) + .nativeFunction + .cast(), + _ObjCBlock_ffiVoid_NSError_registerClosure( + (ffi.Pointer arg0) => fn(arg0.address == 0 + ? null + : NSError._(arg0, lib, retain: true, release: true)))), + lib); + static ffi.NativeCallable< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer)>? + _dartFuncListenerTrampoline; + + void call(NSError? arg0) => _id.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0)>>() + .asFunction< + void Function(ffi.Pointer<_ObjCBlock>, + ffi.Pointer)>()(_id, arg0?._id ?? ffi.nullptr); +} + +void _ObjCBlock_ffiVoid_NSEvent_bool_fnPtrTrampoline( + ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, + ffi.Pointer arg1) => + block.ref.target + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer arg0, + ffi.Pointer arg1)>>() + .asFunction< + void Function( + ffi.Pointer, ffi.Pointer)>()(arg0, arg1); +final _ObjCBlock_ffiVoid_NSEvent_bool_closureRegistry = + , ffi.Pointer)>{}; +int _ObjCBlock_ffiVoid_NSEvent_bool_closureRegistryIndex = 0; +ffi.Pointer _ObjCBlock_ffiVoid_NSEvent_bool_registerClosure( + void Function(ffi.Pointer, ffi.Pointer) fn) { + final id = ++_ObjCBlock_ffiVoid_NSEvent_bool_closureRegistryIndex; + _ObjCBlock_ffiVoid_NSEvent_bool_closureRegistry[id] = fn; + return ffi.Pointer.fromAddress(id); +} + +void _ObjCBlock_ffiVoid_NSEvent_bool_closureTrampoline( + ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, + ffi.Pointer arg1) => + _ObjCBlock_ffiVoid_NSEvent_bool_closureRegistry[block.ref.target.address]!( + arg0, arg1); + +class ObjCBlock_ffiVoid_NSEvent_bool extends _ObjCBlockBase { + ObjCBlock_ffiVoid_NSEvent_bool._( + ffi.Pointer<_ObjCBlock> id, AuthenticationServices lib, + {bool retain = false, bool release = true}) + : super._(id, lib, retain: retain, release: release); + + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_NSEvent_bool.fromFunctionPointer( + AuthenticationServices lib, + ffi.Pointer< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer arg0, + ffi.Pointer arg1)>> + ptr) + : this._( + lib._newBlock1( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_NSEvent_bool_fnPtrTrampoline) + .cast(), + ptr.cast()), + lib); + static ffi.Pointer? _cFuncTrampoline; + + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_NSEvent_bool.fromFunction(AuthenticationServices lib, + void Function(NSEvent?, ffi.Pointer) fn) + : this._( + lib._newBlock1( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_NSEvent_bool_closureTrampoline) + .cast(), + _ObjCBlock_ffiVoid_NSEvent_bool_registerClosure( + (ffi.Pointer arg0, ffi.Pointer arg1) => fn( + arg0.address == 0 ? null : NSEvent._(arg0, lib, retain: true, release: true), + arg1))), + lib); + static ffi.Pointer? _dartFuncTrampoline; + + /// Creates a listener block from a Dart function. + /// + /// This is based on FFI's NativeCallable.listener, and has the same + /// capabilities and limitations. This block can be invoked from any thread, + /// but only supports void functions, and is not run synchronously. See + /// NativeCallable.listener for more details. + /// + /// Note that unlike the default behavior of NativeCallable.listener, listener + /// blocks do not keep the isolate alive. + ObjCBlock_ffiVoid_NSEvent_bool.listener(AuthenticationServices lib, + void Function(NSEvent?, ffi.Pointer) fn) + : this._( + lib._newBlock1( + (_dartFuncListenerTrampoline ??= ffi.NativeCallable< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + ffi.Pointer)>.listener( + _ObjCBlock_ffiVoid_NSEvent_bool_closureTrampoline) + ..keepIsolateAlive = false) + .nativeFunction + .cast(), + _ObjCBlock_ffiVoid_NSEvent_bool_registerClosure( + (ffi.Pointer arg0, ffi.Pointer arg1) => + fn(arg0.address == 0 ? null : NSEvent._(arg0, lib, retain: true, release: true), + arg1))), + lib); + static ffi.NativeCallable< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, + ffi.Pointer)>? _dartFuncListenerTrampoline; + + void call(NSEvent? arg0, ffi.Pointer arg1) => _id.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, ffi.Pointer arg1)>>() + .asFunction< + void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, + ffi.Pointer)>()(_id, arg0?._id ?? ffi.nullptr, arg1); +} + +class NSDate extends NSObject { + NSDate._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSDate] that points to the same underlying object as [other]. + static NSDate castFrom(T other) { + return NSDate._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSDate] that wraps the given raw object pointer. + static NSDate castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSDate._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSDate]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSDate1); + } + + double get timeIntervalSinceReferenceDate { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_81_fpret( + _id, _lib._sel_timeIntervalSinceReferenceDate1) + : _lib._objc_msgSend_81(_id, _lib._sel_timeIntervalSinceReferenceDate1); + } + + @override + NSDate init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSDate._(_ret, _lib, retain: true, release: true); + } + + NSDate initWithTimeIntervalSinceReferenceDate_(double ti) { + final _ret = _lib._objc_msgSend_333( + _id, _lib._sel_initWithTimeIntervalSinceReferenceDate_1, ti); + return NSDate._(_ret, _lib, retain: true, release: true); + } + + NSDate? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : NSDate._(_ret, _lib, retain: true, release: true); + } + + static NSDate new1(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSDate1, _lib._sel_new1); + return NSDate._(_ret, _lib, retain: false, release: true); + } + + static NSDate allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSDate1, _lib._sel_allocWithZone_1, zone); + return NSDate._(_ret, _lib, retain: false, release: true); + } + + static NSDate alloc(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSDate1, _lib._sel_alloc1); + return NSDate._(_ret, _lib, retain: false, release: true); + } +} + +class NSPasteboard extends NSObject { + NSPasteboard._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSPasteboard] that points to the same underlying object as [other]. + static NSPasteboard castFrom(T other) { + return NSPasteboard._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSPasteboard] that wraps the given raw object pointer. + static NSPasteboard castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSPasteboard._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSPasteboard]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSPasteboard1); + } + + static NSPasteboard getGeneralPasteboard(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_338( + _lib._class_NSPasteboard1, _lib._sel_generalPasteboard1); + return NSPasteboard._(_ret, _lib, retain: true, release: true); + } + + static NSPasteboard pasteboardWithName_( + AuthenticationServices _lib, NSString name) { + final _ret = _lib._objc_msgSend_339( + _lib._class_NSPasteboard1, _lib._sel_pasteboardWithName_1, name._id); + return NSPasteboard._(_ret, _lib, retain: true, release: true); + } + + static NSPasteboard pasteboardWithUniqueName(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_338( + _lib._class_NSPasteboard1, _lib._sel_pasteboardWithUniqueName1); + return NSPasteboard._(_ret, _lib, retain: true, release: true); + } + + NSString get name { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_name1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + int get changeCount { + return _lib._objc_msgSend_77(_id, _lib._sel_changeCount1); + } + + void releaseGlobally() { + _lib._objc_msgSend_1(_id, _lib._sel_releaseGlobally1); + } + + int prepareForNewContentsWithOptions_(int options) { + return _lib._objc_msgSend_340( + _id, _lib._sel_prepareForNewContentsWithOptions_1, options); + } + + int clearContents() { + return _lib._objc_msgSend_77(_id, _lib._sel_clearContents1); + } + + bool writeObjects_(NSObject objects) { + return _lib._objc_msgSend_0(_id, _lib._sel_writeObjects_1, objects._id); + } + + NSArray? readObjectsForClasses_options_( + NSArray classArray, NSObject? options) { + final _ret = _lib._objc_msgSend_343( + _id, + _lib._sel_readObjectsForClasses_options_1, + classArray._id, + options?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSArray._(_ret, _lib, retain: true, release: true); + } + + NSArray? get pasteboardItems { + final _ret = _lib._objc_msgSend_344(_id, _lib._sel_pasteboardItems1); + return _ret.address == 0 + ? null + : NSArray._(_ret, _lib, retain: true, release: true); + } + + int indexOfPasteboardItem_(NSPasteboardItem pasteboardItem) { + return _lib._objc_msgSend_345( + _id, _lib._sel_indexOfPasteboardItem_1, pasteboardItem._id); + } + + bool canReadItemWithDataConformingToTypes_(NSArray types) { + return _lib._objc_msgSend_346( + _id, _lib._sel_canReadItemWithDataConformingToTypes_1, types._id); + } + + bool canReadObjectForClasses_options_(NSArray classArray, NSObject? options) { + return _lib._objc_msgSend_347( + _id, + _lib._sel_canReadObjectForClasses_options_1, + classArray._id, + options?._id ?? ffi.nullptr); + } + + int declareTypes_owner_(NSArray newTypes, NSObject? newOwner) { + return _lib._objc_msgSend_348(_id, _lib._sel_declareTypes_owner_1, + newTypes._id, newOwner?._id ?? ffi.nullptr); + } + + int addTypes_owner_(NSArray newTypes, NSObject? newOwner) { + return _lib._objc_msgSend_348(_id, _lib._sel_addTypes_owner_1, newTypes._id, + newOwner?._id ?? ffi.nullptr); + } + + NSArray? get types { + final _ret = _lib._objc_msgSend_344(_id, _lib._sel_types1); + return _ret.address == 0 + ? null + : NSArray._(_ret, _lib, retain: true, release: true); + } + + NSString? availableTypeFromArray_(NSArray types) { + final _ret = _lib._objc_msgSend_349( + _id, _lib._sel_availableTypeFromArray_1, types._id); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + bool setData_forType_(NSData? data, NSString dataType) { + return _lib._objc_msgSend_350(_id, _lib._sel_setData_forType_1, + data?._id ?? ffi.nullptr, dataType._id); + } + + bool setPropertyList_forType_(NSObject plist, NSString dataType) { + return _lib._objc_msgSend_351( + _id, _lib._sel_setPropertyList_forType_1, plist._id, dataType._id); + } + + bool setString_forType_(NSString string, NSString dataType) { + return _lib._objc_msgSend_352( + _id, _lib._sel_setString_forType_1, string._id, dataType._id); + } + + NSData? dataForType_(NSString dataType) { + final _ret = + _lib._objc_msgSend_353(_id, _lib._sel_dataForType_1, dataType._id); + return _ret.address == 0 + ? null + : NSData._(_ret, _lib, retain: true, release: true); + } + + NSObject? propertyListForType_(NSString dataType) { + final _ret = _lib._objc_msgSend_48( + _id, _lib._sel_propertyListForType_1, dataType._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + NSString? stringForType_(NSString dataType) { + final _ret = + _lib._objc_msgSend_354(_id, _lib._sel_stringForType_1, dataType._id); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + @override + NSPasteboard init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSPasteboard._(_ret, _lib, retain: true, release: true); + } + + static NSPasteboard new1(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSPasteboard1, _lib._sel_new1); + return NSPasteboard._(_ret, _lib, retain: false, release: true); + } + + static NSPasteboard allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSPasteboard1, _lib._sel_allocWithZone_1, zone); + return NSPasteboard._(_ret, _lib, retain: false, release: true); + } + + static NSPasteboard alloc(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSPasteboard1, _lib._sel_alloc1); + return NSPasteboard._(_ret, _lib, retain: false, release: true); + } +} + +abstract class NSPasteboardContentsOptions { + static const int NSPasteboardContentsCurrentHostOnly = 1; +} + +class NSArray extends NSObject { + NSArray._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSArray] that points to the same underlying object as [other]. + static NSArray castFrom(T other) { + return NSArray._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSArray] that wraps the given raw object pointer. + static NSArray castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSArray._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSArray]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSArray1); + } + + int get count { + return _lib._objc_msgSend_10(_id, _lib._sel_count1); + } + + NSObject objectAtIndex_(int index) { + final _ret = _lib._objc_msgSend_341(_id, _lib._sel_objectAtIndex_1, index); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + @override + NSArray init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSArray._(_ret, _lib, retain: true, release: true); + } + + NSArray initWithObjects_count_( + ffi.Pointer> objects, int cnt) { + final _ret = _lib._objc_msgSend_342( + _id, _lib._sel_initWithObjects_count_1, objects, cnt); + return NSArray._(_ret, _lib, retain: true, release: true); + } + + NSArray? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : NSArray._(_ret, _lib, retain: true, release: true); + } + + static NSArray new1(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSArray1, _lib._sel_new1); + return NSArray._(_ret, _lib, retain: false, release: true); + } + + static NSArray allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSArray1, _lib._sel_allocWithZone_1, zone); + return NSArray._(_ret, _lib, retain: false, release: true); + } + + static NSArray alloc(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSArray1, _lib._sel_alloc1); + return NSArray._(_ret, _lib, retain: false, release: true); + } +} + +class NSPasteboardItem extends _ObjCWrapper { + NSPasteboardItem._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSPasteboardItem] that points to the same underlying object as [other]. + static NSPasteboardItem castFrom(T other) { + return NSPasteboardItem._(other._id, other._lib, + retain: true, release: true); + } + + /// Returns a [NSPasteboardItem] that wraps the given raw object pointer. + static NSPasteboardItem castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSPasteboardItem._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSPasteboardItem]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_NSPasteboardItem1); + } +} + +class CADisplayLink extends _ObjCWrapper { + CADisplayLink._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [CADisplayLink] that points to the same underlying object as [other]. + static CADisplayLink castFrom(T other) { + return CADisplayLink._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [CADisplayLink] that wraps the given raw object pointer. + static CADisplayLink castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return CADisplayLink._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [CADisplayLink]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_CADisplayLink1); + } +} + +abstract class NSWindowBackingLocation { + /// System determines if window backing store is in VRAM or main memory + static const int NSWindowBackingLocationDefault = 0; + + /// Window backing store is in VRAM + static const int NSWindowBackingLocationVideoMemory = 1; + + /// Window backing store is in main memory + static const int NSWindowBackingLocationMainMemory = 2; +} + +class NSApplication extends NSResponder { + NSApplication._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSApplication] that points to the same underlying object as [other]. + static NSApplication castFrom(T other) { + return NSApplication._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSApplication] that wraps the given raw object pointer. + static NSApplication castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSApplication._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSApplication]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSApplication1); + } + + static NSApplication getSharedApplication(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_362( + _lib._class_NSApplication1, _lib._sel_sharedApplication1); + return NSApplication._(_ret, _lib, retain: true, release: true); + } + + NSObject? get delegate { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_delegate1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + set delegate(NSObject? value) { + return _lib._objc_msgSend_17( + _id, _lib._sel_setDelegate_1, value?._id ?? ffi.nullptr); + } + + void hide_(NSObject? sender) { + _lib._objc_msgSend_237(_id, _lib._sel_hide_1, sender?._id ?? ffi.nullptr); + } + + void unhide_(NSObject? sender) { + _lib._objc_msgSend_237(_id, _lib._sel_unhide_1, sender?._id ?? ffi.nullptr); + } + + void unhideWithoutActivation() { + _lib._objc_msgSend_1(_id, _lib._sel_unhideWithoutActivation1); + } + + NSWindow? windowWithWindowNumber_(int windowNum) { + final _ret = _lib._objc_msgSend_363( + _id, _lib._sel_windowWithWindowNumber_1, windowNum); + return _ret.address == 0 + ? null + : NSWindow._(_ret, _lib, retain: true, release: true); + } + + NSWindow? get mainWindow { + final _ret = _lib._objc_msgSend_109(_id, _lib._sel_mainWindow1); + return _ret.address == 0 + ? null + : NSWindow._(_ret, _lib, retain: true, release: true); + } + + NSWindow? get keyWindow { + final _ret = _lib._objc_msgSend_109(_id, _lib._sel_keyWindow1); + return _ret.address == 0 + ? null + : NSWindow._(_ret, _lib, retain: true, release: true); + } + + bool get active { + return _lib._objc_msgSend_12(_id, _lib._sel_isActive1); + } + + bool get hidden { + return _lib._objc_msgSend_12(_id, _lib._sel_isHidden1); + } + + bool get running { + return _lib._objc_msgSend_12(_id, _lib._sel_isRunning1); + } + + void deactivate() { + _lib._objc_msgSend_1(_id, _lib._sel_deactivate1); + } + + /// Makes the receiver the active app. + void activateIgnoringOtherApps_(bool flag) { + _lib._objc_msgSend_195(_id, _lib._sel_activateIgnoringOtherApps_1, flag); + } + + /// Makes the receiver the active app, if possible. + /// + /// You shouldn’t assume the app will be active immediately + /// after sending this message. The framework also does not + /// guarantee that the app will be activated at all. + /// + /// For cooperative activation, the other application should + /// call `-yieldActivationToApplication:` or equivalent prior + /// to the target application invoking `-activate`. + /// + /// Invoking `-activate` on an already-active application + /// cancels any pending activation yields by the receiver. + void activate() { + _lib._objc_msgSend_1(_id, _lib._sel_activate1); + } + + /// Explicitly allows another application to make itself active. + /// + /// Calling this method will not deactivate the current app, nor + /// will it activate the other app. For cooperative or coordinated + /// activation, the other app should request to be activated at + /// some point in the future by calling `activate` or equivalent. + void yieldActivationToApplication_(NSRunningApplication application) { + _lib._objc_msgSend_371( + _id, _lib._sel_yieldActivationToApplication_1, application._id); + } + + /// Same as `-yieldActivationToApplication:`, but the provided + /// bundle identifier does not have to correspond to a currently + /// running application. + /// + /// This method should be used to yield activation to apps that + /// may not be running at the time of invoking it. If it is known + /// that the target application is currently running, use + /// `-yieldActivationToApplication:` instead. + void yieldActivationToApplicationWithBundleIdentifier_( + NSString bundleIdentifier) { + _lib._objc_msgSend_94( + _id, + _lib._sel_yieldActivationToApplicationWithBundleIdentifier_1, + bundleIdentifier._id); + } + + void hideOtherApplications_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_hideOtherApplications_1, sender?._id ?? ffi.nullptr); + } + + void unhideAllApplications_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_unhideAllApplications_1, sender?._id ?? ffi.nullptr); + } + + void finishLaunching() { + _lib._objc_msgSend_1(_id, _lib._sel_finishLaunching1); + } + + void run() { + _lib._objc_msgSend_1(_id, _lib._sel_run1); + } + + int runModalForWindow_(NSWindow window) { + return _lib._objc_msgSend_372( + _id, _lib._sel_runModalForWindow_1, window._id); + } + + void stop_(NSObject? sender) { + _lib._objc_msgSend_237(_id, _lib._sel_stop_1, sender?._id ?? ffi.nullptr); + } + + void stopModal() { + _lib._objc_msgSend_1(_id, _lib._sel_stopModal1); + } + + void stopModalWithCode_(int returnCode) { + _lib._objc_msgSend_200(_id, _lib._sel_stopModalWithCode_1, returnCode); + } + + void abortModal() { + _lib._objc_msgSend_1(_id, _lib._sel_abortModal1); + } + + NSWindow? get modalWindow { + final _ret = _lib._objc_msgSend_109(_id, _lib._sel_modalWindow1); + return _ret.address == 0 + ? null + : NSWindow._(_ret, _lib, retain: true, release: true); + } + + ffi.Pointer<_NSModalSession> beginModalSessionForWindow_(NSWindow window) { + return _lib._objc_msgSend_373( + _id, _lib._sel_beginModalSessionForWindow_1, window._id); + } + + int runModalSession_(ffi.Pointer<_NSModalSession> session) { + return _lib._objc_msgSend_374(_id, _lib._sel_runModalSession_1, session); + } + + void endModalSession_(ffi.Pointer<_NSModalSession> session) { + _lib._objc_msgSend_375(_id, _lib._sel_endModalSession_1, session); + } + + void terminate_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_terminate_1, sender?._id ?? ffi.nullptr); + } + + /// Inform the user that this application needs attention - call this method only if your application is not already active. + int requestUserAttention_(int requestType) { + return _lib._objc_msgSend_376( + _id, _lib._sel_requestUserAttention_1, requestType); + } + + void cancelUserAttentionRequest_(int request) { + _lib._objc_msgSend_200( + _id, _lib._sel_cancelUserAttentionRequest_1, request); + } + + /// Execute a block for each of the app's windows. Set `*stop = YES` if desired, to halt the enumeration early. + void enumerateWindowsWithOptions_usingBlock_( + int options, ObjCBlock_ffiVoid_NSWindow_bool block) { + _lib._objc_msgSend_377(_id, + _lib._sel_enumerateWindowsWithOptions_usingBlock_1, options, block._id); + } + + void preventWindowOrdering() { + _lib._objc_msgSend_1(_id, _lib._sel_preventWindowOrdering1); + } + + NSArray get windows { + final _ret = _lib._objc_msgSend_378(_id, _lib._sel_windows1); + return NSArray._(_ret, _lib, retain: true, release: true); + } + + void setWindowsNeedUpdate_(bool needUpdate) { + _lib._objc_msgSend_195(_id, _lib._sel_setWindowsNeedUpdate_1, needUpdate); + } + + void updateWindows() { + _lib._objc_msgSend_1(_id, _lib._sel_updateWindows1); + } + + NSMenu? get mainMenu { + final _ret = _lib._objc_msgSend_178(_id, _lib._sel_mainMenu1); + return _ret.address == 0 + ? null + : NSMenu._(_ret, _lib, retain: true, release: true); + } + + set mainMenu(NSMenu? value) { + return _lib._objc_msgSend_179( + _id, _lib._sel_setMainMenu_1, value?._id ?? ffi.nullptr); + } + + /// Set or get the Help menu for the app. If a non-nil menu is set as the Help menu, Spotlight for Help will be installed in it; otherwise AppKit will install Spotlight for Help into a menu of its choosing (and that menu is not returned from `-helpMenu`). If you wish to completely suppress Spotlight for Help, you can set a menu that does not appear in the menu bar. @c NSApplication retains its Help menu and releases it when a different menu is set. + NSMenu? get helpMenu { + final _ret = _lib._objc_msgSend_178(_id, _lib._sel_helpMenu1); + return _ret.address == 0 + ? null + : NSMenu._(_ret, _lib, retain: true, release: true); + } + + /// Set or get the Help menu for the app. If a non-nil menu is set as the Help menu, Spotlight for Help will be installed in it; otherwise AppKit will install Spotlight for Help into a menu of its choosing (and that menu is not returned from `-helpMenu`). If you wish to completely suppress Spotlight for Help, you can set a menu that does not appear in the menu bar. @c NSApplication retains its Help menu and releases it when a different menu is set. + set helpMenu(NSMenu? value) { + return _lib._objc_msgSend_179( + _id, _lib._sel_setHelpMenu_1, value?._id ?? ffi.nullptr); + } + + NSImage get applicationIconImage { + final _ret = _lib._objc_msgSend_188(_id, _lib._sel_applicationIconImage1); + return NSImage._(_ret, _lib, retain: true, release: true); + } + + set applicationIconImage(NSImage value) { + return _lib._objc_msgSend_189( + _id, _lib._sel_setApplicationIconImage_1, value._id); + } + + /// @return The activation policy of the application. + int activationPolicy() { + return _lib._objc_msgSend_364(_id, _lib._sel_activationPolicy1); + } + + /// Attempts to modify the application's activation policy. In OS X 10.9, any policy may be set; prior to 10.9, the activation policy may be changed to @c NSApplicationActivationPolicyProhibited or @c NSApplicationActivationPolicyRegular, but may not be changed to @c NSApplicationActivationPolicyAccessory. This returns @c YES if setting the activation policy is successful, and @c NO if not. + bool setActivationPolicy_(int activationPolicy) { + return _lib._objc_msgSend_379( + _id, _lib._sel_setActivationPolicy_1, activationPolicy); + } + + NSDockTile get dockTile { + final _ret = _lib._objc_msgSend_286(_id, _lib._sel_dockTile1); + return NSDockTile._(_ret, _lib, retain: true, release: true); + } + + void reportException_(NSException exception) { + _lib._objc_msgSend_385(_id, _lib._sel_reportException_1, exception._id); + } + + static void detachDrawingThread_toTarget_withObject_( + AuthenticationServices _lib, + ffi.Pointer selector, + NSObject target, + NSObject? argument) { + _lib._objc_msgSend_386( + _lib._class_NSApplication1, + _lib._sel_detachDrawingThread_toTarget_withObject_1, + selector, + target._id, + argument?._id ?? ffi.nullptr); + } + + /// If an application delegate returns NSTerminateLater from -applicationShouldTerminate:, -replyToApplicationShouldTerminate: must be called with YES or NO once the application decides if it can terminate. + void replyToApplicationShouldTerminate_(bool shouldTerminate) { + _lib._objc_msgSend_195( + _id, _lib._sel_replyToApplicationShouldTerminate_1, shouldTerminate); + } + + /// If an application delegate encounters an error while handling `-application:openFiles:` or` -application:printFiles:`, `-replyToOpenOrPrint:` should be called with @c NSApplicationDelegateReplyFailure. If the user cancels the operation, @c NSApplicationDelegateReplyCancel should be used, and if the operation succeeds, @c NSApplicationDelegateReplySuccess should be used . + void replyToOpenOrPrint_(int reply) { + _lib._objc_msgSend_387(_id, _lib._sel_replyToOpenOrPrint_1, reply); + } + + /// Opens the character palette. + void orderFrontCharacterPalette_(NSObject? sender) { + _lib._objc_msgSend_237(_id, _lib._sel_orderFrontCharacterPalette_1, + sender?._id ?? ffi.nullptr); + } + + /// Gets or sets the @c presentationOptions that should be in effect for the system when this application is the active application. Only certain combinations of @c NSApplicationPresentationOptions flags are allowed, as detailed in the AppKit Release Notes and the reference documentation for `-setPresentationOptions:`. When given an invalid combination of option flags, `-setPresentationOptions:` raises an exception. + int get presentationOptions { + return _lib._objc_msgSend_388(_id, _lib._sel_presentationOptions1); + } + + /// Gets or sets the @c presentationOptions that should be in effect for the system when this application is the active application. Only certain combinations of @c NSApplicationPresentationOptions flags are allowed, as detailed in the AppKit Release Notes and the reference documentation for `-setPresentationOptions:`. When given an invalid combination of option flags, `-setPresentationOptions:` raises an exception. + set presentationOptions(int value) { + return _lib._objc_msgSend_389( + _id, _lib._sel_setPresentationOptions_1, value); + } + + /// @return The set of application presentation options that are currently in effect for the system. + /// These are the presentation options that have been put into effect by the currently active application. + int get currentSystemPresentationOptions { + return _lib._objc_msgSend_388( + _id, _lib._sel_currentSystemPresentationOptions1); + } + + int get occlusionState { + return _lib._objc_msgSend_390(_id, _lib._sel_occlusionState1); + } + + bool get protectedDataAvailable { + return _lib._objc_msgSend_12(_id, _lib._sel_isProtectedDataAvailable1); + } + + NSAppearance? get appearance { + final _ret = _lib._objc_msgSend_419(_id, _lib._sel_appearance1); + return _ret.address == 0 + ? null + : NSAppearance._(_ret, _lib, retain: true, release: true); + } + + set appearance(NSAppearance? value) { + return _lib._objc_msgSend_420( + _id, _lib._sel_setAppearance_1, value?._id ?? ffi.nullptr); + } + + NSAppearance get effectiveAppearance { + final _ret = _lib._objc_msgSend_391(_id, _lib._sel_effectiveAppearance1); + return NSAppearance._(_ret, _lib, retain: true, release: true); + } + + void sendEvent_(NSEvent event) { + _lib._objc_msgSend_236(_id, _lib._sel_sendEvent_1, event._id); + } + + void postEvent_atStart_(NSEvent event, bool flag) { + _lib._objc_msgSend_336(_id, _lib._sel_postEvent_atStart_1, event._id, flag); + } + + NSEvent? get currentEvent { + final _ret = _lib._objc_msgSend_337(_id, _lib._sel_currentEvent1); + return _ret.address == 0 + ? null + : NSEvent._(_ret, _lib, retain: true, release: true); + } + + NSEvent? nextEventMatchingMask_untilDate_inMode_dequeue_( + int mask, NSDate? expiration, NSString mode, bool deqFlag) { + final _ret = _lib._objc_msgSend_334( + _id, + _lib._sel_nextEventMatchingMask_untilDate_inMode_dequeue_1, + mask, + expiration?._id ?? ffi.nullptr, + mode._id, + deqFlag); + return _ret.address == 0 + ? null + : NSEvent._(_ret, _lib, retain: true, release: true); + } + + void discardEventsMatchingMask_beforeEvent_(int mask, NSEvent? lastEvent) { + _lib._objc_msgSend_335( + _id, + _lib._sel_discardEventsMatchingMask_beforeEvent_1, + mask, + lastEvent?._id ?? ffi.nullptr); + } + + bool sendAction_to_from_( + ffi.Pointer action, NSObject? target, NSObject? sender) { + return _lib._objc_msgSend_421(_id, _lib._sel_sendAction_to_from_1, action, + target?._id ?? ffi.nullptr, sender?._id ?? ffi.nullptr); + } + + NSObject? targetForAction_(ffi.Pointer action) { + final _ret = + _lib._objc_msgSend_422(_id, _lib._sel_targetForAction_1, action); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + NSObject? targetForAction_to_from_( + ffi.Pointer action, NSObject? target, NSObject? sender) { + final _ret = _lib._objc_msgSend_423( + _id, + _lib._sel_targetForAction_to_from_1, + action, + target?._id ?? ffi.nullptr, + sender?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + @override + bool tryToPerform_with_(ffi.Pointer action, NSObject? object) { + return _lib._objc_msgSend_106( + _id, _lib._sel_tryToPerform_with_1, action, object?._id ?? ffi.nullptr); + } + + @override + NSObject? validRequestorForSendType_returnType_( + NSString? sendType, NSString? returnType) { + final _ret = _lib._objc_msgSend_235( + _id, + _lib._sel_validRequestorForSendType_returnType_1, + sendType?._id ?? ffi.nullptr, + returnType?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + NSMenu? get windowsMenu { + final _ret = _lib._objc_msgSend_178(_id, _lib._sel_windowsMenu1); + return _ret.address == 0 + ? null + : NSMenu._(_ret, _lib, retain: true, release: true); + } + + set windowsMenu(NSMenu? value) { + return _lib._objc_msgSend_179( + _id, _lib._sel_setWindowsMenu_1, value?._id ?? ffi.nullptr); + } + + void arrangeInFront_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_arrangeInFront_1, sender?._id ?? ffi.nullptr); + } + + void removeWindowsItem_(NSWindow win) { + _lib._objc_msgSend_301(_id, _lib._sel_removeWindowsItem_1, win._id); + } + + void addWindowsItem_title_filename_( + NSWindow win, NSString string, bool isFilename) { + _lib._objc_msgSend_424(_id, _lib._sel_addWindowsItem_title_filename_1, + win._id, string._id, isFilename); + } + + void changeWindowsItem_title_filename_( + NSWindow win, NSString string, bool isFilename) { + _lib._objc_msgSend_424(_id, _lib._sel_changeWindowsItem_title_filename_1, + win._id, string._id, isFilename); + } + + void updateWindowsItem_(NSWindow win) { + _lib._objc_msgSend_301(_id, _lib._sel_updateWindowsItem_1, win._id); + } + + void miniaturizeAll_(NSObject? sender) { + _lib._objc_msgSend_237( + _id, _lib._sel_miniaturizeAll_1, sender?._id ?? ffi.nullptr); + } + + /// Use this method to get the status of Full Keyboard Access, as configured in the Keyboard preference pane. You may use this status to implement your own key loop or to implement in-control tabbing behavior similar to @c NSTableView. Because of the nature of the preference storage, you will not be notified of changes to the key if you attempt to observe it via key-value observing; however, calling this method is fairly inexpensive, so you should always call it when you need the underlying value instead of caching it. + bool get fullKeyboardAccessEnabled { + return _lib._objc_msgSend_12(_id, _lib._sel_isFullKeyboardAccessEnabled1); + } + + NSMenu? get servicesMenu { + final _ret = _lib._objc_msgSend_178(_id, _lib._sel_servicesMenu1); + return _ret.address == 0 + ? null + : NSMenu._(_ret, _lib, retain: true, release: true); + } + + set servicesMenu(NSMenu? value) { + return _lib._objc_msgSend_179( + _id, _lib._sel_setServicesMenu_1, value?._id ?? ffi.nullptr); + } + + void registerServicesMenuSendTypes_returnTypes_( + NSArray sendTypes, NSArray returnTypes) { + _lib._objc_msgSend_425( + _id, + _lib._sel_registerServicesMenuSendTypes_returnTypes_1, + sendTypes._id, + returnTypes._id); + } + + NSObject? get servicesProvider { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_servicesProvider1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + set servicesProvider(NSObject? value) { + return _lib._objc_msgSend_17( + _id, _lib._sel_setServicesProvider_1, value?._id ?? ffi.nullptr); + } + + void orderFrontStandardAboutPanel_(NSObject? sender) { + _lib._objc_msgSend_237(_id, _lib._sel_orderFrontStandardAboutPanel_1, + sender?._id ?? ffi.nullptr); + } + + void orderFrontStandardAboutPanelWithOptions_( + NSDictionary optionsDictionary) { + _lib._objc_msgSend_426( + _id, + _lib._sel_orderFrontStandardAboutPanelWithOptions_1, + optionsDictionary._id); + } + + /// Returns the application-wide user interface layout direction. + int get userInterfaceLayoutDirection { + return _lib._objc_msgSend_212(_id, _lib._sel_userInterfaceLayoutDirection1); + } + + /// Disable or reenable relaunching this app on login, if the app was running at the time the user logged out. These methods increment and decrement a counter respectively; if the counter is 0 at the time the user logs out, then the app may be relaunched when the user logs back in. The counter is initially zero, so by default apps are relaunched. + /// + /// If your app should not be relaunched because it launches via some other mechanism (e.g. launchd), then the recommended usage is to call `-[NSApp disableRelaunchOnLogin]` once, and never pair it with an -enable call. + /// + /// If your app should not be relaunched because it triggers a restart (e.g. an installer), then the recommended usage is to call `-[NSApp disableRelaunchOnLogin]` immediately before you attempt to trigger a restart, and `-[NSApp enableRelaunchOnLogin]` immediately after. This is because the user may cancel restarting; if the user later restarts for another reason, then your app should be brought back. + /// + /// These methods are thread safe. + void disableRelaunchOnLogin() { + _lib._objc_msgSend_1(_id, _lib._sel_disableRelaunchOnLogin1); + } + + void enableRelaunchOnLogin() { + _lib._objc_msgSend_1(_id, _lib._sel_enableRelaunchOnLogin1); + } + + void registerForRemoteNotifications() { + _lib._objc_msgSend_1(_id, _lib._sel_registerForRemoteNotifications1); + } + + void unregisterForRemoteNotifications() { + _lib._objc_msgSend_1(_id, _lib._sel_unregisterForRemoteNotifications1); + } + + /// @return @c YES if the application is currently registered for remote notifications, taking into account any systemwide settings; doesn't relate to connectivity. + bool get registeredForRemoteNotifications { + return _lib._objc_msgSend_12( + _id, _lib._sel_isRegisteredForRemoteNotifications1); + } + + /// The following are soft deprecated. + /// Please use the `-registerForRemoteNotifications` above and `-requestAuthorizationWithOptions:` from `UserNotifications.framework`. + void registerForRemoteNotificationTypes_(int types) { + _lib._objc_msgSend_427( + _id, _lib._sel_registerForRemoteNotificationTypes_1, types); + } + + int get enabledRemoteNotificationTypes { + return _lib._objc_msgSend_428( + _id, _lib._sel_enabledRemoteNotificationTypes1); + } + + /// `-runModalForWindow:relativeToWindow:` was deprecated in Mac OS X 10.0. Please use `-[NSWindow beginSheet:completionHandler:]` instead. + int runModalForWindow_relativeToWindow_(NSWindow window, NSWindow docWindow) { + return _lib._objc_msgSend_429( + _id, + _lib._sel_runModalForWindow_relativeToWindow_1, + window._id, + docWindow._id); + } + + /// `-beginModalSessionForWindow:relativeToWindow:` was deprecated in Mac OS X 10.0. Please use `-[NSWindow beginSheet:completionHandler:]` instead. + ffi.Pointer<_NSModalSession> beginModalSessionForWindow_relativeToWindow_( + NSWindow window, NSWindow docWindow) { + return _lib._objc_msgSend_430( + _id, + _lib._sel_beginModalSessionForWindow_relativeToWindow_1, + window._id, + docWindow._id); + } + + /// `-application:printFiles:` was deprecated in Mac OS X 10.4. + /// Implement `-application:printFiles:withSettings:showPrintPanels:` in your application delegate instead. + void application_printFiles_(NSApplication sender, NSArray filenames) { + _lib._objc_msgSend_431( + _id, _lib._sel_application_printFiles_1, sender._id, filenames._id); + } + + /// `NSWindow`'s `-beginSheet:completionHandler:` and `-endSheet:returnCode:` should be used instead. `NSApplication`'s `-beginSheet:modalForWindow:modalDelegate:didEndSelector:contextInfo:` will continue to work as it previously did, leaking contextInfo and failing when there is already an existing sheet. + void beginSheet_modalForWindow_modalDelegate_didEndSelector_contextInfo_( + NSWindow sheet, + NSWindow docWindow, + NSObject? modalDelegate, + ffi.Pointer didEndSelector, + ffi.Pointer contextInfo) { + _lib._objc_msgSend_432( + _id, + _lib._sel_beginSheet_modalForWindow_modalDelegate_didEndSelector_contextInfo_1, + sheet._id, + docWindow._id, + modalDelegate?._id ?? ffi.nullptr, + didEndSelector, + contextInfo); + } + + void endSheet_(NSWindow sheet) { + _lib._objc_msgSend_301(_id, _lib._sel_endSheet_1, sheet._id); + } + + void endSheet_returnCode_(NSWindow sheet, int returnCode) { + _lib._objc_msgSend_302( + _id, _lib._sel_endSheet_returnCode_1, sheet._id, returnCode); + } + + NSWindow? makeWindowsPerform_inOrder_( + ffi.Pointer selector, bool flag) { + final _ret = _lib._objc_msgSend_433( + _id, _lib._sel_makeWindowsPerform_inOrder_1, selector, flag); + return _ret.address == 0 + ? null + : NSWindow._(_ret, _lib, retain: true, release: true); + } + + /// This method is deprecated as of macOS 10.12. Beginning in OS X 10.11 it would always return nil. Prior to this it would return an undefined graphics context that was not generally suitable for drawing. + NSGraphicsContext? get context { + final _ret = _lib._objc_msgSend_110(_id, _lib._sel_context1); + return _ret.address == 0 + ? null + : NSGraphicsContext._(_ret, _lib, retain: true, release: true); + } + + @override + NSApplication init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSApplication._(_ret, _lib, retain: true, release: true); + } + + @override + NSApplication? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : NSApplication._(_ret, _lib, retain: true, release: true); + } + + static NSApplication new1(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSApplication1, _lib._sel_new1); + return NSApplication._(_ret, _lib, retain: false, release: true); + } + + static NSApplication allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSApplication1, _lib._sel_allocWithZone_1, zone); + return NSApplication._(_ret, _lib, retain: false, release: true); + } + + static NSApplication alloc(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSApplication1, _lib._sel_alloc1); + return NSApplication._(_ret, _lib, retain: false, release: true); + } +} + +class NSRunningApplication extends NSObject { + NSRunningApplication._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSRunningApplication] that points to the same underlying object as [other]. + static NSRunningApplication castFrom(T other) { + return NSRunningApplication._(other._id, other._lib, + retain: true, release: true); + } + + /// Returns a [NSRunningApplication] that wraps the given raw object pointer. + static NSRunningApplication castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSRunningApplication._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSRunningApplication]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_NSRunningApplication1); + } + + bool get terminated { + return _lib._objc_msgSend_12(_id, _lib._sel_isTerminated1); + } + + bool get finishedLaunching { + return _lib._objc_msgSend_12(_id, _lib._sel_isFinishedLaunching1); + } + + bool get hidden { + return _lib._objc_msgSend_12(_id, _lib._sel_isHidden1); + } + + bool get active { + return _lib._objc_msgSend_12(_id, _lib._sel_isActive1); + } + + bool get ownsMenuBar { + return _lib._objc_msgSend_12(_id, _lib._sel_ownsMenuBar1); + } + + int get activationPolicy { + return _lib._objc_msgSend_364(_id, _lib._sel_activationPolicy1); + } + + NSString? get localizedName { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_localizedName1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get bundleIdentifier { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_bundleIdentifier1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSURL? get bundleURL { + final _ret = _lib._objc_msgSend_55(_id, _lib._sel_bundleURL1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL? get executableURL { + final _ret = _lib._objc_msgSend_55(_id, _lib._sel_executableURL1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + int get processIdentifier { + return _lib._objc_msgSend_75(_id, _lib._sel_processIdentifier1); + } + + NSDate? get launchDate { + final _ret = _lib._objc_msgSend_365(_id, _lib._sel_launchDate1); + return _ret.address == 0 + ? null + : NSDate._(_ret, _lib, retain: true, release: true); + } + + NSImage? get icon { + final _ret = _lib._objc_msgSend_185(_id, _lib._sel_icon1); + return _ret.address == 0 + ? null + : NSImage._(_ret, _lib, retain: true, release: true); + } + + int get executableArchitecture { + return _lib._objc_msgSend_77(_id, _lib._sel_executableArchitecture1); + } + + bool hide1() { + return _lib._objc_msgSend_12(_id, _lib._sel_hide1); + } + + bool unhide() { + return _lib._objc_msgSend_12(_id, _lib._sel_unhide1); + } + + bool activateFromApplication_options_( + NSRunningApplication application, int options) { + return _lib._objc_msgSend_366(_id, + _lib._sel_activateFromApplication_options_1, application._id, options); + } + + bool activateWithOptions_(int options) { + return _lib._objc_msgSend_367( + _id, _lib._sel_activateWithOptions_1, options); + } + + bool terminate() { + return _lib._objc_msgSend_12(_id, _lib._sel_terminate1); + } + + bool forceTerminate() { + return _lib._objc_msgSend_12(_id, _lib._sel_forceTerminate1); + } + + static NSArray runningApplicationsWithBundleIdentifier_( + AuthenticationServices _lib, NSString bundleIdentifier) { + final _ret = _lib._objc_msgSend_368( + _lib._class_NSRunningApplication1, + _lib._sel_runningApplicationsWithBundleIdentifier_1, + bundleIdentifier._id); + return NSArray._(_ret, _lib, retain: true, release: true); + } + + static NSRunningApplication? runningApplicationWithProcessIdentifier_( + AuthenticationServices _lib, int pid) { + final _ret = _lib._objc_msgSend_369(_lib._class_NSRunningApplication1, + _lib._sel_runningApplicationWithProcessIdentifier_1, pid); + return _ret.address == 0 + ? null + : NSRunningApplication._(_ret, _lib, retain: true, release: true); + } + + static NSRunningApplication getCurrentApplication( + AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_370( + _lib._class_NSRunningApplication1, _lib._sel_currentApplication1); + return NSRunningApplication._(_ret, _lib, retain: true, release: true); + } + + static void terminateAutomaticallyTerminableApplications( + AuthenticationServices _lib) { + _lib._objc_msgSend_1(_lib._class_NSRunningApplication1, + _lib._sel_terminateAutomaticallyTerminableApplications1); + } + + @override + NSRunningApplication init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSRunningApplication._(_ret, _lib, retain: true, release: true); + } + + static NSRunningApplication new1(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSRunningApplication1, _lib._sel_new1); + return NSRunningApplication._(_ret, _lib, retain: false, release: true); + } + + static NSRunningApplication allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSRunningApplication1, _lib._sel_allocWithZone_1, zone); + return NSRunningApplication._(_ret, _lib, retain: false, release: true); + } + + static NSRunningApplication alloc(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2( + _lib._class_NSRunningApplication1, _lib._sel_alloc1); + return NSRunningApplication._(_ret, _lib, retain: false, release: true); + } +} + +abstract class NSApplicationActivationPolicy { + static const int NSApplicationActivationPolicyRegular = 0; + static const int NSApplicationActivationPolicyAccessory = 1; + static const int NSApplicationActivationPolicyProhibited = 2; +} + +abstract class NSApplicationActivationOptions { + static const int NSApplicationActivateAllWindows = 1; + static const int NSApplicationActivateIgnoringOtherApps = 2; +} + +final class _NSModalSession extends ffi.Opaque {} + +abstract class NSRequestUserAttentionType { + static const int NSCriticalRequest = 0; + static const int NSInformationalRequest = 10; +} + +abstract class NSWindowListOptions { + /// Onscreen application windows in front to back order. By default, -[NSApp windows] is used. + static const int NSWindowListOrderedFrontToBack = 1; +} + +void _ObjCBlock_ffiVoid_NSWindow_bool_fnPtrTrampoline( + ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, + ffi.Pointer arg1) => + block.ref.target + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer arg0, + ffi.Pointer arg1)>>() + .asFunction< + void Function( + ffi.Pointer, ffi.Pointer)>()(arg0, arg1); +final _ObjCBlock_ffiVoid_NSWindow_bool_closureRegistry = + , ffi.Pointer)>{}; +int _ObjCBlock_ffiVoid_NSWindow_bool_closureRegistryIndex = 0; +ffi.Pointer _ObjCBlock_ffiVoid_NSWindow_bool_registerClosure( + void Function(ffi.Pointer, ffi.Pointer) fn) { + final id = ++_ObjCBlock_ffiVoid_NSWindow_bool_closureRegistryIndex; + _ObjCBlock_ffiVoid_NSWindow_bool_closureRegistry[id] = fn; + return ffi.Pointer.fromAddress(id); +} + +void _ObjCBlock_ffiVoid_NSWindow_bool_closureTrampoline( + ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, + ffi.Pointer arg1) => + _ObjCBlock_ffiVoid_NSWindow_bool_closureRegistry[block.ref.target.address]!( + arg0, arg1); + +class ObjCBlock_ffiVoid_NSWindow_bool extends _ObjCBlockBase { + ObjCBlock_ffiVoid_NSWindow_bool._( + ffi.Pointer<_ObjCBlock> id, AuthenticationServices lib, + {bool retain = false, bool release = true}) + : super._(id, lib, retain: retain, release: release); + + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_NSWindow_bool.fromFunctionPointer( + AuthenticationServices lib, + ffi.Pointer< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer arg0, + ffi.Pointer arg1)>> + ptr) + : this._( + lib._newBlock1( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_NSWindow_bool_fnPtrTrampoline) + .cast(), + ptr.cast()), + lib); + static ffi.Pointer? _cFuncTrampoline; + + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_NSWindow_bool.fromFunction(AuthenticationServices lib, + void Function(NSWindow, ffi.Pointer) fn) + : this._( + lib._newBlock1( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_NSWindow_bool_closureTrampoline) + .cast(), + _ObjCBlock_ffiVoid_NSWindow_bool_registerClosure( + (ffi.Pointer arg0, ffi.Pointer arg1) => + fn(NSWindow._(arg0, lib, retain: true, release: true), + arg1))), + lib); + static ffi.Pointer? _dartFuncTrampoline; + + /// Creates a listener block from a Dart function. + /// + /// This is based on FFI's NativeCallable.listener, and has the same + /// capabilities and limitations. This block can be invoked from any thread, + /// but only supports void functions, and is not run synchronously. See + /// NativeCallable.listener for more details. + /// + /// Note that unlike the default behavior of NativeCallable.listener, listener + /// blocks do not keep the isolate alive. + ObjCBlock_ffiVoid_NSWindow_bool.listener(AuthenticationServices lib, + void Function(NSWindow, ffi.Pointer) fn) + : this._( + lib._newBlock1( + (_dartFuncListenerTrampoline ??= ffi.NativeCallable< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + ffi.Pointer)>.listener( + _ObjCBlock_ffiVoid_NSWindow_bool_closureTrampoline) + ..keepIsolateAlive = false) + .nativeFunction + .cast(), + _ObjCBlock_ffiVoid_NSWindow_bool_registerClosure( + (ffi.Pointer arg0, + ffi.Pointer arg1) => + fn(NSWindow._(arg0, lib, retain: true, release: true), + arg1))), + lib); + static ffi.NativeCallable< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, + ffi.Pointer)>? _dartFuncListenerTrampoline; + + void call(NSWindow arg0, ffi.Pointer arg1) => _id.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, ffi.Pointer arg1)>>() + .asFunction< + void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, + ffi.Pointer)>()(_id, arg0._id, arg1); +} + +class NSException extends NSObject { + NSException._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSException] that points to the same underlying object as [other]. + static NSException castFrom(T other) { + return NSException._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSException] that wraps the given raw object pointer. + static NSException castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSException._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSException]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSException1); + } + + static NSException exceptionWithName_reason_userInfo_( + AuthenticationServices _lib, + NSString name, + NSString? reason, + NSDictionary? userInfo) { + final _ret = _lib._objc_msgSend_382( + _lib._class_NSException1, + _lib._sel_exceptionWithName_reason_userInfo_1, + name._id, + reason?._id ?? ffi.nullptr, + userInfo?._id ?? ffi.nullptr); + return NSException._(_ret, _lib, retain: true, release: true); + } + + NSException initWithName_reason_userInfo_( + NSString aName, NSString? aReason, NSDictionary? aUserInfo) { + final _ret = _lib._objc_msgSend_383( + _id, + _lib._sel_initWithName_reason_userInfo_1, + aName._id, + aReason?._id ?? ffi.nullptr, + aUserInfo?._id ?? ffi.nullptr); + return NSException._(_ret, _lib, retain: true, release: true); + } + + NSString get name { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_name1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get reason { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_reason1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSDictionary? get userInfo { + final _ret = _lib._objc_msgSend_384(_id, _lib._sel_userInfo1); + return _ret.address == 0 + ? null + : NSDictionary._(_ret, _lib, retain: true, release: true); + } + + NSArray get callStackReturnAddresses { + final _ret = + _lib._objc_msgSend_378(_id, _lib._sel_callStackReturnAddresses1); + return NSArray._(_ret, _lib, retain: true, release: true); + } + + NSArray get callStackSymbols { + final _ret = _lib._objc_msgSend_378(_id, _lib._sel_callStackSymbols1); + return NSArray._(_ret, _lib, retain: true, release: true); + } + + void raise() { + _lib._objc_msgSend_1(_id, _lib._sel_raise1); + } + + @override + NSException init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSException._(_ret, _lib, retain: true, release: true); + } + + static NSException new1(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSException1, _lib._sel_new1); + return NSException._(_ret, _lib, retain: false, release: true); + } + + static NSException allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSException1, _lib._sel_allocWithZone_1, zone); + return NSException._(_ret, _lib, retain: false, release: true); + } + + static NSException alloc(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSException1, _lib._sel_alloc1); + return NSException._(_ret, _lib, retain: false, release: true); + } +} + +class NSDictionary extends NSObject { + NSDictionary._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSDictionary] that points to the same underlying object as [other]. + static NSDictionary castFrom(T other) { + return NSDictionary._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSDictionary] that wraps the given raw object pointer. + static NSDictionary castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSDictionary._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSDictionary]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSDictionary1); + } + + int get count { + return _lib._objc_msgSend_10(_id, _lib._sel_count1); + } + + NSObject? objectForKey_(NSObject aKey) { + final _ret = + _lib._objc_msgSend_380(_id, _lib._sel_objectForKey_1, aKey._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + NSObject keyEnumerator() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_keyEnumerator1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + @override + NSDictionary init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSDictionary._(_ret, _lib, retain: true, release: true); + } + + NSDictionary initWithObjects_forKeys_count_( + ffi.Pointer> objects, + ffi.Pointer> keys, + int cnt) { + final _ret = _lib._objc_msgSend_381( + _id, _lib._sel_initWithObjects_forKeys_count_1, objects, keys, cnt); + return NSDictionary._(_ret, _lib, retain: true, release: true); + } + + NSDictionary? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : NSDictionary._(_ret, _lib, retain: true, release: true); + } + + static NSDictionary new1(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSDictionary1, _lib._sel_new1); + return NSDictionary._(_ret, _lib, retain: false, release: true); + } + + static NSDictionary allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSDictionary1, _lib._sel_allocWithZone_1, zone); + return NSDictionary._(_ret, _lib, retain: false, release: true); + } + + static NSDictionary alloc(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSDictionary1, _lib._sel_alloc1); + return NSDictionary._(_ret, _lib, retain: false, release: true); + } +} + +abstract class NSApplicationDelegateReply { + static const int NSApplicationDelegateReplySuccess = 0; + static const int NSApplicationDelegateReplyCancel = 1; + static const int NSApplicationDelegateReplyFailure = 2; +} + +/// Flags that comprise an application's @c presentationOptions. +abstract class NSApplicationPresentationOptions { + static const int NSApplicationPresentationDefault = 0; + + /// Dock appears when moused to. + static const int NSApplicationPresentationAutoHideDock = 1; + + /// Dock is entirely unavailable. + static const int NSApplicationPresentationHideDock = 2; + + /// Menu Bar appears when moused to. + static const int NSApplicationPresentationAutoHideMenuBar = 4; + + /// Menu Bar is entirely unavailable. + static const int NSApplicationPresentationHideMenuBar = 8; + + /// All Apple menu items are disabled. + static const int NSApplicationPresentationDisableAppleMenu = 16; + + /// Cmd+Tab UI is disabled. + static const int NSApplicationPresentationDisableProcessSwitching = 32; + + /// Cmd+Opt+Esc panel is disabled. + static const int NSApplicationPresentationDisableForceQuit = 64; + + /// PowerKey panel and Restart/Shut Down/Log Out disabled. + static const int NSApplicationPresentationDisableSessionTermination = 128; + + /// Application "Hide" menu item is disabled. + static const int NSApplicationPresentationDisableHideApplication = 256; + + /// Menu Bar's transparent appearance is disabled. + static const int NSApplicationPresentationDisableMenuBarTransparency = 512; + + /// Application is in fullscreen mode. + static const int NSApplicationPresentationFullScreen = 1024; + + /// Fullscreen window toolbar is detached from window and hides/shows on rollover. + /// May be used only when both @c NSApplicationPresentationFullScreen is also set. + static const int NSApplicationPresentationAutoHideToolbar = 2048; + + /// "Shake mouse pointer to locate" is disabled for this application. + static const int NSApplicationPresentationDisableCursorLocationAssistance = + 4096; +} + +abstract class NSApplicationOcclusionState { + /// If set, at least part of any window owned by this application is visible. If not set, all parts of all windows owned by this application are completely occluded. The menu bar does not count as a window owned by this application, so if only the menu bar is showing then the application is considered not visible. Status items, however, have windows owned by your application. If the status item is present in the menu bar, your application will be considered visible as long as the menu bar is visible. + static const int NSApplicationOcclusionStateVisible = 2; +} + +class NSAppearance extends NSObject { + NSAppearance._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSAppearance] that points to the same underlying object as [other]. + static NSAppearance castFrom(T other) { + return NSAppearance._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSAppearance] that wraps the given raw object pointer. + static NSAppearance castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSAppearance._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSAppearance]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSAppearance1); + } + + NSString get name { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_name1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + static NSAppearance getCurrentAppearance(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_391( + _lib._class_NSAppearance1, _lib._sel_currentAppearance1); + return NSAppearance._(_ret, _lib, retain: true, release: true); + } + + static void setCurrentAppearance( + AuthenticationServices _lib, NSAppearance value) { + return _lib._objc_msgSend_392( + _lib._class_NSAppearance1, _lib._sel_setCurrentAppearance_1, value._id); + } + + static NSAppearance getCurrentDrawingAppearance(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_391( + _lib._class_NSAppearance1, _lib._sel_currentDrawingAppearance1); + return NSAppearance._(_ret, _lib, retain: true, release: true); + } + + void performAsCurrentDrawingAppearance_(ObjCBlock_ffiVoid block) { + _lib._objc_msgSend_393( + _id, _lib._sel_performAsCurrentDrawingAppearance_1, block._id); + } + + static NSAppearance? appearanceNamed_( + AuthenticationServices _lib, NSString name) { + final _ret = _lib._objc_msgSend_394( + _lib._class_NSAppearance1, _lib._sel_appearanceNamed_1, name._id); + return _ret.address == 0 + ? null + : NSAppearance._(_ret, _lib, retain: true, release: true); + } + + NSAppearance? initWithAppearanceNamed_bundle_( + NSString name, NSBundle? bundle) { + final _ret = _lib._objc_msgSend_418( + _id, + _lib._sel_initWithAppearanceNamed_bundle_1, + name._id, + bundle?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSAppearance._(_ret, _lib, retain: true, release: true); + } + + NSAppearance? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : NSAppearance._(_ret, _lib, retain: true, release: true); + } + + bool get allowsVibrancy { + return _lib._objc_msgSend_12(_id, _lib._sel_allowsVibrancy1); + } + + NSString? bestMatchFromAppearancesWithNames_(NSArray appearances) { + final _ret = _lib._objc_msgSend_349( + _id, _lib._sel_bestMatchFromAppearancesWithNames_1, appearances._id); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + @override + NSAppearance init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSAppearance._(_ret, _lib, retain: true, release: true); + } + + static NSAppearance new1(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSAppearance1, _lib._sel_new1); + return NSAppearance._(_ret, _lib, retain: false, release: true); + } + + static NSAppearance allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSAppearance1, _lib._sel_allocWithZone_1, zone); + return NSAppearance._(_ret, _lib, retain: false, release: true); + } + + static NSAppearance alloc(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSAppearance1, _lib._sel_alloc1); + return NSAppearance._(_ret, _lib, retain: false, release: true); + } +} + +void _ObjCBlock_ffiVoid_fnPtrTrampoline( + ffi.Pointer<_ObjCBlock> block, +) => + block.ref.target + .cast>() + .asFunction()(); +final _ObjCBlock_ffiVoid_closureRegistry = {}; +int _ObjCBlock_ffiVoid_closureRegistryIndex = 0; +ffi.Pointer _ObjCBlock_ffiVoid_registerClosure(void Function() fn) { + final id = ++_ObjCBlock_ffiVoid_closureRegistryIndex; + _ObjCBlock_ffiVoid_closureRegistry[id] = fn; + return ffi.Pointer.fromAddress(id); +} + +void _ObjCBlock_ffiVoid_closureTrampoline( + ffi.Pointer<_ObjCBlock> block, +) => + _ObjCBlock_ffiVoid_closureRegistry[block.ref.target.address]!(); + +class ObjCBlock_ffiVoid extends _ObjCBlockBase { + ObjCBlock_ffiVoid._(ffi.Pointer<_ObjCBlock> id, AuthenticationServices lib, + {bool retain = false, bool release = true}) + : super._(id, lib, retain: retain, release: release); + + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid.fromFunctionPointer(AuthenticationServices lib, + ffi.Pointer> ptr) + : this._( + lib._newBlock1( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock>)>( + _ObjCBlock_ffiVoid_fnPtrTrampoline) + .cast(), + ptr.cast()), + lib); + static ffi.Pointer? _cFuncTrampoline; + + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid.fromFunction(AuthenticationServices lib, void Function() fn) + : this._( + lib._newBlock1( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock>)>( + _ObjCBlock_ffiVoid_closureTrampoline) + .cast(), + _ObjCBlock_ffiVoid_registerClosure(() => fn())), + lib); + static ffi.Pointer? _dartFuncTrampoline; + + /// Creates a listener block from a Dart function. + /// + /// This is based on FFI's NativeCallable.listener, and has the same + /// capabilities and limitations. This block can be invoked from any thread, + /// but only supports void functions, and is not run synchronously. See + /// NativeCallable.listener for more details. + /// + /// Note that unlike the default behavior of NativeCallable.listener, listener + /// blocks do not keep the isolate alive. + ObjCBlock_ffiVoid.listener(AuthenticationServices lib, void Function() fn) + : this._( + lib._newBlock1( + (_dartFuncListenerTrampoline ??= ffi.NativeCallable< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>)>.listener( + _ObjCBlock_ffiVoid_closureTrampoline) + ..keepIsolateAlive = false) + .nativeFunction + .cast(), + _ObjCBlock_ffiVoid_registerClosure(() => fn())), + lib); + static ffi.NativeCallable)>? + _dartFuncListenerTrampoline; + + void call() => _id.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock> block)>>() + .asFunction)>()( + _id, + ); +} + +class NSBundle extends NSObject { + NSBundle._(ffi.Pointer id, AuthenticationServices lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSBundle] that points to the same underlying object as [other]. + static NSBundle castFrom(T other) { + return NSBundle._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSBundle] that wraps the given raw object pointer. + static NSBundle castFromPointer( + AuthenticationServices lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSBundle._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSBundle]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSBundle1); + } + + static NSBundle getMainBundle(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_395(_lib._class_NSBundle1, _lib._sel_mainBundle1); + return NSBundle._(_ret, _lib, retain: true, release: true); + } + + static NSBundle? bundleWithPath_(AuthenticationServices _lib, NSString path) { + final _ret = _lib._objc_msgSend_48( + _lib._class_NSBundle1, _lib._sel_bundleWithPath_1, path._id); + return _ret.address == 0 + ? null + : NSBundle._(_ret, _lib, retain: true, release: true); + } + + NSBundle? initWithPath_(NSString path) { + final _ret = _lib._objc_msgSend_48(_id, _lib._sel_initWithPath_1, path._id); + return _ret.address == 0 + ? null + : NSBundle._(_ret, _lib, retain: true, release: true); + } + + static NSBundle? bundleWithURL_(AuthenticationServices _lib, NSURL url) { + final _ret = _lib._objc_msgSend_396( + _lib._class_NSBundle1, _lib._sel_bundleWithURL_1, url._id); + return _ret.address == 0 + ? null + : NSBundle._(_ret, _lib, retain: true, release: true); + } + + NSBundle? initWithURL_(NSURL url) { + final _ret = _lib._objc_msgSend_396(_id, _lib._sel_initWithURL_1, url._id); + return _ret.address == 0 + ? null + : NSBundle._(_ret, _lib, retain: true, release: true); + } + + static NSBundle bundleForClass_( + AuthenticationServices _lib, NSObject aClass) { + final _ret = _lib._objc_msgSend_397( + _lib._class_NSBundle1, _lib._sel_bundleForClass_1, aClass._id); + return NSBundle._(_ret, _lib, retain: true, release: true); + } + + static NSBundle? bundleWithIdentifier_( + AuthenticationServices _lib, NSString identifier) { + final _ret = _lib._objc_msgSend_398(_lib._class_NSBundle1, + _lib._sel_bundleWithIdentifier_1, identifier._id); + return _ret.address == 0 + ? null + : NSBundle._(_ret, _lib, retain: true, release: true); + } + + static NSArray getAllBundles(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_378(_lib._class_NSBundle1, _lib._sel_allBundles1); + return NSArray._(_ret, _lib, retain: true, release: true); + } + + static NSArray getAllFrameworks(AuthenticationServices _lib) { + final _ret = + _lib._objc_msgSend_378(_lib._class_NSBundle1, _lib._sel_allFrameworks1); + return NSArray._(_ret, _lib, retain: true, release: true); + } + + bool load() { + return _lib._objc_msgSend_12(_id, _lib._sel_load1); + } + + bool get loaded { + return _lib._objc_msgSend_12(_id, _lib._sel_isLoaded1); + } + + bool unload() { + return _lib._objc_msgSend_12(_id, _lib._sel_unload1); + } + + bool preflightAndReturnError_(ffi.Pointer> error) { + return _lib._objc_msgSend_399( + _id, _lib._sel_preflightAndReturnError_1, error); + } + + bool loadAndReturnError_(ffi.Pointer> error) { + return _lib._objc_msgSend_399(_id, _lib._sel_loadAndReturnError_1, error); + } + + NSURL get bundleURL { + final _ret = _lib._objc_msgSend_400(_id, _lib._sel_bundleURL1); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL? get resourceURL { + final _ret = _lib._objc_msgSend_55(_id, _lib._sel_resourceURL1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL? get executableURL { + final _ret = _lib._objc_msgSend_55(_id, _lib._sel_executableURL1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL? URLForAuxiliaryExecutable_(NSString executableName) { + final _ret = _lib._objc_msgSend_401( + _id, _lib._sel_URLForAuxiliaryExecutable_1, executableName._id); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL? get privateFrameworksURL { + final _ret = _lib._objc_msgSend_55(_id, _lib._sel_privateFrameworksURL1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL? get sharedFrameworksURL { + final _ret = _lib._objc_msgSend_55(_id, _lib._sel_sharedFrameworksURL1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL? get sharedSupportURL { + final _ret = _lib._objc_msgSend_55(_id, _lib._sel_sharedSupportURL1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL? get builtInPlugInsURL { + final _ret = _lib._objc_msgSend_55(_id, _lib._sel_builtInPlugInsURL1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL? get appStoreReceiptURL { + final _ret = _lib._objc_msgSend_55(_id, _lib._sel_appStoreReceiptURL1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSString get bundlePath { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_bundlePath1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get resourcePath { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_resourcePath1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get executablePath { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_executablePath1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? pathForAuxiliaryExecutable_(NSString executableName) { + final _ret = _lib._objc_msgSend_354( + _id, _lib._sel_pathForAuxiliaryExecutable_1, executableName._id); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get privateFrameworksPath { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_privateFrameworksPath1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get sharedFrameworksPath { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_sharedFrameworksPath1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get sharedSupportPath { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_sharedSupportPath1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get builtInPlugInsPath { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_builtInPlugInsPath1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + static NSURL? URLForResource_withExtension_subdirectory_inBundleWithURL_( + AuthenticationServices _lib, + NSString? name, + NSString? ext, + NSString? subpath, + NSURL bundleURL) { + final _ret = _lib._objc_msgSend_402( + _lib._class_NSBundle1, + _lib._sel_URLForResource_withExtension_subdirectory_inBundleWithURL_1, + name?._id ?? ffi.nullptr, + ext?._id ?? ffi.nullptr, + subpath?._id ?? ffi.nullptr, + bundleURL._id); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + static NSArray? URLsForResourcesWithExtension_subdirectory_inBundleWithURL_( + AuthenticationServices _lib, + NSString? ext, + NSString? subpath, + NSURL bundleURL) { + final _ret = _lib._objc_msgSend_403( + _lib._class_NSBundle1, + _lib._sel_URLsForResourcesWithExtension_subdirectory_inBundleWithURL_1, + ext?._id ?? ffi.nullptr, + subpath?._id ?? ffi.nullptr, + bundleURL._id); + return _ret.address == 0 + ? null + : NSArray._(_ret, _lib, retain: true, release: true); + } + + NSURL? URLForResource_withExtension_(NSString? name, NSString? ext) { + final _ret = _lib._objc_msgSend_404( + _id, + _lib._sel_URLForResource_withExtension_1, + name?._id ?? ffi.nullptr, + ext?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL? URLForResource_withExtension_subdirectory_( + NSString? name, NSString? ext, NSString? subpath) { + final _ret = _lib._objc_msgSend_405( + _id, + _lib._sel_URLForResource_withExtension_subdirectory_1, + name?._id ?? ffi.nullptr, + ext?._id ?? ffi.nullptr, + subpath?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL? URLForResource_withExtension_subdirectory_localization_(NSString? name, + NSString? ext, NSString? subpath, NSString? localizationName) { + final _ret = _lib._objc_msgSend_406( + _id, + _lib._sel_URLForResource_withExtension_subdirectory_localization_1, + name?._id ?? ffi.nullptr, + ext?._id ?? ffi.nullptr, + subpath?._id ?? ffi.nullptr, + localizationName?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSArray? URLsForResourcesWithExtension_subdirectory_( + NSString? ext, NSString? subpath) { + final _ret = _lib._objc_msgSend_407( + _id, + _lib._sel_URLsForResourcesWithExtension_subdirectory_1, + ext?._id ?? ffi.nullptr, + subpath?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSArray._(_ret, _lib, retain: true, release: true); + } + + NSArray? URLsForResourcesWithExtension_subdirectory_localization_( + NSString? ext, NSString? subpath, NSString? localizationName) { + final _ret = _lib._objc_msgSend_408( + _id, + _lib._sel_URLsForResourcesWithExtension_subdirectory_localization_1, + ext?._id ?? ffi.nullptr, + subpath?._id ?? ffi.nullptr, + localizationName?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSArray._(_ret, _lib, retain: true, release: true); + } + + static NSString? pathForResource_ofType_inDirectory_( + AuthenticationServices _lib, + NSString? name, + NSString? ext, + NSString bundlePath) { + final _ret = _lib._objc_msgSend_409( + _lib._class_NSBundle1, + _lib._sel_pathForResource_ofType_inDirectory_1, + name?._id ?? ffi.nullptr, + ext?._id ?? ffi.nullptr, + bundlePath._id); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + static NSArray pathsForResourcesOfType_inDirectory_( + AuthenticationServices _lib, NSString? ext, NSString bundlePath) { + final _ret = _lib._objc_msgSend_410( + _lib._class_NSBundle1, + _lib._sel_pathsForResourcesOfType_inDirectory_1, + ext?._id ?? ffi.nullptr, + bundlePath._id); + return NSArray._(_ret, _lib, retain: true, release: true); + } + + NSString? pathForResource_ofType_(NSString? name, NSString? ext) { + final _ret = _lib._objc_msgSend_411(_id, _lib._sel_pathForResource_ofType_1, + name?._id ?? ffi.nullptr, ext?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? pathForResource_ofType_inDirectory_forLocalization_(NSString? name, + NSString? ext, NSString? subpath, NSString? localizationName) { + final _ret = _lib._objc_msgSend_412( + _id, + _lib._sel_pathForResource_ofType_inDirectory_forLocalization_1, + name?._id ?? ffi.nullptr, + ext?._id ?? ffi.nullptr, + subpath?._id ?? ffi.nullptr, + localizationName?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSArray pathsForResourcesOfType_inDirectory_forLocalization_( + NSString? ext, NSString? subpath, NSString? localizationName) { + final _ret = _lib._objc_msgSend_413( + _id, + _lib._sel_pathsForResourcesOfType_inDirectory_forLocalization_1, + ext?._id ?? ffi.nullptr, + subpath?._id ?? ffi.nullptr, + localizationName?._id ?? ffi.nullptr); + return NSArray._(_ret, _lib, retain: true, release: true); + } + + NSString localizedStringForKey_value_table_( + NSString key, NSString? value, NSString? tableName) { + final _ret = _lib._objc_msgSend_414( + _id, + _lib._sel_localizedStringForKey_value_table_1, + key._id, + value?._id ?? ffi.nullptr, + tableName?._id ?? ffi.nullptr); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSAttributedString localizedAttributedStringForKey_value_table_( + NSString key, NSString? value, NSString? tableName) { + final _ret = _lib._objc_msgSend_415( + _id, + _lib._sel_localizedAttributedStringForKey_value_table_1, + key._id, + value?._id ?? ffi.nullptr, + tableName?._id ?? ffi.nullptr); + return NSAttributedString._(_ret, _lib, retain: true, release: true); + } + + NSString? get bundleIdentifier { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_bundleIdentifier1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSDictionary? get infoDictionary { + final _ret = _lib._objc_msgSend_384(_id, _lib._sel_infoDictionary1); + return _ret.address == 0 + ? null + : NSDictionary._(_ret, _lib, retain: true, release: true); + } + + NSDictionary? get localizedInfoDictionary { + final _ret = + _lib._objc_msgSend_384(_id, _lib._sel_localizedInfoDictionary1); + return _ret.address == 0 + ? null + : NSDictionary._(_ret, _lib, retain: true, release: true); + } + + NSObject? objectForInfoDictionaryKey_(NSString key) { + final _ret = _lib._objc_msgSend_48( + _id, _lib._sel_objectForInfoDictionaryKey_1, key._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + NSObject? classNamed_(NSString className) { + final _ret = + _lib._objc_msgSend_48(_id, _lib._sel_classNamed_1, className._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + NSObject? get principalClass { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_principalClass1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + NSArray get preferredLocalizations { + final _ret = _lib._objc_msgSend_378(_id, _lib._sel_preferredLocalizations1); + return NSArray._(_ret, _lib, retain: true, release: true); + } + + NSArray get localizations { + final _ret = _lib._objc_msgSend_378(_id, _lib._sel_localizations1); + return NSArray._(_ret, _lib, retain: true, release: true); + } + + NSString? get developmentLocalization { + final _ret = _lib._objc_msgSend_54(_id, _lib._sel_developmentLocalization1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + static NSArray preferredLocalizationsFromArray_( + AuthenticationServices _lib, NSArray localizationsArray) { + final _ret = _lib._objc_msgSend_416(_lib._class_NSBundle1, + _lib._sel_preferredLocalizationsFromArray_1, localizationsArray._id); + return NSArray._(_ret, _lib, retain: true, release: true); + } + + static NSArray preferredLocalizationsFromArray_forPreferences_( + AuthenticationServices _lib, + NSArray localizationsArray, + NSArray? preferencesArray) { + final _ret = _lib._objc_msgSend_417( + _lib._class_NSBundle1, + _lib._sel_preferredLocalizationsFromArray_forPreferences_1, + localizationsArray._id, + preferencesArray?._id ?? ffi.nullptr); + return NSArray._(_ret, _lib, retain: true, release: true); + } + + NSArray? get executableArchitectures { + final _ret = + _lib._objc_msgSend_344(_id, _lib._sel_executableArchitectures1); + return _ret.address == 0 + ? null + : NSArray._(_ret, _lib, retain: true, release: true); + } + + @override + NSBundle init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSBundle._(_ret, _lib, retain: true, release: true); + } + + static NSBundle new1(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSBundle1, _lib._sel_new1); + return NSBundle._(_ret, _lib, retain: false, release: true); + } + + static NSBundle allocWithZone_( + AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSBundle1, _lib._sel_allocWithZone_1, zone); + return NSBundle._(_ret, _lib, retain: false, release: true); + } + + static NSBundle alloc(AuthenticationServices _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSBundle1, _lib._sel_alloc1); + return NSBundle._(_ret, _lib, retain: false, release: true); + } +} + +/// Soft deprecated. +/// Please use `NSApplication`'s `-registerForRemoteNotifications` along with `-requestAuthorizationWithOptions:` from the `UserNotifications.framework` to specify allowable notification types. +abstract class NSRemoteNotificationType { + static const int NSRemoteNotificationTypeNone = 0; + static const int NSRemoteNotificationTypeBadge = 1; + static const int NSRemoteNotificationTypeSound = 2; + static const int NSRemoteNotificationTypeAlert = 4; +} + +final class objc_method extends ffi.Opaque {} + +final class objc_ivar extends ffi.Opaque {} + +final class objc_category extends ffi.Opaque {} + +final class objc_property extends ffi.Opaque {} + +/// Defines a method +final class objc_method_description extends ffi.Struct { + /// < The name of the method + external ffi.Pointer name; + + /// < The types of the method arguments + external ffi.Pointer types; +} + +/// Defines a property attribute +final class objc_property_attribute_t extends ffi.Struct { + /// < The name of the attribute + external ffi.Pointer name; + + /// < The value of the attribute (usually empty) + external ffi.Pointer value; +} + +void _ObjCBlock_ffiVoid_ObjCObject_bool_fnPtrTrampoline( + ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, + ffi.Pointer arg1) => + block.ref.target + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer arg0, + ffi.Pointer arg1)>>() + .asFunction< + void Function( + ffi.Pointer, ffi.Pointer)>()(arg0, arg1); +final _ObjCBlock_ffiVoid_ObjCObject_bool_closureRegistry = + , ffi.Pointer)>{}; +int _ObjCBlock_ffiVoid_ObjCObject_bool_closureRegistryIndex = 0; +ffi.Pointer _ObjCBlock_ffiVoid_ObjCObject_bool_registerClosure( + void Function(ffi.Pointer, ffi.Pointer) fn) { + final id = ++_ObjCBlock_ffiVoid_ObjCObject_bool_closureRegistryIndex; + _ObjCBlock_ffiVoid_ObjCObject_bool_closureRegistry[id] = fn; + return ffi.Pointer.fromAddress(id); +} + +void _ObjCBlock_ffiVoid_ObjCObject_bool_closureTrampoline( + ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, + ffi.Pointer arg1) => + _ObjCBlock_ffiVoid_ObjCObject_bool_closureRegistry[ + block.ref.target.address]!(arg0, arg1); + +class ObjCBlock_ffiVoid_ObjCObject_bool extends _ObjCBlockBase { + ObjCBlock_ffiVoid_ObjCObject_bool._( + ffi.Pointer<_ObjCBlock> id, AuthenticationServices lib, + {bool retain = false, bool release = true}) + : super._(id, lib, retain: retain, release: release); + + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_ObjCObject_bool.fromFunctionPointer( + AuthenticationServices lib, + ffi.Pointer< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer arg0, + ffi.Pointer arg1)>> + ptr) + : this._( + lib._newBlock1( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_ObjCObject_bool_fnPtrTrampoline) + .cast(), + ptr.cast()), + lib); + static ffi.Pointer? _cFuncTrampoline; + + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_ObjCObject_bool.fromFunction(AuthenticationServices lib, + void Function(NSObject, ffi.Pointer) fn) + : this._( + lib._newBlock1( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_ObjCObject_bool_closureTrampoline) + .cast(), + _ObjCBlock_ffiVoid_ObjCObject_bool_registerClosure( + (ffi.Pointer arg0, ffi.Pointer arg1) => + fn(NSObject._(arg0, lib, retain: true, release: true), + arg1))), + lib); + static ffi.Pointer? _dartFuncTrampoline; + + /// Creates a listener block from a Dart function. + /// + /// This is based on FFI's NativeCallable.listener, and has the same + /// capabilities and limitations. This block can be invoked from any thread, + /// but only supports void functions, and is not run synchronously. See + /// NativeCallable.listener for more details. + /// + /// Note that unlike the default behavior of NativeCallable.listener, listener + /// blocks do not keep the isolate alive. + ObjCBlock_ffiVoid_ObjCObject_bool.listener(AuthenticationServices lib, + void Function(NSObject, ffi.Pointer) fn) + : this._( + lib._newBlock1( + (_dartFuncListenerTrampoline ??= ffi.NativeCallable< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + ffi.Pointer)>.listener( + _ObjCBlock_ffiVoid_ObjCObject_bool_closureTrampoline) + ..keepIsolateAlive = false) + .nativeFunction + .cast(), + _ObjCBlock_ffiVoid_ObjCObject_bool_registerClosure( + (ffi.Pointer arg0, + ffi.Pointer arg1) => + fn(NSObject._(arg0, lib, retain: true, release: true), + arg1))), + lib); + static ffi.NativeCallable< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, + ffi.Pointer)>? _dartFuncListenerTrampoline; + + void call(NSObject arg0, ffi.Pointer arg1) => _id.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, ffi.Pointer arg1)>>() + .asFunction< + void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, + ffi.Pointer)>()(_id, arg0._id, arg1); +} + +abstract class objc_AssociationPolicy { + /// < Specifies an unsafe unretained reference to the associated object. + static const int OBJC_ASSOCIATION_ASSIGN = 0; + + /// < Specifies a strong reference to the associated object. + /// The association is not made atomically. + static const int OBJC_ASSOCIATION_RETAIN_NONATOMIC = 1; + + /// < Specifies that the associated object is copied. + /// The association is not made atomically. + static const int OBJC_ASSOCIATION_COPY_NONATOMIC = 3; + + /// < Specifies a strong reference to the associated object. + /// The association is made atomically. + static const int OBJC_ASSOCIATION_RETAIN = 769; + + /// < Specifies that the associated object is copied. + /// The association is made atomically. + static const int OBJC_ASSOCIATION_COPY = 771; +} + +/// Used by objc_func_loadImage +final class mach_header extends ffi.Opaque {} + +final class objc_method_list extends ffi.Opaque {} diff --git a/packages/celest_auth/lib/src/platform/darwin/authentication_services.yaml b/packages/celest_auth/lib/src/platform/darwin/authentication_services.yaml new file mode 100644 index 00000000..225d4dfa --- /dev/null +++ b/packages/celest_auth/lib/src/platform/darwin/authentication_services.yaml @@ -0,0 +1,366 @@ +format_version: 1.0.0 +files: + package:celest_auth/src/platform/darwin/authentication_services.ffi.dart: + used-config: + ffi-native: false + symbols: + ObjCObject: + name: ObjCObject + ObjCSel: + name: ObjCSel + c:@E@ASWebAuthenticationSessionErrorCode: + name: ASWebAuthenticationSessionErrorCode + c:@E@NSAlignmentOptions: + name: NSAlignmentOptions + c:@E@NSApplicationActivationOptions: + name: NSApplicationActivationOptions + c:@E@NSApplicationActivationPolicy: + name: NSApplicationActivationPolicy + c:@E@NSApplicationDelegateReply: + name: NSApplicationDelegateReply + c:@E@NSApplicationOcclusionState: + name: NSApplicationOcclusionState + c:@E@NSApplicationPresentationOptions: + name: NSApplicationPresentationOptions + c:@E@NSAutoresizingMaskOptions: + name: NSAutoresizingMaskOptions + c:@E@NSBackingStoreType: + name: NSBackingStoreType + c:@E@NSComparisonResult: + name: NSComparisonResult + c:@E@NSDisplayGamut: + name: NSDisplayGamut + c:@E@NSEventButtonMask: + name: NSEventButtonMask + c:@E@NSEventGestureAxis: + name: NSEventGestureAxis + c:@E@NSEventMask: + name: NSEventMask + c:@E@NSEventModifierFlags: + name: NSEventModifierFlags + c:@E@NSEventPhase: + name: NSEventPhase + c:@E@NSEventSubtype: + name: NSEventSubtype + c:@E@NSEventSwipeTrackingOptions: + name: NSEventSwipeTrackingOptions + c:@E@NSEventType: + name: NSEventType + c:@E@NSPasteboardContentsOptions: + name: NSPasteboardContentsOptions + c:@E@NSPointingDeviceType: + name: NSPointingDeviceType + c:@E@NSPressureBehavior: + name: NSPressureBehavior + c:@E@NSRectEdge: + name: NSRectEdge + c:@E@NSRemoteNotificationType: + name: NSRemoteNotificationType + c:@E@NSRequestUserAttentionType: + name: NSRequestUserAttentionType + c:@E@NSSelectionDirection: + name: NSSelectionDirection + c:@E@NSTextAlignment: + name: NSTextAlignment + c:@E@NSTitlebarSeparatorStyle: + name: NSTitlebarSeparatorStyle + c:@E@NSTouchPhase: + name: NSTouchPhase + c:@E@NSURLBookmarkCreationOptions: + name: NSURLBookmarkCreationOptions + c:@E@NSURLBookmarkResolutionOptions: + name: NSURLBookmarkResolutionOptions + c:@E@NSUserInterfaceLayoutDirection: + name: NSUserInterfaceLayoutDirection + c:@E@NSViewLayerContentsPlacement: + name: NSViewLayerContentsPlacement + c:@E@NSViewLayerContentsRedrawPolicy: + name: NSViewLayerContentsRedrawPolicy + c:@E@NSWindowAnimationBehavior: + name: NSWindowAnimationBehavior + c:@E@NSWindowBackingLocation: + name: NSWindowBackingLocation + c:@E@NSWindowButton: + name: NSWindowButton + c:@E@NSWindowCollectionBehavior: + name: NSWindowCollectionBehavior + c:@E@NSWindowDepth: + name: NSWindowDepth + c:@E@NSWindowListOptions: + name: NSWindowListOptions + c:@E@NSWindowNumberListOptions: + name: NSWindowNumberListOptions + c:@E@NSWindowOcclusionState: + name: NSWindowOcclusionState + c:@E@NSWindowOrderingMode: + name: NSWindowOrderingMode + c:@E@NSWindowSharingType: + name: NSWindowSharingType + c:@E@NSWindowStyleMask: + name: NSWindowStyleMask + c:@E@NSWindowTabbingMode: + name: NSWindowTabbingMode + c:@E@NSWindowTitleVisibility: + name: NSWindowTitleVisibility + c:@E@NSWindowToolbarStyle: + name: NSWindowToolbarStyle + c:@E@NSWindowUserTabbingPreference: + name: NSWindowUserTabbingPreference + c:@E@NSWritingDirection: + name: NSWritingDirection + c:@E@objc_AssociationPolicy: + name: objc_AssociationPolicy + c:@F@objc_addLoadImageFunc: + name: objc_addLoadImageFunc + c:@F@objc_allocateClassPair: + name: objc_allocateClassPair + c:@F@objc_allocateProtocol: + name: objc_allocateProtocol + c:@F@objc_constructInstance: + name: objc_constructInstance + c:@F@objc_copyClassList: + name: objc_copyClassList + c:@F@objc_copyClassNamesForImage: + name: objc_copyClassNamesForImage + c:@F@objc_copyImageNames: + name: objc_copyImageNames + c:@F@objc_copyProtocolList: + name: objc_copyProtocolList + c:@F@objc_destructInstance: + name: objc_destructInstance + c:@F@objc_disposeClassPair: + name: objc_disposeClassPair + c:@F@objc_duplicateClass: + name: objc_duplicateClass + c:@F@objc_enumerateClasses: + name: objc_enumerateClasses + c:@F@objc_enumerationMutation: + name: objc_enumerationMutation + c:@F@objc_getAssociatedObject: + name: objc_getAssociatedObject + c:@F@objc_getClass: + name: objc_getClass + c:@F@objc_getClassList: + name: objc_getClassList + c:@F@objc_getFutureClass: + name: objc_getFutureClass + c:@F@objc_getMetaClass: + name: objc_getMetaClass + c:@F@objc_getProtocol: + name: objc_getProtocol + c:@F@objc_getRequiredClass: + name: objc_getRequiredClass + c:@F@objc_loadWeak: + name: objc_loadWeak + c:@F@objc_lookUpClass: + name: objc_lookUpClass + c:@F@objc_registerClassPair: + name: objc_registerClassPair + c:@F@objc_registerProtocol: + name: objc_registerProtocol + c:@F@objc_removeAssociatedObjects: + name: objc_removeAssociatedObjects + c:@F@objc_setAssociatedObject: + name: objc_setAssociatedObject + c:@F@objc_setEnumerationMutationHandler: + name: objc_setEnumerationMutationHandler + c:@F@objc_setForwardHandler: + name: objc_setForwardHandler + c:@F@objc_setHook_getClass: + name: objc_setHook_getClass + c:@F@objc_setHook_getImageName: + name: objc_setHook_getImageName + c:@F@objc_setHook_lazyClassNamer: + name: objc_setHook_lazyClassNamer + c:@F@objc_storeWeak: + name: objc_storeWeak + c:@F@protocol_addMethodDescription: + name: protocol_addMethodDescription + c:@F@protocol_addProperty: + name: protocol_addProperty + c:@F@protocol_addProtocol: + name: protocol_addProtocol + c:@F@protocol_conformsToProtocol: + name: protocol_conformsToProtocol + c:@F@protocol_copyMethodDescriptionList: + name: protocol_copyMethodDescriptionList + c:@F@protocol_copyPropertyList: + name: protocol_copyPropertyList + c:@F@protocol_copyPropertyList2: + name: protocol_copyPropertyList2 + c:@F@protocol_copyProtocolList: + name: protocol_copyProtocolList + c:@F@protocol_getMethodDescription: + name: protocol_getMethodDescription + c:@F@protocol_getName: + name: protocol_getName + c:@F@protocol_getProperty: + name: protocol_getProperty + c:@F@protocol_isEqual: + name: protocol_isEqual + c:@S@CGPoint: + name: CGPoint + c:@S@CGRect: + name: CGRect + c:@S@CGSize: + name: CGSize + c:@S@_NSModalSession: + name: _NSModalSession + c:@S@_NSRange: + name: _NSRange + c:@S@_NSZone: + name: _NSZone + c:@S@__CGEvent: + name: __CGEvent + c:@S@mach_header: + name: mach_header + c:@S@objc_category: + name: objc_category + c:@S@objc_ivar: + name: objc_ivar + c:@S@objc_method: + name: objc_method + c:@S@objc_method_description: + name: objc_method_description + c:@S@objc_method_list: + name: objc_method_list + c:@S@objc_property: + name: objc_property + c:@SA@objc_property_attribute_t: + name: objc_property_attribute_t + c:@T@instancetype: + name: instancetype + c:ASWebAuthenticationSession.h@T@ASWebAuthenticationSessionCompletionHandler: + name: ASWebAuthenticationSessionCompletionHandler + c:objc(cs)ASWebAuthenticationSession: + name: ASWebAuthenticationSession + c:objc(cs)CADisplayLink: + name: CADisplayLink + c:objc(cs)CALayer: + name: CALayer + c:objc(cs)CIFilter: + name: CIFilter + c:objc(cs)NSAppearance: + name: NSAppearance + c:objc(cs)NSApplication: + name: NSApplication + c:objc(cs)NSArray: + name: NSArray + c:objc(cs)NSAttributedString: + name: NSAttributedString + c:objc(cs)NSBitmapImageRep: + name: NSBitmapImageRep + c:objc(cs)NSBundle: + name: NSBundle + c:objc(cs)NSButton: + name: NSButton + c:objc(cs)NSButtonCell: + name: NSButtonCell + c:objc(cs)NSCoder: + name: NSCoder + c:objc(cs)NSColor: + name: NSColor + c:objc(cs)NSColorSpace: + name: NSColorSpace + c:objc(cs)NSData: + name: NSData + c:objc(cs)NSDate: + name: NSDate + c:objc(cs)NSDictionary: + name: NSDictionary + c:objc(cs)NSDockTile: + name: NSDockTile + c:objc(cs)NSError: + name: NSError + c:objc(cs)NSEvent: + name: NSEvent + c:objc(cs)NSException: + name: NSException + c:objc(cs)NSFont: + name: NSFont + c:objc(cs)NSGraphicsContext: + name: NSGraphicsContext + c:objc(cs)NSImage: + name: NSImage + c:objc(cs)NSInvocation: + name: NSInvocation + c:objc(cs)NSMenu: + name: NSMenu + c:objc(cs)NSMenuItem: + name: NSMenuItem + c:objc(cs)NSMenuItemBadge: + name: NSMenuItemBadge + c:objc(cs)NSMethodSignature: + name: NSMethodSignature + c:objc(cs)NSNumber: + name: NSNumber + c:objc(cs)NSObject: + name: NSObject + c:objc(cs)NSPasteboard: + name: NSPasteboard + c:objc(cs)NSPasteboardItem: + name: NSPasteboardItem + c:objc(cs)NSResponder: + name: NSResponder + c:objc(cs)NSRunningApplication: + name: NSRunningApplication + c:objc(cs)NSScreen: + name: NSScreen + c:objc(cs)NSScrollView: + name: NSScrollView + c:objc(cs)NSShadow: + name: NSShadow + c:objc(cs)NSString: + name: NSString + c:objc(cs)NSText: + name: NSText + c:objc(cs)NSTextInputContext: + name: NSTextInputContext + c:objc(cs)NSTitlebarAccessoryViewController: + name: NSTitlebarAccessoryViewController + c:objc(cs)NSToolbar: + name: NSToolbar + c:objc(cs)NSTouch: + name: NSTouch + c:objc(cs)NSTrackingArea: + name: NSTrackingArea + c:objc(cs)NSURL: + name: NSURL + c:objc(cs)NSValue: + name: NSValue + c:objc(cs)NSView: + name: NSView + c:objc(cs)NSViewController: + name: NSViewController + c:objc(cs)NSWindow: + name: NSWindow + c:objc(cs)NSWindowController: + name: NSWindowController + c:objc(cs)NSWindowTab: + name: NSWindowTab + c:objc(cs)NSWindowTabGroup: + name: NSWindowTabGroup + c:objc(cs)Protocol: + name: Protocol + "objcBlock: 8ol47u? 8ol47u": + name: ObjCBlock_NSEvent_NSEvent + "objcBlock: divyil": + name: ObjCBlock_ffiVoid + "objcBlock: divyil 4m4hs3? 5clcv7?": + name: ObjCBlock_ffiVoid_NSURL_NSError + "objcBlock: divyil 5clcv7?": + name: ObjCBlock_ffiVoid_NSError + "objcBlock: divyil 684z1l": + name: ObjCBlock_ffiVoid_ffiLong + "objcBlock: divyil 7xwwls aopvxr bool bool*": + name: ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool + "objcBlock: divyil 8ol47u": + name: ObjCBlock_ffiVoid_NSEvent + "objcBlock: divyil 8ol47u? bool*": + name: ObjCBlock_ffiVoid_NSEvent_bool + "objcBlock: divyil dce4iq bool*": + name: ObjCBlock_ffiVoid_NSWindow_bool + "objcBlock: divyil gkgg5n* bool*": + name: ObjCBlock_ffiVoid_ObjCObject_bool + "objcBlock: gkgg5n*? 5clcv7 7op1mv": + name: ObjCBlock_ObjCObject_NSError_NSString diff --git a/packages/celest_auth/lib/src/platform/darwin/foundation.ffi.dart b/packages/celest_auth/lib/src/platform/darwin/foundation.ffi.dart new file mode 100644 index 00000000..e918b076 --- /dev/null +++ b/packages/celest_auth/lib/src/platform/darwin/foundation.ffi.dart @@ -0,0 +1,12531 @@ +// ignore_for_file: type=lint +// ignore_for_file: return_of_invalid_type +// ignore_for_file: unnecessary_non_null_assertion + +// AUTO GENERATED FILE, DO NOT EDIT. +// +// Generated by `package:ffigen`. +import 'dart:ffi' as ffi; +import 'package:ffi/ffi.dart' as pkg_ffi; + +/// Bindings for Foundation on macOS/iOS. +/// +/// Regenerate bindings with `dart run ffigen --config=ffigen.foundation.yaml`. +/// +class Foundation { + /// Holds the symbol lookup function. + final ffi.Pointer Function(String symbolName) + _lookup; + + /// The symbols are looked up in [dynamicLibrary]. + Foundation(ffi.DynamicLibrary dynamicLibrary) + : _lookup = dynamicLibrary.lookup; + + /// The symbols are looked up with [lookup]. + Foundation.fromLookup( + ffi.Pointer Function(String symbolName) + lookup) + : _lookup = lookup; + + ffi.Pointer _registerName1(String name) { + final cstr = name.toNativeUtf8(); + final sel = _sel_registerName(cstr.cast()); + pkg_ffi.calloc.free(cstr); + return sel; + } + + ffi.Pointer _sel_registerName( + ffi.Pointer str, + ) { + return __sel_registerName( + str, + ); + } + + late final __sel_registerNamePtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('sel_registerName'); + late final __sel_registerName = __sel_registerNamePtr + .asFunction Function(ffi.Pointer)>(); + + ffi.Pointer _getClass1(String name) { + final cstr = name.toNativeUtf8(); + final clazz = _objc_getClass(cstr.cast()); + pkg_ffi.calloc.free(cstr); + if (clazz == ffi.nullptr) { + throw Exception('Failed to load Objective-C class: $name'); + } + return clazz; + } + + ffi.Pointer _objc_getClass( + ffi.Pointer str, + ) { + return __objc_getClass( + str, + ); + } + + late final __objc_getClassPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('objc_getClass'); + late final __objc_getClass = __objc_getClassPtr + .asFunction Function(ffi.Pointer)>(); + + ffi.Pointer _objc_retain( + ffi.Pointer value, + ) { + return __objc_retain( + value, + ); + } + + late final __objc_retainPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('objc_retain'); + late final __objc_retain = __objc_retainPtr + .asFunction Function(ffi.Pointer)>(); + + void _objc_release( + ffi.Pointer value, + ) { + return __objc_release( + value, + ); + } + + late final __objc_releasePtr = + _lookup)>>( + 'objc_release'); + late final __objc_release = + __objc_releasePtr.asFunction)>(); + + late final _objc_releaseFinalizer2 = + ffi.NativeFinalizer(__objc_releasePtr.cast()); + late final _class_NSString1 = _getClass1("NSString"); + bool _objc_msgSend_0( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer clazz, + ) { + return __objc_msgSend_0( + obj, + sel, + clazz, + ); + } + + late final __objc_msgSend_0Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_0 = __objc_msgSend_0Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_isKindOfClass_1 = _registerName1("isKindOfClass:"); + late final _class_NSObject1 = _getClass1("NSObject"); + late final _sel_load1 = _registerName1("load"); + void _objc_msgSend_1( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_1( + obj, + sel, + ); + } + + late final __objc_msgSend_1Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_1 = __objc_msgSend_1Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_initialize1 = _registerName1("initialize"); + late final _sel_init1 = _registerName1("init"); + instancetype _objc_msgSend_2( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_2( + obj, + sel, + ); + } + + late final __objc_msgSend_2Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_2 = __objc_msgSend_2Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_new1 = _registerName1("new"); + late final _sel_allocWithZone_1 = _registerName1("allocWithZone:"); + instancetype _objc_msgSend_3( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer zone, + ) { + return __objc_msgSend_3( + obj, + sel, + zone, + ); + } + + late final __objc_msgSend_3Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_3 = __objc_msgSend_3Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_alloc1 = _registerName1("alloc"); + late final _sel_dealloc1 = _registerName1("dealloc"); + late final _sel_finalize1 = _registerName1("finalize"); + late final _sel_copy1 = _registerName1("copy"); + late final _sel_mutableCopy1 = _registerName1("mutableCopy"); + late final _sel_copyWithZone_1 = _registerName1("copyWithZone:"); + late final _sel_mutableCopyWithZone_1 = + _registerName1("mutableCopyWithZone:"); + late final _sel_instancesRespondToSelector_1 = + _registerName1("instancesRespondToSelector:"); + bool _objc_msgSend_4( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aSelector, + ) { + return __objc_msgSend_4( + obj, + sel, + aSelector, + ); + } + + late final __objc_msgSend_4Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_4 = __objc_msgSend_4Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _class_Protocol1 = _getClass1("Protocol"); + late final _sel_conformsToProtocol_1 = _registerName1("conformsToProtocol:"); + bool _objc_msgSend_5( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer protocol, + ) { + return __objc_msgSend_5( + obj, + sel, + protocol, + ); + } + + late final __objc_msgSend_5Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_5 = __objc_msgSend_5Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_methodForSelector_1 = _registerName1("methodForSelector:"); + ffi.Pointer> _objc_msgSend_6( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aSelector, + ) { + return __objc_msgSend_6( + obj, + sel, + aSelector, + ); + } + + late final __objc_msgSend_6Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer> Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_6 = __objc_msgSend_6Ptr.asFunction< + ffi.Pointer> Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_instanceMethodForSelector_1 = + _registerName1("instanceMethodForSelector:"); + late final _sel_doesNotRecognizeSelector_1 = + _registerName1("doesNotRecognizeSelector:"); + void _objc_msgSend_7( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aSelector, + ) { + return __objc_msgSend_7( + obj, + sel, + aSelector, + ); + } + + late final __objc_msgSend_7Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_7 = __objc_msgSend_7Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_forwardingTargetForSelector_1 = + _registerName1("forwardingTargetForSelector:"); + ffi.Pointer _objc_msgSend_8( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aSelector, + ) { + return __objc_msgSend_8( + obj, + sel, + aSelector, + ); + } + + late final __objc_msgSend_8Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_8 = __objc_msgSend_8Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _class_NSInvocation1 = _getClass1("NSInvocation"); + late final _sel_forwardInvocation_1 = _registerName1("forwardInvocation:"); + void _objc_msgSend_9( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer anInvocation, + ) { + return __objc_msgSend_9( + obj, + sel, + anInvocation, + ); + } + + late final __objc_msgSend_9Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_9 = __objc_msgSend_9Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _class_NSMethodSignature1 = _getClass1("NSMethodSignature"); + late final _sel_methodSignatureForSelector_1 = + _registerName1("methodSignatureForSelector:"); + ffi.Pointer _objc_msgSend_10( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aSelector, + ) { + return __objc_msgSend_10( + obj, + sel, + aSelector, + ); + } + + late final __objc_msgSend_10Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_10 = __objc_msgSend_10Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_instanceMethodSignatureForSelector_1 = + _registerName1("instanceMethodSignatureForSelector:"); + late final _sel_allowsWeakReference1 = _registerName1("allowsWeakReference"); + bool _objc_msgSend_11( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_11( + obj, + sel, + ); + } + + late final __objc_msgSend_11Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_11 = __objc_msgSend_11Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_retainWeakReference1 = _registerName1("retainWeakReference"); + late final _sel_isSubclassOfClass_1 = _registerName1("isSubclassOfClass:"); + late final _sel_resolveClassMethod_1 = _registerName1("resolveClassMethod:"); + late final _sel_resolveInstanceMethod_1 = + _registerName1("resolveInstanceMethod:"); + late final _sel_hash1 = _registerName1("hash"); + int _objc_msgSend_12( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_12( + obj, + sel, + ); + } + + late final __objc_msgSend_12Ptr = _lookup< + ffi.NativeFunction< + ffi.UnsignedLong Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_12 = __objc_msgSend_12Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_superclass1 = _registerName1("superclass"); + late final _sel_class1 = _registerName1("class"); + late final _sel_description1 = _registerName1("description"); + ffi.Pointer _objc_msgSend_13( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_13( + obj, + sel, + ); + } + + late final __objc_msgSend_13Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_13 = __objc_msgSend_13Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_debugDescription1 = _registerName1("debugDescription"); + late final _class_NSURL1 = _getClass1("NSURL"); + late final _sel_initWithScheme_host_path_1 = + _registerName1("initWithScheme:host:path:"); + instancetype _objc_msgSend_14( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer scheme, + ffi.Pointer host, + ffi.Pointer path, + ) { + return __objc_msgSend_14( + obj, + sel, + scheme, + host, + path, + ); + } + + late final __objc_msgSend_14Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_14 = __objc_msgSend_14Ptr.asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_initFileURLWithPath_isDirectory_relativeToURL_1 = + _registerName1("initFileURLWithPath:isDirectory:relativeToURL:"); + instancetype _objc_msgSend_15( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + bool isDir, + ffi.Pointer baseURL, + ) { + return __objc_msgSend_15( + obj, + sel, + path, + isDir, + baseURL, + ); + } + + late final __objc_msgSend_15Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Bool, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_15 = __objc_msgSend_15Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, bool, ffi.Pointer)>(); + + late final _sel_initFileURLWithPath_relativeToURL_1 = + _registerName1("initFileURLWithPath:relativeToURL:"); + instancetype _objc_msgSend_16( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + ffi.Pointer baseURL, + ) { + return __objc_msgSend_16( + obj, + sel, + path, + baseURL, + ); + } + + late final __objc_msgSend_16Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_16 = __objc_msgSend_16Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_initFileURLWithPath_isDirectory_1 = + _registerName1("initFileURLWithPath:isDirectory:"); + instancetype _objc_msgSend_17( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + bool isDir, + ) { + return __objc_msgSend_17( + obj, + sel, + path, + isDir, + ); + } + + late final __objc_msgSend_17Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_17 = __objc_msgSend_17Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, bool)>(); + + late final _sel_initFileURLWithPath_1 = + _registerName1("initFileURLWithPath:"); + instancetype _objc_msgSend_18( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + ) { + return __objc_msgSend_18( + obj, + sel, + path, + ); + } + + late final __objc_msgSend_18Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_18 = __objc_msgSend_18Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_fileURLWithPath_isDirectory_relativeToURL_1 = + _registerName1("fileURLWithPath:isDirectory:relativeToURL:"); + ffi.Pointer _objc_msgSend_19( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + bool isDir, + ffi.Pointer baseURL, + ) { + return __objc_msgSend_19( + obj, + sel, + path, + isDir, + baseURL, + ); + } + + late final __objc_msgSend_19Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Bool, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_19 = __objc_msgSend_19Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + bool, + ffi.Pointer)>(); + + late final _sel_fileURLWithPath_relativeToURL_1 = + _registerName1("fileURLWithPath:relativeToURL:"); + ffi.Pointer _objc_msgSend_20( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + ffi.Pointer baseURL, + ) { + return __objc_msgSend_20( + obj, + sel, + path, + baseURL, + ); + } + + late final __objc_msgSend_20Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_20 = __objc_msgSend_20Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_fileURLWithPath_isDirectory_1 = + _registerName1("fileURLWithPath:isDirectory:"); + ffi.Pointer _objc_msgSend_21( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + bool isDir, + ) { + return __objc_msgSend_21( + obj, + sel, + path, + isDir, + ); + } + + late final __objc_msgSend_21Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_21 = __objc_msgSend_21Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer, bool)>(); + + late final _sel_fileURLWithPath_1 = _registerName1("fileURLWithPath:"); + ffi.Pointer _objc_msgSend_22( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + ) { + return __objc_msgSend_22( + obj, + sel, + path, + ); + } + + late final __objc_msgSend_22Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_22 = __objc_msgSend_22Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_initFileURLWithFileSystemRepresentation_isDirectory_relativeToURL_1 = + _registerName1( + "initFileURLWithFileSystemRepresentation:isDirectory:relativeToURL:"); + instancetype _objc_msgSend_23( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + bool isDir, + ffi.Pointer baseURL, + ) { + return __objc_msgSend_23( + obj, + sel, + path, + isDir, + baseURL, + ); + } + + late final __objc_msgSend_23Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Bool, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_23 = __objc_msgSend_23Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, bool, ffi.Pointer)>(); + + late final _sel_fileURLWithFileSystemRepresentation_isDirectory_relativeToURL_1 = + _registerName1( + "fileURLWithFileSystemRepresentation:isDirectory:relativeToURL:"); + ffi.Pointer _objc_msgSend_24( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + bool isDir, + ffi.Pointer baseURL, + ) { + return __objc_msgSend_24( + obj, + sel, + path, + isDir, + baseURL, + ); + } + + late final __objc_msgSend_24Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Bool, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_24 = __objc_msgSend_24Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + bool, + ffi.Pointer)>(); + + late final _sel_initWithString_1 = _registerName1("initWithString:"); + instancetype _objc_msgSend_25( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer URLString, + ) { + return __objc_msgSend_25( + obj, + sel, + URLString, + ); + } + + late final __objc_msgSend_25Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_25 = __objc_msgSend_25Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_initWithString_relativeToURL_1 = + _registerName1("initWithString:relativeToURL:"); + instancetype _objc_msgSend_26( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer URLString, + ffi.Pointer baseURL, + ) { + return __objc_msgSend_26( + obj, + sel, + URLString, + baseURL, + ); + } + + late final __objc_msgSend_26Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_26 = __objc_msgSend_26Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_URLWithString_1 = _registerName1("URLWithString:"); + late final _sel_URLWithString_relativeToURL_1 = + _registerName1("URLWithString:relativeToURL:"); + late final _sel_initWithString_encodingInvalidCharacters_1 = + _registerName1("initWithString:encodingInvalidCharacters:"); + instancetype _objc_msgSend_27( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer URLString, + bool encodingInvalidCharacters, + ) { + return __objc_msgSend_27( + obj, + sel, + URLString, + encodingInvalidCharacters, + ); + } + + late final __objc_msgSend_27Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_27 = __objc_msgSend_27Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, bool)>(); + + late final _sel_URLWithString_encodingInvalidCharacters_1 = + _registerName1("URLWithString:encodingInvalidCharacters:"); + late final _class_NSData1 = _getClass1("NSData"); + late final _sel_bytes1 = _registerName1("bytes"); + ffi.Pointer _objc_msgSend_28( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_28( + obj, + sel, + ); + } + + late final __objc_msgSend_28Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_28 = __objc_msgSend_28Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_initWithDataRepresentation_relativeToURL_1 = + _registerName1("initWithDataRepresentation:relativeToURL:"); + instancetype _objc_msgSend_29( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer data, + ffi.Pointer baseURL, + ) { + return __objc_msgSend_29( + obj, + sel, + data, + baseURL, + ); + } + + late final __objc_msgSend_29Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_29 = __objc_msgSend_29Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_URLWithDataRepresentation_relativeToURL_1 = + _registerName1("URLWithDataRepresentation:relativeToURL:"); + ffi.Pointer _objc_msgSend_30( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer data, + ffi.Pointer baseURL, + ) { + return __objc_msgSend_30( + obj, + sel, + data, + baseURL, + ); + } + + late final __objc_msgSend_30Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_30 = __objc_msgSend_30Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_initAbsoluteURLWithDataRepresentation_relativeToURL_1 = + _registerName1("initAbsoluteURLWithDataRepresentation:relativeToURL:"); + late final _sel_absoluteURLWithDataRepresentation_relativeToURL_1 = + _registerName1("absoluteURLWithDataRepresentation:relativeToURL:"); + late final _sel_dataRepresentation1 = _registerName1("dataRepresentation"); + ffi.Pointer _objc_msgSend_31( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_31( + obj, + sel, + ); + } + + late final __objc_msgSend_31Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_31 = __objc_msgSend_31Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_absoluteString1 = _registerName1("absoluteString"); + ffi.Pointer _objc_msgSend_32( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_32( + obj, + sel, + ); + } + + late final __objc_msgSend_32Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_32 = __objc_msgSend_32Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_relativeString1 = _registerName1("relativeString"); + late final _sel_baseURL1 = _registerName1("baseURL"); + ffi.Pointer _objc_msgSend_33( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_33( + obj, + sel, + ); + } + + late final __objc_msgSend_33Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_33 = __objc_msgSend_33Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_absoluteURL1 = _registerName1("absoluteURL"); + late final _sel_scheme1 = _registerName1("scheme"); + late final _sel_resourceSpecifier1 = _registerName1("resourceSpecifier"); + late final _sel_host1 = _registerName1("host"); + late final _class_NSNumber1 = _getClass1("NSNumber"); + late final _class_NSValue1 = _getClass1("NSValue"); + late final _sel_getValue_size_1 = _registerName1("getValue:size:"); + void _objc_msgSend_34( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + int size, + ) { + return __objc_msgSend_34( + obj, + sel, + value, + size, + ); + } + + late final __objc_msgSend_34Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_34 = __objc_msgSend_34Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + late final _sel_objCType1 = _registerName1("objCType"); + ffi.Pointer _objc_msgSend_35( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_35( + obj, + sel, + ); + } + + late final __objc_msgSend_35Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_35 = __objc_msgSend_35Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_initWithBytes_objCType_1 = + _registerName1("initWithBytes:objCType:"); + instancetype _objc_msgSend_36( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ffi.Pointer type, + ) { + return __objc_msgSend_36( + obj, + sel, + value, + type, + ); + } + + late final __objc_msgSend_36Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_36 = __objc_msgSend_36Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _class_NSCoder1 = _getClass1("NSCoder"); + late final _sel_initWithCoder_1 = _registerName1("initWithCoder:"); + instancetype _objc_msgSend_37( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer coder, + ) { + return __objc_msgSend_37( + obj, + sel, + coder, + ); + } + + late final __objc_msgSend_37Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_37 = __objc_msgSend_37Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_initWithChar_1 = _registerName1("initWithChar:"); + ffi.Pointer _objc_msgSend_38( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_38( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_38Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Char)>>('objc_msgSend'); + late final __objc_msgSend_38 = __objc_msgSend_38Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithUnsignedChar_1 = + _registerName1("initWithUnsignedChar:"); + ffi.Pointer _objc_msgSend_39( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_39( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_39Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedChar)>>('objc_msgSend'); + late final __objc_msgSend_39 = __objc_msgSend_39Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithShort_1 = _registerName1("initWithShort:"); + ffi.Pointer _objc_msgSend_40( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_40( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_40Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Short)>>('objc_msgSend'); + late final __objc_msgSend_40 = __objc_msgSend_40Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithUnsignedShort_1 = + _registerName1("initWithUnsignedShort:"); + ffi.Pointer _objc_msgSend_41( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_41( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_41Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedShort)>>('objc_msgSend'); + late final __objc_msgSend_41 = __objc_msgSend_41Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithInt_1 = _registerName1("initWithInt:"); + ffi.Pointer _objc_msgSend_42( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_42( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_42Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Int)>>('objc_msgSend'); + late final __objc_msgSend_42 = __objc_msgSend_42Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithUnsignedInt_1 = + _registerName1("initWithUnsignedInt:"); + ffi.Pointer _objc_msgSend_43( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_43( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_43Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedInt)>>('objc_msgSend'); + late final __objc_msgSend_43 = __objc_msgSend_43Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithLong_1 = _registerName1("initWithLong:"); + ffi.Pointer _objc_msgSend_44( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_44( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_44Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Long)>>('objc_msgSend'); + late final __objc_msgSend_44 = __objc_msgSend_44Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithUnsignedLong_1 = + _registerName1("initWithUnsignedLong:"); + ffi.Pointer _objc_msgSend_45( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_45( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_45Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_45 = __objc_msgSend_45Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithLongLong_1 = _registerName1("initWithLongLong:"); + ffi.Pointer _objc_msgSend_46( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_46( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_46Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.LongLong)>>('objc_msgSend'); + late final __objc_msgSend_46 = __objc_msgSend_46Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithUnsignedLongLong_1 = + _registerName1("initWithUnsignedLongLong:"); + ffi.Pointer _objc_msgSend_47( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_47( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_47Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLongLong)>>('objc_msgSend'); + late final __objc_msgSend_47 = __objc_msgSend_47Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithFloat_1 = _registerName1("initWithFloat:"); + ffi.Pointer _objc_msgSend_48( + ffi.Pointer obj, + ffi.Pointer sel, + double value, + ) { + return __objc_msgSend_48( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_48Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Float)>>('objc_msgSend'); + late final __objc_msgSend_48 = __objc_msgSend_48Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, double)>(); + + late final _sel_initWithDouble_1 = _registerName1("initWithDouble:"); + ffi.Pointer _objc_msgSend_49( + ffi.Pointer obj, + ffi.Pointer sel, + double value, + ) { + return __objc_msgSend_49( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_49Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Double)>>('objc_msgSend'); + late final __objc_msgSend_49 = __objc_msgSend_49Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, double)>(); + + late final _sel_initWithBool_1 = _registerName1("initWithBool:"); + ffi.Pointer _objc_msgSend_50( + ffi.Pointer obj, + ffi.Pointer sel, + bool value, + ) { + return __objc_msgSend_50( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_50Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_50 = __objc_msgSend_50Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, bool)>(); + + late final _sel_initWithInteger_1 = _registerName1("initWithInteger:"); + late final _sel_initWithUnsignedInteger_1 = + _registerName1("initWithUnsignedInteger:"); + late final _sel_charValue1 = _registerName1("charValue"); + int _objc_msgSend_51( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_51( + obj, + sel, + ); + } + + late final __objc_msgSend_51Ptr = _lookup< + ffi.NativeFunction< + ffi.Char Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_51 = __objc_msgSend_51Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_unsignedCharValue1 = _registerName1("unsignedCharValue"); + int _objc_msgSend_52( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_52( + obj, + sel, + ); + } + + late final __objc_msgSend_52Ptr = _lookup< + ffi.NativeFunction< + ffi.UnsignedChar Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_52 = __objc_msgSend_52Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_shortValue1 = _registerName1("shortValue"); + int _objc_msgSend_53( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_53( + obj, + sel, + ); + } + + late final __objc_msgSend_53Ptr = _lookup< + ffi.NativeFunction< + ffi.Short Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_53 = __objc_msgSend_53Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_unsignedShortValue1 = _registerName1("unsignedShortValue"); + int _objc_msgSend_54( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_54( + obj, + sel, + ); + } + + late final __objc_msgSend_54Ptr = _lookup< + ffi.NativeFunction< + ffi.UnsignedShort Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_54 = __objc_msgSend_54Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_intValue1 = _registerName1("intValue"); + int _objc_msgSend_55( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_55( + obj, + sel, + ); + } + + late final __objc_msgSend_55Ptr = _lookup< + ffi.NativeFunction< + ffi.Int Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_55 = __objc_msgSend_55Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_unsignedIntValue1 = _registerName1("unsignedIntValue"); + int _objc_msgSend_56( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_56( + obj, + sel, + ); + } + + late final __objc_msgSend_56Ptr = _lookup< + ffi.NativeFunction< + ffi.UnsignedInt Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_56 = __objc_msgSend_56Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_longValue1 = _registerName1("longValue"); + int _objc_msgSend_57( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_57( + obj, + sel, + ); + } + + late final __objc_msgSend_57Ptr = _lookup< + ffi.NativeFunction< + ffi.Long Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_57 = __objc_msgSend_57Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_unsignedLongValue1 = _registerName1("unsignedLongValue"); + late final _sel_longLongValue1 = _registerName1("longLongValue"); + int _objc_msgSend_58( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_58( + obj, + sel, + ); + } + + late final __objc_msgSend_58Ptr = _lookup< + ffi.NativeFunction< + ffi.LongLong Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_58 = __objc_msgSend_58Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_unsignedLongLongValue1 = + _registerName1("unsignedLongLongValue"); + int _objc_msgSend_59( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_59( + obj, + sel, + ); + } + + late final __objc_msgSend_59Ptr = _lookup< + ffi.NativeFunction< + ffi.UnsignedLongLong Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_59 = __objc_msgSend_59Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_floatValue1 = _registerName1("floatValue"); + late final _objc_msgSend_useVariants1 = ffi.Abi.current() == ffi.Abi.iosX64 || + ffi.Abi.current() == ffi.Abi.macosX64; + double _objc_msgSend_60( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_60( + obj, + sel, + ); + } + + late final __objc_msgSend_60Ptr = _lookup< + ffi.NativeFunction< + ffi.Float Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_60 = __objc_msgSend_60Ptr.asFunction< + double Function(ffi.Pointer, ffi.Pointer)>(); + + double _objc_msgSend_60_fpret( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_60_fpret( + obj, + sel, + ); + } + + late final __objc_msgSend_60_fpretPtr = _lookup< + ffi.NativeFunction< + ffi.Float Function(ffi.Pointer, + ffi.Pointer)>>('objc_msgSend_fpret'); + late final __objc_msgSend_60_fpret = __objc_msgSend_60_fpretPtr.asFunction< + double Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_doubleValue1 = _registerName1("doubleValue"); + double _objc_msgSend_61( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_61( + obj, + sel, + ); + } + + late final __objc_msgSend_61Ptr = _lookup< + ffi.NativeFunction< + ffi.Double Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_61 = __objc_msgSend_61Ptr.asFunction< + double Function(ffi.Pointer, ffi.Pointer)>(); + + double _objc_msgSend_61_fpret( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_61_fpret( + obj, + sel, + ); + } + + late final __objc_msgSend_61_fpretPtr = _lookup< + ffi.NativeFunction< + ffi.Double Function(ffi.Pointer, + ffi.Pointer)>>('objc_msgSend_fpret'); + late final __objc_msgSend_61_fpret = __objc_msgSend_61_fpretPtr.asFunction< + double Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_boolValue1 = _registerName1("boolValue"); + late final _sel_integerValue1 = _registerName1("integerValue"); + late final _sel_unsignedIntegerValue1 = + _registerName1("unsignedIntegerValue"); + late final _sel_stringValue1 = _registerName1("stringValue"); + late final _sel_compare_1 = _registerName1("compare:"); + int _objc_msgSend_62( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer otherNumber, + ) { + return __objc_msgSend_62( + obj, + sel, + otherNumber, + ); + } + + late final __objc_msgSend_62Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_62 = __objc_msgSend_62Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_isEqualToNumber_1 = _registerName1("isEqualToNumber:"); + bool _objc_msgSend_63( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer number, + ) { + return __objc_msgSend_63( + obj, + sel, + number, + ); + } + + late final __objc_msgSend_63Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_63 = __objc_msgSend_63Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_descriptionWithLocale_1 = + _registerName1("descriptionWithLocale:"); + ffi.Pointer _objc_msgSend_64( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer locale, + ) { + return __objc_msgSend_64( + obj, + sel, + locale, + ); + } + + late final __objc_msgSend_64Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_64 = __objc_msgSend_64Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_port1 = _registerName1("port"); + ffi.Pointer _objc_msgSend_65( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_65( + obj, + sel, + ); + } + + late final __objc_msgSend_65Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_65 = __objc_msgSend_65Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_user1 = _registerName1("user"); + late final _sel_password1 = _registerName1("password"); + late final _sel_path1 = _registerName1("path"); + late final _sel_fragment1 = _registerName1("fragment"); + late final _sel_parameterString1 = _registerName1("parameterString"); + late final _sel_query1 = _registerName1("query"); + late final _sel_relativePath1 = _registerName1("relativePath"); + late final _sel_hasDirectoryPath1 = _registerName1("hasDirectoryPath"); + late final _sel_getFileSystemRepresentation_maxLength_1 = + _registerName1("getFileSystemRepresentation:maxLength:"); + bool _objc_msgSend_66( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer buffer, + int maxBufferLength, + ) { + return __objc_msgSend_66( + obj, + sel, + buffer, + maxBufferLength, + ); + } + + late final __objc_msgSend_66Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_66 = __objc_msgSend_66Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + late final _sel_fileSystemRepresentation1 = + _registerName1("fileSystemRepresentation"); + late final _sel_isFileURL1 = _registerName1("isFileURL"); + late final _sel_standardizedURL1 = _registerName1("standardizedURL"); + late final _sel_isFileReferenceURL1 = _registerName1("isFileReferenceURL"); + late final _sel_fileReferenceURL1 = _registerName1("fileReferenceURL"); + late final _sel_filePathURL1 = _registerName1("filePathURL"); + late final _class_NSError1 = _getClass1("NSError"); + late final _class_NSDictionary1 = _getClass1("NSDictionary"); + late final _sel_initWithDomain_code_userInfo_1 = + _registerName1("initWithDomain:code:userInfo:"); + instancetype _objc_msgSend_67( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer domain, + int code, + ffi.Pointer dict, + ) { + return __objc_msgSend_67( + obj, + sel, + domain, + code, + dict, + ); + } + + late final __objc_msgSend_67Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Long, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_67 = __objc_msgSend_67Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int, ffi.Pointer)>(); + + late final _sel_errorWithDomain_code_userInfo_1 = + _registerName1("errorWithDomain:code:userInfo:"); + late final _sel_domain1 = _registerName1("domain"); + late final _sel_code1 = _registerName1("code"); + late final _sel_userInfo1 = _registerName1("userInfo"); + ffi.Pointer _objc_msgSend_68( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_68( + obj, + sel, + ); + } + + late final __objc_msgSend_68Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_68 = __objc_msgSend_68Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_localizedDescription1 = + _registerName1("localizedDescription"); + late final _sel_localizedFailureReason1 = + _registerName1("localizedFailureReason"); + late final _sel_localizedRecoverySuggestion1 = + _registerName1("localizedRecoverySuggestion"); + late final _sel_localizedRecoveryOptions1 = + _registerName1("localizedRecoveryOptions"); + ffi.Pointer _objc_msgSend_69( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_69( + obj, + sel, + ); + } + + late final __objc_msgSend_69Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_69 = __objc_msgSend_69Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_recoveryAttempter1 = _registerName1("recoveryAttempter"); + late final _sel_helpAnchor1 = _registerName1("helpAnchor"); + late final _sel_underlyingErrors1 = _registerName1("underlyingErrors"); + ffi.Pointer<_ObjCBlockDesc> _newBlockDesc1() { + final d = + pkg_ffi.calloc.allocate<_ObjCBlockDesc>(ffi.sizeOf<_ObjCBlockDesc>()); + d.ref.reserved = 0; + d.ref.size = ffi.sizeOf<_ObjCBlock>(); + d.ref.copy_helper = ffi.nullptr; + d.ref.dispose_helper = ffi.nullptr; + d.ref.signature = ffi.nullptr; + return d; + } + + late final _objc_block_desc1 = _newBlockDesc1(); + late final _objc_concrete_global_block1 = + _lookup('_NSConcreteGlobalBlock'); + ffi.Pointer<_ObjCBlock> _newBlock1( + ffi.Pointer invoke, ffi.Pointer target) { + final b = pkg_ffi.calloc.allocate<_ObjCBlock>(ffi.sizeOf<_ObjCBlock>()); + b.ref.isa = _objc_concrete_global_block1; + b.ref.flags = 0; + b.ref.reserved = 0; + b.ref.invoke = invoke; + b.ref.target = target; + b.ref.descriptor = _objc_block_desc1; + final copy = _Block_copy(b.cast()).cast<_ObjCBlock>(); + pkg_ffi.calloc.free(b); + return copy; + } + + ffi.Pointer _Block_copy( + ffi.Pointer value, + ) { + return __Block_copy( + value, + ); + } + + late final __Block_copyPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('_Block_copy'); + late final __Block_copy = __Block_copyPtr + .asFunction Function(ffi.Pointer)>(); + + void _Block_release( + ffi.Pointer value, + ) { + return __Block_release( + value, + ); + } + + late final __Block_releasePtr = + _lookup)>>( + '_Block_release'); + late final __Block_release = + __Block_releasePtr.asFunction)>(); + + late final _objc_releaseFinalizer11 = + ffi.NativeFinalizer(__Block_releasePtr.cast()); + late final _sel_setUserInfoValueProviderForDomain_provider_1 = + _registerName1("setUserInfoValueProviderForDomain:provider:"); + void _objc_msgSend_70( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer errorDomain, + ffi.Pointer<_ObjCBlock> provider, + ) { + return __objc_msgSend_70( + obj, + sel, + errorDomain, + provider, + ); + } + + late final __objc_msgSend_70Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); + late final __objc_msgSend_70 = __objc_msgSend_70Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer<_ObjCBlock>)>(); + + late final _sel_userInfoValueProviderForDomain_1 = + _registerName1("userInfoValueProviderForDomain:"); + ffi.Pointer<_ObjCBlock> _objc_msgSend_71( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer err, + ffi.Pointer userInfoKey, + ffi.Pointer errorDomain, + ) { + return __objc_msgSend_71( + obj, + sel, + err, + userInfoKey, + errorDomain, + ); + } + + late final __objc_msgSend_71Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer<_ObjCBlock> Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_71 = __objc_msgSend_71Ptr.asFunction< + ffi.Pointer<_ObjCBlock> Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_getResourceValue_forKey_error_1 = + _registerName1("getResourceValue:forKey:error:"); + bool _objc_msgSend_72( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer> value, + ffi.Pointer key, + ffi.Pointer> error, + ) { + return __objc_msgSend_72( + obj, + sel, + value, + key, + error, + ); + } + + late final __objc_msgSend_72Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>, + ffi.Pointer, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_72 = __objc_msgSend_72Ptr.asFunction< + bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>, + ffi.Pointer, + ffi.Pointer>)>(); + + late final _sel_resourceValuesForKeys_error_1 = + _registerName1("resourceValuesForKeys:error:"); + ffi.Pointer _objc_msgSend_73( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer keys, + ffi.Pointer> error, + ) { + return __objc_msgSend_73( + obj, + sel, + keys, + error, + ); + } + + late final __objc_msgSend_73Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_73 = __objc_msgSend_73Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>(); + + late final _sel_setResourceValue_forKey_error_1 = + _registerName1("setResourceValue:forKey:error:"); + bool _objc_msgSend_74( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ffi.Pointer key, + ffi.Pointer> error, + ) { + return __objc_msgSend_74( + obj, + sel, + value, + key, + error, + ); + } + + late final __objc_msgSend_74Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_74 = __objc_msgSend_74Ptr.asFunction< + bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>(); + + late final _sel_setResourceValues_error_1 = + _registerName1("setResourceValues:error:"); + bool _objc_msgSend_75( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer keyedValues, + ffi.Pointer> error, + ) { + return __objc_msgSend_75( + obj, + sel, + keyedValues, + error, + ); + } + + late final __objc_msgSend_75Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_75 = __objc_msgSend_75Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer>)>(); + + late final _sel_removeCachedResourceValueForKey_1 = + _registerName1("removeCachedResourceValueForKey:"); + void _objc_msgSend_76( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer key, + ) { + return __objc_msgSend_76( + obj, + sel, + key, + ); + } + + late final __objc_msgSend_76Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_76 = __objc_msgSend_76Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_removeAllCachedResourceValues1 = + _registerName1("removeAllCachedResourceValues"); + late final _sel_setTemporaryResourceValue_forKey_1 = + _registerName1("setTemporaryResourceValue:forKey:"); + void _objc_msgSend_77( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ffi.Pointer key, + ) { + return __objc_msgSend_77( + obj, + sel, + value, + key, + ); + } + + late final __objc_msgSend_77Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_77 = __objc_msgSend_77Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_bookmarkDataWithOptions_includingResourceValuesForKeys_relativeToURL_error_1 = + _registerName1( + "bookmarkDataWithOptions:includingResourceValuesForKeys:relativeToURL:error:"); + ffi.Pointer _objc_msgSend_78( + ffi.Pointer obj, + ffi.Pointer sel, + int options, + ffi.Pointer keys, + ffi.Pointer relativeURL, + ffi.Pointer> error, + ) { + return __objc_msgSend_78( + obj, + sel, + options, + keys, + relativeURL, + error, + ); + } + + late final __objc_msgSend_78Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_78 = __objc_msgSend_78Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + int, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>(); + + late final _sel_initByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_1 = + _registerName1( + "initByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:"); + instancetype _objc_msgSend_79( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer bookmarkData, + int options, + ffi.Pointer relativeURL, + ffi.Pointer isStale, + ffi.Pointer> error, + ) { + return __objc_msgSend_79( + obj, + sel, + bookmarkData, + options, + relativeURL, + isStale, + error, + ); + } + + late final __objc_msgSend_79Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_79 = __objc_msgSend_79Ptr.asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>(); + + late final _sel_URLByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_1 = + _registerName1( + "URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:"); + late final _sel_resourceValuesForKeys_fromBookmarkData_1 = + _registerName1("resourceValuesForKeys:fromBookmarkData:"); + ffi.Pointer _objc_msgSend_80( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer keys, + ffi.Pointer bookmarkData, + ) { + return __objc_msgSend_80( + obj, + sel, + keys, + bookmarkData, + ); + } + + late final __objc_msgSend_80Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_80 = __objc_msgSend_80Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_writeBookmarkData_toURL_options_error_1 = + _registerName1("writeBookmarkData:toURL:options:error:"); + bool _objc_msgSend_81( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer bookmarkData, + ffi.Pointer bookmarkFileURL, + int options, + ffi.Pointer> error, + ) { + return __objc_msgSend_81( + obj, + sel, + bookmarkData, + bookmarkFileURL, + options, + error, + ); + } + + late final __objc_msgSend_81Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_81 = __objc_msgSend_81Ptr.asFunction< + bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int, + ffi.Pointer>)>(); + + late final _sel_bookmarkDataWithContentsOfURL_error_1 = + _registerName1("bookmarkDataWithContentsOfURL:error:"); + ffi.Pointer _objc_msgSend_82( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer bookmarkFileURL, + ffi.Pointer> error, + ) { + return __objc_msgSend_82( + obj, + sel, + bookmarkFileURL, + error, + ); + } + + late final __objc_msgSend_82Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_82 = __objc_msgSend_82Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>(); + + late final _sel_URLByResolvingAliasFileAtURL_options_error_1 = + _registerName1("URLByResolvingAliasFileAtURL:options:error:"); + instancetype _objc_msgSend_83( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer url, + int options, + ffi.Pointer> error, + ) { + return __objc_msgSend_83( + obj, + sel, + url, + options, + error, + ); + } + + late final __objc_msgSend_83Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_83 = __objc_msgSend_83Ptr.asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int, + ffi.Pointer>)>(); + + late final _sel_startAccessingSecurityScopedResource1 = + _registerName1("startAccessingSecurityScopedResource"); + late final _sel_stopAccessingSecurityScopedResource1 = + _registerName1("stopAccessingSecurityScopedResource"); + late final _sel_getPromisedItemResourceValue_forKey_error_1 = + _registerName1("getPromisedItemResourceValue:forKey:error:"); + late final _sel_promisedItemResourceValuesForKeys_error_1 = + _registerName1("promisedItemResourceValuesForKeys:error:"); + late final _sel_checkPromisedItemIsReachableAndReturnError_1 = + _registerName1("checkPromisedItemIsReachableAndReturnError:"); + bool _objc_msgSend_84( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer> error, + ) { + return __objc_msgSend_84( + obj, + sel, + error, + ); + } + + late final __objc_msgSend_84Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_84 = __objc_msgSend_84Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer>)>(); + + late final _sel_fileURLWithPathComponents_1 = + _registerName1("fileURLWithPathComponents:"); + ffi.Pointer _objc_msgSend_85( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer components, + ) { + return __objc_msgSend_85( + obj, + sel, + components, + ); + } + + late final __objc_msgSend_85Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_85 = __objc_msgSend_85Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_pathComponents1 = _registerName1("pathComponents"); + late final _sel_lastPathComponent1 = _registerName1("lastPathComponent"); + late final _sel_pathExtension1 = _registerName1("pathExtension"); + late final _sel_URLByAppendingPathComponent_1 = + _registerName1("URLByAppendingPathComponent:"); + ffi.Pointer _objc_msgSend_86( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer pathComponent, + ) { + return __objc_msgSend_86( + obj, + sel, + pathComponent, + ); + } + + late final __objc_msgSend_86Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_86 = __objc_msgSend_86Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_URLByAppendingPathComponent_isDirectory_1 = + _registerName1("URLByAppendingPathComponent:isDirectory:"); + ffi.Pointer _objc_msgSend_87( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer pathComponent, + bool isDirectory, + ) { + return __objc_msgSend_87( + obj, + sel, + pathComponent, + isDirectory, + ); + } + + late final __objc_msgSend_87Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_87 = __objc_msgSend_87Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer, bool)>(); + + late final _sel_URLByDeletingLastPathComponent1 = + _registerName1("URLByDeletingLastPathComponent"); + late final _sel_URLByAppendingPathExtension_1 = + _registerName1("URLByAppendingPathExtension:"); + late final _sel_URLByDeletingPathExtension1 = + _registerName1("URLByDeletingPathExtension"); + late final _sel_checkResourceIsReachableAndReturnError_1 = + _registerName1("checkResourceIsReachableAndReturnError:"); + late final _sel_URLByStandardizingPath1 = + _registerName1("URLByStandardizingPath"); + late final _sel_URLByResolvingSymlinksInPath1 = + _registerName1("URLByResolvingSymlinksInPath"); + late final _sel_resourceDataUsingCache_1 = + _registerName1("resourceDataUsingCache:"); + ffi.Pointer _objc_msgSend_88( + ffi.Pointer obj, + ffi.Pointer sel, + bool shouldUseCache, + ) { + return __objc_msgSend_88( + obj, + sel, + shouldUseCache, + ); + } + + late final __objc_msgSend_88Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_88 = __objc_msgSend_88Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, bool)>(); + + late final _sel_loadResourceDataNotifyingClient_usingCache_1 = + _registerName1("loadResourceDataNotifyingClient:usingCache:"); + void _objc_msgSend_89( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer client, + bool shouldUseCache, + ) { + return __objc_msgSend_89( + obj, + sel, + client, + shouldUseCache, + ); + } + + late final __objc_msgSend_89Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_89 = __objc_msgSend_89Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, bool)>(); + + late final _sel_propertyForKey_1 = _registerName1("propertyForKey:"); + late final _sel_setResourceData_1 = _registerName1("setResourceData:"); + bool _objc_msgSend_90( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer data, + ) { + return __objc_msgSend_90( + obj, + sel, + data, + ); + } + + late final __objc_msgSend_90Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_90 = __objc_msgSend_90Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_setProperty_forKey_1 = _registerName1("setProperty:forKey:"); + bool _objc_msgSend_91( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer property, + ffi.Pointer propertyKey, + ) { + return __objc_msgSend_91( + obj, + sel, + property, + propertyKey, + ); + } + + late final __objc_msgSend_91Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_91 = __objc_msgSend_91Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _class_NSURLHandle1 = _getClass1("NSURLHandle"); + late final _sel_registerURLHandleClass_1 = + _registerName1("registerURLHandleClass:"); + void _objc_msgSend_92( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer anURLHandleSubclass, + ) { + return __objc_msgSend_92( + obj, + sel, + anURLHandleSubclass, + ); + } + + late final __objc_msgSend_92Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_92 = __objc_msgSend_92Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_URLHandleClassForURL_1 = + _registerName1("URLHandleClassForURL:"); + ffi.Pointer _objc_msgSend_93( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer anURL, + ) { + return __objc_msgSend_93( + obj, + sel, + anURL, + ); + } + + late final __objc_msgSend_93Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_93 = __objc_msgSend_93Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_status1 = _registerName1("status"); + int _objc_msgSend_94( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_94( + obj, + sel, + ); + } + + late final __objc_msgSend_94Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_94 = __objc_msgSend_94Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_failureReason1 = _registerName1("failureReason"); + late final _sel_addClient_1 = _registerName1("addClient:"); + late final _sel_removeClient_1 = _registerName1("removeClient:"); + late final _sel_loadInBackground1 = _registerName1("loadInBackground"); + late final _sel_cancelLoadInBackground1 = + _registerName1("cancelLoadInBackground"); + late final _sel_resourceData1 = _registerName1("resourceData"); + late final _sel_availableResourceData1 = + _registerName1("availableResourceData"); + late final _sel_expectedResourceDataSize1 = + _registerName1("expectedResourceDataSize"); + late final _sel_flushCachedData1 = _registerName1("flushCachedData"); + late final _sel_backgroundLoadDidFailWithReason_1 = + _registerName1("backgroundLoadDidFailWithReason:"); + late final _sel_didLoadBytes_loadComplete_1 = + _registerName1("didLoadBytes:loadComplete:"); + void _objc_msgSend_95( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer newBytes, + bool yorn, + ) { + return __objc_msgSend_95( + obj, + sel, + newBytes, + yorn, + ); + } + + late final __objc_msgSend_95Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_95 = __objc_msgSend_95Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, bool)>(); + + late final _sel_canInitWithURL_1 = _registerName1("canInitWithURL:"); + bool _objc_msgSend_96( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer anURL, + ) { + return __objc_msgSend_96( + obj, + sel, + anURL, + ); + } + + late final __objc_msgSend_96Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_96 = __objc_msgSend_96Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_cachedHandleForURL_1 = _registerName1("cachedHandleForURL:"); + ffi.Pointer _objc_msgSend_97( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer anURL, + ) { + return __objc_msgSend_97( + obj, + sel, + anURL, + ); + } + + late final __objc_msgSend_97Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_97 = __objc_msgSend_97Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_initWithURL_cached_1 = _registerName1("initWithURL:cached:"); + ffi.Pointer _objc_msgSend_98( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer anURL, + bool willCache, + ) { + return __objc_msgSend_98( + obj, + sel, + anURL, + willCache, + ); + } + + late final __objc_msgSend_98Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_98 = __objc_msgSend_98Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer, bool)>(); + + late final _sel_propertyForKeyIfAvailable_1 = + _registerName1("propertyForKeyIfAvailable:"); + late final _sel_writeProperty_forKey_1 = + _registerName1("writeProperty:forKey:"); + late final _sel_writeData_1 = _registerName1("writeData:"); + late final _sel_loadInForeground1 = _registerName1("loadInForeground"); + late final _sel_beginLoadInBackground1 = + _registerName1("beginLoadInBackground"); + late final _sel_endLoadInBackground1 = _registerName1("endLoadInBackground"); + late final _sel_URLHandleUsingCache_1 = + _registerName1("URLHandleUsingCache:"); + ffi.Pointer _objc_msgSend_99( + ffi.Pointer obj, + ffi.Pointer sel, + bool shouldUseCache, + ) { + return __objc_msgSend_99( + obj, + sel, + shouldUseCache, + ); + } + + late final __objc_msgSend_99Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_99 = __objc_msgSend_99Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, bool)>(); + + late final _sel_URL_resourceDataDidBecomeAvailable_1 = + _registerName1("URL:resourceDataDidBecomeAvailable:"); + void _objc_msgSend_100( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer sender, + ffi.Pointer newBytes, + ) { + return __objc_msgSend_100( + obj, + sel, + sender, + newBytes, + ); + } + + late final __objc_msgSend_100Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_100 = __objc_msgSend_100Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_URLResourceDidFinishLoading_1 = + _registerName1("URLResourceDidFinishLoading:"); + void _objc_msgSend_101( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer sender, + ) { + return __objc_msgSend_101( + obj, + sel, + sender, + ); + } + + late final __objc_msgSend_101Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_101 = __objc_msgSend_101Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_URLResourceDidCancelLoading_1 = + _registerName1("URLResourceDidCancelLoading:"); + late final _sel_URL_resourceDidFailLoadingWithReason_1 = + _registerName1("URL:resourceDidFailLoadingWithReason:"); + void _objc_msgSend_102( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer sender, + ffi.Pointer reason, + ) { + return __objc_msgSend_102( + obj, + sel, + sender, + reason, + ); + } + + late final __objc_msgSend_102Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_102 = __objc_msgSend_102Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_attemptRecoveryFromError_optionIndex_delegate_didRecoverSelector_contextInfo_1 = + _registerName1( + "attemptRecoveryFromError:optionIndex:delegate:didRecoverSelector:contextInfo:"); + void _objc_msgSend_103( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer error, + int recoveryOptionIndex, + ffi.Pointer delegate, + ffi.Pointer didRecoverSelector, + ffi.Pointer contextInfo, + ) { + return __objc_msgSend_103( + obj, + sel, + error, + recoveryOptionIndex, + delegate, + didRecoverSelector, + contextInfo, + ); + } + + late final __objc_msgSend_103Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_103 = __objc_msgSend_103Ptr.asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_attemptRecoveryFromError_optionIndex_1 = + _registerName1("attemptRecoveryFromError:optionIndex:"); + bool _objc_msgSend_104( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer error, + int recoveryOptionIndex, + ) { + return __objc_msgSend_104( + obj, + sel, + error, + recoveryOptionIndex, + ); + } + + late final __objc_msgSend_104Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_104 = __objc_msgSend_104Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + late final _sel_length1 = _registerName1("length"); + late final _sel_characterAtIndex_1 = _registerName1("characterAtIndex:"); + int _objc_msgSend_105( + ffi.Pointer obj, + ffi.Pointer sel, + int index, + ) { + return __objc_msgSend_105( + obj, + sel, + index, + ); + } + + late final __objc_msgSend_105Ptr = _lookup< + ffi.NativeFunction< + ffi.UnsignedShort Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_105 = __objc_msgSend_105Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_substringFromIndex_1 = _registerName1("substringFromIndex:"); + ffi.Pointer _objc_msgSend_106( + ffi.Pointer obj, + ffi.Pointer sel, + int from, + ) { + return __objc_msgSend_106( + obj, + sel, + from, + ); + } + + late final __objc_msgSend_106Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_106 = __objc_msgSend_106Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_substringToIndex_1 = _registerName1("substringToIndex:"); + late final _sel_substringWithRange_1 = _registerName1("substringWithRange:"); + ffi.Pointer _objc_msgSend_107( + ffi.Pointer obj, + ffi.Pointer sel, + NSRange range, + ) { + return __objc_msgSend_107( + obj, + sel, + range, + ); + } + + late final __objc_msgSend_107Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, NSRange)>>('objc_msgSend'); + late final __objc_msgSend_107 = __objc_msgSend_107Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, NSRange)>(); + + late final _sel_getCharacters_range_1 = + _registerName1("getCharacters:range:"); + void _objc_msgSend_108( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer buffer, + NSRange range, + ) { + return __objc_msgSend_108( + obj, + sel, + buffer, + range, + ); + } + + late final __objc_msgSend_108Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, NSRange)>>('objc_msgSend'); + late final __objc_msgSend_108 = __objc_msgSend_108Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, NSRange)>(); + + int _objc_msgSend_109( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer string, + ) { + return __objc_msgSend_109( + obj, + sel, + string, + ); + } + + late final __objc_msgSend_109Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_109 = __objc_msgSend_109Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_compare_options_1 = _registerName1("compare:options:"); + int _objc_msgSend_110( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer string, + int mask, + ) { + return __objc_msgSend_110( + obj, + sel, + string, + mask, + ); + } + + late final __objc_msgSend_110Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_110 = __objc_msgSend_110Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + late final _sel_compare_options_range_1 = + _registerName1("compare:options:range:"); + int _objc_msgSend_111( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer string, + int mask, + NSRange rangeOfReceiverToCompare, + ) { + return __objc_msgSend_111( + obj, + sel, + string, + mask, + rangeOfReceiverToCompare, + ); + } + + late final __objc_msgSend_111Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Int32, NSRange)>>('objc_msgSend'); + late final __objc_msgSend_111 = __objc_msgSend_111Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int, NSRange)>(); + + late final _sel_compare_options_range_locale_1 = + _registerName1("compare:options:range:locale:"); + int _objc_msgSend_112( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer string, + int mask, + NSRange rangeOfReceiverToCompare, + ffi.Pointer locale, + ) { + return __objc_msgSend_112( + obj, + sel, + string, + mask, + rangeOfReceiverToCompare, + locale, + ); + } + + late final __objc_msgSend_112Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + NSRange, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_112 = __objc_msgSend_112Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int, NSRange, ffi.Pointer)>(); + + late final _sel_caseInsensitiveCompare_1 = + _registerName1("caseInsensitiveCompare:"); + late final _sel_localizedCompare_1 = _registerName1("localizedCompare:"); + late final _sel_localizedCaseInsensitiveCompare_1 = + _registerName1("localizedCaseInsensitiveCompare:"); + late final _sel_localizedStandardCompare_1 = + _registerName1("localizedStandardCompare:"); + late final _sel_isEqualToString_1 = _registerName1("isEqualToString:"); + bool _objc_msgSend_113( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aString, + ) { + return __objc_msgSend_113( + obj, + sel, + aString, + ); + } + + late final __objc_msgSend_113Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_113 = __objc_msgSend_113Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_hasPrefix_1 = _registerName1("hasPrefix:"); + late final _sel_hasSuffix_1 = _registerName1("hasSuffix:"); + late final _sel_commonPrefixWithString_options_1 = + _registerName1("commonPrefixWithString:options:"); + ffi.Pointer _objc_msgSend_114( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer str, + int mask, + ) { + return __objc_msgSend_114( + obj, + sel, + str, + mask, + ); + } + + late final __objc_msgSend_114Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_114 = __objc_msgSend_114Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_containsString_1 = _registerName1("containsString:"); + late final _sel_localizedCaseInsensitiveContainsString_1 = + _registerName1("localizedCaseInsensitiveContainsString:"); + late final _sel_localizedStandardContainsString_1 = + _registerName1("localizedStandardContainsString:"); + late final _sel_localizedStandardRangeOfString_1 = + _registerName1("localizedStandardRangeOfString:"); + NSRange _objc_msgSend_115( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer str, + ) { + return __objc_msgSend_115( + obj, + sel, + str, + ); + } + + late final __objc_msgSend_115Ptr = _lookup< + ffi.NativeFunction< + NSRange Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_115 = __objc_msgSend_115Ptr.asFunction< + NSRange Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + void _objc_msgSend_115_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer str, + ) { + return __objc_msgSend_115_stret( + stret, + obj, + sel, + str, + ); + } + + late final __objc_msgSend_115_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend_stret'); + late final __objc_msgSend_115_stret = __objc_msgSend_115_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_rangeOfString_1 = _registerName1("rangeOfString:"); + late final _sel_rangeOfString_options_1 = + _registerName1("rangeOfString:options:"); + NSRange _objc_msgSend_116( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer searchString, + int mask, + ) { + return __objc_msgSend_116( + obj, + sel, + searchString, + mask, + ); + } + + late final __objc_msgSend_116Ptr = _lookup< + ffi.NativeFunction< + NSRange Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_116 = __objc_msgSend_116Ptr.asFunction< + NSRange Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + void _objc_msgSend_116_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer searchString, + int mask, + ) { + return __objc_msgSend_116_stret( + stret, + obj, + sel, + searchString, + mask, + ); + } + + late final __objc_msgSend_116_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Int32)>>('objc_msgSend_stret'); + late final __objc_msgSend_116_stret = __objc_msgSend_116_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_rangeOfString_options_range_1 = + _registerName1("rangeOfString:options:range:"); + NSRange _objc_msgSend_117( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer searchString, + int mask, + NSRange rangeOfReceiverToSearch, + ) { + return __objc_msgSend_117( + obj, + sel, + searchString, + mask, + rangeOfReceiverToSearch, + ); + } + + late final __objc_msgSend_117Ptr = _lookup< + ffi.NativeFunction< + NSRange Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Int32, NSRange)>>('objc_msgSend'); + late final __objc_msgSend_117 = __objc_msgSend_117Ptr.asFunction< + NSRange Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int, NSRange)>(); + + void _objc_msgSend_117_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer searchString, + int mask, + NSRange rangeOfReceiverToSearch, + ) { + return __objc_msgSend_117_stret( + stret, + obj, + sel, + searchString, + mask, + rangeOfReceiverToSearch, + ); + } + + late final __objc_msgSend_117_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + NSRange)>>('objc_msgSend_stret'); + late final __objc_msgSend_117_stret = __objc_msgSend_117_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer, int, NSRange)>(); + + late final _class_NSLocale1 = _getClass1("NSLocale"); + late final _sel_rangeOfString_options_range_locale_1 = + _registerName1("rangeOfString:options:range:locale:"); + NSRange _objc_msgSend_118( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer searchString, + int mask, + NSRange rangeOfReceiverToSearch, + ffi.Pointer locale, + ) { + return __objc_msgSend_118( + obj, + sel, + searchString, + mask, + rangeOfReceiverToSearch, + locale, + ); + } + + late final __objc_msgSend_118Ptr = _lookup< + ffi.NativeFunction< + NSRange Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + NSRange, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_118 = __objc_msgSend_118Ptr.asFunction< + NSRange Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int, NSRange, ffi.Pointer)>(); + + void _objc_msgSend_118_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer searchString, + int mask, + NSRange rangeOfReceiverToSearch, + ffi.Pointer locale, + ) { + return __objc_msgSend_118_stret( + stret, + obj, + sel, + searchString, + mask, + rangeOfReceiverToSearch, + locale, + ); + } + + late final __objc_msgSend_118_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + NSRange, + ffi.Pointer)>>('objc_msgSend_stret'); + late final __objc_msgSend_118_stret = __objc_msgSend_118_stretPtr.asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int, + NSRange, + ffi.Pointer)>(); + + late final _class_NSCharacterSet1 = _getClass1("NSCharacterSet"); + late final _sel_controlCharacterSet1 = _registerName1("controlCharacterSet"); + ffi.Pointer _objc_msgSend_119( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_119( + obj, + sel, + ); + } + + late final __objc_msgSend_119Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_119 = __objc_msgSend_119Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_whitespaceCharacterSet1 = + _registerName1("whitespaceCharacterSet"); + late final _sel_whitespaceAndNewlineCharacterSet1 = + _registerName1("whitespaceAndNewlineCharacterSet"); + late final _sel_decimalDigitCharacterSet1 = + _registerName1("decimalDigitCharacterSet"); + late final _sel_letterCharacterSet1 = _registerName1("letterCharacterSet"); + late final _sel_lowercaseLetterCharacterSet1 = + _registerName1("lowercaseLetterCharacterSet"); + late final _sel_uppercaseLetterCharacterSet1 = + _registerName1("uppercaseLetterCharacterSet"); + late final _sel_nonBaseCharacterSet1 = _registerName1("nonBaseCharacterSet"); + late final _sel_alphanumericCharacterSet1 = + _registerName1("alphanumericCharacterSet"); + late final _sel_decomposableCharacterSet1 = + _registerName1("decomposableCharacterSet"); + late final _sel_illegalCharacterSet1 = _registerName1("illegalCharacterSet"); + late final _sel_punctuationCharacterSet1 = + _registerName1("punctuationCharacterSet"); + late final _sel_capitalizedLetterCharacterSet1 = + _registerName1("capitalizedLetterCharacterSet"); + late final _sel_symbolCharacterSet1 = _registerName1("symbolCharacterSet"); + late final _sel_newlineCharacterSet1 = _registerName1("newlineCharacterSet"); + late final _sel_characterSetWithRange_1 = + _registerName1("characterSetWithRange:"); + ffi.Pointer _objc_msgSend_120( + ffi.Pointer obj, + ffi.Pointer sel, + NSRange aRange, + ) { + return __objc_msgSend_120( + obj, + sel, + aRange, + ); + } + + late final __objc_msgSend_120Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, NSRange)>>('objc_msgSend'); + late final __objc_msgSend_120 = __objc_msgSend_120Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, NSRange)>(); + + late final _sel_characterSetWithCharactersInString_1 = + _registerName1("characterSetWithCharactersInString:"); + ffi.Pointer _objc_msgSend_121( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aString, + ) { + return __objc_msgSend_121( + obj, + sel, + aString, + ); + } + + late final __objc_msgSend_121Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_121 = __objc_msgSend_121Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_characterSetWithBitmapRepresentation_1 = + _registerName1("characterSetWithBitmapRepresentation:"); + ffi.Pointer _objc_msgSend_122( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer data, + ) { + return __objc_msgSend_122( + obj, + sel, + data, + ); + } + + late final __objc_msgSend_122Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_122 = __objc_msgSend_122Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_characterSetWithContentsOfFile_1 = + _registerName1("characterSetWithContentsOfFile:"); + ffi.Pointer _objc_msgSend_123( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer fName, + ) { + return __objc_msgSend_123( + obj, + sel, + fName, + ); + } + + late final __objc_msgSend_123Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_123 = __objc_msgSend_123Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + instancetype _objc_msgSend_124( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer coder, + ) { + return __objc_msgSend_124( + obj, + sel, + coder, + ); + } + + late final __objc_msgSend_124Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_124 = __objc_msgSend_124Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_characterIsMember_1 = _registerName1("characterIsMember:"); + bool _objc_msgSend_125( + ffi.Pointer obj, + ffi.Pointer sel, + int aCharacter, + ) { + return __objc_msgSend_125( + obj, + sel, + aCharacter, + ); + } + + late final __objc_msgSend_125Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.UnsignedShort)>>('objc_msgSend'); + late final __objc_msgSend_125 = __objc_msgSend_125Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_bitmapRepresentation1 = + _registerName1("bitmapRepresentation"); + late final _sel_invertedSet1 = _registerName1("invertedSet"); + late final _sel_longCharacterIsMember_1 = + _registerName1("longCharacterIsMember:"); + bool _objc_msgSend_126( + ffi.Pointer obj, + ffi.Pointer sel, + int theLongChar, + ) { + return __objc_msgSend_126( + obj, + sel, + theLongChar, + ); + } + + late final __objc_msgSend_126Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.UnsignedInt)>>('objc_msgSend'); + late final __objc_msgSend_126 = __objc_msgSend_126Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_isSupersetOfSet_1 = _registerName1("isSupersetOfSet:"); + bool _objc_msgSend_127( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer theOtherSet, + ) { + return __objc_msgSend_127( + obj, + sel, + theOtherSet, + ); + } + + late final __objc_msgSend_127Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_127 = __objc_msgSend_127Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_hasMemberInPlane_1 = _registerName1("hasMemberInPlane:"); + bool _objc_msgSend_128( + ffi.Pointer obj, + ffi.Pointer sel, + int thePlane, + ) { + return __objc_msgSend_128( + obj, + sel, + thePlane, + ); + } + + late final __objc_msgSend_128Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Uint8)>>('objc_msgSend'); + late final __objc_msgSend_128 = __objc_msgSend_128Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_URLUserAllowedCharacterSet1 = + _registerName1("URLUserAllowedCharacterSet"); + late final _sel_URLPasswordAllowedCharacterSet1 = + _registerName1("URLPasswordAllowedCharacterSet"); + late final _sel_URLHostAllowedCharacterSet1 = + _registerName1("URLHostAllowedCharacterSet"); + late final _sel_URLPathAllowedCharacterSet1 = + _registerName1("URLPathAllowedCharacterSet"); + late final _sel_URLQueryAllowedCharacterSet1 = + _registerName1("URLQueryAllowedCharacterSet"); + late final _sel_URLFragmentAllowedCharacterSet1 = + _registerName1("URLFragmentAllowedCharacterSet"); + late final _sel_rangeOfCharacterFromSet_1 = + _registerName1("rangeOfCharacterFromSet:"); + NSRange _objc_msgSend_129( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer searchSet, + ) { + return __objc_msgSend_129( + obj, + sel, + searchSet, + ); + } + + late final __objc_msgSend_129Ptr = _lookup< + ffi.NativeFunction< + NSRange Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_129 = __objc_msgSend_129Ptr.asFunction< + NSRange Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + void _objc_msgSend_129_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer searchSet, + ) { + return __objc_msgSend_129_stret( + stret, + obj, + sel, + searchSet, + ); + } + + late final __objc_msgSend_129_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend_stret'); + late final __objc_msgSend_129_stret = __objc_msgSend_129_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_rangeOfCharacterFromSet_options_1 = + _registerName1("rangeOfCharacterFromSet:options:"); + NSRange _objc_msgSend_130( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer searchSet, + int mask, + ) { + return __objc_msgSend_130( + obj, + sel, + searchSet, + mask, + ); + } + + late final __objc_msgSend_130Ptr = _lookup< + ffi.NativeFunction< + NSRange Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_130 = __objc_msgSend_130Ptr.asFunction< + NSRange Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + void _objc_msgSend_130_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer searchSet, + int mask, + ) { + return __objc_msgSend_130_stret( + stret, + obj, + sel, + searchSet, + mask, + ); + } + + late final __objc_msgSend_130_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Int32)>>('objc_msgSend_stret'); + late final __objc_msgSend_130_stret = __objc_msgSend_130_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_rangeOfCharacterFromSet_options_range_1 = + _registerName1("rangeOfCharacterFromSet:options:range:"); + NSRange _objc_msgSend_131( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer searchSet, + int mask, + NSRange rangeOfReceiverToSearch, + ) { + return __objc_msgSend_131( + obj, + sel, + searchSet, + mask, + rangeOfReceiverToSearch, + ); + } + + late final __objc_msgSend_131Ptr = _lookup< + ffi.NativeFunction< + NSRange Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Int32, NSRange)>>('objc_msgSend'); + late final __objc_msgSend_131 = __objc_msgSend_131Ptr.asFunction< + NSRange Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int, NSRange)>(); + + void _objc_msgSend_131_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer searchSet, + int mask, + NSRange rangeOfReceiverToSearch, + ) { + return __objc_msgSend_131_stret( + stret, + obj, + sel, + searchSet, + mask, + rangeOfReceiverToSearch, + ); + } + + late final __objc_msgSend_131_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + NSRange)>>('objc_msgSend_stret'); + late final __objc_msgSend_131_stret = __objc_msgSend_131_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer, int, NSRange)>(); + + late final _sel_rangeOfComposedCharacterSequenceAtIndex_1 = + _registerName1("rangeOfComposedCharacterSequenceAtIndex:"); + NSRange _objc_msgSend_132( + ffi.Pointer obj, + ffi.Pointer sel, + int index, + ) { + return __objc_msgSend_132( + obj, + sel, + index, + ); + } + + late final __objc_msgSend_132Ptr = _lookup< + ffi.NativeFunction< + NSRange Function(ffi.Pointer, ffi.Pointer, + ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_132 = __objc_msgSend_132Ptr.asFunction< + NSRange Function(ffi.Pointer, ffi.Pointer, int)>(); + + void _objc_msgSend_132_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + int index, + ) { + return __objc_msgSend_132_stret( + stret, + obj, + sel, + index, + ); + } + + late final __objc_msgSend_132_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend_stret'); + late final __objc_msgSend_132_stret = __objc_msgSend_132_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + late final _sel_rangeOfComposedCharacterSequencesForRange_1 = + _registerName1("rangeOfComposedCharacterSequencesForRange:"); + NSRange _objc_msgSend_133( + ffi.Pointer obj, + ffi.Pointer sel, + NSRange range, + ) { + return __objc_msgSend_133( + obj, + sel, + range, + ); + } + + late final __objc_msgSend_133Ptr = _lookup< + ffi.NativeFunction< + NSRange Function(ffi.Pointer, ffi.Pointer, + NSRange)>>('objc_msgSend'); + late final __objc_msgSend_133 = __objc_msgSend_133Ptr.asFunction< + NSRange Function( + ffi.Pointer, ffi.Pointer, NSRange)>(); + + void _objc_msgSend_133_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + NSRange range, + ) { + return __objc_msgSend_133_stret( + stret, + obj, + sel, + range, + ); + } + + late final __objc_msgSend_133_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, NSRange)>>('objc_msgSend_stret'); + late final __objc_msgSend_133_stret = __objc_msgSend_133_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, NSRange)>(); + + late final _sel_stringByAppendingString_1 = + _registerName1("stringByAppendingString:"); + ffi.Pointer _objc_msgSend_134( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aString, + ) { + return __objc_msgSend_134( + obj, + sel, + aString, + ); + } + + late final __objc_msgSend_134Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_134 = __objc_msgSend_134Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_stringByAppendingFormat_1 = + _registerName1("stringByAppendingFormat:"); + late final _sel_uppercaseString1 = _registerName1("uppercaseString"); + late final _sel_lowercaseString1 = _registerName1("lowercaseString"); + late final _sel_capitalizedString1 = _registerName1("capitalizedString"); + late final _sel_localizedUppercaseString1 = + _registerName1("localizedUppercaseString"); + late final _sel_localizedLowercaseString1 = + _registerName1("localizedLowercaseString"); + late final _sel_localizedCapitalizedString1 = + _registerName1("localizedCapitalizedString"); + late final _sel_uppercaseStringWithLocale_1 = + _registerName1("uppercaseStringWithLocale:"); + ffi.Pointer _objc_msgSend_135( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer locale, + ) { + return __objc_msgSend_135( + obj, + sel, + locale, + ); + } + + late final __objc_msgSend_135Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_135 = __objc_msgSend_135Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_lowercaseStringWithLocale_1 = + _registerName1("lowercaseStringWithLocale:"); + late final _sel_capitalizedStringWithLocale_1 = + _registerName1("capitalizedStringWithLocale:"); + late final _sel_getLineStart_end_contentsEnd_forRange_1 = + _registerName1("getLineStart:end:contentsEnd:forRange:"); + void _objc_msgSend_136( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer startPtr, + ffi.Pointer lineEndPtr, + ffi.Pointer contentsEndPtr, + NSRange range, + ) { + return __objc_msgSend_136( + obj, + sel, + startPtr, + lineEndPtr, + contentsEndPtr, + range, + ); + } + + late final __objc_msgSend_136Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + NSRange)>>('objc_msgSend'); + late final __objc_msgSend_136 = __objc_msgSend_136Ptr.asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + NSRange)>(); + + late final _sel_lineRangeForRange_1 = _registerName1("lineRangeForRange:"); + late final _sel_getParagraphStart_end_contentsEnd_forRange_1 = + _registerName1("getParagraphStart:end:contentsEnd:forRange:"); + late final _sel_paragraphRangeForRange_1 = + _registerName1("paragraphRangeForRange:"); + late final _sel_enumerateSubstringsInRange_options_usingBlock_1 = + _registerName1("enumerateSubstringsInRange:options:usingBlock:"); + void _objc_msgSend_137( + ffi.Pointer obj, + ffi.Pointer sel, + NSRange range, + int opts, + ffi.Pointer<_ObjCBlock> block, + ) { + return __objc_msgSend_137( + obj, + sel, + range, + opts, + block, + ); + } + + late final __objc_msgSend_137Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + NSRange, ffi.Int32, ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); + late final __objc_msgSend_137 = __objc_msgSend_137Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, NSRange, int, + ffi.Pointer<_ObjCBlock>)>(); + + late final _sel_enumerateLinesUsingBlock_1 = + _registerName1("enumerateLinesUsingBlock:"); + void _objc_msgSend_138( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer<_ObjCBlock> block, + ) { + return __objc_msgSend_138( + obj, + sel, + block, + ); + } + + late final __objc_msgSend_138Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); + late final __objc_msgSend_138 = __objc_msgSend_138Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer<_ObjCBlock>)>(); + + late final _sel_UTF8String1 = _registerName1("UTF8String"); + late final _sel_fastestEncoding1 = _registerName1("fastestEncoding"); + late final _sel_smallestEncoding1 = _registerName1("smallestEncoding"); + late final _sel_dataUsingEncoding_allowLossyConversion_1 = + _registerName1("dataUsingEncoding:allowLossyConversion:"); + ffi.Pointer _objc_msgSend_139( + ffi.Pointer obj, + ffi.Pointer sel, + int encoding, + bool lossy, + ) { + return __objc_msgSend_139( + obj, + sel, + encoding, + lossy, + ); + } + + late final __objc_msgSend_139Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_139 = __objc_msgSend_139Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int, bool)>(); + + late final _sel_dataUsingEncoding_1 = _registerName1("dataUsingEncoding:"); + ffi.Pointer _objc_msgSend_140( + ffi.Pointer obj, + ffi.Pointer sel, + int encoding, + ) { + return __objc_msgSend_140( + obj, + sel, + encoding, + ); + } + + late final __objc_msgSend_140Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_140 = __objc_msgSend_140Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_canBeConvertedToEncoding_1 = + _registerName1("canBeConvertedToEncoding:"); + bool _objc_msgSend_141( + ffi.Pointer obj, + ffi.Pointer sel, + int encoding, + ) { + return __objc_msgSend_141( + obj, + sel, + encoding, + ); + } + + late final __objc_msgSend_141Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_141 = __objc_msgSend_141Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_cStringUsingEncoding_1 = + _registerName1("cStringUsingEncoding:"); + ffi.Pointer _objc_msgSend_142( + ffi.Pointer obj, + ffi.Pointer sel, + int encoding, + ) { + return __objc_msgSend_142( + obj, + sel, + encoding, + ); + } + + late final __objc_msgSend_142Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_142 = __objc_msgSend_142Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_getCString_maxLength_encoding_1 = + _registerName1("getCString:maxLength:encoding:"); + bool _objc_msgSend_143( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer buffer, + int maxBufferCount, + int encoding, + ) { + return __objc_msgSend_143( + obj, + sel, + buffer, + maxBufferCount, + encoding, + ); + } + + late final __objc_msgSend_143Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_143 = __objc_msgSend_143Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int, int)>(); + + late final _sel_getBytes_maxLength_usedLength_encoding_options_range_remainingRange_1 = + _registerName1( + "getBytes:maxLength:usedLength:encoding:options:range:remainingRange:"); + bool _objc_msgSend_144( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer buffer, + int maxBufferCount, + ffi.Pointer usedBufferCount, + int encoding, + int options, + NSRange range, + ffi.Pointer leftover, + ) { + return __objc_msgSend_144( + obj, + sel, + buffer, + maxBufferCount, + usedBufferCount, + encoding, + options, + range, + leftover, + ); + } + + late final __objc_msgSend_144Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + ffi.Pointer, + ffi.UnsignedLong, + ffi.Int32, + NSRange, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_144 = __objc_msgSend_144Ptr.asFunction< + bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int, + ffi.Pointer, + int, + int, + NSRange, + ffi.Pointer)>(); + + late final _sel_maximumLengthOfBytesUsingEncoding_1 = + _registerName1("maximumLengthOfBytesUsingEncoding:"); + int _objc_msgSend_145( + ffi.Pointer obj, + ffi.Pointer sel, + int enc, + ) { + return __objc_msgSend_145( + obj, + sel, + enc, + ); + } + + late final __objc_msgSend_145Ptr = _lookup< + ffi.NativeFunction< + ffi.UnsignedLong Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_145 = __objc_msgSend_145Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_lengthOfBytesUsingEncoding_1 = + _registerName1("lengthOfBytesUsingEncoding:"); + late final _sel_availableStringEncodings1 = + _registerName1("availableStringEncodings"); + ffi.Pointer _objc_msgSend_146( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_146( + obj, + sel, + ); + } + + late final __objc_msgSend_146Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_146 = __objc_msgSend_146Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_localizedNameOfStringEncoding_1 = + _registerName1("localizedNameOfStringEncoding:"); + late final _sel_defaultCStringEncoding1 = + _registerName1("defaultCStringEncoding"); + late final _sel_decomposedStringWithCanonicalMapping1 = + _registerName1("decomposedStringWithCanonicalMapping"); + late final _sel_precomposedStringWithCanonicalMapping1 = + _registerName1("precomposedStringWithCanonicalMapping"); + late final _sel_decomposedStringWithCompatibilityMapping1 = + _registerName1("decomposedStringWithCompatibilityMapping"); + late final _sel_precomposedStringWithCompatibilityMapping1 = + _registerName1("precomposedStringWithCompatibilityMapping"); + late final _sel_componentsSeparatedByString_1 = + _registerName1("componentsSeparatedByString:"); + late final _sel_componentsSeparatedByCharactersInSet_1 = + _registerName1("componentsSeparatedByCharactersInSet:"); + ffi.Pointer _objc_msgSend_147( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer separator, + ) { + return __objc_msgSend_147( + obj, + sel, + separator, + ); + } + + late final __objc_msgSend_147Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_147 = __objc_msgSend_147Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_stringByTrimmingCharactersInSet_1 = + _registerName1("stringByTrimmingCharactersInSet:"); + ffi.Pointer _objc_msgSend_148( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer set1, + ) { + return __objc_msgSend_148( + obj, + sel, + set1, + ); + } + + late final __objc_msgSend_148Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_148 = __objc_msgSend_148Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_stringByPaddingToLength_withString_startingAtIndex_1 = + _registerName1("stringByPaddingToLength:withString:startingAtIndex:"); + ffi.Pointer _objc_msgSend_149( + ffi.Pointer obj, + ffi.Pointer sel, + int newLength, + ffi.Pointer padString, + int padIndex, + ) { + return __objc_msgSend_149( + obj, + sel, + newLength, + padString, + padIndex, + ); + } + + late final __objc_msgSend_149Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + ffi.Pointer, + ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_149 = __objc_msgSend_149Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, int, ffi.Pointer, int)>(); + + late final _sel_stringByFoldingWithOptions_locale_1 = + _registerName1("stringByFoldingWithOptions:locale:"); + ffi.Pointer _objc_msgSend_150( + ffi.Pointer obj, + ffi.Pointer sel, + int options, + ffi.Pointer locale, + ) { + return __objc_msgSend_150( + obj, + sel, + options, + locale, + ); + } + + late final __objc_msgSend_150Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_150 = __objc_msgSend_150Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, int, ffi.Pointer)>(); + + late final _sel_stringByReplacingOccurrencesOfString_withString_options_range_1 = + _registerName1( + "stringByReplacingOccurrencesOfString:withString:options:range:"); + ffi.Pointer _objc_msgSend_151( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer target, + ffi.Pointer replacement, + int options, + NSRange searchRange, + ) { + return __objc_msgSend_151( + obj, + sel, + target, + replacement, + options, + searchRange, + ); + } + + late final __objc_msgSend_151Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + NSRange)>>('objc_msgSend'); + late final __objc_msgSend_151 = __objc_msgSend_151Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int, + NSRange)>(); + + late final _sel_stringByReplacingOccurrencesOfString_withString_1 = + _registerName1("stringByReplacingOccurrencesOfString:withString:"); + ffi.Pointer _objc_msgSend_152( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer target, + ffi.Pointer replacement, + ) { + return __objc_msgSend_152( + obj, + sel, + target, + replacement, + ); + } + + late final __objc_msgSend_152Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_152 = __objc_msgSend_152Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_stringByReplacingCharactersInRange_withString_1 = + _registerName1("stringByReplacingCharactersInRange:withString:"); + ffi.Pointer _objc_msgSend_153( + ffi.Pointer obj, + ffi.Pointer sel, + NSRange range, + ffi.Pointer replacement, + ) { + return __objc_msgSend_153( + obj, + sel, + range, + replacement, + ); + } + + late final __objc_msgSend_153Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + NSRange, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_153 = __objc_msgSend_153Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, NSRange, ffi.Pointer)>(); + + late final _sel_stringByApplyingTransform_reverse_1 = + _registerName1("stringByApplyingTransform:reverse:"); + ffi.Pointer _objc_msgSend_154( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer transform, + bool reverse, + ) { + return __objc_msgSend_154( + obj, + sel, + transform, + reverse, + ); + } + + late final __objc_msgSend_154Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_154 = __objc_msgSend_154Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer, bool)>(); + + late final _sel_writeToURL_atomically_encoding_error_1 = + _registerName1("writeToURL:atomically:encoding:error:"); + bool _objc_msgSend_155( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer url, + bool useAuxiliaryFile, + int enc, + ffi.Pointer> error, + ) { + return __objc_msgSend_155( + obj, + sel, + url, + useAuxiliaryFile, + enc, + error, + ); + } + + late final __objc_msgSend_155Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Bool, + ffi.UnsignedLong, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_155 = __objc_msgSend_155Ptr.asFunction< + bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + bool, + int, + ffi.Pointer>)>(); + + late final _sel_writeToFile_atomically_encoding_error_1 = + _registerName1("writeToFile:atomically:encoding:error:"); + bool _objc_msgSend_156( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + bool useAuxiliaryFile, + int enc, + ffi.Pointer> error, + ) { + return __objc_msgSend_156( + obj, + sel, + path, + useAuxiliaryFile, + enc, + error, + ); + } + + late final __objc_msgSend_156Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Bool, + ffi.UnsignedLong, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_156 = __objc_msgSend_156Ptr.asFunction< + bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + bool, + int, + ffi.Pointer>)>(); + + late final _sel_initWithCharactersNoCopy_length_freeWhenDone_1 = + _registerName1("initWithCharactersNoCopy:length:freeWhenDone:"); + instancetype _objc_msgSend_157( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer characters, + int length, + bool freeBuffer, + ) { + return __objc_msgSend_157( + obj, + sel, + characters, + length, + freeBuffer, + ); + } + + late final __objc_msgSend_157Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_157 = __objc_msgSend_157Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int, bool)>(); + + late final _sel_initWithCharactersNoCopy_length_deallocator_1 = + _registerName1("initWithCharactersNoCopy:length:deallocator:"); + instancetype _objc_msgSend_158( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer chars, + int len, + ffi.Pointer<_ObjCBlock> deallocator, + ) { + return __objc_msgSend_158( + obj, + sel, + chars, + len, + deallocator, + ); + } + + late final __objc_msgSend_158Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); + late final __objc_msgSend_158 = __objc_msgSend_158Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int, ffi.Pointer<_ObjCBlock>)>(); + + late final _sel_initWithCharacters_length_1 = + _registerName1("initWithCharacters:length:"); + instancetype _objc_msgSend_159( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer characters, + int length, + ) { + return __objc_msgSend_159( + obj, + sel, + characters, + length, + ); + } + + late final __objc_msgSend_159Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_159 = __objc_msgSend_159Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + late final _sel_initWithUTF8String_1 = _registerName1("initWithUTF8String:"); + instancetype _objc_msgSend_160( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer nullTerminatedCString, + ) { + return __objc_msgSend_160( + obj, + sel, + nullTerminatedCString, + ); + } + + late final __objc_msgSend_160Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_160 = __objc_msgSend_160Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_initWithFormat_1 = _registerName1("initWithFormat:"); + late final _sel_initWithFormat_arguments_1 = + _registerName1("initWithFormat:arguments:"); + instancetype _objc_msgSend_161( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer format, + ffi.Pointer argList, + ) { + return __objc_msgSend_161( + obj, + sel, + format, + argList, + ); + } + + late final __objc_msgSend_161Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_161 = __objc_msgSend_161Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_initWithFormat_locale_1 = + _registerName1("initWithFormat:locale:"); + instancetype _objc_msgSend_162( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer format, + ffi.Pointer locale, + ) { + return __objc_msgSend_162( + obj, + sel, + format, + locale, + ); + } + + late final __objc_msgSend_162Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_162 = __objc_msgSend_162Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_initWithFormat_locale_arguments_1 = + _registerName1("initWithFormat:locale:arguments:"); + instancetype _objc_msgSend_163( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer format, + ffi.Pointer locale, + ffi.Pointer argList, + ) { + return __objc_msgSend_163( + obj, + sel, + format, + locale, + argList, + ); + } + + late final __objc_msgSend_163Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_163 = __objc_msgSend_163Ptr.asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_initWithValidatedFormat_validFormatSpecifiers_error_1 = + _registerName1("initWithValidatedFormat:validFormatSpecifiers:error:"); + instancetype _objc_msgSend_164( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer format, + ffi.Pointer validFormatSpecifiers, + ffi.Pointer> error, + ) { + return __objc_msgSend_164( + obj, + sel, + format, + validFormatSpecifiers, + error, + ); + } + + late final __objc_msgSend_164Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_164 = __objc_msgSend_164Ptr.asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>(); + + late final _sel_initWithValidatedFormat_validFormatSpecifiers_locale_error_1 = + _registerName1( + "initWithValidatedFormat:validFormatSpecifiers:locale:error:"); + instancetype _objc_msgSend_165( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer format, + ffi.Pointer validFormatSpecifiers, + ffi.Pointer locale, + ffi.Pointer> error, + ) { + return __objc_msgSend_165( + obj, + sel, + format, + validFormatSpecifiers, + locale, + error, + ); + } + + late final __objc_msgSend_165Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_165 = __objc_msgSend_165Ptr.asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>(); + + late final _sel_initWithValidatedFormat_validFormatSpecifiers_arguments_error_1 = + _registerName1( + "initWithValidatedFormat:validFormatSpecifiers:arguments:error:"); + instancetype _objc_msgSend_166( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer format, + ffi.Pointer validFormatSpecifiers, + ffi.Pointer argList, + ffi.Pointer> error, + ) { + return __objc_msgSend_166( + obj, + sel, + format, + validFormatSpecifiers, + argList, + error, + ); + } + + late final __objc_msgSend_166Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_166 = __objc_msgSend_166Ptr.asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>(); + + late final _sel_initWithValidatedFormat_validFormatSpecifiers_locale_arguments_error_1 = + _registerName1( + "initWithValidatedFormat:validFormatSpecifiers:locale:arguments:error:"); + instancetype _objc_msgSend_167( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer format, + ffi.Pointer validFormatSpecifiers, + ffi.Pointer locale, + ffi.Pointer argList, + ffi.Pointer> error, + ) { + return __objc_msgSend_167( + obj, + sel, + format, + validFormatSpecifiers, + locale, + argList, + error, + ); + } + + late final __objc_msgSend_167Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_167 = __objc_msgSend_167Ptr.asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>(); + + late final _sel_initWithData_encoding_1 = + _registerName1("initWithData:encoding:"); + instancetype _objc_msgSend_168( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer data, + int encoding, + ) { + return __objc_msgSend_168( + obj, + sel, + data, + encoding, + ); + } + + late final __objc_msgSend_168Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_168 = __objc_msgSend_168Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + late final _sel_initWithBytes_length_encoding_1 = + _registerName1("initWithBytes:length:encoding:"); + instancetype _objc_msgSend_169( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer bytes, + int len, + int encoding, + ) { + return __objc_msgSend_169( + obj, + sel, + bytes, + len, + encoding, + ); + } + + late final __objc_msgSend_169Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_169 = __objc_msgSend_169Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int, int)>(); + + late final _sel_initWithBytesNoCopy_length_encoding_freeWhenDone_1 = + _registerName1("initWithBytesNoCopy:length:encoding:freeWhenDone:"); + instancetype _objc_msgSend_170( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer bytes, + int len, + int encoding, + bool freeBuffer, + ) { + return __objc_msgSend_170( + obj, + sel, + bytes, + len, + encoding, + freeBuffer, + ); + } + + late final __objc_msgSend_170Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + ffi.UnsignedLong, + ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_170 = __objc_msgSend_170Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int, int, bool)>(); + + late final _sel_initWithBytesNoCopy_length_encoding_deallocator_1 = + _registerName1("initWithBytesNoCopy:length:encoding:deallocator:"); + instancetype _objc_msgSend_171( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer bytes, + int len, + int encoding, + ffi.Pointer<_ObjCBlock> deallocator, + ) { + return __objc_msgSend_171( + obj, + sel, + bytes, + len, + encoding, + deallocator, + ); + } + + late final __objc_msgSend_171Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + ffi.UnsignedLong, + ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); + late final __objc_msgSend_171 = __objc_msgSend_171Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int, int, ffi.Pointer<_ObjCBlock>)>(); + + late final _sel_string1 = _registerName1("string"); + late final _sel_stringWithString_1 = _registerName1("stringWithString:"); + late final _sel_stringWithCharacters_length_1 = + _registerName1("stringWithCharacters:length:"); + late final _sel_stringWithUTF8String_1 = + _registerName1("stringWithUTF8String:"); + late final _sel_stringWithFormat_1 = _registerName1("stringWithFormat:"); + late final _sel_localizedStringWithFormat_1 = + _registerName1("localizedStringWithFormat:"); + late final _sel_stringWithValidatedFormat_validFormatSpecifiers_error_1 = + _registerName1("stringWithValidatedFormat:validFormatSpecifiers:error:"); + late final _sel_localizedStringWithValidatedFormat_validFormatSpecifiers_error_1 = + _registerName1( + "localizedStringWithValidatedFormat:validFormatSpecifiers:error:"); + late final _sel_initWithCString_encoding_1 = + _registerName1("initWithCString:encoding:"); + instancetype _objc_msgSend_172( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer nullTerminatedCString, + int encoding, + ) { + return __objc_msgSend_172( + obj, + sel, + nullTerminatedCString, + encoding, + ); + } + + late final __objc_msgSend_172Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_172 = __objc_msgSend_172Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + late final _sel_stringWithCString_encoding_1 = + _registerName1("stringWithCString:encoding:"); + late final _sel_initWithContentsOfURL_encoding_error_1 = + _registerName1("initWithContentsOfURL:encoding:error:"); + instancetype _objc_msgSend_173( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer url, + int enc, + ffi.Pointer> error, + ) { + return __objc_msgSend_173( + obj, + sel, + url, + enc, + error, + ); + } + + late final __objc_msgSend_173Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_173 = __objc_msgSend_173Ptr.asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int, + ffi.Pointer>)>(); + + late final _sel_initWithContentsOfFile_encoding_error_1 = + _registerName1("initWithContentsOfFile:encoding:error:"); + instancetype _objc_msgSend_174( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + int enc, + ffi.Pointer> error, + ) { + return __objc_msgSend_174( + obj, + sel, + path, + enc, + error, + ); + } + + late final __objc_msgSend_174Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_174 = __objc_msgSend_174Ptr.asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int, + ffi.Pointer>)>(); + + late final _sel_stringWithContentsOfURL_encoding_error_1 = + _registerName1("stringWithContentsOfURL:encoding:error:"); + late final _sel_stringWithContentsOfFile_encoding_error_1 = + _registerName1("stringWithContentsOfFile:encoding:error:"); + late final _sel_initWithContentsOfURL_usedEncoding_error_1 = + _registerName1("initWithContentsOfURL:usedEncoding:error:"); + instancetype _objc_msgSend_175( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer url, + ffi.Pointer enc, + ffi.Pointer> error, + ) { + return __objc_msgSend_175( + obj, + sel, + url, + enc, + error, + ); + } + + late final __objc_msgSend_175Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_175 = __objc_msgSend_175Ptr.asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>(); + + late final _sel_initWithContentsOfFile_usedEncoding_error_1 = + _registerName1("initWithContentsOfFile:usedEncoding:error:"); + instancetype _objc_msgSend_176( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + ffi.Pointer enc, + ffi.Pointer> error, + ) { + return __objc_msgSend_176( + obj, + sel, + path, + enc, + error, + ); + } + + late final __objc_msgSend_176Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>('objc_msgSend'); + late final __objc_msgSend_176 = __objc_msgSend_176Ptr.asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>(); + + late final _sel_stringWithContentsOfURL_usedEncoding_error_1 = + _registerName1("stringWithContentsOfURL:usedEncoding:error:"); + late final _sel_stringWithContentsOfFile_usedEncoding_error_1 = + _registerName1("stringWithContentsOfFile:usedEncoding:error:"); + late final _sel_stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_1 = + _registerName1( + "stringEncodingForData:encodingOptions:convertedString:usedLossyConversion:"); + int _objc_msgSend_177( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer data, + ffi.Pointer opts, + ffi.Pointer> string, + ffi.Pointer usedLossyConversion, + ) { + return __objc_msgSend_177( + obj, + sel, + data, + opts, + string, + usedLossyConversion, + ); + } + + late final __objc_msgSend_177Ptr = _lookup< + ffi.NativeFunction< + ffi.UnsignedLong Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_177 = __objc_msgSend_177Ptr.asFunction< + int Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>, + ffi.Pointer)>(); + + late final _sel_propertyList1 = _registerName1("propertyList"); + late final _sel_propertyListFromStringsFileFormat1 = + _registerName1("propertyListFromStringsFileFormat"); + ffi.Pointer _objc_msgSend_178( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_178( + obj, + sel, + ); + } + + late final __objc_msgSend_178Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_178 = __objc_msgSend_178Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_cString1 = _registerName1("cString"); + late final _sel_lossyCString1 = _registerName1("lossyCString"); + late final _sel_cStringLength1 = _registerName1("cStringLength"); + late final _sel_getCString_1 = _registerName1("getCString:"); + void _objc_msgSend_179( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer bytes, + ) { + return __objc_msgSend_179( + obj, + sel, + bytes, + ); + } + + late final __objc_msgSend_179Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_179 = __objc_msgSend_179Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_getCString_maxLength_1 = + _registerName1("getCString:maxLength:"); + void _objc_msgSend_180( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer bytes, + int maxLength, + ) { + return __objc_msgSend_180( + obj, + sel, + bytes, + maxLength, + ); + } + + late final __objc_msgSend_180Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_180 = __objc_msgSend_180Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + late final _sel_getCString_maxLength_range_remainingRange_1 = + _registerName1("getCString:maxLength:range:remainingRange:"); + void _objc_msgSend_181( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer bytes, + int maxLength, + NSRange aRange, + ffi.Pointer leftoverRange, + ) { + return __objc_msgSend_181( + obj, + sel, + bytes, + maxLength, + aRange, + leftoverRange, + ); + } + + late final __objc_msgSend_181Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + NSRange, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_181 = __objc_msgSend_181Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int, NSRange, ffi.Pointer)>(); + + late final _sel_writeToFile_atomically_1 = + _registerName1("writeToFile:atomically:"); + bool _objc_msgSend_182( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer path, + bool useAuxiliaryFile, + ) { + return __objc_msgSend_182( + obj, + sel, + path, + useAuxiliaryFile, + ); + } + + late final __objc_msgSend_182Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_182 = __objc_msgSend_182Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, bool)>(); + + late final _sel_writeToURL_atomically_1 = + _registerName1("writeToURL:atomically:"); + bool _objc_msgSend_183( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer url, + bool atomically, + ) { + return __objc_msgSend_183( + obj, + sel, + url, + atomically, + ); + } + + late final __objc_msgSend_183Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_183 = __objc_msgSend_183Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, bool)>(); + + late final _sel_initWithContentsOfFile_1 = + _registerName1("initWithContentsOfFile:"); + late final _sel_initWithContentsOfURL_1 = + _registerName1("initWithContentsOfURL:"); + ffi.Pointer _objc_msgSend_184( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer url, + ) { + return __objc_msgSend_184( + obj, + sel, + url, + ); + } + + late final __objc_msgSend_184Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_184 = __objc_msgSend_184Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_stringWithContentsOfFile_1 = + _registerName1("stringWithContentsOfFile:"); + late final _sel_stringWithContentsOfURL_1 = + _registerName1("stringWithContentsOfURL:"); + late final _sel_initWithCStringNoCopy_length_freeWhenDone_1 = + _registerName1("initWithCStringNoCopy:length:freeWhenDone:"); + ffi.Pointer _objc_msgSend_185( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer bytes, + int length, + bool freeBuffer, + ) { + return __objc_msgSend_185( + obj, + sel, + bytes, + length, + freeBuffer, + ); + } + + late final __objc_msgSend_185Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_185 = __objc_msgSend_185Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer, int, bool)>(); + + late final _sel_initWithCString_length_1 = + _registerName1("initWithCString:length:"); + late final _sel_initWithCString_1 = _registerName1("initWithCString:"); + late final _sel_stringWithCString_length_1 = + _registerName1("stringWithCString:length:"); + late final _sel_stringWithCString_1 = _registerName1("stringWithCString:"); + late final _sel_getCharacters_1 = _registerName1("getCharacters:"); + void _objc_msgSend_186( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer buffer, + ) { + return __objc_msgSend_186( + obj, + sel, + buffer, + ); + } + + late final __objc_msgSend_186Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_186 = __objc_msgSend_186Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_stringByAddingPercentEncodingWithAllowedCharacters_1 = + _registerName1("stringByAddingPercentEncodingWithAllowedCharacters:"); + ffi.Pointer _objc_msgSend_187( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer allowedCharacters, + ) { + return __objc_msgSend_187( + obj, + sel, + allowedCharacters, + ); + } + + late final __objc_msgSend_187Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_187 = __objc_msgSend_187Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_stringByRemovingPercentEncoding1 = + _registerName1("stringByRemovingPercentEncoding"); + late final _sel_stringByAddingPercentEscapesUsingEncoding_1 = + _registerName1("stringByAddingPercentEscapesUsingEncoding:"); + ffi.Pointer _objc_msgSend_188( + ffi.Pointer obj, + ffi.Pointer sel, + int enc, + ) { + return __objc_msgSend_188( + obj, + sel, + enc, + ); + } + + late final __objc_msgSend_188Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_188 = __objc_msgSend_188Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_stringByReplacingPercentEscapesUsingEncoding_1 = + _registerName1("stringByReplacingPercentEscapesUsingEncoding:"); + late final _class_NSMutableString1 = _getClass1("NSMutableString"); + late final _sel_replaceCharactersInRange_withString_1 = + _registerName1("replaceCharactersInRange:withString:"); + void _objc_msgSend_189( + ffi.Pointer obj, + ffi.Pointer sel, + NSRange range, + ffi.Pointer aString, + ) { + return __objc_msgSend_189( + obj, + sel, + range, + aString, + ); + } + + late final __objc_msgSend_189Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + NSRange, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_189 = __objc_msgSend_189Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, NSRange, + ffi.Pointer)>(); + + late final _sel_insertString_atIndex_1 = + _registerName1("insertString:atIndex:"); + void _objc_msgSend_190( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aString, + int loc, + ) { + return __objc_msgSend_190( + obj, + sel, + aString, + loc, + ); + } + + late final __objc_msgSend_190Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_190 = __objc_msgSend_190Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + late final _sel_deleteCharactersInRange_1 = + _registerName1("deleteCharactersInRange:"); + void _objc_msgSend_191( + ffi.Pointer obj, + ffi.Pointer sel, + NSRange range, + ) { + return __objc_msgSend_191( + obj, + sel, + range, + ); + } + + late final __objc_msgSend_191Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + NSRange)>>('objc_msgSend'); + late final __objc_msgSend_191 = __objc_msgSend_191Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, NSRange)>(); + + late final _sel_appendString_1 = _registerName1("appendString:"); + late final _sel_appendFormat_1 = _registerName1("appendFormat:"); + late final _sel_setString_1 = _registerName1("setString:"); + late final _sel_replaceOccurrencesOfString_withString_options_range_1 = + _registerName1("replaceOccurrencesOfString:withString:options:range:"); + int _objc_msgSend_192( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer target, + ffi.Pointer replacement, + int options, + NSRange searchRange, + ) { + return __objc_msgSend_192( + obj, + sel, + target, + replacement, + options, + searchRange, + ); + } + + late final __objc_msgSend_192Ptr = _lookup< + ffi.NativeFunction< + ffi.UnsignedLong Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + NSRange)>>('objc_msgSend'); + late final __objc_msgSend_192 = __objc_msgSend_192Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer, int, NSRange)>(); + + late final _sel_applyTransform_reverse_range_updatedRange_1 = + _registerName1("applyTransform:reverse:range:updatedRange:"); + bool _objc_msgSend_193( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer transform, + bool reverse, + NSRange range, + ffi.Pointer resultingRange, + ) { + return __objc_msgSend_193( + obj, + sel, + transform, + reverse, + range, + resultingRange, + ); + } + + late final __objc_msgSend_193Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Bool, + NSRange, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_193 = __objc_msgSend_193Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, bool, NSRange, ffi.Pointer)>(); + + late final _sel_initWithCapacity_1 = _registerName1("initWithCapacity:"); + ffi.Pointer _objc_msgSend_194( + ffi.Pointer obj, + ffi.Pointer sel, + int capacity, + ) { + return __objc_msgSend_194( + obj, + sel, + capacity, + ); + } + + late final __objc_msgSend_194Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_194 = __objc_msgSend_194Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_stringWithCapacity_1 = _registerName1("stringWithCapacity:"); + late final _class_NSSimpleCString1 = _getClass1("NSSimpleCString"); + late final _class_NSConstantString1 = _getClass1("NSConstantString"); + late final _class_NSURLQueryItem1 = _getClass1("NSURLQueryItem"); + late final _sel_initWithName_value_1 = _registerName1("initWithName:value:"); + instancetype _objc_msgSend_195( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer name, + ffi.Pointer value, + ) { + return __objc_msgSend_195( + obj, + sel, + name, + value, + ); + } + + late final __objc_msgSend_195Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_195 = __objc_msgSend_195Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_queryItemWithName_value_1 = + _registerName1("queryItemWithName:value:"); + late final _sel_name1 = _registerName1("name"); + late final _sel_value1 = _registerName1("value"); + late final _class_NSURLComponents1 = _getClass1("NSURLComponents"); + late final _sel_initWithURL_resolvingAgainstBaseURL_1 = + _registerName1("initWithURL:resolvingAgainstBaseURL:"); + instancetype _objc_msgSend_196( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer url, + bool resolve, + ) { + return __objc_msgSend_196( + obj, + sel, + url, + resolve, + ); + } + + late final __objc_msgSend_196Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_196 = __objc_msgSend_196Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, bool)>(); + + late final _sel_componentsWithURL_resolvingAgainstBaseURL_1 = + _registerName1("componentsWithURL:resolvingAgainstBaseURL:"); + late final _sel_componentsWithString_1 = + _registerName1("componentsWithString:"); + late final _sel_componentsWithString_encodingInvalidCharacters_1 = + _registerName1("componentsWithString:encodingInvalidCharacters:"); + late final _sel_URL1 = _registerName1("URL"); + late final _sel_URLRelativeToURL_1 = _registerName1("URLRelativeToURL:"); + ffi.Pointer _objc_msgSend_197( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer baseURL, + ) { + return __objc_msgSend_197( + obj, + sel, + baseURL, + ); + } + + late final __objc_msgSend_197Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_197 = __objc_msgSend_197Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setScheme_1 = _registerName1("setScheme:"); + void _objc_msgSend_198( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_198( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_198Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_198 = __objc_msgSend_198Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_setUser_1 = _registerName1("setUser:"); + late final _sel_setPassword_1 = _registerName1("setPassword:"); + late final _sel_setHost_1 = _registerName1("setHost:"); + late final _sel_setPort_1 = _registerName1("setPort:"); + void _objc_msgSend_199( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_199( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_199Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_199 = __objc_msgSend_199Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_setPath_1 = _registerName1("setPath:"); + late final _sel_setQuery_1 = _registerName1("setQuery:"); + late final _sel_setFragment_1 = _registerName1("setFragment:"); + late final _sel_percentEncodedUser1 = _registerName1("percentEncodedUser"); + late final _sel_setPercentEncodedUser_1 = + _registerName1("setPercentEncodedUser:"); + late final _sel_percentEncodedPassword1 = + _registerName1("percentEncodedPassword"); + late final _sel_setPercentEncodedPassword_1 = + _registerName1("setPercentEncodedPassword:"); + late final _sel_percentEncodedHost1 = _registerName1("percentEncodedHost"); + late final _sel_setPercentEncodedHost_1 = + _registerName1("setPercentEncodedHost:"); + late final _sel_percentEncodedPath1 = _registerName1("percentEncodedPath"); + late final _sel_setPercentEncodedPath_1 = + _registerName1("setPercentEncodedPath:"); + late final _sel_percentEncodedQuery1 = _registerName1("percentEncodedQuery"); + late final _sel_setPercentEncodedQuery_1 = + _registerName1("setPercentEncodedQuery:"); + late final _sel_percentEncodedFragment1 = + _registerName1("percentEncodedFragment"); + late final _sel_setPercentEncodedFragment_1 = + _registerName1("setPercentEncodedFragment:"); + late final _sel_encodedHost1 = _registerName1("encodedHost"); + late final _sel_setEncodedHost_1 = _registerName1("setEncodedHost:"); + late final _sel_rangeOfScheme1 = _registerName1("rangeOfScheme"); + NSRange _objc_msgSend_200( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_200( + obj, + sel, + ); + } + + late final __objc_msgSend_200Ptr = _lookup< + ffi.NativeFunction< + NSRange Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_200 = __objc_msgSend_200Ptr.asFunction< + NSRange Function(ffi.Pointer, ffi.Pointer)>(); + + void _objc_msgSend_200_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_200_stret( + stret, + obj, + sel, + ); + } + + late final __objc_msgSend_200_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend_stret'); + late final __objc_msgSend_200_stret = __objc_msgSend_200_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_rangeOfUser1 = _registerName1("rangeOfUser"); + late final _sel_rangeOfPassword1 = _registerName1("rangeOfPassword"); + late final _sel_rangeOfHost1 = _registerName1("rangeOfHost"); + late final _sel_rangeOfPort1 = _registerName1("rangeOfPort"); + late final _sel_rangeOfPath1 = _registerName1("rangeOfPath"); + late final _sel_rangeOfQuery1 = _registerName1("rangeOfQuery"); + late final _sel_rangeOfFragment1 = _registerName1("rangeOfFragment"); + late final _sel_queryItems1 = _registerName1("queryItems"); + late final _sel_setQueryItems_1 = _registerName1("setQueryItems:"); + void _objc_msgSend_201( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_201( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_201Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_201 = __objc_msgSend_201Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_percentEncodedQueryItems1 = + _registerName1("percentEncodedQueryItems"); + late final _sel_setPercentEncodedQueryItems_1 = + _registerName1("setPercentEncodedQueryItems:"); + late final _class_NSFileSecurity1 = _getClass1("NSFileSecurity"); +} + +class _ObjCWrapper implements ffi.Finalizable { + final ffi.Pointer _id; + final Foundation _lib; + bool _pendingRelease; + + _ObjCWrapper._(this._id, this._lib, + {bool retain = false, bool release = false}) + : _pendingRelease = release { + if (retain) { + _lib._objc_retain(_id.cast()); + } + if (release) { + _lib._objc_releaseFinalizer2.attach(this, _id.cast(), detach: this); + } + } + + /// Releases the reference to the underlying ObjC object held by this wrapper. + /// Throws a StateError if this wrapper doesn't currently hold a reference. + void release() { + if (_pendingRelease) { + _pendingRelease = false; + _lib._objc_release(_id.cast()); + _lib._objc_releaseFinalizer2.detach(this); + } else { + throw StateError( + 'Released an ObjC object that was unowned or already released.'); + } + } + + @override + bool operator ==(Object other) { + return other is _ObjCWrapper && _id == other._id; + } + + @override + int get hashCode => _id.hashCode; + + /// Return a pointer to this object. + ffi.Pointer get pointer => _id; + + ffi.Pointer _retainAndReturnId() { + _lib._objc_retain(_id.cast()); + return _id; + } +} + +class NSString extends NSObject { + NSString._(ffi.Pointer id, Foundation lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSString] that points to the same underlying object as [other]. + static NSString castFrom(T other) { + return NSString._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSString] that wraps the given raw object pointer. + static NSString castFromPointer(Foundation lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSString._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSString]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSString1); + } + + factory NSString(Foundation _lib, String str) { + final cstr = str.toNativeUtf16(); + final nsstr = stringWithCharacters_length_(_lib, cstr.cast(), str.length); + pkg_ffi.calloc.free(cstr); + return nsstr; + } + + @override + String toString() { + final data = + dataUsingEncoding_(0x94000100 /* NSUTF16LittleEndianStringEncoding */); + return data!.bytes.cast().toDartString(length: length); + } + + /// NSString primitives. A minimal subclass of NSString just needs to implement these two, along with an init method appropriate for that subclass. We also recommend overriding getCharacters:range: for performance. + int get length { + return _lib._objc_msgSend_12(_id, _lib._sel_length1); + } + + int characterAtIndex_(int index) { + return _lib._objc_msgSend_105(_id, _lib._sel_characterAtIndex_1, index); + } + + /// The initializers available to subclasses. See further below for additional init methods. + @override + NSString init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_37(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + /// To avoid breaking up character sequences such as Emoji, you can do: + /// [str substringFromIndex:[str rangeOfComposedCharacterSequenceAtIndex:index].location] + /// [str substringToIndex:NSMaxRange([str rangeOfComposedCharacterSequenceAtIndex:index])] + /// [str substringWithRange:[str rangeOfComposedCharacterSequencesForRange:range] + NSString substringFromIndex_(int from) { + final _ret = + _lib._objc_msgSend_106(_id, _lib._sel_substringFromIndex_1, from); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString substringToIndex_(int to) { + final _ret = _lib._objc_msgSend_106(_id, _lib._sel_substringToIndex_1, to); + return NSString._(_ret, _lib, retain: true, release: true); + } + + /// Use with rangeOfComposedCharacterSequencesForRange: to avoid breaking up character sequences + NSString substringWithRange_(NSRange range) { + final _ret = + _lib._objc_msgSend_107(_id, _lib._sel_substringWithRange_1, range); + return NSString._(_ret, _lib, retain: true, release: true); + } + + /// Use with rangeOfComposedCharacterSequencesForRange: to avoid breaking up character sequences + void getCharacters_range_( + ffi.Pointer buffer, NSRange range) { + _lib._objc_msgSend_108(_id, _lib._sel_getCharacters_range_1, buffer, range); + } + + /// In the compare: methods, the range argument specifies the subrange, rather than the whole, of the receiver to use in the comparison. The range is not applied to the search string. For example, [@"AB" compare:@"ABC" options:0 range:NSMakeRange(0,1)] compares "A" to "ABC", not "A" to "A", and will return NSOrderedAscending. It is an error to specify a range that is outside of the receiver's bounds, and an exception may be raised. + int compare_(NSString string) { + return _lib._objc_msgSend_109(_id, _lib._sel_compare_1, string._id); + } + + int compare_options_(NSString string, int mask) { + return _lib._objc_msgSend_110( + _id, _lib._sel_compare_options_1, string._id, mask); + } + + int compare_options_range_( + NSString string, int mask, NSRange rangeOfReceiverToCompare) { + return _lib._objc_msgSend_111(_id, _lib._sel_compare_options_range_1, + string._id, mask, rangeOfReceiverToCompare); + } + + /// locale arg used to be a dictionary pre-Leopard. We now accept NSLocale. Assumes the current locale if non-nil and non-NSLocale. nil continues to mean canonical compare, which doesn't depend on user's locale choice. + int compare_options_range_locale_(NSString string, int mask, + NSRange rangeOfReceiverToCompare, NSObject? locale) { + return _lib._objc_msgSend_112(_id, _lib._sel_compare_options_range_locale_1, + string._id, mask, rangeOfReceiverToCompare, locale?._id ?? ffi.nullptr); + } + + int caseInsensitiveCompare_(NSString string) { + return _lib._objc_msgSend_109( + _id, _lib._sel_caseInsensitiveCompare_1, string._id); + } + + int localizedCompare_(NSString string) { + return _lib._objc_msgSend_109( + _id, _lib._sel_localizedCompare_1, string._id); + } + + int localizedCaseInsensitiveCompare_(NSString string) { + return _lib._objc_msgSend_109( + _id, _lib._sel_localizedCaseInsensitiveCompare_1, string._id); + } + + /// localizedStandardCompare:, added in 10.6, should be used whenever file names or other strings are presented in lists and tables where Finder-like sorting is appropriate. The exact behavior of this method may be tweaked in future releases, and will be different under different localizations, so clients should not depend on the exact sorting order of the strings. + int localizedStandardCompare_(NSString string) { + return _lib._objc_msgSend_109( + _id, _lib._sel_localizedStandardCompare_1, string._id); + } + + bool isEqualToString_(NSString aString) { + return _lib._objc_msgSend_113( + _id, _lib._sel_isEqualToString_1, aString._id); + } + + /// These perform locale unaware prefix or suffix match. If you need locale awareness, use rangeOfString:options:range:locale:, passing NSAnchoredSearch (or'ed with NSBackwardsSearch for suffix, and NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch if needed) for options, NSMakeRange(0, [receiver length]) for range, and [NSLocale currentLocale] for locale. + bool hasPrefix_(NSString str) { + return _lib._objc_msgSend_113(_id, _lib._sel_hasPrefix_1, str._id); + } + + bool hasSuffix_(NSString str) { + return _lib._objc_msgSend_113(_id, _lib._sel_hasSuffix_1, str._id); + } + + NSString commonPrefixWithString_options_(NSString str, int mask) { + final _ret = _lib._objc_msgSend_114( + _id, _lib._sel_commonPrefixWithString_options_1, str._id, mask); + return NSString._(_ret, _lib, retain: true, release: true); + } + + /// Simple convenience methods for string searching. containsString: returns YES if the target string is contained within the receiver. Same as calling rangeOfString:options: with no options, thus doing a case-sensitive, locale-unaware search. localizedCaseInsensitiveContainsString: is the case-insensitive variant which also takes the current locale into effect. Starting in 10.11 and iOS9, the new localizedStandardRangeOfString: or localizedStandardContainsString: APIs are even better convenience methods for user level searching. More sophisticated needs can be achieved by calling rangeOfString:options:range:locale: directly. + bool containsString_(NSString str) { + return _lib._objc_msgSend_113(_id, _lib._sel_containsString_1, str._id); + } + + bool localizedCaseInsensitiveContainsString_(NSString str) { + return _lib._objc_msgSend_113( + _id, _lib._sel_localizedCaseInsensitiveContainsString_1, str._id); + } + + /// The following two are the most appropriate methods for doing user-level string searches, similar to how searches are done generally in the system. The search is locale-aware, case and diacritic insensitive. As with other APIs, "standard" in the name implies "system default behavior," so the exact list of search options applied may change over time. If you need more control over the search options, please use the rangeOfString:options:range:locale: method. You can pass [NSLocale currentLocale] for searches in user's locale. + bool localizedStandardContainsString_(NSString str) { + return _lib._objc_msgSend_113( + _id, _lib._sel_localizedStandardContainsString_1, str._id); + } + + void localizedStandardRangeOfString_( + ffi.Pointer stret, NSString str) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_115_stret( + stret, _id, _lib._sel_localizedStandardRangeOfString_1, str._id) + : stret.ref = _lib._objc_msgSend_115( + _id, _lib._sel_localizedStandardRangeOfString_1, str._id); + } + + /// These methods perform string search, looking for the searchString within the receiver string. These return length==0 if the target string is not found. So, to check for containment: ([str rangeOfString:@"target"].length > 0). Note that the length of the range returned by these methods might be different than the length of the target string, due composed characters and such. + /// + /// Note that the first three methods do not take locale arguments, and perform the search in a non-locale aware fashion, which is not appropriate for user-level searching. To do user-level string searching, use the last method, specifying locale:[NSLocale currentLocale], or better yet, use localizedStandardRangeOfString: or localizedStandardContainsString:. + /// + /// The range argument specifies the subrange, rather than the whole, of the receiver to use in the search. It is an error to specify a range that is outside of the receiver's bounds, and an exception may be raised. + void rangeOfString_(ffi.Pointer stret, NSString searchString) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_115_stret( + stret, _id, _lib._sel_rangeOfString_1, searchString._id) + : stret.ref = _lib._objc_msgSend_115( + _id, _lib._sel_rangeOfString_1, searchString._id); + } + + void rangeOfString_options_( + ffi.Pointer stret, NSString searchString, int mask) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_116_stret(stret, _id, + _lib._sel_rangeOfString_options_1, searchString._id, mask) + : stret.ref = _lib._objc_msgSend_116( + _id, _lib._sel_rangeOfString_options_1, searchString._id, mask); + } + + void rangeOfString_options_range_(ffi.Pointer stret, + NSString searchString, int mask, NSRange rangeOfReceiverToSearch) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_117_stret( + stret, + _id, + _lib._sel_rangeOfString_options_range_1, + searchString._id, + mask, + rangeOfReceiverToSearch) + : stret.ref = _lib._objc_msgSend_117( + _id, + _lib._sel_rangeOfString_options_range_1, + searchString._id, + mask, + rangeOfReceiverToSearch); + } + + void rangeOfString_options_range_locale_( + ffi.Pointer stret, + NSString searchString, + int mask, + NSRange rangeOfReceiverToSearch, + NSLocale? locale) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_118_stret( + stret, + _id, + _lib._sel_rangeOfString_options_range_locale_1, + searchString._id, + mask, + rangeOfReceiverToSearch, + locale?._id ?? ffi.nullptr) + : stret.ref = _lib._objc_msgSend_118( + _id, + _lib._sel_rangeOfString_options_range_locale_1, + searchString._id, + mask, + rangeOfReceiverToSearch, + locale?._id ?? ffi.nullptr); + } + + /// These return the range of the first character from the set in the string, not the range of a sequence of characters. + /// + /// The range argument specifies the subrange, rather than the whole, of the receiver to use in the search. It is an error to specify a range that is outside of the receiver's bounds, and an exception may be raised. + void rangeOfCharacterFromSet_( + ffi.Pointer stret, NSCharacterSet searchSet) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_129_stret( + stret, _id, _lib._sel_rangeOfCharacterFromSet_1, searchSet._id) + : stret.ref = _lib._objc_msgSend_129( + _id, _lib._sel_rangeOfCharacterFromSet_1, searchSet._id); + } + + void rangeOfCharacterFromSet_options_( + ffi.Pointer stret, NSCharacterSet searchSet, int mask) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_130_stret(stret, _id, + _lib._sel_rangeOfCharacterFromSet_options_1, searchSet._id, mask) + : stret.ref = _lib._objc_msgSend_130(_id, + _lib._sel_rangeOfCharacterFromSet_options_1, searchSet._id, mask); + } + + void rangeOfCharacterFromSet_options_range_(ffi.Pointer stret, + NSCharacterSet searchSet, int mask, NSRange rangeOfReceiverToSearch) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_131_stret( + stret, + _id, + _lib._sel_rangeOfCharacterFromSet_options_range_1, + searchSet._id, + mask, + rangeOfReceiverToSearch) + : stret.ref = _lib._objc_msgSend_131( + _id, + _lib._sel_rangeOfCharacterFromSet_options_range_1, + searchSet._id, + mask, + rangeOfReceiverToSearch); + } + + void rangeOfComposedCharacterSequenceAtIndex_( + ffi.Pointer stret, int index) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_132_stret(stret, _id, + _lib._sel_rangeOfComposedCharacterSequenceAtIndex_1, index) + : stret.ref = _lib._objc_msgSend_132( + _id, _lib._sel_rangeOfComposedCharacterSequenceAtIndex_1, index); + } + + void rangeOfComposedCharacterSequencesForRange_( + ffi.Pointer stret, NSRange range) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_133_stret(stret, _id, + _lib._sel_rangeOfComposedCharacterSequencesForRange_1, range) + : stret.ref = _lib._objc_msgSend_133( + _id, _lib._sel_rangeOfComposedCharacterSequencesForRange_1, range); + } + + NSString stringByAppendingString_(NSString aString) { + final _ret = _lib._objc_msgSend_134( + _id, _lib._sel_stringByAppendingString_1, aString._id); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString stringByAppendingFormat_(NSString format) { + final _ret = _lib._objc_msgSend_134( + _id, _lib._sel_stringByAppendingFormat_1, format._id); + return NSString._(_ret, _lib, retain: true, release: true); + } + + /// The following convenience methods all skip initial space characters (whitespaceSet) and ignore trailing characters. They are not locale-aware. NSScanner or NSNumberFormatter can be used for more powerful and locale-aware parsing of numbers. + double get doubleValue { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_61_fpret(_id, _lib._sel_doubleValue1) + : _lib._objc_msgSend_61(_id, _lib._sel_doubleValue1); + } + + double get floatValue { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_60_fpret(_id, _lib._sel_floatValue1) + : _lib._objc_msgSend_60(_id, _lib._sel_floatValue1); + } + + int get intValue { + return _lib._objc_msgSend_55(_id, _lib._sel_intValue1); + } + + int get integerValue { + return _lib._objc_msgSend_57(_id, _lib._sel_integerValue1); + } + + int get longLongValue { + return _lib._objc_msgSend_58(_id, _lib._sel_longLongValue1); + } + + /// Skips initial space characters (whitespaceSet), or optional -/+ sign followed by zeroes. Returns YES on encountering one of "Y", "y", "T", "t", or a digit 1-9. It ignores any trailing characters. + bool get boolValue { + return _lib._objc_msgSend_11(_id, _lib._sel_boolValue1); + } + + /// The following three return the canonical (non-localized) mappings. They are suitable for programming operations that require stable results not depending on the user's locale preference. For locale-aware case mapping for strings presented to users, use the "localized" methods below. + NSString get uppercaseString { + final _ret = _lib._objc_msgSend_13(_id, _lib._sel_uppercaseString1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString get lowercaseString { + final _ret = _lib._objc_msgSend_13(_id, _lib._sel_lowercaseString1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString get capitalizedString { + final _ret = _lib._objc_msgSend_13(_id, _lib._sel_capitalizedString1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + /// The following three return the locale-aware case mappings. They are suitable for strings presented to the user. + NSString get localizedUppercaseString { + final _ret = + _lib._objc_msgSend_13(_id, _lib._sel_localizedUppercaseString1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString get localizedLowercaseString { + final _ret = + _lib._objc_msgSend_13(_id, _lib._sel_localizedLowercaseString1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString get localizedCapitalizedString { + final _ret = + _lib._objc_msgSend_13(_id, _lib._sel_localizedCapitalizedString1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + /// The following methods perform localized case mappings based on the locale specified. Passing nil indicates the canonical mapping. For the user preference locale setting, specify +[NSLocale currentLocale]. + NSString uppercaseStringWithLocale_(NSLocale? locale) { + final _ret = _lib._objc_msgSend_135( + _id, _lib._sel_uppercaseStringWithLocale_1, locale?._id ?? ffi.nullptr); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString lowercaseStringWithLocale_(NSLocale? locale) { + final _ret = _lib._objc_msgSend_135( + _id, _lib._sel_lowercaseStringWithLocale_1, locale?._id ?? ffi.nullptr); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString capitalizedStringWithLocale_(NSLocale? locale) { + final _ret = _lib._objc_msgSend_135(_id, + _lib._sel_capitalizedStringWithLocale_1, locale?._id ?? ffi.nullptr); + return NSString._(_ret, _lib, retain: true, release: true); + } + + void getLineStart_end_contentsEnd_forRange_( + ffi.Pointer startPtr, + ffi.Pointer lineEndPtr, + ffi.Pointer contentsEndPtr, + NSRange range) { + _lib._objc_msgSend_136( + _id, + _lib._sel_getLineStart_end_contentsEnd_forRange_1, + startPtr, + lineEndPtr, + contentsEndPtr, + range); + } + + void lineRangeForRange_(ffi.Pointer stret, NSRange range) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_133_stret( + stret, _id, _lib._sel_lineRangeForRange_1, range) + : stret.ref = + _lib._objc_msgSend_133(_id, _lib._sel_lineRangeForRange_1, range); + } + + void getParagraphStart_end_contentsEnd_forRange_( + ffi.Pointer startPtr, + ffi.Pointer parEndPtr, + ffi.Pointer contentsEndPtr, + NSRange range) { + _lib._objc_msgSend_136( + _id, + _lib._sel_getParagraphStart_end_contentsEnd_forRange_1, + startPtr, + parEndPtr, + contentsEndPtr, + range); + } + + void paragraphRangeForRange_(ffi.Pointer stret, NSRange range) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_133_stret( + stret, _id, _lib._sel_paragraphRangeForRange_1, range) + : stret.ref = _lib._objc_msgSend_133( + _id, _lib._sel_paragraphRangeForRange_1, range); + } + + /// In the enumerate methods, the blocks will be invoked inside an autorelease pool, so any values assigned inside the block should be retained. + void enumerateSubstringsInRange_options_usingBlock_(NSRange range, int opts, + ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool block) { + _lib._objc_msgSend_137( + _id, + _lib._sel_enumerateSubstringsInRange_options_usingBlock_1, + range, + opts, + block._id); + } + + void enumerateLinesUsingBlock_(ObjCBlock_ffiVoid_NSString_bool block) { + _lib._objc_msgSend_138( + _id, _lib._sel_enumerateLinesUsingBlock_1, block._id); + } + + /// Convenience to return null-terminated UTF8 representation + ffi.Pointer get UTF8String { + return _lib._objc_msgSend_35(_id, _lib._sel_UTF8String1); + } + + /// Result in O(1) time; a rough estimate + int get fastestEncoding { + return _lib._objc_msgSend_12(_id, _lib._sel_fastestEncoding1); + } + + /// Result in O(n) time; the encoding in which the string is most compact + int get smallestEncoding { + return _lib._objc_msgSend_12(_id, _lib._sel_smallestEncoding1); + } + + /// External representation + NSData? dataUsingEncoding_allowLossyConversion_(int encoding, bool lossy) { + final _ret = _lib._objc_msgSend_139(_id, + _lib._sel_dataUsingEncoding_allowLossyConversion_1, encoding, lossy); + return _ret.address == 0 + ? null + : NSData._(_ret, _lib, retain: true, release: true); + } + + /// External representation + NSData? dataUsingEncoding_(int encoding) { + final _ret = + _lib._objc_msgSend_140(_id, _lib._sel_dataUsingEncoding_1, encoding); + return _ret.address == 0 + ? null + : NSData._(_ret, _lib, retain: true, release: true); + } + + bool canBeConvertedToEncoding_(int encoding) { + return _lib._objc_msgSend_141( + _id, _lib._sel_canBeConvertedToEncoding_1, encoding); + } + + /// "Autoreleased"; NULL return if encoding conversion not possible; for performance reasons, lifetime of this should not be considered longer than the lifetime of the receiving string (if the receiver string is freed, this might go invalid then, before the end of the autorelease scope). Use only with 8-bit encodings, and not encodings such as UTF-16 or UTF-32. + ffi.Pointer cStringUsingEncoding_(int encoding) { + return _lib._objc_msgSend_142( + _id, _lib._sel_cStringUsingEncoding_1, encoding); + } + + /// NO return if conversion not possible due to encoding errors or too small of a buffer. The buffer should include room for maxBufferCount bytes; this number should accomodate the expected size of the return value plus the NULL termination character, which this method adds. (So note that the maxLength passed to this method is one more than the one you would have passed to the deprecated getCString:maxLength:.) Use only with 8-bit encodings, and not encodings such as UTF-16 or UTF-32. + bool getCString_maxLength_encoding_( + ffi.Pointer buffer, int maxBufferCount, int encoding) { + return _lib._objc_msgSend_143( + _id, + _lib._sel_getCString_maxLength_encoding_1, + buffer, + maxBufferCount, + encoding); + } + + /// Use this to convert string section at a time into a fixed-size buffer, without any allocations. Does not NULL-terminate. + /// buffer is the buffer to write to; if NULL, this method can be used to computed size of needed buffer. + /// maxBufferCount is the length of the buffer in bytes. It's a good idea to make sure this is at least enough to hold one character's worth of conversion. + /// usedBufferCount is the length of the buffer used up by the current conversion. Can be NULL. + /// encoding is the encoding to convert to. + /// options specifies the options to apply. + /// range is the range to convert. + /// leftOver is the remaining range. Can be NULL. + /// YES return indicates some characters were converted. Conversion might usually stop when the buffer fills, + /// but it might also stop when the conversion isn't possible due to the chosen encoding. + bool getBytes_maxLength_usedLength_encoding_options_range_remainingRange_( + ffi.Pointer buffer, + int maxBufferCount, + ffi.Pointer usedBufferCount, + int encoding, + int options, + NSRange range, + ffi.Pointer leftover) { + return _lib._objc_msgSend_144( + _id, + _lib._sel_getBytes_maxLength_usedLength_encoding_options_range_remainingRange_1, + buffer, + maxBufferCount, + usedBufferCount, + encoding, + options, + range, + leftover); + } + + /// Result in O(1) time; the estimate may be way over what's needed. Returns 0 on error (overflow) + int maximumLengthOfBytesUsingEncoding_(int enc) { + return _lib._objc_msgSend_145( + _id, _lib._sel_maximumLengthOfBytesUsingEncoding_1, enc); + } + + /// Result in O(n) time; the result is exact. Returns 0 on error (cannot convert to specified encoding, or overflow) + int lengthOfBytesUsingEncoding_(int enc) { + return _lib._objc_msgSend_145( + _id, _lib._sel_lengthOfBytesUsingEncoding_1, enc); + } + + static ffi.Pointer getAvailableStringEncodings( + Foundation _lib) { + return _lib._objc_msgSend_146( + _lib._class_NSString1, _lib._sel_availableStringEncodings1); + } + + static NSString localizedNameOfStringEncoding_( + Foundation _lib, int encoding) { + final _ret = _lib._objc_msgSend_106(_lib._class_NSString1, + _lib._sel_localizedNameOfStringEncoding_1, encoding); + return NSString._(_ret, _lib, retain: true, release: true); + } + + /// Should be rarely used + static int getDefaultCStringEncoding(Foundation _lib) { + return _lib._objc_msgSend_12( + _lib._class_NSString1, _lib._sel_defaultCStringEncoding1); + } + + NSString get decomposedStringWithCanonicalMapping { + final _ret = _lib._objc_msgSend_13( + _id, _lib._sel_decomposedStringWithCanonicalMapping1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString get precomposedStringWithCanonicalMapping { + final _ret = _lib._objc_msgSend_13( + _id, _lib._sel_precomposedStringWithCanonicalMapping1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString get decomposedStringWithCompatibilityMapping { + final _ret = _lib._objc_msgSend_13( + _id, _lib._sel_decomposedStringWithCompatibilityMapping1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString get precomposedStringWithCompatibilityMapping { + final _ret = _lib._objc_msgSend_13( + _id, _lib._sel_precomposedStringWithCompatibilityMapping1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSObject componentsSeparatedByString_(NSString separator) { + final _ret = _lib._objc_msgSend_18( + _id, _lib._sel_componentsSeparatedByString_1, separator._id); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + NSObject componentsSeparatedByCharactersInSet_(NSCharacterSet separator) { + final _ret = _lib._objc_msgSend_147( + _id, _lib._sel_componentsSeparatedByCharactersInSet_1, separator._id); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + NSString stringByTrimmingCharactersInSet_(NSCharacterSet set) { + final _ret = _lib._objc_msgSend_148( + _id, _lib._sel_stringByTrimmingCharactersInSet_1, set._id); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString stringByPaddingToLength_withString_startingAtIndex_( + int newLength, NSString padString, int padIndex) { + final _ret = _lib._objc_msgSend_149( + _id, + _lib._sel_stringByPaddingToLength_withString_startingAtIndex_1, + newLength, + padString._id, + padIndex); + return NSString._(_ret, _lib, retain: true, release: true); + } + + /// Returns a string with the character folding options applied. theOptions is a mask of compare flags with *InsensitiveSearch suffix. + NSString stringByFoldingWithOptions_locale_(int options, NSLocale? locale) { + final _ret = _lib._objc_msgSend_150( + _id, + _lib._sel_stringByFoldingWithOptions_locale_1, + options, + locale?._id ?? ffi.nullptr); + return NSString._(_ret, _lib, retain: true, release: true); + } + + /// Replace all occurrences of the target string in the specified range with replacement. Specified compare options are used for matching target. If NSRegularExpressionSearch is specified, the replacement is treated as a template, as in the corresponding NSRegularExpression methods, and no other options can apply except NSCaseInsensitiveSearch and NSAnchoredSearch. + NSString stringByReplacingOccurrencesOfString_withString_options_range_( + NSString target, NSString replacement, int options, NSRange searchRange) { + final _ret = _lib._objc_msgSend_151( + _id, + _lib._sel_stringByReplacingOccurrencesOfString_withString_options_range_1, + target._id, + replacement._id, + options, + searchRange); + return NSString._(_ret, _lib, retain: true, release: true); + } + + /// Replace all occurrences of the target string with replacement. Invokes the above method with 0 options and range of the whole string. + NSString stringByReplacingOccurrencesOfString_withString_( + NSString target, NSString replacement) { + final _ret = _lib._objc_msgSend_152( + _id, + _lib._sel_stringByReplacingOccurrencesOfString_withString_1, + target._id, + replacement._id); + return NSString._(_ret, _lib, retain: true, release: true); + } + + /// Replace characters in range with the specified string, returning new string. + NSString stringByReplacingCharactersInRange_withString_( + NSRange range, NSString replacement) { + final _ret = _lib._objc_msgSend_153( + _id, + _lib._sel_stringByReplacingCharactersInRange_withString_1, + range, + replacement._id); + return NSString._(_ret, _lib, retain: true, release: true); + } + + /// Returns nil if reverse not applicable or transform is invalid + NSString? stringByApplyingTransform_reverse_( + NSString transform, bool reverse) { + final _ret = _lib._objc_msgSend_154(_id, + _lib._sel_stringByApplyingTransform_reverse_1, transform._id, reverse); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + /// Write to specified url or path using the specified encoding. The optional error return is to indicate file system or encoding errors. + bool writeToURL_atomically_encoding_error_(NSURL url, bool useAuxiliaryFile, + int enc, ffi.Pointer> error) { + return _lib._objc_msgSend_155( + _id, + _lib._sel_writeToURL_atomically_encoding_error_1, + url._id, + useAuxiliaryFile, + enc, + error); + } + + bool writeToFile_atomically_encoding_error_( + NSString path, + bool useAuxiliaryFile, + int enc, + ffi.Pointer> error) { + return _lib._objc_msgSend_156( + _id, + _lib._sel_writeToFile_atomically_encoding_error_1, + path._id, + useAuxiliaryFile, + enc, + error); + } + + NSString get description { + final _ret = _lib._objc_msgSend_13(_id, _lib._sel_description1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + int get hash { + return _lib._objc_msgSend_12(_id, _lib._sel_hash1); + } + + /// "NoCopy" is a hint + NSString initWithCharactersNoCopy_length_freeWhenDone_( + ffi.Pointer characters, int length, bool freeBuffer) { + final _ret = _lib._objc_msgSend_157( + _id, + _lib._sel_initWithCharactersNoCopy_length_freeWhenDone_1, + characters, + length, + freeBuffer); + return NSString._(_ret, _lib, retain: false, release: true); + } + + NSString initWithCharactersNoCopy_length_deallocator_( + ffi.Pointer chars, + int len, + ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong? deallocator) { + final _ret = _lib._objc_msgSend_158( + _id, + _lib._sel_initWithCharactersNoCopy_length_deallocator_1, + chars, + len, + deallocator?._id ?? ffi.nullptr); + return NSString._(_ret, _lib, retain: false, release: true); + } + + NSString initWithCharacters_length_( + ffi.Pointer characters, int length) { + final _ret = _lib._objc_msgSend_159( + _id, _lib._sel_initWithCharacters_length_1, characters, length); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? initWithUTF8String_(ffi.Pointer nullTerminatedCString) { + final _ret = _lib._objc_msgSend_160( + _id, _lib._sel_initWithUTF8String_1, nullTerminatedCString); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString initWithString_(NSString aString) { + final _ret = + _lib._objc_msgSend_18(_id, _lib._sel_initWithString_1, aString._id); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString initWithFormat_(NSString format) { + final _ret = + _lib._objc_msgSend_18(_id, _lib._sel_initWithFormat_1, format._id); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString initWithFormat_arguments_( + NSString format, ffi.Pointer argList) { + final _ret = _lib._objc_msgSend_161( + _id, _lib._sel_initWithFormat_arguments_1, format._id, argList); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString initWithFormat_locale_(NSString format, NSObject? locale) { + final _ret = _lib._objc_msgSend_162(_id, _lib._sel_initWithFormat_locale_1, + format._id, locale?._id ?? ffi.nullptr); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString initWithFormat_locale_arguments_( + NSString format, NSObject? locale, ffi.Pointer argList) { + final _ret = _lib._objc_msgSend_163( + _id, + _lib._sel_initWithFormat_locale_arguments_1, + format._id, + locale?._id ?? ffi.nullptr, + argList); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? initWithValidatedFormat_validFormatSpecifiers_error_( + NSString format, + NSString validFormatSpecifiers, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_164( + _id, + _lib._sel_initWithValidatedFormat_validFormatSpecifiers_error_1, + format._id, + validFormatSpecifiers._id, + error); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? initWithValidatedFormat_validFormatSpecifiers_locale_error_( + NSString format, + NSString validFormatSpecifiers, + NSObject? locale, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_165( + _id, + _lib._sel_initWithValidatedFormat_validFormatSpecifiers_locale_error_1, + format._id, + validFormatSpecifiers._id, + locale?._id ?? ffi.nullptr, + error); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? initWithValidatedFormat_validFormatSpecifiers_arguments_error_( + NSString format, + NSString validFormatSpecifiers, + ffi.Pointer argList, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_166( + _id, + _lib._sel_initWithValidatedFormat_validFormatSpecifiers_arguments_error_1, + format._id, + validFormatSpecifiers._id, + argList, + error); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? + initWithValidatedFormat_validFormatSpecifiers_locale_arguments_error_( + NSString format, + NSString validFormatSpecifiers, + NSObject? locale, + ffi.Pointer argList, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_167( + _id, + _lib._sel_initWithValidatedFormat_validFormatSpecifiers_locale_arguments_error_1, + format._id, + validFormatSpecifiers._id, + locale?._id ?? ffi.nullptr, + argList, + error); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? initWithData_encoding_(NSData data, int encoding) { + final _ret = _lib._objc_msgSend_168( + _id, _lib._sel_initWithData_encoding_1, data._id, encoding); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? initWithBytes_length_encoding_( + ffi.Pointer bytes, int len, int encoding) { + final _ret = _lib._objc_msgSend_169( + _id, _lib._sel_initWithBytes_length_encoding_1, bytes, len, encoding); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + /// "NoCopy" is a hint + NSString? initWithBytesNoCopy_length_encoding_freeWhenDone_( + ffi.Pointer bytes, int len, int encoding, bool freeBuffer) { + final _ret = _lib._objc_msgSend_170( + _id, + _lib._sel_initWithBytesNoCopy_length_encoding_freeWhenDone_1, + bytes, + len, + encoding, + freeBuffer); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: false, release: true); + } + + NSString? initWithBytesNoCopy_length_encoding_deallocator_( + ffi.Pointer bytes, + int len, + int encoding, + ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong? deallocator) { + final _ret = _lib._objc_msgSend_171( + _id, + _lib._sel_initWithBytesNoCopy_length_encoding_deallocator_1, + bytes, + len, + encoding, + deallocator?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: false, release: true); + } + + static NSString string(Foundation _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSString1, _lib._sel_string1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + static NSString stringWithString_(Foundation _lib, NSString string) { + final _ret = _lib._objc_msgSend_18( + _lib._class_NSString1, _lib._sel_stringWithString_1, string._id); + return NSString._(_ret, _lib, retain: true, release: true); + } + + static NSString stringWithCharacters_length_( + Foundation _lib, ffi.Pointer characters, int length) { + final _ret = _lib._objc_msgSend_159(_lib._class_NSString1, + _lib._sel_stringWithCharacters_length_1, characters, length); + return NSString._(_ret, _lib, retain: true, release: true); + } + + static NSString? stringWithUTF8String_( + Foundation _lib, ffi.Pointer nullTerminatedCString) { + final _ret = _lib._objc_msgSend_160(_lib._class_NSString1, + _lib._sel_stringWithUTF8String_1, nullTerminatedCString); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + static NSString stringWithFormat_(Foundation _lib, NSString format) { + final _ret = _lib._objc_msgSend_18( + _lib._class_NSString1, _lib._sel_stringWithFormat_1, format._id); + return NSString._(_ret, _lib, retain: true, release: true); + } + + static NSString localizedStringWithFormat_(Foundation _lib, NSString format) { + final _ret = _lib._objc_msgSend_18(_lib._class_NSString1, + _lib._sel_localizedStringWithFormat_1, format._id); + return NSString._(_ret, _lib, retain: true, release: true); + } + + static NSString? stringWithValidatedFormat_validFormatSpecifiers_error_( + Foundation _lib, + NSString format, + NSString validFormatSpecifiers, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_164( + _lib._class_NSString1, + _lib._sel_stringWithValidatedFormat_validFormatSpecifiers_error_1, + format._id, + validFormatSpecifiers._id, + error); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + static NSString? + localizedStringWithValidatedFormat_validFormatSpecifiers_error_( + Foundation _lib, + NSString format, + NSString validFormatSpecifiers, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_164( + _lib._class_NSString1, + _lib._sel_localizedStringWithValidatedFormat_validFormatSpecifiers_error_1, + format._id, + validFormatSpecifiers._id, + error); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? initWithCString_encoding_( + ffi.Pointer nullTerminatedCString, int encoding) { + final _ret = _lib._objc_msgSend_172(_id, + _lib._sel_initWithCString_encoding_1, nullTerminatedCString, encoding); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + static NSString? stringWithCString_encoding_( + Foundation _lib, ffi.Pointer cString, int enc) { + final _ret = _lib._objc_msgSend_172(_lib._class_NSString1, + _lib._sel_stringWithCString_encoding_1, cString, enc); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + /// These use the specified encoding. If nil is returned, the optional error return indicates problem that was encountered (for instance, file system or encoding errors). + NSString? initWithContentsOfURL_encoding_error_( + NSURL url, int enc, ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_173(_id, + _lib._sel_initWithContentsOfURL_encoding_error_1, url._id, enc, error); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? initWithContentsOfFile_encoding_error_( + NSString path, int enc, ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_174( + _id, + _lib._sel_initWithContentsOfFile_encoding_error_1, + path._id, + enc, + error); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + static NSString? stringWithContentsOfURL_encoding_error_(Foundation _lib, + NSURL url, int enc, ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_173( + _lib._class_NSString1, + _lib._sel_stringWithContentsOfURL_encoding_error_1, + url._id, + enc, + error); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + static NSString? stringWithContentsOfFile_encoding_error_(Foundation _lib, + NSString path, int enc, ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_174( + _lib._class_NSString1, + _lib._sel_stringWithContentsOfFile_encoding_error_1, + path._id, + enc, + error); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + /// These try to determine the encoding, and return the encoding which was used. Note that these methods might get "smarter" in subsequent releases of the system, and use additional techniques for recognizing encodings. If nil is returned, the optional error return indicates problem that was encountered (for instance, file system or encoding errors). + NSString? initWithContentsOfURL_usedEncoding_error_( + NSURL url, + ffi.Pointer enc, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_175( + _id, + _lib._sel_initWithContentsOfURL_usedEncoding_error_1, + url._id, + enc, + error); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? initWithContentsOfFile_usedEncoding_error_( + NSString path, + ffi.Pointer enc, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_176( + _id, + _lib._sel_initWithContentsOfFile_usedEncoding_error_1, + path._id, + enc, + error); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + static NSString? stringWithContentsOfURL_usedEncoding_error_( + Foundation _lib, + NSURL url, + ffi.Pointer enc, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_175( + _lib._class_NSString1, + _lib._sel_stringWithContentsOfURL_usedEncoding_error_1, + url._id, + enc, + error); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + static NSString? stringWithContentsOfFile_usedEncoding_error_( + Foundation _lib, + NSString path, + ffi.Pointer enc, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_176( + _lib._class_NSString1, + _lib._sel_stringWithContentsOfFile_usedEncoding_error_1, + path._id, + enc, + error); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + /// This API is used to detect the string encoding of a given raw data. It can also do lossy string conversion. It converts the data to a string in the detected string encoding. The data object contains the raw bytes, and the option dictionary contains the hints and parameters for the analysis. The opts dictionary can be nil. If the string parameter is not NULL, the string created by the detected string encoding is returned. The lossy substitution string is emitted in the output string for characters that could not be converted when lossy conversion is enabled. The usedLossyConversion indicates if there is any lossy conversion in the resulted string. If no encoding can be detected, 0 is returned. + /// + /// The possible items for the dictionary are: + /// 1) an array of suggested string encodings (without specifying the 3rd option in this list, all string encodings are considered but the ones in the array will have a higher preference; moreover, the order of the encodings in the array is important: the first encoding has a higher preference than the second one in the array) + /// 2) an array of string encodings not to use (the string encodings in this list will not be considered at all) + /// 3) a boolean option indicating whether only the suggested string encodings are considered + /// 4) a boolean option indicating whether lossy is allowed + /// 5) an option that gives a specific string to substitude for mystery bytes + /// 6) the current user's language + /// 7) a boolean option indicating whether the data is generated by Windows + /// + /// If the values in the dictionary have wrong types (for example, the value of NSStringEncodingDetectionSuggestedEncodingsKey is not an array), an exception is thrown. + /// If the values in the dictionary are unknown (for example, the value in the array of suggested string encodings is not a valid encoding), the values will be ignored. + static int + stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_( + Foundation _lib, + NSData data, + NSObject? opts, + ffi.Pointer> string, + ffi.Pointer usedLossyConversion) { + return _lib._objc_msgSend_177( + _lib._class_NSString1, + _lib._sel_stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_1, + data._id, + opts?._id ?? ffi.nullptr, + string, + usedLossyConversion); + } + + /// These methods are no longer recommended since they do not work with property lists and strings files in binary plist format. Please use the APIs in NSPropertyList.h instead. + NSObject propertyList() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_propertyList1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + NSDictionary? propertyListFromStringsFileFormat() { + final _ret = _lib._objc_msgSend_178( + _id, _lib._sel_propertyListFromStringsFileFormat1); + return _ret.address == 0 + ? null + : NSDictionary._(_ret, _lib, retain: true, release: true); + } + + /// The following methods are deprecated and will be removed from this header file in the near future. These methods use NSString.defaultCStringEncoding as the encoding to convert to, which means the results depend on the user's language and potentially other settings. This might be appropriate in some cases, but often these methods are misused, resulting in issues when running in languages other then English. UTF8String in general is a much better choice when converting arbitrary NSStrings into 8-bit representations. Additional potential replacement methods are being introduced in NSString as appropriate. + ffi.Pointer cString() { + return _lib._objc_msgSend_35(_id, _lib._sel_cString1); + } + + ffi.Pointer lossyCString() { + return _lib._objc_msgSend_35(_id, _lib._sel_lossyCString1); + } + + int cStringLength() { + return _lib._objc_msgSend_12(_id, _lib._sel_cStringLength1); + } + + void getCString_(ffi.Pointer bytes) { + _lib._objc_msgSend_179(_id, _lib._sel_getCString_1, bytes); + } + + void getCString_maxLength_(ffi.Pointer bytes, int maxLength) { + _lib._objc_msgSend_180( + _id, _lib._sel_getCString_maxLength_1, bytes, maxLength); + } + + void getCString_maxLength_range_remainingRange_(ffi.Pointer bytes, + int maxLength, NSRange aRange, ffi.Pointer leftoverRange) { + _lib._objc_msgSend_181( + _id, + _lib._sel_getCString_maxLength_range_remainingRange_1, + bytes, + maxLength, + aRange, + leftoverRange); + } + + bool writeToFile_atomically_(NSString path, bool useAuxiliaryFile) { + return _lib._objc_msgSend_182( + _id, _lib._sel_writeToFile_atomically_1, path._id, useAuxiliaryFile); + } + + bool writeToURL_atomically_(NSURL url, bool atomically) { + return _lib._objc_msgSend_183( + _id, _lib._sel_writeToURL_atomically_1, url._id, atomically); + } + + NSObject? initWithContentsOfFile_(NSString path) { + final _ret = _lib._objc_msgSend_25( + _id, _lib._sel_initWithContentsOfFile_1, path._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + NSObject? initWithContentsOfURL_(NSURL url) { + final _ret = + _lib._objc_msgSend_184(_id, _lib._sel_initWithContentsOfURL_1, url._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSObject? stringWithContentsOfFile_(Foundation _lib, NSString path) { + final _ret = _lib._objc_msgSend_25( + _lib._class_NSString1, _lib._sel_stringWithContentsOfFile_1, path._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSObject? stringWithContentsOfURL_(Foundation _lib, NSURL url) { + final _ret = _lib._objc_msgSend_184( + _lib._class_NSString1, _lib._sel_stringWithContentsOfURL_1, url._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + NSObject? initWithCStringNoCopy_length_freeWhenDone_( + ffi.Pointer bytes, int length, bool freeBuffer) { + final _ret = _lib._objc_msgSend_185( + _id, + _lib._sel_initWithCStringNoCopy_length_freeWhenDone_1, + bytes, + length, + freeBuffer); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: false, release: true); + } + + NSObject? initWithCString_length_(ffi.Pointer bytes, int length) { + final _ret = _lib._objc_msgSend_172( + _id, _lib._sel_initWithCString_length_1, bytes, length); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + NSObject? initWithCString_(ffi.Pointer bytes) { + final _ret = + _lib._objc_msgSend_160(_id, _lib._sel_initWithCString_1, bytes); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSObject? stringWithCString_length_( + Foundation _lib, ffi.Pointer bytes, int length) { + final _ret = _lib._objc_msgSend_172(_lib._class_NSString1, + _lib._sel_stringWithCString_length_1, bytes, length); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSObject? stringWithCString_( + Foundation _lib, ffi.Pointer bytes) { + final _ret = _lib._objc_msgSend_160( + _lib._class_NSString1, _lib._sel_stringWithCString_1, bytes); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + /// This method is unsafe because it could potentially cause buffer overruns. You should use -getCharacters:range: instead. + void getCharacters_(ffi.Pointer buffer) { + _lib._objc_msgSend_186(_id, _lib._sel_getCharacters_1, buffer); + } + + /// Returns a new string made from the receiver by replacing all characters not in the allowedCharacters set with percent encoded characters. UTF-8 encoding is used to determine the correct percent encoded characters. Entire URL strings cannot be percent-encoded. This method is intended to percent-encode a URL component or subcomponent string, NOT the entire URL string. Any characters in allowedCharacters outside of the 7-bit ASCII range are ignored. + NSString? stringByAddingPercentEncodingWithAllowedCharacters_( + NSCharacterSet allowedCharacters) { + final _ret = _lib._objc_msgSend_187( + _id, + _lib._sel_stringByAddingPercentEncodingWithAllowedCharacters_1, + allowedCharacters._id); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + /// Returns a new string made from the receiver by replacing all percent encoded sequences with the matching UTF-8 characters. + NSString? get stringByRemovingPercentEncoding { + final _ret = + _lib._objc_msgSend_32(_id, _lib._sel_stringByRemovingPercentEncoding1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? stringByAddingPercentEscapesUsingEncoding_(int enc) { + final _ret = _lib._objc_msgSend_188( + _id, _lib._sel_stringByAddingPercentEscapesUsingEncoding_1, enc); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? stringByReplacingPercentEscapesUsingEncoding_(int enc) { + final _ret = _lib._objc_msgSend_188( + _id, _lib._sel_stringByReplacingPercentEscapesUsingEncoding_1, enc); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + static NSString new1(Foundation _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSString1, _lib._sel_new1); + return NSString._(_ret, _lib, retain: false, release: true); + } + + static NSString allocWithZone_(Foundation _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSString1, _lib._sel_allocWithZone_1, zone); + return NSString._(_ret, _lib, retain: false, release: true); + } + + static NSString alloc(Foundation _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSString1, _lib._sel_alloc1); + return NSString._(_ret, _lib, retain: false, release: true); + } +} + +extension StringToNSString on String { + NSString toNSString(Foundation lib) => NSString(lib, this); +} + +final class ObjCSel extends ffi.Opaque {} + +final class ObjCObject extends ffi.Opaque {} + +class NSObject extends _ObjCWrapper { + NSObject._(ffi.Pointer id, Foundation lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSObject] that points to the same underlying object as [other]. + static NSObject castFrom(T other) { + return NSObject._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSObject] that wraps the given raw object pointer. + static NSObject castFromPointer(Foundation lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSObject._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSObject]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSObject1); + } + + static void load(Foundation _lib) { + _lib._objc_msgSend_1(_lib._class_NSObject1, _lib._sel_load1); + } + + static void initialize(Foundation _lib) { + _lib._objc_msgSend_1(_lib._class_NSObject1, _lib._sel_initialize1); + } + + NSObject init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSObject new1(Foundation _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_new1); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + static NSObject allocWithZone_(Foundation _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSObject1, _lib._sel_allocWithZone_1, zone); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + static NSObject alloc(Foundation _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_alloc1); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + void dealloc() { + _lib._objc_msgSend_1(_id, _lib._sel_dealloc1); + } + + void finalize() { + _lib._objc_msgSend_1(_id, _lib._sel_finalize1); + } + + NSObject copy() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_copy1); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + NSObject mutableCopy() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_mutableCopy1); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + static NSObject copyWithZone_(Foundation _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSObject1, _lib._sel_copyWithZone_1, zone); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + static NSObject mutableCopyWithZone_( + Foundation _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSObject1, _lib._sel_mutableCopyWithZone_1, zone); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + static bool instancesRespondToSelector_( + Foundation _lib, ffi.Pointer aSelector) { + return _lib._objc_msgSend_4(_lib._class_NSObject1, + _lib._sel_instancesRespondToSelector_1, aSelector); + } + + static bool conformsToProtocol_(Foundation _lib, Protocol protocol) { + return _lib._objc_msgSend_5( + _lib._class_NSObject1, _lib._sel_conformsToProtocol_1, protocol._id); + } + + ffi.Pointer> methodForSelector_( + ffi.Pointer aSelector) { + return _lib._objc_msgSend_6(_id, _lib._sel_methodForSelector_1, aSelector); + } + + static ffi.Pointer> + instanceMethodForSelector_( + Foundation _lib, ffi.Pointer aSelector) { + return _lib._objc_msgSend_6(_lib._class_NSObject1, + _lib._sel_instanceMethodForSelector_1, aSelector); + } + + void doesNotRecognizeSelector_(ffi.Pointer aSelector) { + _lib._objc_msgSend_7(_id, _lib._sel_doesNotRecognizeSelector_1, aSelector); + } + + NSObject forwardingTargetForSelector_(ffi.Pointer aSelector) { + final _ret = _lib._objc_msgSend_8( + _id, _lib._sel_forwardingTargetForSelector_1, aSelector); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + void forwardInvocation_(NSInvocation anInvocation) { + _lib._objc_msgSend_9(_id, _lib._sel_forwardInvocation_1, anInvocation._id); + } + + NSMethodSignature methodSignatureForSelector_( + ffi.Pointer aSelector) { + final _ret = _lib._objc_msgSend_10( + _id, _lib._sel_methodSignatureForSelector_1, aSelector); + return NSMethodSignature._(_ret, _lib, retain: true, release: true); + } + + static NSMethodSignature instanceMethodSignatureForSelector_( + Foundation _lib, ffi.Pointer aSelector) { + final _ret = _lib._objc_msgSend_10(_lib._class_NSObject1, + _lib._sel_instanceMethodSignatureForSelector_1, aSelector); + return NSMethodSignature._(_ret, _lib, retain: true, release: true); + } + + bool allowsWeakReference() { + return _lib._objc_msgSend_11(_id, _lib._sel_allowsWeakReference1); + } + + bool retainWeakReference() { + return _lib._objc_msgSend_11(_id, _lib._sel_retainWeakReference1); + } + + static bool isSubclassOfClass_(Foundation _lib, NSObject aClass) { + return _lib._objc_msgSend_0( + _lib._class_NSObject1, _lib._sel_isSubclassOfClass_1, aClass._id); + } + + static bool resolveClassMethod_(Foundation _lib, ffi.Pointer sel) { + return _lib._objc_msgSend_4( + _lib._class_NSObject1, _lib._sel_resolveClassMethod_1, sel); + } + + static bool resolveInstanceMethod_( + Foundation _lib, ffi.Pointer sel) { + return _lib._objc_msgSend_4( + _lib._class_NSObject1, _lib._sel_resolveInstanceMethod_1, sel); + } + + static int hash(Foundation _lib) { + return _lib._objc_msgSend_12(_lib._class_NSObject1, _lib._sel_hash1); + } + + static NSObject superclass(Foundation _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_superclass1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSObject class1(Foundation _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_class1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSString description(Foundation _lib) { + final _ret = + _lib._objc_msgSend_13(_lib._class_NSObject1, _lib._sel_description1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + static NSString debugDescription(Foundation _lib) { + final _ret = _lib._objc_msgSend_13( + _lib._class_NSObject1, _lib._sel_debugDescription1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + void URL_resourceDataDidBecomeAvailable_(NSURL sender, NSData newBytes) { + _lib._objc_msgSend_100(_id, _lib._sel_URL_resourceDataDidBecomeAvailable_1, + sender._id, newBytes._id); + } + + void URLResourceDidFinishLoading_(NSURL sender) { + _lib._objc_msgSend_101( + _id, _lib._sel_URLResourceDidFinishLoading_1, sender._id); + } + + void URLResourceDidCancelLoading_(NSURL sender) { + _lib._objc_msgSend_101( + _id, _lib._sel_URLResourceDidCancelLoading_1, sender._id); + } + + void URL_resourceDidFailLoadingWithReason_(NSURL sender, NSString reason) { + _lib._objc_msgSend_102( + _id, + _lib._sel_URL_resourceDidFailLoadingWithReason_1, + sender._id, + reason._id); + } + + /// Given that an error alert has been presented document-modally to the user, and the user has chosen one of the error's recovery options, attempt recovery from the error, and send the selected message to the specified delegate. The option index is an index into the error's array of localized recovery options. The method selected by didRecoverSelector must have the same signature as: + /// + /// - (void)didPresentErrorWithRecovery:(BOOL)didRecover contextInfo:(void *)contextInfo; + /// + /// The value passed for didRecover must be YES if error recovery was completely successful, NO otherwise. + void + attemptRecoveryFromError_optionIndex_delegate_didRecoverSelector_contextInfo_( + NSError error, + int recoveryOptionIndex, + NSObject? delegate, + ffi.Pointer didRecoverSelector, + ffi.Pointer contextInfo) { + _lib._objc_msgSend_103( + _id, + _lib._sel_attemptRecoveryFromError_optionIndex_delegate_didRecoverSelector_contextInfo_1, + error._id, + recoveryOptionIndex, + delegate?._id ?? ffi.nullptr, + didRecoverSelector, + contextInfo); + } + + /// Given that an error alert has been presented applicaton-modally to the user, and the user has chosen one of the error's recovery options, attempt recovery from the error, and return YES if error recovery was completely successful, NO otherwise. The recovery option index is an index into the error's array of localized recovery options. + bool attemptRecoveryFromError_optionIndex_( + NSError error, int recoveryOptionIndex) { + return _lib._objc_msgSend_104( + _id, + _lib._sel_attemptRecoveryFromError_optionIndex_1, + error._id, + recoveryOptionIndex); + } +} + +typedef instancetype = ffi.Pointer; +typedef Dartinstancetype = NSObject; + +final class NSZone extends ffi.Opaque {} + +class Protocol extends _ObjCWrapper { + Protocol._(ffi.Pointer id, Foundation lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [Protocol] that points to the same underlying object as [other]. + static Protocol castFrom(T other) { + return Protocol._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [Protocol] that wraps the given raw object pointer. + static Protocol castFromPointer(Foundation lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return Protocol._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [Protocol]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_Protocol1); + } +} + +class NSInvocation extends _ObjCWrapper { + NSInvocation._(ffi.Pointer id, Foundation lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSInvocation] that points to the same underlying object as [other]. + static NSInvocation castFrom(T other) { + return NSInvocation._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSInvocation] that wraps the given raw object pointer. + static NSInvocation castFromPointer( + Foundation lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSInvocation._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSInvocation]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSInvocation1); + } +} + +class NSMethodSignature extends _ObjCWrapper { + NSMethodSignature._(ffi.Pointer id, Foundation lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSMethodSignature] that points to the same underlying object as [other]. + static NSMethodSignature castFrom(T other) { + return NSMethodSignature._(other._id, other._lib, + retain: true, release: true); + } + + /// Returns a [NSMethodSignature] that wraps the given raw object pointer. + static NSMethodSignature castFromPointer( + Foundation lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSMethodSignature._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSMethodSignature]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_NSMethodSignature1); + } +} + +class NSURL extends NSObject { + NSURL._(ffi.Pointer id, Foundation lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSURL] that points to the same underlying object as [other]. + static NSURL castFrom(T other) { + return NSURL._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSURL] that wraps the given raw object pointer. + static NSURL castFromPointer(Foundation lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSURL._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSURL]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSURL1); + } + + /// this call percent-encodes both the host and path, so this cannot be used to set a username/password or port in the hostname part or with a IPv6 '[...]' type address. NSURLComponents handles IPv6 addresses correctly. + NSURL? initWithScheme_host_path_( + NSString scheme, NSString? host, NSString path) { + final _ret = _lib._objc_msgSend_14( + _id, + _lib._sel_initWithScheme_host_path_1, + scheme._id, + host?._id ?? ffi.nullptr, + path._id); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Initializes a newly created file NSURL referencing the local file or directory at path, relative to a base URL. + NSURL initFileURLWithPath_isDirectory_relativeToURL_( + NSString path, bool isDir, NSURL? baseURL) { + final _ret = _lib._objc_msgSend_15( + _id, + _lib._sel_initFileURLWithPath_isDirectory_relativeToURL_1, + path._id, + isDir, + baseURL?._id ?? ffi.nullptr); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Better to use initFileURLWithPath:isDirectory:relativeToURL: if you know if the path is a directory vs non-directory, as it saves an I/O. + NSURL initFileURLWithPath_relativeToURL_(NSString path, NSURL? baseURL) { + final _ret = _lib._objc_msgSend_16( + _id, + _lib._sel_initFileURLWithPath_relativeToURL_1, + path._id, + baseURL?._id ?? ffi.nullptr); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL initFileURLWithPath_isDirectory_(NSString path, bool isDir) { + final _ret = _lib._objc_msgSend_17( + _id, _lib._sel_initFileURLWithPath_isDirectory_1, path._id, isDir); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Better to use initFileURLWithPath:isDirectory: if you know if the path is a directory vs non-directory, as it saves an i/o. + NSURL initFileURLWithPath_(NSString path) { + final _ret = + _lib._objc_msgSend_18(_id, _lib._sel_initFileURLWithPath_1, path._id); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Initializes and returns a newly created file NSURL referencing the local file or directory at path, relative to a base URL. + static NSURL fileURLWithPath_isDirectory_relativeToURL_( + Foundation _lib, NSString path, bool isDir, NSURL? baseURL) { + final _ret = _lib._objc_msgSend_19( + _lib._class_NSURL1, + _lib._sel_fileURLWithPath_isDirectory_relativeToURL_1, + path._id, + isDir, + baseURL?._id ?? ffi.nullptr); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Better to use fileURLWithPath:isDirectory:relativeToURL: if you know if the path is a directory vs non-directory, as it saves an I/O. + static NSURL fileURLWithPath_relativeToURL_( + Foundation _lib, NSString path, NSURL? baseURL) { + final _ret = _lib._objc_msgSend_20( + _lib._class_NSURL1, + _lib._sel_fileURLWithPath_relativeToURL_1, + path._id, + baseURL?._id ?? ffi.nullptr); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + static NSURL fileURLWithPath_isDirectory_( + Foundation _lib, NSString path, bool isDir) { + final _ret = _lib._objc_msgSend_21(_lib._class_NSURL1, + _lib._sel_fileURLWithPath_isDirectory_1, path._id, isDir); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Better to use fileURLWithPath:isDirectory: if you know if the path is a directory vs non-directory, as it saves an i/o. + static NSURL fileURLWithPath_(Foundation _lib, NSString path) { + final _ret = _lib._objc_msgSend_22( + _lib._class_NSURL1, _lib._sel_fileURLWithPath_1, path._id); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Initializes a newly created URL referencing the local file or directory at the file system representation of the path. File system representation is a null-terminated C string with canonical UTF-8 encoding. + NSURL initFileURLWithFileSystemRepresentation_isDirectory_relativeToURL_( + ffi.Pointer path, bool isDir, NSURL? baseURL) { + final _ret = _lib._objc_msgSend_23( + _id, + _lib._sel_initFileURLWithFileSystemRepresentation_isDirectory_relativeToURL_1, + path, + isDir, + baseURL?._id ?? ffi.nullptr); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Initializes and returns a newly created URL referencing the local file or directory at the file system representation of the path. File system representation is a null-terminated C string with canonical UTF-8 encoding. + static NSURL fileURLWithFileSystemRepresentation_isDirectory_relativeToURL_( + Foundation _lib, ffi.Pointer path, bool isDir, NSURL? baseURL) { + final _ret = _lib._objc_msgSend_24( + _lib._class_NSURL1, + _lib._sel_fileURLWithFileSystemRepresentation_isDirectory_relativeToURL_1, + path, + isDir, + baseURL?._id ?? ffi.nullptr); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + /// These methods expect their string arguments to contain any percent escape codes that are necessary. It is an error for URLString to be nil. + NSURL? initWithString_(NSString URLString) { + final _ret = + _lib._objc_msgSend_25(_id, _lib._sel_initWithString_1, URLString._id); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL? initWithString_relativeToURL_(NSString URLString, NSURL? baseURL) { + final _ret = _lib._objc_msgSend_26( + _id, + _lib._sel_initWithString_relativeToURL_1, + URLString._id, + baseURL?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + static NSURL? URLWithString_(Foundation _lib, NSString URLString) { + final _ret = _lib._objc_msgSend_25( + _lib._class_NSURL1, _lib._sel_URLWithString_1, URLString._id); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + static NSURL? URLWithString_relativeToURL_( + Foundation _lib, NSString URLString, NSURL? baseURL) { + final _ret = _lib._objc_msgSend_26( + _lib._class_NSURL1, + _lib._sel_URLWithString_relativeToURL_1, + URLString._id, + baseURL?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Initializes an `NSURL` with a URL string and the option to add (or skip) IDNA- and percent-encoding of invalid characters. + /// If `encodingInvalidCharacters` is false, and the URL string is invalid according to RFC 3986, `nil` is returned. + /// If `encodingInvalidCharacters` is true, `NSURL` will try to encode the string to create a valid URL. + /// If the URL string is still invalid after encoding, `nil` is returned. + /// + /// - Parameter URLString: The URL string. + /// - Parameter encodingInvalidCharacters: True if `NSURL` should try to encode an invalid URL string, false otherwise. + /// - Returns: An `NSURL` instance for a valid URL, or `nil` if the URL is invalid. + NSURL? initWithString_encodingInvalidCharacters_( + NSString URLString, bool encodingInvalidCharacters) { + final _ret = _lib._objc_msgSend_27( + _id, + _lib._sel_initWithString_encodingInvalidCharacters_1, + URLString._id, + encodingInvalidCharacters); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Initializes and returns a newly created `NSURL` with a URL string and the option to add (or skip) IDNA- and percent-encoding of invalid characters. + /// If `encodingInvalidCharacters` is false, and the URL string is invalid according to RFC 3986, `nil` is returned. + /// If `encodingInvalidCharacters` is true, `NSURL` will try to encode the string to create a valid URL. + /// If the URL string is still invalid after encoding, `nil` is returned. + /// + /// - Parameter URLString: The URL string. + /// - Parameter encodingInvalidCharacters: True if `NSURL` should try to encode an invalid URL string, false otherwise. + /// - Returns: An `NSURL` instance for a valid URL, or `nil` if the URL is invalid. + static NSURL? URLWithString_encodingInvalidCharacters_( + Foundation _lib, NSString URLString, bool encodingInvalidCharacters) { + final _ret = _lib._objc_msgSend_27( + _lib._class_NSURL1, + _lib._sel_URLWithString_encodingInvalidCharacters_1, + URLString._id, + encodingInvalidCharacters); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Initializes a newly created NSURL using the contents of the given data, relative to a base URL. If the data representation is not a legal URL string as ASCII bytes, the URL object may not behave as expected. + NSURL initWithDataRepresentation_relativeToURL_(NSData data, NSURL? baseURL) { + final _ret = _lib._objc_msgSend_29( + _id, + _lib._sel_initWithDataRepresentation_relativeToURL_1, + data._id, + baseURL?._id ?? ffi.nullptr); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Initializes and returns a newly created NSURL using the contents of the given data, relative to a base URL. If the data representation is not a legal URL string as ASCII bytes, the URL object may not behave as expected. + static NSURL URLWithDataRepresentation_relativeToURL_( + Foundation _lib, NSData data, NSURL? baseURL) { + final _ret = _lib._objc_msgSend_30( + _lib._class_NSURL1, + _lib._sel_URLWithDataRepresentation_relativeToURL_1, + data._id, + baseURL?._id ?? ffi.nullptr); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Initializes a newly created absolute NSURL using the contents of the given data, relative to a base URL. If the data representation is not a legal URL string as ASCII bytes, the URL object may not behave as expected. + NSURL initAbsoluteURLWithDataRepresentation_relativeToURL_( + NSData data, NSURL? baseURL) { + final _ret = _lib._objc_msgSend_29( + _id, + _lib._sel_initAbsoluteURLWithDataRepresentation_relativeToURL_1, + data._id, + baseURL?._id ?? ffi.nullptr); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Initializes and returns a newly created absolute NSURL using the contents of the given data, relative to a base URL. If the data representation is not a legal URL string as ASCII bytes, the URL object may not behave as expected. + static NSURL absoluteURLWithDataRepresentation_relativeToURL_( + Foundation _lib, NSData data, NSURL? baseURL) { + final _ret = _lib._objc_msgSend_30( + _lib._class_NSURL1, + _lib._sel_absoluteURLWithDataRepresentation_relativeToURL_1, + data._id, + baseURL?._id ?? ffi.nullptr); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Returns the data representation of the URL's relativeString. If the URL was initialized with -initWithData:relativeToURL:, the data representation returned are the same bytes as those used at initialization; otherwise, the data representation returned are the bytes of the relativeString encoded with NSUTF8StringEncoding. + NSData get dataRepresentation { + final _ret = _lib._objc_msgSend_31(_id, _lib._sel_dataRepresentation1); + return NSData._(_ret, _lib, retain: true, release: true); + } + + NSString? get absoluteString { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_absoluteString1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + /// The relative portion of a URL. If baseURL is nil, or if the receiver is itself absolute, this is the same as absoluteString + NSString get relativeString { + final _ret = _lib._objc_msgSend_13(_id, _lib._sel_relativeString1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + /// may be nil. + NSURL? get baseURL { + final _ret = _lib._objc_msgSend_33(_id, _lib._sel_baseURL1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + /// if the receiver is itself absolute, this will return self. + NSURL? get absoluteURL { + final _ret = _lib._objc_msgSend_33(_id, _lib._sel_absoluteURL1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Any URL is composed of these two basic pieces. The full URL would be the concatenation of [myURL scheme], ':', [myURL resourceSpecifier] + NSString? get scheme { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_scheme1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get resourceSpecifier { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_resourceSpecifier1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + /// If the URL conforms to rfc 1808 (the most common form of URL), the following accessors will return the various components; otherwise they return nil. The litmus test for conformance is as recommended in RFC 1808 - whether the first two characters of resourceSpecifier is @"//". In all cases, they return the component's value after resolving the receiver against its base URL. + NSString? get host { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_host1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSNumber? get port { + final _ret = _lib._objc_msgSend_65(_id, _lib._sel_port1); + return _ret.address == 0 + ? null + : NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSString? get user { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_user1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get password { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_password1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get path { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_path1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get fragment { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_fragment1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get parameterString { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_parameterString1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get query { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_query1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + /// The same as path if baseURL is nil + NSString? get relativePath { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_relativePath1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + /// Determines if a given URL string's path represents a directory (i.e. the path component in the URL string ends with a '/' character). This does not check the resource the URL refers to. + bool get hasDirectoryPath { + return _lib._objc_msgSend_11(_id, _lib._sel_hasDirectoryPath1); + } + + /// Returns the URL's path in file system representation. File system representation is a null-terminated C string with canonical UTF-8 encoding. + bool getFileSystemRepresentation_maxLength_( + ffi.Pointer buffer, int maxBufferLength) { + return _lib._objc_msgSend_66( + _id, + _lib._sel_getFileSystemRepresentation_maxLength_1, + buffer, + maxBufferLength); + } + + /// Returns the URL's path in file system representation. File system representation is a null-terminated C string with canonical UTF-8 encoding. The returned C string will be automatically freed just as a returned object would be released; your code should copy the representation or use getFileSystemRepresentation:maxLength: if it needs to store the representation outside of the autorelease context in which the representation is created. + ffi.Pointer get fileSystemRepresentation { + return _lib._objc_msgSend_35(_id, _lib._sel_fileSystemRepresentation1); + } + + /// Whether the scheme is file:; if [myURL isFileURL] is YES, then [myURL path] is suitable for input into NSFileManager or NSPathUtilities. + bool get fileURL { + return _lib._objc_msgSend_11(_id, _lib._sel_isFileURL1); + } + + NSURL? get standardizedURL { + final _ret = _lib._objc_msgSend_33(_id, _lib._sel_standardizedURL1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Returns whether the URL is a file reference URL. Symbol is present in iOS 4, but performs no operation. + bool isFileReferenceURL() { + return _lib._objc_msgSend_11(_id, _lib._sel_isFileReferenceURL1); + } + + /// Returns a file reference URL that refers to the same resource as a specified file URL. File reference URLs use a URL path syntax that identifies a file system object by reference, not by path. This form of file URL remains valid when the file system path of the URL’s underlying resource changes. An error will occur if the url parameter is not a file URL. File reference URLs cannot be created to file system objects which do not exist or are not reachable. In some areas of the file system hierarchy, file reference URLs cannot be generated to the leaf node of the URL path. A file reference URL's path should never be persistently stored because is not valid across system restarts, and across remounts of volumes -- if you want to create a persistent reference to a file system object, use a bookmark (see -bookmarkDataWithOptions:includingResourceValuesForKeys:relativeToURL:error:). Symbol is present in iOS 4, but performs no operation. + NSURL? fileReferenceURL() { + final _ret = _lib._objc_msgSend_33(_id, _lib._sel_fileReferenceURL1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Returns a file path URL that refers to the same resource as a specified URL. File path URLs use a file system style path. An error will occur if the url parameter is not a file URL. A file reference URL's resource must exist and be reachable to be converted to a file path URL. Symbol is present in iOS 4, but performs no operation. + NSURL? get filePathURL { + final _ret = _lib._objc_msgSend_33(_id, _lib._sel_filePathURL1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Returns the resource value identified by a given resource key. This method first checks if the URL object already caches the resource value. If so, it returns the cached resource value to the caller. If not, then this method synchronously obtains the resource value from the backing store, adds the resource value to the URL object's cache, and returns the resource value to the caller. The type of the resource value varies by resource property (see resource key definitions). If this method returns YES and value is populated with nil, it means the resource property is not available for the specified resource and no errors occurred when determining the resource property was not available. If this method returns NO, the optional error is populated. This method is currently applicable only to URLs for file system resources. Symbol is present in iOS 4, but performs no operation. + bool getResourceValue_forKey_error_( + ffi.Pointer> value, + NSString key, + ffi.Pointer> error) { + return _lib._objc_msgSend_72( + _id, _lib._sel_getResourceValue_forKey_error_1, value, key._id, error); + } + + /// Returns the resource values identified by specified array of resource keys. This method first checks if the URL object already caches the resource values. If so, it returns the cached resource values to the caller. If not, then this method synchronously obtains the resource values from the backing store, adds the resource values to the URL object's cache, and returns the resource values to the caller. The type of the resource values vary by property (see resource key definitions). If the result dictionary does not contain a resource value for one or more of the requested resource keys, it means those resource properties are not available for the specified resource and no errors occurred when determining those resource properties were not available. If this method returns NULL, the optional error is populated. This method is currently applicable only to URLs for file system resources. Symbol is present in iOS 4, but performs no operation. + NSDictionary? resourceValuesForKeys_error_( + NSObject keys, ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_73( + _id, _lib._sel_resourceValuesForKeys_error_1, keys._id, error); + return _ret.address == 0 + ? null + : NSDictionary._(_ret, _lib, retain: true, release: true); + } + + /// Sets the resource value identified by a given resource key. This method writes the new resource value out to the backing store. Attempts to set a read-only resource property or to set a resource property not supported by the resource are ignored and are not considered errors. If this method returns NO, the optional error is populated. This method is currently applicable only to URLs for file system resources. Symbol is present in iOS 4, but performs no operation. + bool setResourceValue_forKey_error_(NSObject? value, NSString key, + ffi.Pointer> error) { + return _lib._objc_msgSend_74(_id, _lib._sel_setResourceValue_forKey_error_1, + value?._id ?? ffi.nullptr, key._id, error); + } + + /// Sets any number of resource values of a URL's resource. This method writes the new resource values out to the backing store. Attempts to set read-only resource properties or to set resource properties not supported by the resource are ignored and are not considered errors. If an error occurs after some resource properties have been successfully changed, the userInfo dictionary in the returned error contains an array of resource keys that were not set with the key kCFURLKeysOfUnsetValuesKey. The order in which the resource values are set is not defined. If you need to guarantee the order resource values are set, you should make multiple requests to this method or to -setResourceValue:forKey:error: to guarantee the order. If this method returns NO, the optional error is populated. This method is currently applicable only to URLs for file system resources. Symbol is present in iOS 4, but performs no operation. + bool setResourceValues_error_( + NSDictionary keyedValues, ffi.Pointer> error) { + return _lib._objc_msgSend_75( + _id, _lib._sel_setResourceValues_error_1, keyedValues._id, error); + } + + /// Removes the cached resource value identified by a given resource value key from the URL object. Removing a cached resource value may remove other cached resource values because some resource values are cached as a set of values, and because some resource values depend on other resource values (temporary resource values have no dependencies). This method is currently applicable only to URLs for file system resources. + void removeCachedResourceValueForKey_(NSString key) { + _lib._objc_msgSend_76( + _id, _lib._sel_removeCachedResourceValueForKey_1, key._id); + } + + /// Removes all cached resource values and all temporary resource values from the URL object. This method is currently applicable only to URLs for file system resources. + void removeAllCachedResourceValues() { + _lib._objc_msgSend_1(_id, _lib._sel_removeAllCachedResourceValues1); + } + + /// Sets a temporary resource value on the URL object. Temporary resource values are for client use. Temporary resource values exist only in memory and are never written to the resource's backing store. Once set, a temporary resource value can be copied from the URL object with -getResourceValue:forKey:error: or -resourceValuesForKeys:error:. To remove a temporary resource value from the URL object, use -removeCachedResourceValueForKey:. Care should be taken to ensure the key that identifies a temporary resource value is unique and does not conflict with system defined keys (using reverse domain name notation in your temporary resource value keys is recommended). This method is currently applicable only to URLs for file system resources. + void setTemporaryResourceValue_forKey_(NSObject? value, NSString key) { + _lib._objc_msgSend_77(_id, _lib._sel_setTemporaryResourceValue_forKey_1, + value?._id ?? ffi.nullptr, key._id); + } + + /// Returns bookmark data for the URL, created with specified options and resource values. If this method returns nil, the optional error is populated. + NSData? + bookmarkDataWithOptions_includingResourceValuesForKeys_relativeToURL_error_( + int options, + NSObject? keys, + NSURL? relativeURL, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_78( + _id, + _lib._sel_bookmarkDataWithOptions_includingResourceValuesForKeys_relativeToURL_error_1, + options, + keys?._id ?? ffi.nullptr, + relativeURL?._id ?? ffi.nullptr, + error); + return _ret.address == 0 + ? null + : NSData._(_ret, _lib, retain: true, release: true); + } + + /// Initializes a newly created NSURL that refers to a location specified by resolving bookmark data. If this method returns nil, the optional error is populated. + NSURL? + initByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_( + NSData bookmarkData, + int options, + NSURL? relativeURL, + ffi.Pointer isStale, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_79( + _id, + _lib._sel_initByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_1, + bookmarkData._id, + options, + relativeURL?._id ?? ffi.nullptr, + isStale, + error); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Creates and Initializes an NSURL that refers to a location specified by resolving bookmark data. If this method returns nil, the optional error is populated. + static NSURL? + URLByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_( + Foundation _lib, + NSData bookmarkData, + int options, + NSURL? relativeURL, + ffi.Pointer isStale, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_79( + _lib._class_NSURL1, + _lib._sel_URLByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_1, + bookmarkData._id, + options, + relativeURL?._id ?? ffi.nullptr, + isStale, + error); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Returns the resource values for properties identified by a specified array of keys contained in specified bookmark data. If the result dictionary does not contain a resource value for one or more of the requested resource keys, it means those resource properties are not available in the bookmark data. + static NSDictionary? resourceValuesForKeys_fromBookmarkData_( + Foundation _lib, NSObject keys, NSData bookmarkData) { + final _ret = _lib._objc_msgSend_80( + _lib._class_NSURL1, + _lib._sel_resourceValuesForKeys_fromBookmarkData_1, + keys._id, + bookmarkData._id); + return _ret.address == 0 + ? null + : NSDictionary._(_ret, _lib, retain: true, release: true); + } + + /// Creates an alias file on disk at a specified location with specified bookmark data. bookmarkData must have been created with the NSURLBookmarkCreationSuitableForBookmarkFile option. bookmarkFileURL must either refer to an existing file (which will be overwritten), or to location in an existing directory. If this method returns NO, the optional error is populated. + static bool writeBookmarkData_toURL_options_error_( + Foundation _lib, + NSData bookmarkData, + NSURL bookmarkFileURL, + int options, + ffi.Pointer> error) { + return _lib._objc_msgSend_81( + _lib._class_NSURL1, + _lib._sel_writeBookmarkData_toURL_options_error_1, + bookmarkData._id, + bookmarkFileURL._id, + options, + error); + } + + /// Initializes and returns bookmark data derived from an alias file pointed to by a specified URL. If bookmarkFileURL refers to an alias file created prior to OS X v10.6 that contains Alias Manager information but no bookmark data, this method synthesizes bookmark data for the file. If this method returns nil, the optional error is populated. + static NSData? bookmarkDataWithContentsOfURL_error_(Foundation _lib, + NSURL bookmarkFileURL, ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_82( + _lib._class_NSURL1, + _lib._sel_bookmarkDataWithContentsOfURL_error_1, + bookmarkFileURL._id, + error); + return _ret.address == 0 + ? null + : NSData._(_ret, _lib, retain: true, release: true); + } + + /// Creates and initializes a NSURL that refers to the location specified by resolving the alias file at url. If the url argument does not refer to an alias file as defined by the NSURLIsAliasFileKey property, the NSURL returned is the same as url argument. This method fails and returns nil if the url argument is unreachable, or if the original file or directory could not be located or is not reachable, or if the original file or directory is on a volume that could not be located or mounted. If this method fails, the optional error is populated. The NSURLBookmarkResolutionWithSecurityScope option is not supported by this method. + static NSURL? URLByResolvingAliasFileAtURL_options_error_(Foundation _lib, + NSURL url, int options, ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_83( + _lib._class_NSURL1, + _lib._sel_URLByResolvingAliasFileAtURL_options_error_1, + url._id, + options, + error); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Given a NSURL created by resolving a bookmark data created with security scope, make the resource referenced by the url accessible to the process. Each call to startAccessingSecurityScopedResource that returns YES must be balanced with a call to stopAccessingSecurityScopedResource when access to this resource is no longer needed by the client. Calls to start and stop accessing the resource are reference counted and may be nested, which allows the pair of calls to be logically scoped. + bool startAccessingSecurityScopedResource() { + return _lib._objc_msgSend_11( + _id, _lib._sel_startAccessingSecurityScopedResource1); + } + + /// Removes one "accessing" reference to the security scope. When all references are removed, it revokes the access granted to the url by the initial prior successful call to startAccessingSecurityScopedResource. + void stopAccessingSecurityScopedResource() { + _lib._objc_msgSend_1(_id, _lib._sel_stopAccessingSecurityScopedResource1); + } + + /// Get resource values from URLs of 'promised' items. A promised item is not guaranteed to have its contents in the file system until you use NSFileCoordinator to perform a coordinated read on its URL, which causes the contents to be downloaded or otherwise generated. Promised item URLs are returned by various APIs, including currently: + /// - NSMetadataQueryUbiquitousDataScope + /// - NSMetadataQueryUbiquitousDocumentsScope + /// - An NSFilePresenter presenting the contents of the directory located by -URLForUbiquitousContainerIdentifier: or a subdirectory thereof + /// + /// The following methods behave identically to their similarly named methods above (-getResourceValue:forKey:error:, etc.), except that they allow you to get resource values and check for presence regardless of whether the promised item's contents currently exist at the URL. You must use these APIs instead of the normal NSURL resource value APIs if and only if any of the following are true: + /// - You are using a URL that you know came directly from one of the above APIs + /// - You are inside the accessor block of a coordinated read or write that used NSFileCoordinatorReadingImmediatelyAvailableMetadataOnly, NSFileCoordinatorWritingForDeleting, NSFileCoordinatorWritingForMoving, or NSFileCoordinatorWritingContentIndependentMetadataOnly + /// + /// Most of the NSURL resource value keys will work with these APIs. However, there are some that are tied to the item's contents that will not work, such as NSURLContentAccessDateKey or NSURLGenerationIdentifierKey. If one of these keys is used, the method will return YES, but the value for the key will be nil. + bool getPromisedItemResourceValue_forKey_error_( + ffi.Pointer> value, + NSString key, + ffi.Pointer> error) { + return _lib._objc_msgSend_72( + _id, + _lib._sel_getPromisedItemResourceValue_forKey_error_1, + value, + key._id, + error); + } + + NSDictionary? promisedItemResourceValuesForKeys_error_( + NSObject keys, ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_73(_id, + _lib._sel_promisedItemResourceValuesForKeys_error_1, keys._id, error); + return _ret.address == 0 + ? null + : NSDictionary._(_ret, _lib, retain: true, release: true); + } + + bool checkPromisedItemIsReachableAndReturnError_( + ffi.Pointer> error) { + return _lib._objc_msgSend_84( + _id, _lib._sel_checkPromisedItemIsReachableAndReturnError_1, error); + } + + /// The following methods work on the path portion of a URL in the same manner that the NSPathUtilities methods on NSString do. + static NSURL? fileURLWithPathComponents_( + Foundation _lib, NSObject components) { + final _ret = _lib._objc_msgSend_85(_lib._class_NSURL1, + _lib._sel_fileURLWithPathComponents_1, components._id); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSObject? get pathComponents { + final _ret = _lib._objc_msgSend_69(_id, _lib._sel_pathComponents1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + NSString? get lastPathComponent { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_lastPathComponent1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get pathExtension { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_pathExtension1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + NSURL? URLByAppendingPathComponent_(NSString pathComponent) { + final _ret = _lib._objc_msgSend_86( + _id, _lib._sel_URLByAppendingPathComponent_1, pathComponent._id); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL? URLByAppendingPathComponent_isDirectory_( + NSString pathComponent, bool isDirectory) { + final _ret = _lib._objc_msgSend_87( + _id, + _lib._sel_URLByAppendingPathComponent_isDirectory_1, + pathComponent._id, + isDirectory); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL? get URLByDeletingLastPathComponent { + final _ret = + _lib._objc_msgSend_33(_id, _lib._sel_URLByDeletingLastPathComponent1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL? URLByAppendingPathExtension_(NSString pathExtension) { + final _ret = _lib._objc_msgSend_86( + _id, _lib._sel_URLByAppendingPathExtension_1, pathExtension._id); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL? get URLByDeletingPathExtension { + final _ret = + _lib._objc_msgSend_33(_id, _lib._sel_URLByDeletingPathExtension1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Returns whether the URL's resource exists and is reachable. This method synchronously checks if the resource's backing store is reachable. Checking reachability is appropriate when making decisions that do not require other immediate operations on the resource, e.g. periodic maintenance of UI state that depends on the existence of a specific document. When performing operations such as opening a file or copying resource properties, it is more efficient to simply try the operation and handle failures. If this method returns NO, the optional error is populated. This method is currently applicable only to URLs for file system resources. For other URL types, NO is returned. Symbol is present in iOS 4, but performs no operation. + bool checkResourceIsReachableAndReturnError_( + ffi.Pointer> error) { + return _lib._objc_msgSend_84( + _id, _lib._sel_checkResourceIsReachableAndReturnError_1, error); + } + + NSURL? get URLByStandardizingPath { + final _ret = _lib._objc_msgSend_33(_id, _lib._sel_URLByStandardizingPath1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + NSURL? get URLByResolvingSymlinksInPath { + final _ret = + _lib._objc_msgSend_33(_id, _lib._sel_URLByResolvingSymlinksInPath1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Blocks to load the data if necessary. If shouldUseCache is YES, then if an equivalent URL has already been loaded and cached, its resource data will be returned immediately. If shouldUseCache is NO, a new load will be started + NSData? resourceDataUsingCache_(bool shouldUseCache) { + final _ret = _lib._objc_msgSend_88( + _id, _lib._sel_resourceDataUsingCache_1, shouldUseCache); + return _ret.address == 0 + ? null + : NSData._(_ret, _lib, retain: true, release: true); + } + + /// Starts an asynchronous load of the data, registering delegate to receive notification. Only one such background load can proceed at a time. + void loadResourceDataNotifyingClient_usingCache_( + NSObject client, bool shouldUseCache) { + _lib._objc_msgSend_89( + _id, + _lib._sel_loadResourceDataNotifyingClient_usingCache_1, + client._id, + shouldUseCache); + } + + NSObject? propertyForKey_(NSString propertyKey) { + final _ret = + _lib._objc_msgSend_25(_id, _lib._sel_propertyForKey_1, propertyKey._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + /// These attempt to write the given arguments for the resource specified by the URL; they return success or failure + bool setResourceData_(NSData data) { + return _lib._objc_msgSend_90(_id, _lib._sel_setResourceData_1, data._id); + } + + bool setProperty_forKey_(NSObject property, NSString propertyKey) { + return _lib._objc_msgSend_91( + _id, _lib._sel_setProperty_forKey_1, property._id, propertyKey._id); + } + + /// Sophisticated clients will want to ask for this, then message the handle directly. If shouldUseCache is NO, a newly instantiated handle is returned, even if an equivalent URL has been loaded + NSURLHandle? URLHandleUsingCache_(bool shouldUseCache) { + final _ret = _lib._objc_msgSend_99( + _id, _lib._sel_URLHandleUsingCache_1, shouldUseCache); + return _ret.address == 0 + ? null + : NSURLHandle._(_ret, _lib, retain: true, release: true); + } + + @override + NSURL init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSURL._(_ret, _lib, retain: true, release: true); + } + + static NSURL new1(Foundation _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSURL1, _lib._sel_new1); + return NSURL._(_ret, _lib, retain: false, release: true); + } + + static NSURL allocWithZone_(Foundation _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSURL1, _lib._sel_allocWithZone_1, zone); + return NSURL._(_ret, _lib, retain: false, release: true); + } + + static NSURL alloc(Foundation _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSURL1, _lib._sel_alloc1); + return NSURL._(_ret, _lib, retain: false, release: true); + } +} + +class NSData extends _ObjCWrapper { + NSData._(ffi.Pointer id, Foundation lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSData] that points to the same underlying object as [other]. + static NSData castFrom(T other) { + return NSData._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSData] that wraps the given raw object pointer. + static NSData castFromPointer(Foundation lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSData._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSData]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSData1); + } + + ffi.Pointer get bytes { + return _lib._objc_msgSend_28(_id, _lib._sel_bytes1); + } +} + +class NSNumber extends NSValue { + NSNumber._(ffi.Pointer id, Foundation lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSNumber] that points to the same underlying object as [other]. + static NSNumber castFrom(T other) { + return NSNumber._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSNumber] that wraps the given raw object pointer. + static NSNumber castFromPointer(Foundation lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSNumber._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSNumber]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSNumber1); + } + + @override + NSNumber? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_37(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithChar_(int value) { + final _ret = _lib._objc_msgSend_38(_id, _lib._sel_initWithChar_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithUnsignedChar_(int value) { + final _ret = + _lib._objc_msgSend_39(_id, _lib._sel_initWithUnsignedChar_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithShort_(int value) { + final _ret = _lib._objc_msgSend_40(_id, _lib._sel_initWithShort_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithUnsignedShort_(int value) { + final _ret = + _lib._objc_msgSend_41(_id, _lib._sel_initWithUnsignedShort_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithInt_(int value) { + final _ret = _lib._objc_msgSend_42(_id, _lib._sel_initWithInt_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithUnsignedInt_(int value) { + final _ret = + _lib._objc_msgSend_43(_id, _lib._sel_initWithUnsignedInt_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithLong_(int value) { + final _ret = _lib._objc_msgSend_44(_id, _lib._sel_initWithLong_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithUnsignedLong_(int value) { + final _ret = + _lib._objc_msgSend_45(_id, _lib._sel_initWithUnsignedLong_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithLongLong_(int value) { + final _ret = + _lib._objc_msgSend_46(_id, _lib._sel_initWithLongLong_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithUnsignedLongLong_(int value) { + final _ret = + _lib._objc_msgSend_47(_id, _lib._sel_initWithUnsignedLongLong_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithFloat_(double value) { + final _ret = _lib._objc_msgSend_48(_id, _lib._sel_initWithFloat_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithDouble_(double value) { + final _ret = _lib._objc_msgSend_49(_id, _lib._sel_initWithDouble_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithBool_(bool value) { + final _ret = _lib._objc_msgSend_50(_id, _lib._sel_initWithBool_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithInteger_(int value) { + final _ret = _lib._objc_msgSend_44(_id, _lib._sel_initWithInteger_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithUnsignedInteger_(int value) { + final _ret = + _lib._objc_msgSend_45(_id, _lib._sel_initWithUnsignedInteger_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + int get charValue { + return _lib._objc_msgSend_51(_id, _lib._sel_charValue1); + } + + int get unsignedCharValue { + return _lib._objc_msgSend_52(_id, _lib._sel_unsignedCharValue1); + } + + int get shortValue { + return _lib._objc_msgSend_53(_id, _lib._sel_shortValue1); + } + + int get unsignedShortValue { + return _lib._objc_msgSend_54(_id, _lib._sel_unsignedShortValue1); + } + + int get intValue { + return _lib._objc_msgSend_55(_id, _lib._sel_intValue1); + } + + int get unsignedIntValue { + return _lib._objc_msgSend_56(_id, _lib._sel_unsignedIntValue1); + } + + int get longValue { + return _lib._objc_msgSend_57(_id, _lib._sel_longValue1); + } + + int get unsignedLongValue { + return _lib._objc_msgSend_12(_id, _lib._sel_unsignedLongValue1); + } + + int get longLongValue { + return _lib._objc_msgSend_58(_id, _lib._sel_longLongValue1); + } + + int get unsignedLongLongValue { + return _lib._objc_msgSend_59(_id, _lib._sel_unsignedLongLongValue1); + } + + double get floatValue { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_60_fpret(_id, _lib._sel_floatValue1) + : _lib._objc_msgSend_60(_id, _lib._sel_floatValue1); + } + + double get doubleValue { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_61_fpret(_id, _lib._sel_doubleValue1) + : _lib._objc_msgSend_61(_id, _lib._sel_doubleValue1); + } + + bool get boolValue { + return _lib._objc_msgSend_11(_id, _lib._sel_boolValue1); + } + + int get integerValue { + return _lib._objc_msgSend_57(_id, _lib._sel_integerValue1); + } + + int get unsignedIntegerValue { + return _lib._objc_msgSend_12(_id, _lib._sel_unsignedIntegerValue1); + } + + NSString get stringValue { + final _ret = _lib._objc_msgSend_13(_id, _lib._sel_stringValue1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + int compare_(NSNumber otherNumber) { + return _lib._objc_msgSend_62(_id, _lib._sel_compare_1, otherNumber._id); + } + + bool isEqualToNumber_(NSNumber number) { + return _lib._objc_msgSend_63(_id, _lib._sel_isEqualToNumber_1, number._id); + } + + NSString descriptionWithLocale_(NSObject? locale) { + final _ret = _lib._objc_msgSend_64( + _id, _lib._sel_descriptionWithLocale_1, locale?._id ?? ffi.nullptr); + return NSString._(_ret, _lib, retain: true, release: true); + } + + @override + NSNumber initWithBytes_objCType_( + ffi.Pointer value, ffi.Pointer type) { + final _ret = _lib._objc_msgSend_36( + _id, _lib._sel_initWithBytes_objCType_1, value, type); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + @override + NSNumber init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + static NSNumber new1(Foundation _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSNumber1, _lib._sel_new1); + return NSNumber._(_ret, _lib, retain: false, release: true); + } + + static NSNumber allocWithZone_(Foundation _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSNumber1, _lib._sel_allocWithZone_1, zone); + return NSNumber._(_ret, _lib, retain: false, release: true); + } + + static NSNumber alloc(Foundation _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSNumber1, _lib._sel_alloc1); + return NSNumber._(_ret, _lib, retain: false, release: true); + } +} + +class NSValue extends NSObject { + NSValue._(ffi.Pointer id, Foundation lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSValue] that points to the same underlying object as [other]. + static NSValue castFrom(T other) { + return NSValue._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSValue] that wraps the given raw object pointer. + static NSValue castFromPointer(Foundation lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSValue._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSValue]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSValue1); + } + + void getValue_size_(ffi.Pointer value, int size) { + _lib._objc_msgSend_34(_id, _lib._sel_getValue_size_1, value, size); + } + + ffi.Pointer get objCType { + return _lib._objc_msgSend_35(_id, _lib._sel_objCType1); + } + + NSValue initWithBytes_objCType_( + ffi.Pointer value, ffi.Pointer type) { + final _ret = _lib._objc_msgSend_36( + _id, _lib._sel_initWithBytes_objCType_1, value, type); + return NSValue._(_ret, _lib, retain: true, release: true); + } + + NSValue? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_37(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : NSValue._(_ret, _lib, retain: true, release: true); + } + + @override + NSValue init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSValue._(_ret, _lib, retain: true, release: true); + } + + static NSValue new1(Foundation _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSValue1, _lib._sel_new1); + return NSValue._(_ret, _lib, retain: false, release: true); + } + + static NSValue allocWithZone_(Foundation _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSValue1, _lib._sel_allocWithZone_1, zone); + return NSValue._(_ret, _lib, retain: false, release: true); + } + + static NSValue alloc(Foundation _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSValue1, _lib._sel_alloc1); + return NSValue._(_ret, _lib, retain: false, release: true); + } +} + +class NSCoder extends _ObjCWrapper { + NSCoder._(ffi.Pointer id, Foundation lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSCoder] that points to the same underlying object as [other]. + static NSCoder castFrom(T other) { + return NSCoder._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSCoder] that wraps the given raw object pointer. + static NSCoder castFromPointer(Foundation lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSCoder._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSCoder]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSCoder1); + } +} + +abstract class NSComparisonResult { + static const int NSOrderedAscending = -1; + static const int NSOrderedSame = 0; + static const int NSOrderedDescending = 1; +} + +class NSError extends NSObject { + NSError._(ffi.Pointer id, Foundation lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSError] that points to the same underlying object as [other]. + static NSError castFrom(T other) { + return NSError._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSError] that wraps the given raw object pointer. + static NSError castFromPointer(Foundation lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSError._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSError]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSError1); + } + + /// Domain cannot be nil; dict may be nil if no userInfo desired. + NSError initWithDomain_code_userInfo_( + NSString domain, int code, NSDictionary? dict) { + final _ret = _lib._objc_msgSend_67( + _id, + _lib._sel_initWithDomain_code_userInfo_1, + domain._id, + code, + dict?._id ?? ffi.nullptr); + return NSError._(_ret, _lib, retain: true, release: true); + } + + static NSError errorWithDomain_code_userInfo_( + Foundation _lib, NSString domain, int code, NSDictionary? dict) { + final _ret = _lib._objc_msgSend_67( + _lib._class_NSError1, + _lib._sel_errorWithDomain_code_userInfo_1, + domain._id, + code, + dict?._id ?? ffi.nullptr); + return NSError._(_ret, _lib, retain: true, release: true); + } + + /// These define the error. Domains are described by names that are arbitrary strings used to differentiate groups of codes; for custom domain using reverse-DNS naming will help avoid conflicts. Codes are domain-specific. + NSString get domain { + final _ret = _lib._objc_msgSend_13(_id, _lib._sel_domain1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + int get code { + return _lib._objc_msgSend_57(_id, _lib._sel_code1); + } + + /// Additional info which may be used to describe the error further. Examples of keys that might be included in here are "Line Number", "Failed URL", etc. Embedding other errors in here can also be used as a way to communicate underlying reasons for failures; for instance "File System Error" embedded in the userInfo of an NSError returned from a higher level document object. If the embedded error information is itself NSError, the standard key NSUnderlyingErrorKey can be used. + NSDictionary get userInfo { + final _ret = _lib._objc_msgSend_68(_id, _lib._sel_userInfo1); + return NSDictionary._(_ret, _lib, retain: true, release: true); + } + + /// The primary user-presentable message for the error, for instance for NSFileReadNoPermissionError: "The file "File Name" couldn't be opened because you don't have permission to view it.". This message should ideally indicate what failed and why it failed. This value either comes from NSLocalizedDescriptionKey, or NSLocalizedFailureErrorKey+NSLocalizedFailureReasonErrorKey, or NSLocalizedFailureErrorKey. The steps this takes to construct the description include: + /// 1. Look for NSLocalizedDescriptionKey in userInfo, use value as-is if present. + /// 2. Look for NSLocalizedFailureErrorKey in userInfo. If present, use, combining with value for NSLocalizedFailureReasonErrorKey if available. + /// 3. Fetch NSLocalizedDescriptionKey from userInfoValueProvider, use value as-is if present. + /// 4. Fetch NSLocalizedFailureErrorKey from userInfoValueProvider. If present, use, combining with value for NSLocalizedFailureReasonErrorKey if available. + /// 5. Look for NSLocalizedFailureReasonErrorKey in userInfo or from userInfoValueProvider; combine with generic "Operation failed" message. + /// 6. Last resort localized but barely-presentable string manufactured from domain and code. The result is never nil. + NSString get localizedDescription { + final _ret = _lib._objc_msgSend_13(_id, _lib._sel_localizedDescription1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + /// Return a complete sentence which describes why the operation failed. For instance, for NSFileReadNoPermissionError: "You don't have permission.". In many cases this will be just the "because" part of the error message (but as a complete sentence, which makes localization easier). Default implementation of this picks up the value of NSLocalizedFailureReasonErrorKey from the userInfo dictionary. If not present, it consults the userInfoValueProvider for the domain, and if that returns nil, this also returns nil. + NSString? get localizedFailureReason { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_localizedFailureReason1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + /// Return the string that can be displayed as the "informative" (aka "secondary") message on an alert panel. For instance, for NSFileReadNoPermissionError: "To view or change permissions, select the item in the Finder and choose File > Get Info.". Default implementation of this picks up the value of NSLocalizedRecoverySuggestionErrorKey from the userInfo dictionary. If not present, it consults the userInfoValueProvider for the domain, and if that returns nil, this also returns nil. + NSString? get localizedRecoverySuggestion { + final _ret = + _lib._objc_msgSend_32(_id, _lib._sel_localizedRecoverySuggestion1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + /// Return titles of buttons that are appropriate for displaying in an alert. These should match the string provided as a part of localizedRecoverySuggestion. The first string would be the title of the right-most and default button, the second one next to it, and so on. If used in an alert the corresponding default return values are NSAlertFirstButtonReturn + n. Default implementation of this picks up the value of NSLocalizedRecoveryOptionsErrorKey from the userInfo dictionary. If not present, it consults the userInfoValueProvider for the domain, and if that returns nil, this also returns nil. nil return usually implies no special suggestion, which would imply a single "OK" button. + NSObject? get localizedRecoveryOptions { + final _ret = + _lib._objc_msgSend_69(_id, _lib._sel_localizedRecoveryOptions1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + /// Return an object that conforms to the NSErrorRecoveryAttempting informal protocol. The recovery attempter must be an object that can correctly interpret an index into the array returned by localizedRecoveryOptions. The default implementation of this picks up the value of NSRecoveryAttempterErrorKey from the userInfo dictionary. If not present, it consults the userInfoValueProvider for the domain. If that returns nil, this also returns nil. + NSObject? get recoveryAttempter { + final _ret = _lib._objc_msgSend_69(_id, _lib._sel_recoveryAttempter1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + /// Return the help anchor that can be used to create a help button to accompany the error when it's displayed to the user. This is done automatically by +[NSAlert alertWithError:], which the presentError: variants in NSApplication go through. The default implementation of this picks up the value of the NSHelpAnchorErrorKey from the userInfo dictionary. If not present, it consults the userInfoValueProvider for the domain. If that returns nil, this also returns nil. + NSString? get helpAnchor { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_helpAnchor1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + /// Return a list of underlying errors, if any. It includes the values of both NSUnderlyingErrorKey and NSMultipleUnderlyingErrorsKey. If there are no underlying errors, returns an empty array. + NSObject get underlyingErrors { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_underlyingErrors1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + /// Specify a block which will be called from the implementations of localizedDescription, localizedFailureReason, localizedRecoverySuggestion, localizedRecoveryOptions, recoveryAttempter, helpAnchor, and debugDescription when the underlying value for these is not present in the userInfo dictionary of NSError instances with the specified domain. The provider will be called with the userInfo key corresponding to the queried property: For instance, NSLocalizedDescriptionKey for localizedDescription. The provider should return nil for any keys it is not able to provide and, very importantly, any keys it does not recognize (since we may extend the list of keys in future releases). + /// + /// The specified block will be called synchronously at the time when the above properties are queried. The results are not cached. + /// + /// This provider is optional. It enables localization and formatting of error messages to be done lazily; rather than populating the userInfo at NSError creation time, these keys will be fetched on-demand when asked for. + /// + /// It is expected that only the “owner” of an NSError domain specifies the provider for the domain, and this is done once. This facility is not meant for consumers of errors to customize the userInfo entries. This facility should not be used to customize the behaviors of error domains provided by the system. + /// + /// If an appropriate result for the requested key cannot be provided, return nil rather than choosing to manufacture a generic fallback response such as "Operation could not be completed, error 42." NSError will take care of the fallback cases. + static void setUserInfoValueProviderForDomain_provider_(Foundation _lib, + NSString errorDomain, ObjCBlock_ObjCObject_NSError_NSString? provider) { + _lib._objc_msgSend_70( + _lib._class_NSError1, + _lib._sel_setUserInfoValueProviderForDomain_provider_1, + errorDomain._id, + provider?._id ?? ffi.nullptr); + } + + static ObjCBlock_ObjCObject_NSError_NSString? userInfoValueProviderForDomain_( + Foundation _lib, + NSError err, + NSString userInfoKey, + NSString errorDomain) { + final _ret = _lib._objc_msgSend_71( + _lib._class_NSError1, + _lib._sel_userInfoValueProviderForDomain_1, + err._id, + userInfoKey._id, + errorDomain._id); + return _ret.address == 0 + ? null + : ObjCBlock_ObjCObject_NSError_NSString._(_ret, _lib, + retain: true, release: true); + } + + @override + NSError init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSError._(_ret, _lib, retain: true, release: true); + } + + static NSError new1(Foundation _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSError1, _lib._sel_new1); + return NSError._(_ret, _lib, retain: false, release: true); + } + + static NSError allocWithZone_(Foundation _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSError1, _lib._sel_allocWithZone_1, zone); + return NSError._(_ret, _lib, retain: false, release: true); + } + + static NSError alloc(Foundation _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSError1, _lib._sel_alloc1); + return NSError._(_ret, _lib, retain: false, release: true); + } +} + +class NSDictionary extends _ObjCWrapper { + NSDictionary._(ffi.Pointer id, Foundation lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSDictionary] that points to the same underlying object as [other]. + static NSDictionary castFrom(T other) { + return NSDictionary._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSDictionary] that wraps the given raw object pointer. + static NSDictionary castFromPointer( + Foundation lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSDictionary._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSDictionary]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSDictionary1); + } +} + +class _ObjCBlockBase implements ffi.Finalizable { + final ffi.Pointer<_ObjCBlock> _id; + final Foundation _lib; + bool _pendingRelease; + + _ObjCBlockBase._(this._id, this._lib, + {bool retain = false, bool release = false}) + : _pendingRelease = release { + if (retain) { + _lib._Block_copy(_id.cast()); + } + if (release) { + _lib._objc_releaseFinalizer11.attach(this, _id.cast(), detach: this); + } + } + + /// Releases the reference to the underlying ObjC block held by this wrapper. + /// Throws a StateError if this wrapper doesn't currently hold a reference. + void release() { + if (_pendingRelease) { + _pendingRelease = false; + _lib._Block_release(_id.cast()); + _lib._objc_releaseFinalizer11.detach(this); + } else { + throw StateError( + 'Released an ObjC block that was unowned or already released.'); + } + } + + @override + bool operator ==(Object other) { + return other is _ObjCBlockBase && _id == other._id; + } + + @override + int get hashCode => _id.hashCode; + + /// Return a pointer to this object. + ffi.Pointer<_ObjCBlock> get pointer => _id; + + ffi.Pointer<_ObjCBlock> _retainAndReturnId() { + _lib._Block_copy(_id.cast()); + return _id; + } +} + +ffi.Pointer _ObjCBlock_ObjCObject_NSError_NSString_fnPtrTrampoline( + ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, + ffi.Pointer arg1) => + block.ref.target + .cast< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer arg0, + ffi.Pointer arg1)>>() + .asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer)>()(arg0, arg1); +final _ObjCBlock_ObjCObject_NSError_NSString_closureRegistry = Function( + ffi.Pointer, ffi.Pointer)>{}; +int _ObjCBlock_ObjCObject_NSError_NSString_closureRegistryIndex = 0; +ffi.Pointer _ObjCBlock_ObjCObject_NSError_NSString_registerClosure( + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer) + fn) { + final id = ++_ObjCBlock_ObjCObject_NSError_NSString_closureRegistryIndex; + _ObjCBlock_ObjCObject_NSError_NSString_closureRegistry[id] = fn; + return ffi.Pointer.fromAddress(id); +} + +ffi.Pointer + _ObjCBlock_ObjCObject_NSError_NSString_closureTrampoline( + ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, + ffi.Pointer arg1) => + _ObjCBlock_ObjCObject_NSError_NSString_closureRegistry[ + block.ref.target.address]!(arg0, arg1); + +class ObjCBlock_ObjCObject_NSError_NSString extends _ObjCBlockBase { + ObjCBlock_ObjCObject_NSError_NSString._( + ffi.Pointer<_ObjCBlock> id, Foundation lib, + {bool retain = false, bool release = true}) + : super._(id, lib, retain: retain, release: release); + + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ObjCObject_NSError_NSString.fromFunctionPointer( + Foundation lib, + ffi.Pointer< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer arg0, + ffi.Pointer arg1)>> + ptr) + : this._( + lib._newBlock1( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Pointer Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_ObjCObject_NSError_NSString_fnPtrTrampoline) + .cast(), + ptr.cast()), + lib); + static ffi.Pointer? _cFuncTrampoline; + + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ObjCObject_NSError_NSString.fromFunction( + Foundation lib, NSObject? Function(NSError, NSString) fn) + : this._( + lib._newBlock1( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Pointer Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_ObjCObject_NSError_NSString_closureTrampoline) + .cast(), + _ObjCBlock_ObjCObject_NSError_NSString_registerClosure( + (ffi.Pointer arg0, ffi.Pointer arg1) => + fn(NSError._(arg0, lib, retain: true, release: true), NSString._(arg1, lib, retain: true, release: true)) + ?._retainAndReturnId() ?? + ffi.nullptr)), + lib); + static ffi.Pointer? _dartFuncTrampoline; + + NSObject? call(NSError arg0, NSString arg1) => _id.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, + ffi.Pointer arg1)>>() + .asFunction Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, ffi.Pointer)>() + (_id, arg0._id, arg1._id) + .address == + 0 + ? null + : NSObject._( + _id.ref.invoke + .cast Function(ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0, ffi.Pointer arg1)>>() + .asFunction Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, ffi.Pointer)>()(_id, arg0._id, arg1._id), + _lib, + retain: false, + release: true); +} + +final class _ObjCBlockDesc extends ffi.Struct { + @ffi.UnsignedLong() + external int reserved; + + @ffi.UnsignedLong() + external int size; + + external ffi.Pointer copy_helper; + + external ffi.Pointer dispose_helper; + + external ffi.Pointer signature; +} + +final class _ObjCBlock extends ffi.Struct { + external ffi.Pointer isa; + + @ffi.Int() + external int flags; + + @ffi.Int() + external int reserved; + + external ffi.Pointer invoke; + + external ffi.Pointer<_ObjCBlockDesc> descriptor; + + external ffi.Pointer target; +} + +/// Working with Bookmarks and alias (bookmark) files +abstract class NSURLBookmarkCreationOptions { + /// This option does nothing and has no effect on bookmark resolution + static const int NSURLBookmarkCreationPreferFileIDResolution = 256; + + /// creates bookmark data with "less" information, which may be smaller but still be able to resolve in certain ways + static const int NSURLBookmarkCreationMinimalBookmark = 512; + + /// include the properties required by writeBookmarkData:toURL:options: in the bookmark data created + static const int NSURLBookmarkCreationSuitableForBookmarkFile = 1024; + + /// include information in the bookmark data which allows the same sandboxed process to access the resource after being relaunched + static const int NSURLBookmarkCreationWithSecurityScope = 2048; + + /// if used with kCFURLBookmarkCreationWithSecurityScope, at resolution time only read access to the resource will be granted + static const int NSURLBookmarkCreationSecurityScopeAllowOnlyReadAccess = 4096; + + /// Disable automatic embedding of an implicit security scope. The resolving process will not be able gain access to the resource by security scope, either implicitly or explicitly, through the returned URL. Not applicable to security-scoped bookmarks. + static const int NSURLBookmarkCreationWithoutImplicitSecurityScope = + 536870912; +} + +abstract class NSURLBookmarkResolutionOptions { + /// don't perform any user interaction during bookmark resolution + static const int NSURLBookmarkResolutionWithoutUI = 256; + + /// don't mount a volume during bookmark resolution + static const int NSURLBookmarkResolutionWithoutMounting = 512; + + /// use the secure information included at creation time to provide the ability to access the resource in a sandboxed process + static const int NSURLBookmarkResolutionWithSecurityScope = 1024; + + /// Disable implicitly starting access of the ephemeral security-scoped resource during resolution. Instead, call `-[NSURL startAccessingSecurityScopedResource]` on the returned URL when ready to use the resource. Not applicable to security-scoped bookmarks. + static const int NSURLBookmarkResolutionWithoutImplicitStartAccessing = 32768; +} + +class NSURLHandle extends NSObject { + NSURLHandle._(ffi.Pointer id, Foundation lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSURLHandle] that points to the same underlying object as [other]. + static NSURLHandle castFrom(T other) { + return NSURLHandle._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSURLHandle] that wraps the given raw object pointer. + static NSURLHandle castFromPointer( + Foundation lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSURLHandle._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSURLHandle]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSURLHandle1); + } + + static void registerURLHandleClass_( + Foundation _lib, NSObject anURLHandleSubclass) { + _lib._objc_msgSend_92(_lib._class_NSURLHandle1, + _lib._sel_registerURLHandleClass_1, anURLHandleSubclass._id); + } + + static NSObject URLHandleClassForURL_(Foundation _lib, NSURL anURL) { + final _ret = _lib._objc_msgSend_93( + _lib._class_NSURLHandle1, _lib._sel_URLHandleClassForURL_1, anURL._id); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + int status() { + return _lib._objc_msgSend_94(_id, _lib._sel_status1); + } + + NSString failureReason() { + final _ret = _lib._objc_msgSend_13(_id, _lib._sel_failureReason1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + void addClient_(NSObject client) { + _lib._objc_msgSend_92(_id, _lib._sel_addClient_1, client._id); + } + + void removeClient_(NSObject client) { + _lib._objc_msgSend_92(_id, _lib._sel_removeClient_1, client._id); + } + + void loadInBackground() { + _lib._objc_msgSend_1(_id, _lib._sel_loadInBackground1); + } + + void cancelLoadInBackground() { + _lib._objc_msgSend_1(_id, _lib._sel_cancelLoadInBackground1); + } + + NSData resourceData() { + final _ret = _lib._objc_msgSend_31(_id, _lib._sel_resourceData1); + return NSData._(_ret, _lib, retain: true, release: true); + } + + NSData availableResourceData() { + final _ret = _lib._objc_msgSend_31(_id, _lib._sel_availableResourceData1); + return NSData._(_ret, _lib, retain: true, release: true); + } + + int expectedResourceDataSize() { + return _lib._objc_msgSend_58(_id, _lib._sel_expectedResourceDataSize1); + } + + void flushCachedData() { + _lib._objc_msgSend_1(_id, _lib._sel_flushCachedData1); + } + + void backgroundLoadDidFailWithReason_(NSString reason) { + _lib._objc_msgSend_76( + _id, _lib._sel_backgroundLoadDidFailWithReason_1, reason._id); + } + + void didLoadBytes_loadComplete_(NSData newBytes, bool yorn) { + _lib._objc_msgSend_95( + _id, _lib._sel_didLoadBytes_loadComplete_1, newBytes._id, yorn); + } + + static bool canInitWithURL_(Foundation _lib, NSURL anURL) { + return _lib._objc_msgSend_96( + _lib._class_NSURLHandle1, _lib._sel_canInitWithURL_1, anURL._id); + } + + static NSURLHandle cachedHandleForURL_(Foundation _lib, NSURL anURL) { + final _ret = _lib._objc_msgSend_97( + _lib._class_NSURLHandle1, _lib._sel_cachedHandleForURL_1, anURL._id); + return NSURLHandle._(_ret, _lib, retain: true, release: true); + } + + NSObject initWithURL_cached_(NSURL anURL, bool willCache) { + final _ret = _lib._objc_msgSend_98( + _id, _lib._sel_initWithURL_cached_1, anURL._id, willCache); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + NSObject propertyForKey_(NSString propertyKey) { + final _ret = + _lib._objc_msgSend_18(_id, _lib._sel_propertyForKey_1, propertyKey._id); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + NSObject propertyForKeyIfAvailable_(NSString propertyKey) { + final _ret = _lib._objc_msgSend_18( + _id, _lib._sel_propertyForKeyIfAvailable_1, propertyKey._id); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + bool writeProperty_forKey_(NSObject propertyValue, NSString propertyKey) { + return _lib._objc_msgSend_91(_id, _lib._sel_writeProperty_forKey_1, + propertyValue._id, propertyKey._id); + } + + bool writeData_(NSData data) { + return _lib._objc_msgSend_90(_id, _lib._sel_writeData_1, data._id); + } + + NSData loadInForeground() { + final _ret = _lib._objc_msgSend_31(_id, _lib._sel_loadInForeground1); + return NSData._(_ret, _lib, retain: true, release: true); + } + + void beginLoadInBackground() { + _lib._objc_msgSend_1(_id, _lib._sel_beginLoadInBackground1); + } + + void endLoadInBackground() { + _lib._objc_msgSend_1(_id, _lib._sel_endLoadInBackground1); + } + + @override + NSURLHandle init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSURLHandle._(_ret, _lib, retain: true, release: true); + } + + static NSURLHandle new1(Foundation _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSURLHandle1, _lib._sel_new1); + return NSURLHandle._(_ret, _lib, retain: false, release: true); + } + + static NSURLHandle allocWithZone_(Foundation _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSURLHandle1, _lib._sel_allocWithZone_1, zone); + return NSURLHandle._(_ret, _lib, retain: false, release: true); + } + + static NSURLHandle alloc(Foundation _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSURLHandle1, _lib._sel_alloc1); + return NSURLHandle._(_ret, _lib, retain: false, release: true); + } +} + +abstract class NSURLHandleStatus { + static const int NSURLHandleNotLoaded = 0; + static const int NSURLHandleLoadSucceeded = 1; + static const int NSURLHandleLoadInProgress = 2; + static const int NSURLHandleLoadFailed = 3; +} + +final class NSRange extends ffi.Struct { + @ffi.UnsignedLong() + external int location; + + @ffi.UnsignedLong() + external int length; +} + +/// These options apply to the various search/find and comparison methods (except where noted). +abstract class NSStringCompareOptions { + static const int NSCaseInsensitiveSearch = 1; + + /// Exact character-by-character equivalence + static const int NSLiteralSearch = 2; + + /// Search from end of source string + static const int NSBackwardsSearch = 4; + + /// Search is limited to start (or end, if NSBackwardsSearch) of source string + static const int NSAnchoredSearch = 8; + + /// Added in 10.2; Numbers within strings are compared using numeric value, that is, Foo2.txt < Foo7.txt < Foo25.txt; only applies to compare methods, not find + static const int NSNumericSearch = 64; + + /// If specified, ignores diacritics (o-umlaut == o) + static const int NSDiacriticInsensitiveSearch = 128; + + /// If specified, ignores width differences ('a' == UFF41) + static const int NSWidthInsensitiveSearch = 256; + + /// If specified, comparisons are forced to return either NSOrderedAscending or NSOrderedDescending if the strings are equivalent but not strictly equal, for stability when sorting (e.g. "aaa" > "AAA" with NSCaseInsensitiveSearch specified) + static const int NSForcedOrderingSearch = 512; + + /// Applies to rangeOfString:..., stringByReplacingOccurrencesOfString:..., and replaceOccurrencesOfString:... methods only; the search string is treated as an ICU-compatible regular expression; if set, no other options can apply except NSCaseInsensitiveSearch and NSAnchoredSearch + static const int NSRegularExpressionSearch = 1024; +} + +class NSLocale extends _ObjCWrapper { + NSLocale._(ffi.Pointer id, Foundation lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSLocale] that points to the same underlying object as [other]. + static NSLocale castFrom(T other) { + return NSLocale._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSLocale] that wraps the given raw object pointer. + static NSLocale castFromPointer(Foundation lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSLocale._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSLocale]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSLocale1); + } +} + +class NSCharacterSet extends NSObject { + NSCharacterSet._(ffi.Pointer id, Foundation lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSCharacterSet] that points to the same underlying object as [other]. + static NSCharacterSet castFrom(T other) { + return NSCharacterSet._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSCharacterSet] that wraps the given raw object pointer. + static NSCharacterSet castFromPointer( + Foundation lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSCharacterSet._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSCharacterSet]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_NSCharacterSet1); + } + + static NSCharacterSet getControlCharacterSet(Foundation _lib) { + final _ret = _lib._objc_msgSend_119( + _lib._class_NSCharacterSet1, _lib._sel_controlCharacterSet1); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + static NSCharacterSet getWhitespaceCharacterSet(Foundation _lib) { + final _ret = _lib._objc_msgSend_119( + _lib._class_NSCharacterSet1, _lib._sel_whitespaceCharacterSet1); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + static NSCharacterSet getWhitespaceAndNewlineCharacterSet(Foundation _lib) { + final _ret = _lib._objc_msgSend_119(_lib._class_NSCharacterSet1, + _lib._sel_whitespaceAndNewlineCharacterSet1); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + static NSCharacterSet getDecimalDigitCharacterSet(Foundation _lib) { + final _ret = _lib._objc_msgSend_119( + _lib._class_NSCharacterSet1, _lib._sel_decimalDigitCharacterSet1); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + static NSCharacterSet getLetterCharacterSet(Foundation _lib) { + final _ret = _lib._objc_msgSend_119( + _lib._class_NSCharacterSet1, _lib._sel_letterCharacterSet1); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + static NSCharacterSet getLowercaseLetterCharacterSet(Foundation _lib) { + final _ret = _lib._objc_msgSend_119( + _lib._class_NSCharacterSet1, _lib._sel_lowercaseLetterCharacterSet1); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + static NSCharacterSet getUppercaseLetterCharacterSet(Foundation _lib) { + final _ret = _lib._objc_msgSend_119( + _lib._class_NSCharacterSet1, _lib._sel_uppercaseLetterCharacterSet1); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + static NSCharacterSet getNonBaseCharacterSet(Foundation _lib) { + final _ret = _lib._objc_msgSend_119( + _lib._class_NSCharacterSet1, _lib._sel_nonBaseCharacterSet1); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + static NSCharacterSet getAlphanumericCharacterSet(Foundation _lib) { + final _ret = _lib._objc_msgSend_119( + _lib._class_NSCharacterSet1, _lib._sel_alphanumericCharacterSet1); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + static NSCharacterSet getDecomposableCharacterSet(Foundation _lib) { + final _ret = _lib._objc_msgSend_119( + _lib._class_NSCharacterSet1, _lib._sel_decomposableCharacterSet1); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + static NSCharacterSet getIllegalCharacterSet(Foundation _lib) { + final _ret = _lib._objc_msgSend_119( + _lib._class_NSCharacterSet1, _lib._sel_illegalCharacterSet1); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + static NSCharacterSet getPunctuationCharacterSet(Foundation _lib) { + final _ret = _lib._objc_msgSend_119( + _lib._class_NSCharacterSet1, _lib._sel_punctuationCharacterSet1); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + static NSCharacterSet getCapitalizedLetterCharacterSet(Foundation _lib) { + final _ret = _lib._objc_msgSend_119( + _lib._class_NSCharacterSet1, _lib._sel_capitalizedLetterCharacterSet1); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + static NSCharacterSet getSymbolCharacterSet(Foundation _lib) { + final _ret = _lib._objc_msgSend_119( + _lib._class_NSCharacterSet1, _lib._sel_symbolCharacterSet1); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + static NSCharacterSet getNewlineCharacterSet(Foundation _lib) { + final _ret = _lib._objc_msgSend_119( + _lib._class_NSCharacterSet1, _lib._sel_newlineCharacterSet1); + return NSCharacterSet._(_ret, _lib, retain: false, release: true); + } + + static NSCharacterSet characterSetWithRange_( + Foundation _lib, NSRange aRange) { + final _ret = _lib._objc_msgSend_120( + _lib._class_NSCharacterSet1, _lib._sel_characterSetWithRange_1, aRange); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + static NSCharacterSet characterSetWithCharactersInString_( + Foundation _lib, NSString aString) { + final _ret = _lib._objc_msgSend_121(_lib._class_NSCharacterSet1, + _lib._sel_characterSetWithCharactersInString_1, aString._id); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + static NSCharacterSet characterSetWithBitmapRepresentation_( + Foundation _lib, NSData data) { + final _ret = _lib._objc_msgSend_122(_lib._class_NSCharacterSet1, + _lib._sel_characterSetWithBitmapRepresentation_1, data._id); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + static NSCharacterSet? characterSetWithContentsOfFile_( + Foundation _lib, NSString fName) { + final _ret = _lib._objc_msgSend_123(_lib._class_NSCharacterSet1, + _lib._sel_characterSetWithContentsOfFile_1, fName._id); + return _ret.address == 0 + ? null + : NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + NSCharacterSet initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_124(_id, _lib._sel_initWithCoder_1, coder._id); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + bool characterIsMember_(int aCharacter) { + return _lib._objc_msgSend_125( + _id, _lib._sel_characterIsMember_1, aCharacter); + } + + NSData get bitmapRepresentation { + final _ret = _lib._objc_msgSend_31(_id, _lib._sel_bitmapRepresentation1); + return NSData._(_ret, _lib, retain: true, release: true); + } + + NSCharacterSet get invertedSet { + final _ret = _lib._objc_msgSend_119(_id, _lib._sel_invertedSet1); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + bool longCharacterIsMember_(int theLongChar) { + return _lib._objc_msgSend_126( + _id, _lib._sel_longCharacterIsMember_1, theLongChar); + } + + bool isSupersetOfSet_(NSCharacterSet theOtherSet) { + return _lib._objc_msgSend_127( + _id, _lib._sel_isSupersetOfSet_1, theOtherSet._id); + } + + bool hasMemberInPlane_(int thePlane) { + return _lib._objc_msgSend_128(_id, _lib._sel_hasMemberInPlane_1, thePlane); + } + + /// Returns a character set containing the characters allowed in a URL's user subcomponent. + static NSCharacterSet getURLUserAllowedCharacterSet(Foundation _lib) { + final _ret = _lib._objc_msgSend_119( + _lib._class_NSCharacterSet1, _lib._sel_URLUserAllowedCharacterSet1); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + /// Returns a character set containing the characters allowed in a URL's password subcomponent. + static NSCharacterSet getURLPasswordAllowedCharacterSet(Foundation _lib) { + final _ret = _lib._objc_msgSend_119( + _lib._class_NSCharacterSet1, _lib._sel_URLPasswordAllowedCharacterSet1); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + /// Returns a character set containing the characters allowed in a URL's host subcomponent. + static NSCharacterSet getURLHostAllowedCharacterSet(Foundation _lib) { + final _ret = _lib._objc_msgSend_119( + _lib._class_NSCharacterSet1, _lib._sel_URLHostAllowedCharacterSet1); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + /// Returns a character set containing the characters allowed in a URL's path component. ';' is a legal path character, but it is recommended that it be percent-encoded for best compatibility with NSURL (-stringByAddingPercentEncodingWithAllowedCharacters: will percent-encode any ';' characters if you pass the URLPathAllowedCharacterSet). + static NSCharacterSet getURLPathAllowedCharacterSet(Foundation _lib) { + final _ret = _lib._objc_msgSend_119( + _lib._class_NSCharacterSet1, _lib._sel_URLPathAllowedCharacterSet1); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + /// Returns a character set containing the characters allowed in a URL's query component. + static NSCharacterSet getURLQueryAllowedCharacterSet(Foundation _lib) { + final _ret = _lib._objc_msgSend_119( + _lib._class_NSCharacterSet1, _lib._sel_URLQueryAllowedCharacterSet1); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + /// Returns a character set containing the characters allowed in a URL's fragment component. + static NSCharacterSet getURLFragmentAllowedCharacterSet(Foundation _lib) { + final _ret = _lib._objc_msgSend_119( + _lib._class_NSCharacterSet1, _lib._sel_URLFragmentAllowedCharacterSet1); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + @override + NSCharacterSet init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSCharacterSet._(_ret, _lib, retain: true, release: true); + } + + static NSCharacterSet new1(Foundation _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSCharacterSet1, _lib._sel_new1); + return NSCharacterSet._(_ret, _lib, retain: false, release: true); + } + + static NSCharacterSet allocWithZone_( + Foundation _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSCharacterSet1, _lib._sel_allocWithZone_1, zone); + return NSCharacterSet._(_ret, _lib, retain: false, release: true); + } + + static NSCharacterSet alloc(Foundation _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSCharacterSet1, _lib._sel_alloc1); + return NSCharacterSet._(_ret, _lib, retain: false, release: true); + } +} + +abstract class NSStringEnumerationOptions { + /// Equivalent to lineRangeForRange: + static const int NSStringEnumerationByLines = 0; + + /// Equivalent to paragraphRangeForRange: + static const int NSStringEnumerationByParagraphs = 1; + + /// Equivalent to rangeOfComposedCharacterSequencesForRange: + static const int NSStringEnumerationByComposedCharacterSequences = 2; + static const int NSStringEnumerationByWords = 3; + static const int NSStringEnumerationBySentences = 4; + + /// Enumerate text editing cursor positions. It could separate characters within a grapheme cluster. + static const int NSStringEnumerationByCaretPositions = 5; + + /// Enumerate text editing positions for backwards deletion. It could separate characters within a grapheme cluster. + static const int NSStringEnumerationByDeletionClusters = 6; + + /// ...and combine any of the desired additional options: + static const int NSStringEnumerationReverse = 256; + static const int NSStringEnumerationSubstringNotRequired = 512; + + /// User's default locale + static const int NSStringEnumerationLocalized = 1024; +} + +void _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_fnPtrTrampoline( + ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, + NSRange arg1, + NSRange arg2, + ffi.Pointer arg3) => + block.ref.target + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer arg0, NSRange arg1, + NSRange arg2, ffi.Pointer arg3)>>() + .asFunction< + void Function(ffi.Pointer, NSRange, NSRange, + ffi.Pointer)>()(arg0, arg1, arg2, arg3); +final _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureRegistry = , NSRange, NSRange, ffi.Pointer)>{}; +int _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureRegistryIndex = 0; +ffi.Pointer + _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_registerClosure( + void Function(ffi.Pointer, NSRange, NSRange, + ffi.Pointer) + fn) { + final id = + ++_ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureRegistryIndex; + _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureRegistry[id] = fn; + return ffi.Pointer.fromAddress(id); +} + +void _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureTrampoline( + ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, + NSRange arg1, + NSRange arg2, + ffi.Pointer arg3) => + _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureRegistry[ + block.ref.target.address]!(arg0, arg1, arg2, arg3); + +class ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool extends _ObjCBlockBase { + ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool._( + ffi.Pointer<_ObjCBlock> id, Foundation lib, + {bool retain = false, bool release = true}) + : super._(id, lib, retain: retain, release: release); + + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool.fromFunctionPointer( + Foundation lib, + ffi.Pointer< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer arg0, NSRange arg1, + NSRange arg2, ffi.Pointer arg3)>> + ptr) + : this._( + lib._newBlock1( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + NSRange, + NSRange, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_fnPtrTrampoline) + .cast(), + ptr.cast()), + lib); + static ffi.Pointer? _cFuncTrampoline; + + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool.fromFunction(Foundation lib, + void Function(NSString?, NSRange, NSRange, ffi.Pointer) fn) + : this._( + lib._newBlock1( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + NSRange, + NSRange, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureTrampoline) + .cast(), + _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_registerClosure( + (ffi.Pointer arg0, NSRange arg1, NSRange arg2, + ffi.Pointer arg3) => + fn(arg0.address == 0 ? null : NSString._(arg0, lib, retain: true, release: true), arg1, arg2, arg3))), + lib); + static ffi.Pointer? _dartFuncTrampoline; + + /// Creates a listener block from a Dart function. + /// + /// This is based on FFI's NativeCallable.listener, and has the same + /// capabilities and limitations. This block can be invoked from any thread, + /// but only supports void functions, and is not run synchronously. See + /// NativeCallable.listener for more details. + /// + /// Note that unlike the default behavior of NativeCallable.listener, listener + /// blocks do not keep the isolate alive. + ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool.listener(Foundation lib, + void Function(NSString?, NSRange, NSRange, ffi.Pointer) fn) + : this._( + lib._newBlock1( + (_dartFuncListenerTrampoline ??= ffi.NativeCallable< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + NSRange, + NSRange, + ffi.Pointer)>.listener( + _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureTrampoline) + ..keepIsolateAlive = false) + .nativeFunction + .cast(), + _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_registerClosure( + (ffi.Pointer arg0, NSRange arg1, NSRange arg2, + ffi.Pointer arg3) => + fn(arg0.address == 0 ? null : NSString._(arg0, lib, retain: true, release: true), arg1, arg2, arg3))), + lib); + static ffi.NativeCallable< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + NSRange, + NSRange, + ffi.Pointer)>? _dartFuncListenerTrampoline; + + void call(NSString? arg0, NSRange arg1, NSRange arg2, + ffi.Pointer arg3) => + _id.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, + NSRange arg1, + NSRange arg2, + ffi.Pointer arg3)>>() + .asFunction< + void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + NSRange, + NSRange, + ffi.Pointer)>()( + _id, arg0?._id ?? ffi.nullptr, arg1, arg2, arg3); +} + +void _ObjCBlock_ffiVoid_NSString_bool_fnPtrTrampoline( + ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, + ffi.Pointer arg1) => + block.ref.target + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer arg0, + ffi.Pointer arg1)>>() + .asFunction< + void Function( + ffi.Pointer, ffi.Pointer)>()(arg0, arg1); +final _ObjCBlock_ffiVoid_NSString_bool_closureRegistry = + , ffi.Pointer)>{}; +int _ObjCBlock_ffiVoid_NSString_bool_closureRegistryIndex = 0; +ffi.Pointer _ObjCBlock_ffiVoid_NSString_bool_registerClosure( + void Function(ffi.Pointer, ffi.Pointer) fn) { + final id = ++_ObjCBlock_ffiVoid_NSString_bool_closureRegistryIndex; + _ObjCBlock_ffiVoid_NSString_bool_closureRegistry[id] = fn; + return ffi.Pointer.fromAddress(id); +} + +void _ObjCBlock_ffiVoid_NSString_bool_closureTrampoline( + ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, + ffi.Pointer arg1) => + _ObjCBlock_ffiVoid_NSString_bool_closureRegistry[block.ref.target.address]!( + arg0, arg1); + +class ObjCBlock_ffiVoid_NSString_bool extends _ObjCBlockBase { + ObjCBlock_ffiVoid_NSString_bool._(ffi.Pointer<_ObjCBlock> id, Foundation lib, + {bool retain = false, bool release = true}) + : super._(id, lib, retain: retain, release: release); + + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_NSString_bool.fromFunctionPointer( + Foundation lib, + ffi.Pointer< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer arg0, + ffi.Pointer arg1)>> + ptr) + : this._( + lib._newBlock1( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_NSString_bool_fnPtrTrampoline) + .cast(), + ptr.cast()), + lib); + static ffi.Pointer? _cFuncTrampoline; + + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_NSString_bool.fromFunction( + Foundation lib, void Function(NSString, ffi.Pointer) fn) + : this._( + lib._newBlock1( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_NSString_bool_closureTrampoline) + .cast(), + _ObjCBlock_ffiVoid_NSString_bool_registerClosure( + (ffi.Pointer arg0, ffi.Pointer arg1) => fn( + NSString._(arg0, lib, retain: true, release: true), + arg1))), + lib); + static ffi.Pointer? _dartFuncTrampoline; + + /// Creates a listener block from a Dart function. + /// + /// This is based on FFI's NativeCallable.listener, and has the same + /// capabilities and limitations. This block can be invoked from any thread, + /// but only supports void functions, and is not run synchronously. See + /// NativeCallable.listener for more details. + /// + /// Note that unlike the default behavior of NativeCallable.listener, listener + /// blocks do not keep the isolate alive. + ObjCBlock_ffiVoid_NSString_bool.listener( + Foundation lib, void Function(NSString, ffi.Pointer) fn) + : this._( + lib._newBlock1( + (_dartFuncListenerTrampoline ??= ffi.NativeCallable< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + ffi.Pointer)>.listener( + _ObjCBlock_ffiVoid_NSString_bool_closureTrampoline) + ..keepIsolateAlive = false) + .nativeFunction + .cast(), + _ObjCBlock_ffiVoid_NSString_bool_registerClosure( + (ffi.Pointer arg0, ffi.Pointer arg1) => + fn(NSString._(arg0, lib, retain: true, release: true), + arg1))), + lib); + static ffi.NativeCallable< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, + ffi.Pointer)>? _dartFuncListenerTrampoline; + + void call(NSString arg0, ffi.Pointer arg1) => _id.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, ffi.Pointer arg1)>>() + .asFunction< + void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, + ffi.Pointer)>()(_id, arg0._id, arg1); +} + +abstract class NSStringEncodingConversionOptions { + static const int NSStringEncodingConversionAllowLossy = 1; + static const int NSStringEncodingConversionExternalRepresentation = 2; +} + +void _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_fnPtrTrampoline( + ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, + int arg1) => + block.ref.target + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer arg0, + ffi.UnsignedLong arg1)>>() + .asFunction, int)>()( + arg0, arg1); +final _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_closureRegistry = + , int)>{}; +int _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_closureRegistryIndex = + 0; +ffi.Pointer + _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_registerClosure( + void Function(ffi.Pointer, int) fn) { + final id = + ++_ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_closureRegistryIndex; + _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_closureRegistry[id] = fn; + return ffi.Pointer.fromAddress(id); +} + +void _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_closureTrampoline( + ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, + int arg1) => + _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_closureRegistry[ + block.ref.target.address]!(arg0, arg1); + +class ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong + extends _ObjCBlockBase { + ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong._( + ffi.Pointer<_ObjCBlock> id, Foundation lib, + {bool retain = false, bool release = true}) + : super._(id, lib, retain: retain, release: release); + + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong.fromFunctionPointer( + Foundation lib, + ffi.Pointer< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer arg0, + ffi.UnsignedLong arg1)>> + ptr) + : this._( + lib._newBlock1( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + ffi.UnsignedLong)>( + _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_fnPtrTrampoline) + .cast(), + ptr.cast()), + lib); + static ffi.Pointer? _cFuncTrampoline; + + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong.fromFunction( + Foundation lib, void Function(ffi.Pointer, int) fn) + : this._( + lib._newBlock1( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + ffi.UnsignedLong)>( + _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_closureTrampoline) + .cast(), + _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_registerClosure( + (ffi.Pointer arg0, int arg1) => + fn(arg0, arg1))), + lib); + static ffi.Pointer? _dartFuncTrampoline; + + /// Creates a listener block from a Dart function. + /// + /// This is based on FFI's NativeCallable.listener, and has the same + /// capabilities and limitations. This block can be invoked from any thread, + /// but only supports void functions, and is not run synchronously. See + /// NativeCallable.listener for more details. + /// + /// Note that unlike the default behavior of NativeCallable.listener, listener + /// blocks do not keep the isolate alive. + ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong.listener( + Foundation lib, void Function(ffi.Pointer, int) fn) + : this._( + lib._newBlock1( + (_dartFuncListenerTrampoline ??= ffi.NativeCallable< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + ffi.UnsignedLong)>.listener( + _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_closureTrampoline) + ..keepIsolateAlive = false) + .nativeFunction + .cast(), + _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_registerClosure( + (ffi.Pointer arg0, int arg1) => + fn(arg0, arg1))), + lib); + static ffi.NativeCallable< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, + ffi.UnsignedLong)>? _dartFuncListenerTrampoline; + + void call(ffi.Pointer arg0, int arg1) => _id.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, + ffi.UnsignedLong arg1)>>() + .asFunction< + void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, + int)>()(_id, arg0, arg1); +} + +void _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_fnPtrTrampoline( + ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0, int arg1) => + block.ref.target + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer arg0, ffi.UnsignedLong arg1)>>() + .asFunction, int)>()(arg0, arg1); +final _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_closureRegistry = + , int)>{}; +int _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_closureRegistryIndex = 0; +ffi.Pointer + _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_registerClosure( + void Function(ffi.Pointer, int) fn) { + final id = ++_ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_closureRegistryIndex; + _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_closureRegistry[id] = fn; + return ffi.Pointer.fromAddress(id); +} + +void _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_closureTrampoline( + ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0, int arg1) => + _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_closureRegistry[ + block.ref.target.address]!(arg0, arg1); + +class ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong extends _ObjCBlockBase { + ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong._( + ffi.Pointer<_ObjCBlock> id, Foundation lib, + {bool retain = false, bool release = true}) + : super._(id, lib, retain: retain, release: release); + + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong.fromFunctionPointer( + Foundation lib, + ffi.Pointer< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer arg0, ffi.UnsignedLong arg1)>> + ptr) + : this._( + lib._newBlock1( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, + ffi.Pointer, ffi.UnsignedLong)>( + _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_fnPtrTrampoline) + .cast(), + ptr.cast()), + lib); + static ffi.Pointer? _cFuncTrampoline; + + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong.fromFunction( + Foundation lib, void Function(ffi.Pointer, int) fn) + : this._( + lib._newBlock1( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, + ffi.Pointer, ffi.UnsignedLong)>( + _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_closureTrampoline) + .cast(), + _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_registerClosure( + (ffi.Pointer arg0, int arg1) => fn(arg0, arg1))), + lib); + static ffi.Pointer? _dartFuncTrampoline; + + /// Creates a listener block from a Dart function. + /// + /// This is based on FFI's NativeCallable.listener, and has the same + /// capabilities and limitations. This block can be invoked from any thread, + /// but only supports void functions, and is not run synchronously. See + /// NativeCallable.listener for more details. + /// + /// Note that unlike the default behavior of NativeCallable.listener, listener + /// blocks do not keep the isolate alive. + ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong.listener( + Foundation lib, void Function(ffi.Pointer, int) fn) + : this._( + lib._newBlock1( + (_dartFuncListenerTrampoline ??= ffi.NativeCallable< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, + ffi.Pointer, + ffi.UnsignedLong)>.listener( + _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_closureTrampoline) + ..keepIsolateAlive = false) + .nativeFunction + .cast(), + _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_registerClosure( + (ffi.Pointer arg0, int arg1) => fn(arg0, arg1))), + lib); + static ffi.NativeCallable< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, + ffi.UnsignedLong)>? _dartFuncListenerTrampoline; + + void call(ffi.Pointer arg0, int arg1) => _id.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0, ffi.UnsignedLong arg1)>>() + .asFunction< + void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, + int)>()(_id, arg0, arg1); +} + +class NSMutableString extends NSString { + NSMutableString._(ffi.Pointer id, Foundation lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSMutableString] that points to the same underlying object as [other]. + static NSMutableString castFrom(T other) { + return NSMutableString._(other._id, other._lib, + retain: true, release: true); + } + + /// Returns a [NSMutableString] that wraps the given raw object pointer. + static NSMutableString castFromPointer( + Foundation lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSMutableString._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSMutableString]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_NSMutableString1); + } + + /// NSMutableString primitive (funnel) method. See below for the other mutation methods. + void replaceCharactersInRange_withString_(NSRange range, NSString aString) { + _lib._objc_msgSend_189(_id, _lib._sel_replaceCharactersInRange_withString_1, + range, aString._id); + } + + /// Additional mutation methods. For subclassers these are all available implemented in terms of the primitive replaceCharactersInRange:range: method. + void insertString_atIndex_(NSString aString, int loc) { + _lib._objc_msgSend_190( + _id, _lib._sel_insertString_atIndex_1, aString._id, loc); + } + + void deleteCharactersInRange_(NSRange range) { + _lib._objc_msgSend_191(_id, _lib._sel_deleteCharactersInRange_1, range); + } + + void appendString_(NSString aString) { + _lib._objc_msgSend_76(_id, _lib._sel_appendString_1, aString._id); + } + + void appendFormat_(NSString format) { + _lib._objc_msgSend_76(_id, _lib._sel_appendFormat_1, format._id); + } + + void setString_(NSString aString) { + _lib._objc_msgSend_76(_id, _lib._sel_setString_1, aString._id); + } + + /// This method replaces all occurrences of the target string with the replacement string, in the specified range of the receiver string, and returns the number of replacements. NSBackwardsSearch means the search is done from the end of the range (the results could be different); NSAnchoredSearch means only anchored (but potentially multiple) instances will be replaced. NSLiteralSearch and NSCaseInsensitiveSearch also apply. NSNumericSearch is ignored. Use NSMakeRange(0, [receiver length]) to process whole string. If NSRegularExpressionSearch is specified, the replacement is treated as a template, as in the corresponding NSRegularExpression methods, and no other options can apply except NSCaseInsensitiveSearch and NSAnchoredSearch. + int replaceOccurrencesOfString_withString_options_range_( + NSString target, NSString replacement, int options, NSRange searchRange) { + return _lib._objc_msgSend_192( + _id, + _lib._sel_replaceOccurrencesOfString_withString_options_range_1, + target._id, + replacement._id, + options, + searchRange); + } + + /// Perform string transliteration. The transformation represented by transform is applied to the given range of string in place. Only the specified range will be modified, but the transform may look at portions of the string outside that range for context. If supplied, resultingRange is modified to reflect the new range corresponding to the original range. reverse indicates that the inverse transform should be used instead, if it exists. Attempting to use an invalid transform identifier or reverse an irreversible transform will return NO; otherwise YES is returned, even if no characters are actually transformed. You can pass one of the predefined transforms listed above (NSStringTransformLatinToKatakana, etc), or any valid ICU transform ID as defined in the ICU User Guide. Arbitrary ICU transform rules are not supported. + bool applyTransform_reverse_range_updatedRange_(NSString transform, + bool reverse, NSRange range, ffi.Pointer resultingRange) { + return _lib._objc_msgSend_193( + _id, + _lib._sel_applyTransform_reverse_range_updatedRange_1, + transform._id, + reverse, + range, + resultingRange); + } + + /// In addition to these two, NSMutableString responds properly to all NSString creation methods. + NSMutableString initWithCapacity_(int capacity) { + final _ret = + _lib._objc_msgSend_194(_id, _lib._sel_initWithCapacity_1, capacity); + return NSMutableString._(_ret, _lib, retain: true, release: true); + } + + static NSMutableString stringWithCapacity_(Foundation _lib, int capacity) { + final _ret = _lib._objc_msgSend_194( + _lib._class_NSMutableString1, _lib._sel_stringWithCapacity_1, capacity); + return NSMutableString._(_ret, _lib, retain: true, release: true); + } + + /// The initializers available to subclasses. See further below for additional init methods. + @override + NSMutableString init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSMutableString._(_ret, _lib, retain: true, release: true); + } + + @override + NSMutableString? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_37(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : NSMutableString._(_ret, _lib, retain: true, release: true); + } + + static ffi.Pointer getAvailableStringEncodings( + Foundation _lib) { + return _lib._objc_msgSend_146( + _lib._class_NSMutableString1, _lib._sel_availableStringEncodings1); + } + + static NSString localizedNameOfStringEncoding_( + Foundation _lib, int encoding) { + final _ret = _lib._objc_msgSend_106(_lib._class_NSMutableString1, + _lib._sel_localizedNameOfStringEncoding_1, encoding); + return NSString._(_ret, _lib, retain: true, release: true); + } + + /// Should be rarely used + static int getDefaultCStringEncoding(Foundation _lib) { + return _lib._objc_msgSend_12( + _lib._class_NSMutableString1, _lib._sel_defaultCStringEncoding1); + } + + /// "NoCopy" is a hint + @override + NSMutableString initWithCharactersNoCopy_length_freeWhenDone_( + ffi.Pointer characters, int length, bool freeBuffer) { + final _ret = _lib._objc_msgSend_157( + _id, + _lib._sel_initWithCharactersNoCopy_length_freeWhenDone_1, + characters, + length, + freeBuffer); + return NSMutableString._(_ret, _lib, retain: false, release: true); + } + + @override + NSMutableString initWithCharactersNoCopy_length_deallocator_( + ffi.Pointer chars, + int len, + ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong? deallocator) { + final _ret = _lib._objc_msgSend_158( + _id, + _lib._sel_initWithCharactersNoCopy_length_deallocator_1, + chars, + len, + deallocator?._id ?? ffi.nullptr); + return NSMutableString._(_ret, _lib, retain: false, release: true); + } + + @override + NSMutableString initWithCharacters_length_( + ffi.Pointer characters, int length) { + final _ret = _lib._objc_msgSend_159( + _id, _lib._sel_initWithCharacters_length_1, characters, length); + return NSMutableString._(_ret, _lib, retain: true, release: true); + } + + @override + NSMutableString? initWithUTF8String_( + ffi.Pointer nullTerminatedCString) { + final _ret = _lib._objc_msgSend_160( + _id, _lib._sel_initWithUTF8String_1, nullTerminatedCString); + return _ret.address == 0 + ? null + : NSMutableString._(_ret, _lib, retain: true, release: true); + } + + @override + NSMutableString initWithString_(NSString aString) { + final _ret = + _lib._objc_msgSend_18(_id, _lib._sel_initWithString_1, aString._id); + return NSMutableString._(_ret, _lib, retain: true, release: true); + } + + @override + NSMutableString initWithFormat_(NSString format) { + final _ret = + _lib._objc_msgSend_18(_id, _lib._sel_initWithFormat_1, format._id); + return NSMutableString._(_ret, _lib, retain: true, release: true); + } + + @override + NSMutableString initWithFormat_arguments_( + NSString format, ffi.Pointer argList) { + final _ret = _lib._objc_msgSend_161( + _id, _lib._sel_initWithFormat_arguments_1, format._id, argList); + return NSMutableString._(_ret, _lib, retain: true, release: true); + } + + @override + NSMutableString initWithFormat_locale_(NSString format, NSObject? locale) { + final _ret = _lib._objc_msgSend_162(_id, _lib._sel_initWithFormat_locale_1, + format._id, locale?._id ?? ffi.nullptr); + return NSMutableString._(_ret, _lib, retain: true, release: true); + } + + @override + NSMutableString initWithFormat_locale_arguments_( + NSString format, NSObject? locale, ffi.Pointer argList) { + final _ret = _lib._objc_msgSend_163( + _id, + _lib._sel_initWithFormat_locale_arguments_1, + format._id, + locale?._id ?? ffi.nullptr, + argList); + return NSMutableString._(_ret, _lib, retain: true, release: true); + } + + @override + NSMutableString? initWithValidatedFormat_validFormatSpecifiers_error_( + NSString format, + NSString validFormatSpecifiers, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_164( + _id, + _lib._sel_initWithValidatedFormat_validFormatSpecifiers_error_1, + format._id, + validFormatSpecifiers._id, + error); + return _ret.address == 0 + ? null + : NSMutableString._(_ret, _lib, retain: true, release: true); + } + + @override + NSMutableString? initWithValidatedFormat_validFormatSpecifiers_locale_error_( + NSString format, + NSString validFormatSpecifiers, + NSObject? locale, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_165( + _id, + _lib._sel_initWithValidatedFormat_validFormatSpecifiers_locale_error_1, + format._id, + validFormatSpecifiers._id, + locale?._id ?? ffi.nullptr, + error); + return _ret.address == 0 + ? null + : NSMutableString._(_ret, _lib, retain: true, release: true); + } + + @override + NSMutableString? + initWithValidatedFormat_validFormatSpecifiers_arguments_error_( + NSString format, + NSString validFormatSpecifiers, + ffi.Pointer argList, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_166( + _id, + _lib._sel_initWithValidatedFormat_validFormatSpecifiers_arguments_error_1, + format._id, + validFormatSpecifiers._id, + argList, + error); + return _ret.address == 0 + ? null + : NSMutableString._(_ret, _lib, retain: true, release: true); + } + + @override + NSMutableString? + initWithValidatedFormat_validFormatSpecifiers_locale_arguments_error_( + NSString format, + NSString validFormatSpecifiers, + NSObject? locale, + ffi.Pointer argList, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_167( + _id, + _lib._sel_initWithValidatedFormat_validFormatSpecifiers_locale_arguments_error_1, + format._id, + validFormatSpecifiers._id, + locale?._id ?? ffi.nullptr, + argList, + error); + return _ret.address == 0 + ? null + : NSMutableString._(_ret, _lib, retain: true, release: true); + } + + @override + NSMutableString? initWithData_encoding_(NSData data, int encoding) { + final _ret = _lib._objc_msgSend_168( + _id, _lib._sel_initWithData_encoding_1, data._id, encoding); + return _ret.address == 0 + ? null + : NSMutableString._(_ret, _lib, retain: true, release: true); + } + + @override + NSMutableString? initWithBytes_length_encoding_( + ffi.Pointer bytes, int len, int encoding) { + final _ret = _lib._objc_msgSend_169( + _id, _lib._sel_initWithBytes_length_encoding_1, bytes, len, encoding); + return _ret.address == 0 + ? null + : NSMutableString._(_ret, _lib, retain: true, release: true); + } + + /// "NoCopy" is a hint + @override + NSMutableString? initWithBytesNoCopy_length_encoding_freeWhenDone_( + ffi.Pointer bytes, int len, int encoding, bool freeBuffer) { + final _ret = _lib._objc_msgSend_170( + _id, + _lib._sel_initWithBytesNoCopy_length_encoding_freeWhenDone_1, + bytes, + len, + encoding, + freeBuffer); + return _ret.address == 0 + ? null + : NSMutableString._(_ret, _lib, retain: false, release: true); + } + + @override + NSMutableString? initWithBytesNoCopy_length_encoding_deallocator_( + ffi.Pointer bytes, + int len, + int encoding, + ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong? deallocator) { + final _ret = _lib._objc_msgSend_171( + _id, + _lib._sel_initWithBytesNoCopy_length_encoding_deallocator_1, + bytes, + len, + encoding, + deallocator?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSMutableString._(_ret, _lib, retain: false, release: true); + } + + static NSMutableString string(Foundation _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSMutableString1, _lib._sel_string1); + return NSMutableString._(_ret, _lib, retain: true, release: true); + } + + static NSMutableString stringWithString_(Foundation _lib, NSString string) { + final _ret = _lib._objc_msgSend_18( + _lib._class_NSMutableString1, _lib._sel_stringWithString_1, string._id); + return NSMutableString._(_ret, _lib, retain: true, release: true); + } + + static NSMutableString stringWithCharacters_length_( + Foundation _lib, ffi.Pointer characters, int length) { + final _ret = _lib._objc_msgSend_159(_lib._class_NSMutableString1, + _lib._sel_stringWithCharacters_length_1, characters, length); + return NSMutableString._(_ret, _lib, retain: true, release: true); + } + + static NSMutableString? stringWithUTF8String_( + Foundation _lib, ffi.Pointer nullTerminatedCString) { + final _ret = _lib._objc_msgSend_160(_lib._class_NSMutableString1, + _lib._sel_stringWithUTF8String_1, nullTerminatedCString); + return _ret.address == 0 + ? null + : NSMutableString._(_ret, _lib, retain: true, release: true); + } + + static NSMutableString stringWithFormat_(Foundation _lib, NSString format) { + final _ret = _lib._objc_msgSend_18( + _lib._class_NSMutableString1, _lib._sel_stringWithFormat_1, format._id); + return NSMutableString._(_ret, _lib, retain: true, release: true); + } + + static NSMutableString localizedStringWithFormat_( + Foundation _lib, NSString format) { + final _ret = _lib._objc_msgSend_18(_lib._class_NSMutableString1, + _lib._sel_localizedStringWithFormat_1, format._id); + return NSMutableString._(_ret, _lib, retain: true, release: true); + } + + static NSMutableString? + stringWithValidatedFormat_validFormatSpecifiers_error_( + Foundation _lib, + NSString format, + NSString validFormatSpecifiers, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_164( + _lib._class_NSMutableString1, + _lib._sel_stringWithValidatedFormat_validFormatSpecifiers_error_1, + format._id, + validFormatSpecifiers._id, + error); + return _ret.address == 0 + ? null + : NSMutableString._(_ret, _lib, retain: true, release: true); + } + + static NSMutableString? + localizedStringWithValidatedFormat_validFormatSpecifiers_error_( + Foundation _lib, + NSString format, + NSString validFormatSpecifiers, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_164( + _lib._class_NSMutableString1, + _lib._sel_localizedStringWithValidatedFormat_validFormatSpecifiers_error_1, + format._id, + validFormatSpecifiers._id, + error); + return _ret.address == 0 + ? null + : NSMutableString._(_ret, _lib, retain: true, release: true); + } + + @override + NSMutableString? initWithCString_encoding_( + ffi.Pointer nullTerminatedCString, int encoding) { + final _ret = _lib._objc_msgSend_172(_id, + _lib._sel_initWithCString_encoding_1, nullTerminatedCString, encoding); + return _ret.address == 0 + ? null + : NSMutableString._(_ret, _lib, retain: true, release: true); + } + + static NSMutableString? stringWithCString_encoding_( + Foundation _lib, ffi.Pointer cString, int enc) { + final _ret = _lib._objc_msgSend_172(_lib._class_NSMutableString1, + _lib._sel_stringWithCString_encoding_1, cString, enc); + return _ret.address == 0 + ? null + : NSMutableString._(_ret, _lib, retain: true, release: true); + } + + /// These use the specified encoding. If nil is returned, the optional error return indicates problem that was encountered (for instance, file system or encoding errors). + @override + NSMutableString? initWithContentsOfURL_encoding_error_( + NSURL url, int enc, ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_173(_id, + _lib._sel_initWithContentsOfURL_encoding_error_1, url._id, enc, error); + return _ret.address == 0 + ? null + : NSMutableString._(_ret, _lib, retain: true, release: true); + } + + @override + NSMutableString? initWithContentsOfFile_encoding_error_( + NSString path, int enc, ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_174( + _id, + _lib._sel_initWithContentsOfFile_encoding_error_1, + path._id, + enc, + error); + return _ret.address == 0 + ? null + : NSMutableString._(_ret, _lib, retain: true, release: true); + } + + static NSMutableString? stringWithContentsOfURL_encoding_error_( + Foundation _lib, + NSURL url, + int enc, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_173( + _lib._class_NSMutableString1, + _lib._sel_stringWithContentsOfURL_encoding_error_1, + url._id, + enc, + error); + return _ret.address == 0 + ? null + : NSMutableString._(_ret, _lib, retain: true, release: true); + } + + static NSMutableString? stringWithContentsOfFile_encoding_error_( + Foundation _lib, + NSString path, + int enc, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_174( + _lib._class_NSMutableString1, + _lib._sel_stringWithContentsOfFile_encoding_error_1, + path._id, + enc, + error); + return _ret.address == 0 + ? null + : NSMutableString._(_ret, _lib, retain: true, release: true); + } + + /// These try to determine the encoding, and return the encoding which was used. Note that these methods might get "smarter" in subsequent releases of the system, and use additional techniques for recognizing encodings. If nil is returned, the optional error return indicates problem that was encountered (for instance, file system or encoding errors). + @override + NSMutableString? initWithContentsOfURL_usedEncoding_error_( + NSURL url, + ffi.Pointer enc, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_175( + _id, + _lib._sel_initWithContentsOfURL_usedEncoding_error_1, + url._id, + enc, + error); + return _ret.address == 0 + ? null + : NSMutableString._(_ret, _lib, retain: true, release: true); + } + + @override + NSMutableString? initWithContentsOfFile_usedEncoding_error_( + NSString path, + ffi.Pointer enc, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_176( + _id, + _lib._sel_initWithContentsOfFile_usedEncoding_error_1, + path._id, + enc, + error); + return _ret.address == 0 + ? null + : NSMutableString._(_ret, _lib, retain: true, release: true); + } + + static NSMutableString? stringWithContentsOfURL_usedEncoding_error_( + Foundation _lib, + NSURL url, + ffi.Pointer enc, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_175( + _lib._class_NSMutableString1, + _lib._sel_stringWithContentsOfURL_usedEncoding_error_1, + url._id, + enc, + error); + return _ret.address == 0 + ? null + : NSMutableString._(_ret, _lib, retain: true, release: true); + } + + static NSMutableString? stringWithContentsOfFile_usedEncoding_error_( + Foundation _lib, + NSString path, + ffi.Pointer enc, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_176( + _lib._class_NSMutableString1, + _lib._sel_stringWithContentsOfFile_usedEncoding_error_1, + path._id, + enc, + error); + return _ret.address == 0 + ? null + : NSMutableString._(_ret, _lib, retain: true, release: true); + } + + /// This API is used to detect the string encoding of a given raw data. It can also do lossy string conversion. It converts the data to a string in the detected string encoding. The data object contains the raw bytes, and the option dictionary contains the hints and parameters for the analysis. The opts dictionary can be nil. If the string parameter is not NULL, the string created by the detected string encoding is returned. The lossy substitution string is emitted in the output string for characters that could not be converted when lossy conversion is enabled. The usedLossyConversion indicates if there is any lossy conversion in the resulted string. If no encoding can be detected, 0 is returned. + /// + /// The possible items for the dictionary are: + /// 1) an array of suggested string encodings (without specifying the 3rd option in this list, all string encodings are considered but the ones in the array will have a higher preference; moreover, the order of the encodings in the array is important: the first encoding has a higher preference than the second one in the array) + /// 2) an array of string encodings not to use (the string encodings in this list will not be considered at all) + /// 3) a boolean option indicating whether only the suggested string encodings are considered + /// 4) a boolean option indicating whether lossy is allowed + /// 5) an option that gives a specific string to substitude for mystery bytes + /// 6) the current user's language + /// 7) a boolean option indicating whether the data is generated by Windows + /// + /// If the values in the dictionary have wrong types (for example, the value of NSStringEncodingDetectionSuggestedEncodingsKey is not an array), an exception is thrown. + /// If the values in the dictionary are unknown (for example, the value in the array of suggested string encodings is not a valid encoding), the values will be ignored. + static int + stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_( + Foundation _lib, + NSData data, + NSObject? opts, + ffi.Pointer> string, + ffi.Pointer usedLossyConversion) { + return _lib._objc_msgSend_177( + _lib._class_NSMutableString1, + _lib._sel_stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_1, + data._id, + opts?._id ?? ffi.nullptr, + string, + usedLossyConversion); + } + + static NSObject? stringWithContentsOfFile_(Foundation _lib, NSString path) { + final _ret = _lib._objc_msgSend_25(_lib._class_NSMutableString1, + _lib._sel_stringWithContentsOfFile_1, path._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSObject? stringWithContentsOfURL_(Foundation _lib, NSURL url) { + final _ret = _lib._objc_msgSend_184(_lib._class_NSMutableString1, + _lib._sel_stringWithContentsOfURL_1, url._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSObject? stringWithCString_length_( + Foundation _lib, ffi.Pointer bytes, int length) { + final _ret = _lib._objc_msgSend_172(_lib._class_NSMutableString1, + _lib._sel_stringWithCString_length_1, bytes, length); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSObject? stringWithCString_( + Foundation _lib, ffi.Pointer bytes) { + final _ret = _lib._objc_msgSend_160( + _lib._class_NSMutableString1, _lib._sel_stringWithCString_1, bytes); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSMutableString new1(Foundation _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSMutableString1, _lib._sel_new1); + return NSMutableString._(_ret, _lib, retain: false, release: true); + } + + static NSMutableString allocWithZone_( + Foundation _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSMutableString1, _lib._sel_allocWithZone_1, zone); + return NSMutableString._(_ret, _lib, retain: false, release: true); + } + + static NSMutableString alloc(Foundation _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSMutableString1, _lib._sel_alloc1); + return NSMutableString._(_ret, _lib, retain: false, release: true); + } +} + +class NSSimpleCString extends NSString { + NSSimpleCString._(ffi.Pointer id, Foundation lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSSimpleCString] that points to the same underlying object as [other]. + static NSSimpleCString castFrom(T other) { + return NSSimpleCString._(other._id, other._lib, + retain: true, release: true); + } + + /// Returns a [NSSimpleCString] that wraps the given raw object pointer. + static NSSimpleCString castFromPointer( + Foundation lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSSimpleCString._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSSimpleCString]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_NSSimpleCString1); + } + + /// The initializers available to subclasses. See further below for additional init methods. + @override + NSSimpleCString init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + @override + NSSimpleCString? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_37(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + static ffi.Pointer getAvailableStringEncodings( + Foundation _lib) { + return _lib._objc_msgSend_146( + _lib._class_NSSimpleCString1, _lib._sel_availableStringEncodings1); + } + + static NSString localizedNameOfStringEncoding_( + Foundation _lib, int encoding) { + final _ret = _lib._objc_msgSend_106(_lib._class_NSSimpleCString1, + _lib._sel_localizedNameOfStringEncoding_1, encoding); + return NSString._(_ret, _lib, retain: true, release: true); + } + + /// Should be rarely used + static int getDefaultCStringEncoding(Foundation _lib) { + return _lib._objc_msgSend_12( + _lib._class_NSSimpleCString1, _lib._sel_defaultCStringEncoding1); + } + + /// "NoCopy" is a hint + @override + NSSimpleCString initWithCharactersNoCopy_length_freeWhenDone_( + ffi.Pointer characters, int length, bool freeBuffer) { + final _ret = _lib._objc_msgSend_157( + _id, + _lib._sel_initWithCharactersNoCopy_length_freeWhenDone_1, + characters, + length, + freeBuffer); + return NSSimpleCString._(_ret, _lib, retain: false, release: true); + } + + @override + NSSimpleCString initWithCharactersNoCopy_length_deallocator_( + ffi.Pointer chars, + int len, + ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong? deallocator) { + final _ret = _lib._objc_msgSend_158( + _id, + _lib._sel_initWithCharactersNoCopy_length_deallocator_1, + chars, + len, + deallocator?._id ?? ffi.nullptr); + return NSSimpleCString._(_ret, _lib, retain: false, release: true); + } + + @override + NSSimpleCString initWithCharacters_length_( + ffi.Pointer characters, int length) { + final _ret = _lib._objc_msgSend_159( + _id, _lib._sel_initWithCharacters_length_1, characters, length); + return NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + @override + NSSimpleCString? initWithUTF8String_( + ffi.Pointer nullTerminatedCString) { + final _ret = _lib._objc_msgSend_160( + _id, _lib._sel_initWithUTF8String_1, nullTerminatedCString); + return _ret.address == 0 + ? null + : NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + @override + NSSimpleCString initWithString_(NSString aString) { + final _ret = + _lib._objc_msgSend_18(_id, _lib._sel_initWithString_1, aString._id); + return NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + @override + NSSimpleCString initWithFormat_(NSString format) { + final _ret = + _lib._objc_msgSend_18(_id, _lib._sel_initWithFormat_1, format._id); + return NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + @override + NSSimpleCString initWithFormat_arguments_( + NSString format, ffi.Pointer argList) { + final _ret = _lib._objc_msgSend_161( + _id, _lib._sel_initWithFormat_arguments_1, format._id, argList); + return NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + @override + NSSimpleCString initWithFormat_locale_(NSString format, NSObject? locale) { + final _ret = _lib._objc_msgSend_162(_id, _lib._sel_initWithFormat_locale_1, + format._id, locale?._id ?? ffi.nullptr); + return NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + @override + NSSimpleCString initWithFormat_locale_arguments_( + NSString format, NSObject? locale, ffi.Pointer argList) { + final _ret = _lib._objc_msgSend_163( + _id, + _lib._sel_initWithFormat_locale_arguments_1, + format._id, + locale?._id ?? ffi.nullptr, + argList); + return NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + @override + NSSimpleCString? initWithValidatedFormat_validFormatSpecifiers_error_( + NSString format, + NSString validFormatSpecifiers, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_164( + _id, + _lib._sel_initWithValidatedFormat_validFormatSpecifiers_error_1, + format._id, + validFormatSpecifiers._id, + error); + return _ret.address == 0 + ? null + : NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + @override + NSSimpleCString? initWithValidatedFormat_validFormatSpecifiers_locale_error_( + NSString format, + NSString validFormatSpecifiers, + NSObject? locale, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_165( + _id, + _lib._sel_initWithValidatedFormat_validFormatSpecifiers_locale_error_1, + format._id, + validFormatSpecifiers._id, + locale?._id ?? ffi.nullptr, + error); + return _ret.address == 0 + ? null + : NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + @override + NSSimpleCString? + initWithValidatedFormat_validFormatSpecifiers_arguments_error_( + NSString format, + NSString validFormatSpecifiers, + ffi.Pointer argList, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_166( + _id, + _lib._sel_initWithValidatedFormat_validFormatSpecifiers_arguments_error_1, + format._id, + validFormatSpecifiers._id, + argList, + error); + return _ret.address == 0 + ? null + : NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + @override + NSSimpleCString? + initWithValidatedFormat_validFormatSpecifiers_locale_arguments_error_( + NSString format, + NSString validFormatSpecifiers, + NSObject? locale, + ffi.Pointer argList, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_167( + _id, + _lib._sel_initWithValidatedFormat_validFormatSpecifiers_locale_arguments_error_1, + format._id, + validFormatSpecifiers._id, + locale?._id ?? ffi.nullptr, + argList, + error); + return _ret.address == 0 + ? null + : NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + @override + NSSimpleCString? initWithData_encoding_(NSData data, int encoding) { + final _ret = _lib._objc_msgSend_168( + _id, _lib._sel_initWithData_encoding_1, data._id, encoding); + return _ret.address == 0 + ? null + : NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + @override + NSSimpleCString? initWithBytes_length_encoding_( + ffi.Pointer bytes, int len, int encoding) { + final _ret = _lib._objc_msgSend_169( + _id, _lib._sel_initWithBytes_length_encoding_1, bytes, len, encoding); + return _ret.address == 0 + ? null + : NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + /// "NoCopy" is a hint + @override + NSSimpleCString? initWithBytesNoCopy_length_encoding_freeWhenDone_( + ffi.Pointer bytes, int len, int encoding, bool freeBuffer) { + final _ret = _lib._objc_msgSend_170( + _id, + _lib._sel_initWithBytesNoCopy_length_encoding_freeWhenDone_1, + bytes, + len, + encoding, + freeBuffer); + return _ret.address == 0 + ? null + : NSSimpleCString._(_ret, _lib, retain: false, release: true); + } + + @override + NSSimpleCString? initWithBytesNoCopy_length_encoding_deallocator_( + ffi.Pointer bytes, + int len, + int encoding, + ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong? deallocator) { + final _ret = _lib._objc_msgSend_171( + _id, + _lib._sel_initWithBytesNoCopy_length_encoding_deallocator_1, + bytes, + len, + encoding, + deallocator?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSSimpleCString._(_ret, _lib, retain: false, release: true); + } + + static NSSimpleCString string(Foundation _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSSimpleCString1, _lib._sel_string1); + return NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + static NSSimpleCString stringWithString_(Foundation _lib, NSString string) { + final _ret = _lib._objc_msgSend_18( + _lib._class_NSSimpleCString1, _lib._sel_stringWithString_1, string._id); + return NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + static NSSimpleCString stringWithCharacters_length_( + Foundation _lib, ffi.Pointer characters, int length) { + final _ret = _lib._objc_msgSend_159(_lib._class_NSSimpleCString1, + _lib._sel_stringWithCharacters_length_1, characters, length); + return NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + static NSSimpleCString? stringWithUTF8String_( + Foundation _lib, ffi.Pointer nullTerminatedCString) { + final _ret = _lib._objc_msgSend_160(_lib._class_NSSimpleCString1, + _lib._sel_stringWithUTF8String_1, nullTerminatedCString); + return _ret.address == 0 + ? null + : NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + static NSSimpleCString stringWithFormat_(Foundation _lib, NSString format) { + final _ret = _lib._objc_msgSend_18( + _lib._class_NSSimpleCString1, _lib._sel_stringWithFormat_1, format._id); + return NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + static NSSimpleCString localizedStringWithFormat_( + Foundation _lib, NSString format) { + final _ret = _lib._objc_msgSend_18(_lib._class_NSSimpleCString1, + _lib._sel_localizedStringWithFormat_1, format._id); + return NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + static NSSimpleCString? + stringWithValidatedFormat_validFormatSpecifiers_error_( + Foundation _lib, + NSString format, + NSString validFormatSpecifiers, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_164( + _lib._class_NSSimpleCString1, + _lib._sel_stringWithValidatedFormat_validFormatSpecifiers_error_1, + format._id, + validFormatSpecifiers._id, + error); + return _ret.address == 0 + ? null + : NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + static NSSimpleCString? + localizedStringWithValidatedFormat_validFormatSpecifiers_error_( + Foundation _lib, + NSString format, + NSString validFormatSpecifiers, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_164( + _lib._class_NSSimpleCString1, + _lib._sel_localizedStringWithValidatedFormat_validFormatSpecifiers_error_1, + format._id, + validFormatSpecifiers._id, + error); + return _ret.address == 0 + ? null + : NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + @override + NSSimpleCString? initWithCString_encoding_( + ffi.Pointer nullTerminatedCString, int encoding) { + final _ret = _lib._objc_msgSend_172(_id, + _lib._sel_initWithCString_encoding_1, nullTerminatedCString, encoding); + return _ret.address == 0 + ? null + : NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + static NSSimpleCString? stringWithCString_encoding_( + Foundation _lib, ffi.Pointer cString, int enc) { + final _ret = _lib._objc_msgSend_172(_lib._class_NSSimpleCString1, + _lib._sel_stringWithCString_encoding_1, cString, enc); + return _ret.address == 0 + ? null + : NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + /// These use the specified encoding. If nil is returned, the optional error return indicates problem that was encountered (for instance, file system or encoding errors). + @override + NSSimpleCString? initWithContentsOfURL_encoding_error_( + NSURL url, int enc, ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_173(_id, + _lib._sel_initWithContentsOfURL_encoding_error_1, url._id, enc, error); + return _ret.address == 0 + ? null + : NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + @override + NSSimpleCString? initWithContentsOfFile_encoding_error_( + NSString path, int enc, ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_174( + _id, + _lib._sel_initWithContentsOfFile_encoding_error_1, + path._id, + enc, + error); + return _ret.address == 0 + ? null + : NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + static NSSimpleCString? stringWithContentsOfURL_encoding_error_( + Foundation _lib, + NSURL url, + int enc, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_173( + _lib._class_NSSimpleCString1, + _lib._sel_stringWithContentsOfURL_encoding_error_1, + url._id, + enc, + error); + return _ret.address == 0 + ? null + : NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + static NSSimpleCString? stringWithContentsOfFile_encoding_error_( + Foundation _lib, + NSString path, + int enc, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_174( + _lib._class_NSSimpleCString1, + _lib._sel_stringWithContentsOfFile_encoding_error_1, + path._id, + enc, + error); + return _ret.address == 0 + ? null + : NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + /// These try to determine the encoding, and return the encoding which was used. Note that these methods might get "smarter" in subsequent releases of the system, and use additional techniques for recognizing encodings. If nil is returned, the optional error return indicates problem that was encountered (for instance, file system or encoding errors). + @override + NSSimpleCString? initWithContentsOfURL_usedEncoding_error_( + NSURL url, + ffi.Pointer enc, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_175( + _id, + _lib._sel_initWithContentsOfURL_usedEncoding_error_1, + url._id, + enc, + error); + return _ret.address == 0 + ? null + : NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + @override + NSSimpleCString? initWithContentsOfFile_usedEncoding_error_( + NSString path, + ffi.Pointer enc, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_176( + _id, + _lib._sel_initWithContentsOfFile_usedEncoding_error_1, + path._id, + enc, + error); + return _ret.address == 0 + ? null + : NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + static NSSimpleCString? stringWithContentsOfURL_usedEncoding_error_( + Foundation _lib, + NSURL url, + ffi.Pointer enc, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_175( + _lib._class_NSSimpleCString1, + _lib._sel_stringWithContentsOfURL_usedEncoding_error_1, + url._id, + enc, + error); + return _ret.address == 0 + ? null + : NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + static NSSimpleCString? stringWithContentsOfFile_usedEncoding_error_( + Foundation _lib, + NSString path, + ffi.Pointer enc, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_176( + _lib._class_NSSimpleCString1, + _lib._sel_stringWithContentsOfFile_usedEncoding_error_1, + path._id, + enc, + error); + return _ret.address == 0 + ? null + : NSSimpleCString._(_ret, _lib, retain: true, release: true); + } + + /// This API is used to detect the string encoding of a given raw data. It can also do lossy string conversion. It converts the data to a string in the detected string encoding. The data object contains the raw bytes, and the option dictionary contains the hints and parameters for the analysis. The opts dictionary can be nil. If the string parameter is not NULL, the string created by the detected string encoding is returned. The lossy substitution string is emitted in the output string for characters that could not be converted when lossy conversion is enabled. The usedLossyConversion indicates if there is any lossy conversion in the resulted string. If no encoding can be detected, 0 is returned. + /// + /// The possible items for the dictionary are: + /// 1) an array of suggested string encodings (without specifying the 3rd option in this list, all string encodings are considered but the ones in the array will have a higher preference; moreover, the order of the encodings in the array is important: the first encoding has a higher preference than the second one in the array) + /// 2) an array of string encodings not to use (the string encodings in this list will not be considered at all) + /// 3) a boolean option indicating whether only the suggested string encodings are considered + /// 4) a boolean option indicating whether lossy is allowed + /// 5) an option that gives a specific string to substitude for mystery bytes + /// 6) the current user's language + /// 7) a boolean option indicating whether the data is generated by Windows + /// + /// If the values in the dictionary have wrong types (for example, the value of NSStringEncodingDetectionSuggestedEncodingsKey is not an array), an exception is thrown. + /// If the values in the dictionary are unknown (for example, the value in the array of suggested string encodings is not a valid encoding), the values will be ignored. + static int + stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_( + Foundation _lib, + NSData data, + NSObject? opts, + ffi.Pointer> string, + ffi.Pointer usedLossyConversion) { + return _lib._objc_msgSend_177( + _lib._class_NSSimpleCString1, + _lib._sel_stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_1, + data._id, + opts?._id ?? ffi.nullptr, + string, + usedLossyConversion); + } + + static NSObject? stringWithContentsOfFile_(Foundation _lib, NSString path) { + final _ret = _lib._objc_msgSend_25(_lib._class_NSSimpleCString1, + _lib._sel_stringWithContentsOfFile_1, path._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSObject? stringWithContentsOfURL_(Foundation _lib, NSURL url) { + final _ret = _lib._objc_msgSend_184(_lib._class_NSSimpleCString1, + _lib._sel_stringWithContentsOfURL_1, url._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSObject? stringWithCString_length_( + Foundation _lib, ffi.Pointer bytes, int length) { + final _ret = _lib._objc_msgSend_172(_lib._class_NSSimpleCString1, + _lib._sel_stringWithCString_length_1, bytes, length); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSObject? stringWithCString_( + Foundation _lib, ffi.Pointer bytes) { + final _ret = _lib._objc_msgSend_160( + _lib._class_NSSimpleCString1, _lib._sel_stringWithCString_1, bytes); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSSimpleCString new1(Foundation _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSSimpleCString1, _lib._sel_new1); + return NSSimpleCString._(_ret, _lib, retain: false, release: true); + } + + static NSSimpleCString allocWithZone_( + Foundation _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSSimpleCString1, _lib._sel_allocWithZone_1, zone); + return NSSimpleCString._(_ret, _lib, retain: false, release: true); + } + + static NSSimpleCString alloc(Foundation _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSSimpleCString1, _lib._sel_alloc1); + return NSSimpleCString._(_ret, _lib, retain: false, release: true); + } +} + +class NSConstantString extends NSSimpleCString { + NSConstantString._(ffi.Pointer id, Foundation lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSConstantString] that points to the same underlying object as [other]. + static NSConstantString castFrom(T other) { + return NSConstantString._(other._id, other._lib, + retain: true, release: true); + } + + /// Returns a [NSConstantString] that wraps the given raw object pointer. + static NSConstantString castFromPointer( + Foundation lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSConstantString._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSConstantString]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_NSConstantString1); + } + + /// The initializers available to subclasses. See further below for additional init methods. + @override + NSConstantString init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSConstantString._(_ret, _lib, retain: true, release: true); + } + + @override + NSConstantString? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_37(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : NSConstantString._(_ret, _lib, retain: true, release: true); + } + + static ffi.Pointer getAvailableStringEncodings( + Foundation _lib) { + return _lib._objc_msgSend_146( + _lib._class_NSConstantString1, _lib._sel_availableStringEncodings1); + } + + static NSString localizedNameOfStringEncoding_( + Foundation _lib, int encoding) { + final _ret = _lib._objc_msgSend_106(_lib._class_NSConstantString1, + _lib._sel_localizedNameOfStringEncoding_1, encoding); + return NSString._(_ret, _lib, retain: true, release: true); + } + + /// Should be rarely used + static int getDefaultCStringEncoding(Foundation _lib) { + return _lib._objc_msgSend_12( + _lib._class_NSConstantString1, _lib._sel_defaultCStringEncoding1); + } + + /// "NoCopy" is a hint + @override + NSConstantString initWithCharactersNoCopy_length_freeWhenDone_( + ffi.Pointer characters, int length, bool freeBuffer) { + final _ret = _lib._objc_msgSend_157( + _id, + _lib._sel_initWithCharactersNoCopy_length_freeWhenDone_1, + characters, + length, + freeBuffer); + return NSConstantString._(_ret, _lib, retain: false, release: true); + } + + @override + NSConstantString initWithCharactersNoCopy_length_deallocator_( + ffi.Pointer chars, + int len, + ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong? deallocator) { + final _ret = _lib._objc_msgSend_158( + _id, + _lib._sel_initWithCharactersNoCopy_length_deallocator_1, + chars, + len, + deallocator?._id ?? ffi.nullptr); + return NSConstantString._(_ret, _lib, retain: false, release: true); + } + + @override + NSConstantString initWithCharacters_length_( + ffi.Pointer characters, int length) { + final _ret = _lib._objc_msgSend_159( + _id, _lib._sel_initWithCharacters_length_1, characters, length); + return NSConstantString._(_ret, _lib, retain: true, release: true); + } + + @override + NSConstantString? initWithUTF8String_( + ffi.Pointer nullTerminatedCString) { + final _ret = _lib._objc_msgSend_160( + _id, _lib._sel_initWithUTF8String_1, nullTerminatedCString); + return _ret.address == 0 + ? null + : NSConstantString._(_ret, _lib, retain: true, release: true); + } + + @override + NSConstantString initWithString_(NSString aString) { + final _ret = + _lib._objc_msgSend_18(_id, _lib._sel_initWithString_1, aString._id); + return NSConstantString._(_ret, _lib, retain: true, release: true); + } + + @override + NSConstantString initWithFormat_(NSString format) { + final _ret = + _lib._objc_msgSend_18(_id, _lib._sel_initWithFormat_1, format._id); + return NSConstantString._(_ret, _lib, retain: true, release: true); + } + + @override + NSConstantString initWithFormat_arguments_( + NSString format, ffi.Pointer argList) { + final _ret = _lib._objc_msgSend_161( + _id, _lib._sel_initWithFormat_arguments_1, format._id, argList); + return NSConstantString._(_ret, _lib, retain: true, release: true); + } + + @override + NSConstantString initWithFormat_locale_(NSString format, NSObject? locale) { + final _ret = _lib._objc_msgSend_162(_id, _lib._sel_initWithFormat_locale_1, + format._id, locale?._id ?? ffi.nullptr); + return NSConstantString._(_ret, _lib, retain: true, release: true); + } + + @override + NSConstantString initWithFormat_locale_arguments_( + NSString format, NSObject? locale, ffi.Pointer argList) { + final _ret = _lib._objc_msgSend_163( + _id, + _lib._sel_initWithFormat_locale_arguments_1, + format._id, + locale?._id ?? ffi.nullptr, + argList); + return NSConstantString._(_ret, _lib, retain: true, release: true); + } + + @override + NSConstantString? initWithValidatedFormat_validFormatSpecifiers_error_( + NSString format, + NSString validFormatSpecifiers, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_164( + _id, + _lib._sel_initWithValidatedFormat_validFormatSpecifiers_error_1, + format._id, + validFormatSpecifiers._id, + error); + return _ret.address == 0 + ? null + : NSConstantString._(_ret, _lib, retain: true, release: true); + } + + @override + NSConstantString? initWithValidatedFormat_validFormatSpecifiers_locale_error_( + NSString format, + NSString validFormatSpecifiers, + NSObject? locale, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_165( + _id, + _lib._sel_initWithValidatedFormat_validFormatSpecifiers_locale_error_1, + format._id, + validFormatSpecifiers._id, + locale?._id ?? ffi.nullptr, + error); + return _ret.address == 0 + ? null + : NSConstantString._(_ret, _lib, retain: true, release: true); + } + + @override + NSConstantString? + initWithValidatedFormat_validFormatSpecifiers_arguments_error_( + NSString format, + NSString validFormatSpecifiers, + ffi.Pointer argList, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_166( + _id, + _lib._sel_initWithValidatedFormat_validFormatSpecifiers_arguments_error_1, + format._id, + validFormatSpecifiers._id, + argList, + error); + return _ret.address == 0 + ? null + : NSConstantString._(_ret, _lib, retain: true, release: true); + } + + @override + NSConstantString? + initWithValidatedFormat_validFormatSpecifiers_locale_arguments_error_( + NSString format, + NSString validFormatSpecifiers, + NSObject? locale, + ffi.Pointer argList, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_167( + _id, + _lib._sel_initWithValidatedFormat_validFormatSpecifiers_locale_arguments_error_1, + format._id, + validFormatSpecifiers._id, + locale?._id ?? ffi.nullptr, + argList, + error); + return _ret.address == 0 + ? null + : NSConstantString._(_ret, _lib, retain: true, release: true); + } + + @override + NSConstantString? initWithData_encoding_(NSData data, int encoding) { + final _ret = _lib._objc_msgSend_168( + _id, _lib._sel_initWithData_encoding_1, data._id, encoding); + return _ret.address == 0 + ? null + : NSConstantString._(_ret, _lib, retain: true, release: true); + } + + @override + NSConstantString? initWithBytes_length_encoding_( + ffi.Pointer bytes, int len, int encoding) { + final _ret = _lib._objc_msgSend_169( + _id, _lib._sel_initWithBytes_length_encoding_1, bytes, len, encoding); + return _ret.address == 0 + ? null + : NSConstantString._(_ret, _lib, retain: true, release: true); + } + + /// "NoCopy" is a hint + @override + NSConstantString? initWithBytesNoCopy_length_encoding_freeWhenDone_( + ffi.Pointer bytes, int len, int encoding, bool freeBuffer) { + final _ret = _lib._objc_msgSend_170( + _id, + _lib._sel_initWithBytesNoCopy_length_encoding_freeWhenDone_1, + bytes, + len, + encoding, + freeBuffer); + return _ret.address == 0 + ? null + : NSConstantString._(_ret, _lib, retain: false, release: true); + } + + @override + NSConstantString? initWithBytesNoCopy_length_encoding_deallocator_( + ffi.Pointer bytes, + int len, + int encoding, + ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong? deallocator) { + final _ret = _lib._objc_msgSend_171( + _id, + _lib._sel_initWithBytesNoCopy_length_encoding_deallocator_1, + bytes, + len, + encoding, + deallocator?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSConstantString._(_ret, _lib, retain: false, release: true); + } + + static NSConstantString string(Foundation _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSConstantString1, _lib._sel_string1); + return NSConstantString._(_ret, _lib, retain: true, release: true); + } + + static NSConstantString stringWithString_(Foundation _lib, NSString string) { + final _ret = _lib._objc_msgSend_18(_lib._class_NSConstantString1, + _lib._sel_stringWithString_1, string._id); + return NSConstantString._(_ret, _lib, retain: true, release: true); + } + + static NSConstantString stringWithCharacters_length_( + Foundation _lib, ffi.Pointer characters, int length) { + final _ret = _lib._objc_msgSend_159(_lib._class_NSConstantString1, + _lib._sel_stringWithCharacters_length_1, characters, length); + return NSConstantString._(_ret, _lib, retain: true, release: true); + } + + static NSConstantString? stringWithUTF8String_( + Foundation _lib, ffi.Pointer nullTerminatedCString) { + final _ret = _lib._objc_msgSend_160(_lib._class_NSConstantString1, + _lib._sel_stringWithUTF8String_1, nullTerminatedCString); + return _ret.address == 0 + ? null + : NSConstantString._(_ret, _lib, retain: true, release: true); + } + + static NSConstantString stringWithFormat_(Foundation _lib, NSString format) { + final _ret = _lib._objc_msgSend_18(_lib._class_NSConstantString1, + _lib._sel_stringWithFormat_1, format._id); + return NSConstantString._(_ret, _lib, retain: true, release: true); + } + + static NSConstantString localizedStringWithFormat_( + Foundation _lib, NSString format) { + final _ret = _lib._objc_msgSend_18(_lib._class_NSConstantString1, + _lib._sel_localizedStringWithFormat_1, format._id); + return NSConstantString._(_ret, _lib, retain: true, release: true); + } + + static NSConstantString? + stringWithValidatedFormat_validFormatSpecifiers_error_( + Foundation _lib, + NSString format, + NSString validFormatSpecifiers, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_164( + _lib._class_NSConstantString1, + _lib._sel_stringWithValidatedFormat_validFormatSpecifiers_error_1, + format._id, + validFormatSpecifiers._id, + error); + return _ret.address == 0 + ? null + : NSConstantString._(_ret, _lib, retain: true, release: true); + } + + static NSConstantString? + localizedStringWithValidatedFormat_validFormatSpecifiers_error_( + Foundation _lib, + NSString format, + NSString validFormatSpecifiers, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_164( + _lib._class_NSConstantString1, + _lib._sel_localizedStringWithValidatedFormat_validFormatSpecifiers_error_1, + format._id, + validFormatSpecifiers._id, + error); + return _ret.address == 0 + ? null + : NSConstantString._(_ret, _lib, retain: true, release: true); + } + + @override + NSConstantString? initWithCString_encoding_( + ffi.Pointer nullTerminatedCString, int encoding) { + final _ret = _lib._objc_msgSend_172(_id, + _lib._sel_initWithCString_encoding_1, nullTerminatedCString, encoding); + return _ret.address == 0 + ? null + : NSConstantString._(_ret, _lib, retain: true, release: true); + } + + static NSConstantString? stringWithCString_encoding_( + Foundation _lib, ffi.Pointer cString, int enc) { + final _ret = _lib._objc_msgSend_172(_lib._class_NSConstantString1, + _lib._sel_stringWithCString_encoding_1, cString, enc); + return _ret.address == 0 + ? null + : NSConstantString._(_ret, _lib, retain: true, release: true); + } + + /// These use the specified encoding. If nil is returned, the optional error return indicates problem that was encountered (for instance, file system or encoding errors). + @override + NSConstantString? initWithContentsOfURL_encoding_error_( + NSURL url, int enc, ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_173(_id, + _lib._sel_initWithContentsOfURL_encoding_error_1, url._id, enc, error); + return _ret.address == 0 + ? null + : NSConstantString._(_ret, _lib, retain: true, release: true); + } + + @override + NSConstantString? initWithContentsOfFile_encoding_error_( + NSString path, int enc, ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_174( + _id, + _lib._sel_initWithContentsOfFile_encoding_error_1, + path._id, + enc, + error); + return _ret.address == 0 + ? null + : NSConstantString._(_ret, _lib, retain: true, release: true); + } + + static NSConstantString? stringWithContentsOfURL_encoding_error_( + Foundation _lib, + NSURL url, + int enc, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_173( + _lib._class_NSConstantString1, + _lib._sel_stringWithContentsOfURL_encoding_error_1, + url._id, + enc, + error); + return _ret.address == 0 + ? null + : NSConstantString._(_ret, _lib, retain: true, release: true); + } + + static NSConstantString? stringWithContentsOfFile_encoding_error_( + Foundation _lib, + NSString path, + int enc, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_174( + _lib._class_NSConstantString1, + _lib._sel_stringWithContentsOfFile_encoding_error_1, + path._id, + enc, + error); + return _ret.address == 0 + ? null + : NSConstantString._(_ret, _lib, retain: true, release: true); + } + + /// These try to determine the encoding, and return the encoding which was used. Note that these methods might get "smarter" in subsequent releases of the system, and use additional techniques for recognizing encodings. If nil is returned, the optional error return indicates problem that was encountered (for instance, file system or encoding errors). + @override + NSConstantString? initWithContentsOfURL_usedEncoding_error_( + NSURL url, + ffi.Pointer enc, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_175( + _id, + _lib._sel_initWithContentsOfURL_usedEncoding_error_1, + url._id, + enc, + error); + return _ret.address == 0 + ? null + : NSConstantString._(_ret, _lib, retain: true, release: true); + } + + @override + NSConstantString? initWithContentsOfFile_usedEncoding_error_( + NSString path, + ffi.Pointer enc, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_176( + _id, + _lib._sel_initWithContentsOfFile_usedEncoding_error_1, + path._id, + enc, + error); + return _ret.address == 0 + ? null + : NSConstantString._(_ret, _lib, retain: true, release: true); + } + + static NSConstantString? stringWithContentsOfURL_usedEncoding_error_( + Foundation _lib, + NSURL url, + ffi.Pointer enc, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_175( + _lib._class_NSConstantString1, + _lib._sel_stringWithContentsOfURL_usedEncoding_error_1, + url._id, + enc, + error); + return _ret.address == 0 + ? null + : NSConstantString._(_ret, _lib, retain: true, release: true); + } + + static NSConstantString? stringWithContentsOfFile_usedEncoding_error_( + Foundation _lib, + NSString path, + ffi.Pointer enc, + ffi.Pointer> error) { + final _ret = _lib._objc_msgSend_176( + _lib._class_NSConstantString1, + _lib._sel_stringWithContentsOfFile_usedEncoding_error_1, + path._id, + enc, + error); + return _ret.address == 0 + ? null + : NSConstantString._(_ret, _lib, retain: true, release: true); + } + + /// This API is used to detect the string encoding of a given raw data. It can also do lossy string conversion. It converts the data to a string in the detected string encoding. The data object contains the raw bytes, and the option dictionary contains the hints and parameters for the analysis. The opts dictionary can be nil. If the string parameter is not NULL, the string created by the detected string encoding is returned. The lossy substitution string is emitted in the output string for characters that could not be converted when lossy conversion is enabled. The usedLossyConversion indicates if there is any lossy conversion in the resulted string. If no encoding can be detected, 0 is returned. + /// + /// The possible items for the dictionary are: + /// 1) an array of suggested string encodings (without specifying the 3rd option in this list, all string encodings are considered but the ones in the array will have a higher preference; moreover, the order of the encodings in the array is important: the first encoding has a higher preference than the second one in the array) + /// 2) an array of string encodings not to use (the string encodings in this list will not be considered at all) + /// 3) a boolean option indicating whether only the suggested string encodings are considered + /// 4) a boolean option indicating whether lossy is allowed + /// 5) an option that gives a specific string to substitude for mystery bytes + /// 6) the current user's language + /// 7) a boolean option indicating whether the data is generated by Windows + /// + /// If the values in the dictionary have wrong types (for example, the value of NSStringEncodingDetectionSuggestedEncodingsKey is not an array), an exception is thrown. + /// If the values in the dictionary are unknown (for example, the value in the array of suggested string encodings is not a valid encoding), the values will be ignored. + static int + stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_( + Foundation _lib, + NSData data, + NSObject? opts, + ffi.Pointer> string, + ffi.Pointer usedLossyConversion) { + return _lib._objc_msgSend_177( + _lib._class_NSConstantString1, + _lib._sel_stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_1, + data._id, + opts?._id ?? ffi.nullptr, + string, + usedLossyConversion); + } + + static NSObject? stringWithContentsOfFile_(Foundation _lib, NSString path) { + final _ret = _lib._objc_msgSend_25(_lib._class_NSConstantString1, + _lib._sel_stringWithContentsOfFile_1, path._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSObject? stringWithContentsOfURL_(Foundation _lib, NSURL url) { + final _ret = _lib._objc_msgSend_184(_lib._class_NSConstantString1, + _lib._sel_stringWithContentsOfURL_1, url._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSObject? stringWithCString_length_( + Foundation _lib, ffi.Pointer bytes, int length) { + final _ret = _lib._objc_msgSend_172(_lib._class_NSConstantString1, + _lib._sel_stringWithCString_length_1, bytes, length); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSObject? stringWithCString_( + Foundation _lib, ffi.Pointer bytes) { + final _ret = _lib._objc_msgSend_160( + _lib._class_NSConstantString1, _lib._sel_stringWithCString_1, bytes); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSConstantString new1(Foundation _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSConstantString1, _lib._sel_new1); + return NSConstantString._(_ret, _lib, retain: false, release: true); + } + + static NSConstantString allocWithZone_( + Foundation _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSConstantString1, _lib._sel_allocWithZone_1, zone); + return NSConstantString._(_ret, _lib, retain: false, release: true); + } + + static NSConstantString alloc(Foundation _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSConstantString1, _lib._sel_alloc1); + return NSConstantString._(_ret, _lib, retain: false, release: true); + } +} + +/// NSURLQueryItem encapsulates a single query name-value pair. The name and value strings of a query name-value pair are not percent encoded. For use with the NSURLComponents queryItems property. +class NSURLQueryItem extends NSObject { + NSURLQueryItem._(ffi.Pointer id, Foundation lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSURLQueryItem] that points to the same underlying object as [other]. + static NSURLQueryItem castFrom(T other) { + return NSURLQueryItem._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSURLQueryItem] that wraps the given raw object pointer. + static NSURLQueryItem castFromPointer( + Foundation lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSURLQueryItem._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSURLQueryItem]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_NSURLQueryItem1); + } + + NSURLQueryItem initWithName_value_(NSString name, NSString? value) { + final _ret = _lib._objc_msgSend_195(_id, _lib._sel_initWithName_value_1, + name._id, value?._id ?? ffi.nullptr); + return NSURLQueryItem._(_ret, _lib, retain: true, release: true); + } + + static NSURLQueryItem queryItemWithName_value_( + Foundation _lib, NSString name, NSString? value) { + final _ret = _lib._objc_msgSend_195( + _lib._class_NSURLQueryItem1, + _lib._sel_queryItemWithName_value_1, + name._id, + value?._id ?? ffi.nullptr); + return NSURLQueryItem._(_ret, _lib, retain: true, release: true); + } + + NSString get name { + final _ret = _lib._objc_msgSend_13(_id, _lib._sel_name1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get value { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_value1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + @override + NSURLQueryItem init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSURLQueryItem._(_ret, _lib, retain: true, release: true); + } + + static NSURLQueryItem new1(Foundation _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSURLQueryItem1, _lib._sel_new1); + return NSURLQueryItem._(_ret, _lib, retain: false, release: true); + } + + static NSURLQueryItem allocWithZone_( + Foundation _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSURLQueryItem1, _lib._sel_allocWithZone_1, zone); + return NSURLQueryItem._(_ret, _lib, retain: false, release: true); + } + + static NSURLQueryItem alloc(Foundation _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSURLQueryItem1, _lib._sel_alloc1); + return NSURLQueryItem._(_ret, _lib, retain: false, release: true); + } +} + +class NSURLComponents extends NSObject { + NSURLComponents._(ffi.Pointer id, Foundation lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSURLComponents] that points to the same underlying object as [other]. + static NSURLComponents castFrom(T other) { + return NSURLComponents._(other._id, other._lib, + retain: true, release: true); + } + + /// Returns a [NSURLComponents] that wraps the given raw object pointer. + static NSURLComponents castFromPointer( + Foundation lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSURLComponents._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSURLComponents]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_NSURLComponents1); + } + + /// Initialize a NSURLComponents with all components undefined. Designated initializer. + @override + NSURLComponents init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSURLComponents._(_ret, _lib, retain: true, release: true); + } + + /// Initialize a NSURLComponents with the components of a URL. If resolvingAgainstBaseURL is YES and url is a relative URL, the components of [url absoluteURL] are used. If the url string from the NSURL is malformed, nil is returned. + NSURLComponents? initWithURL_resolvingAgainstBaseURL_( + NSURL url, bool resolve) { + final _ret = _lib._objc_msgSend_196( + _id, _lib._sel_initWithURL_resolvingAgainstBaseURL_1, url._id, resolve); + return _ret.address == 0 + ? null + : NSURLComponents._(_ret, _lib, retain: true, release: true); + } + + /// Initializes and returns a newly created NSURLComponents with the components of a URL. If resolvingAgainstBaseURL is YES and url is a relative URL, the components of [url absoluteURL] are used. If the url string from the NSURL is malformed, nil is returned. + static NSURLComponents? componentsWithURL_resolvingAgainstBaseURL_( + Foundation _lib, NSURL url, bool resolve) { + final _ret = _lib._objc_msgSend_196( + _lib._class_NSURLComponents1, + _lib._sel_componentsWithURL_resolvingAgainstBaseURL_1, + url._id, + resolve); + return _ret.address == 0 + ? null + : NSURLComponents._(_ret, _lib, retain: true, release: true); + } + + /// Initialize a NSURLComponents with a URL string. If the URLString is malformed, nil is returned. + NSURLComponents? initWithString_(NSString URLString) { + final _ret = + _lib._objc_msgSend_25(_id, _lib._sel_initWithString_1, URLString._id); + return _ret.address == 0 + ? null + : NSURLComponents._(_ret, _lib, retain: true, release: true); + } + + /// Initializes and returns a newly created NSURLComponents with a URL string. If the URLString is malformed, nil is returned. + static NSURLComponents? componentsWithString_( + Foundation _lib, NSString URLString) { + final _ret = _lib._objc_msgSend_25(_lib._class_NSURLComponents1, + _lib._sel_componentsWithString_1, URLString._id); + return _ret.address == 0 + ? null + : NSURLComponents._(_ret, _lib, retain: true, release: true); + } + + /// Initializes an `NSURLComponents` with a URL string and the option to add (or skip) IDNA- and percent-encoding of invalid characters. + /// If `encodingInvalidCharacters` is false, and the URL string is invalid according to RFC 3986, `nil` is returned. + /// If `encodingInvalidCharacters` is true, `NSURLComponents` will try to encode the string to create a valid URL. + /// If the URL string is still invalid after encoding, `nil` is returned. + /// + /// - Parameter URLString: The URL string. + /// - Parameter encodingInvalidCharacters: True if `NSURLComponents` should try to encode an invalid URL string, false otherwise. + /// - Returns: An `NSURLComponents` instance for a valid URL, or `nil` if the URL is invalid. + NSURLComponents? initWithString_encodingInvalidCharacters_( + NSString URLString, bool encodingInvalidCharacters) { + final _ret = _lib._objc_msgSend_27( + _id, + _lib._sel_initWithString_encodingInvalidCharacters_1, + URLString._id, + encodingInvalidCharacters); + return _ret.address == 0 + ? null + : NSURLComponents._(_ret, _lib, retain: true, release: true); + } + + /// Initializes and returns a newly created `NSURLComponents` with a URL string and the option to add (or skip) IDNA- and percent-encoding of invalid characters. + /// If `encodingInvalidCharacters` is false, and the URL string is invalid according to RFC 3986, `nil` is returned. + /// If `encodingInvalidCharacters` is true, `NSURLComponents` will try to encode the string to create a valid URL. + /// If the URL string is still invalid after encoding, nil is returned. + /// + /// - Parameter URLString: The URL string. + /// - Parameter encodingInvalidCharacters: True if `NSURLComponents` should try to encode an invalid URL string, false otherwise. + /// - Returns: An `NSURLComponents` instance for a valid URL, or `nil` if the URL is invalid. + static NSURLComponents? componentsWithString_encodingInvalidCharacters_( + Foundation _lib, NSString URLString, bool encodingInvalidCharacters) { + final _ret = _lib._objc_msgSend_27( + _lib._class_NSURLComponents1, + _lib._sel_componentsWithString_encodingInvalidCharacters_1, + URLString._id, + encodingInvalidCharacters); + return _ret.address == 0 + ? null + : NSURLComponents._(_ret, _lib, retain: true, release: true); + } + + /// Returns a URL created from the NSURLComponents. If the NSURLComponents has an authority component (user, password, host or port) and a path component, then the path must either begin with "/" or be an empty string. If the NSURLComponents does not have an authority component (user, password, host or port) and has a path component, the path component must not start with "//". If those requirements are not met, nil is returned. + NSURL? get URL { + final _ret = _lib._objc_msgSend_33(_id, _lib._sel_URL1); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Returns a URL created from the NSURLComponents relative to a base URL. If the NSURLComponents has an authority component (user, password, host or port) and a path component, then the path must either begin with "/" or be an empty string. If the NSURLComponents does not have an authority component (user, password, host or port) and has a path component, the path component must not start with "//". If those requirements are not met, nil is returned. + NSURL? URLRelativeToURL_(NSURL? baseURL) { + final _ret = _lib._objc_msgSend_197( + _id, _lib._sel_URLRelativeToURL_1, baseURL?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSURL._(_ret, _lib, retain: true, release: true); + } + + /// Returns a URL string created from the NSURLComponents. If the NSURLComponents has an authority component (user, password, host or port) and a path component, then the path must either begin with "/" or be an empty string. If the NSURLComponents does not have an authority component (user, password, host or port) and has a path component, the path component must not start with "//". If those requirements are not met, nil is returned. + NSString? get string { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_string1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + /// Attempting to set the scheme with an invalid scheme string will cause an exception. + NSString? get scheme { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_scheme1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + /// Attempting to set the scheme with an invalid scheme string will cause an exception. + set scheme(NSString? value) { + return _lib._objc_msgSend_198( + _id, _lib._sel_setScheme_1, value?._id ?? ffi.nullptr); + } + + NSString? get user { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_user1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + set user(NSString? value) { + return _lib._objc_msgSend_198( + _id, _lib._sel_setUser_1, value?._id ?? ffi.nullptr); + } + + NSString? get password { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_password1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + set password(NSString? value) { + return _lib._objc_msgSend_198( + _id, _lib._sel_setPassword_1, value?._id ?? ffi.nullptr); + } + + NSString? get host { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_host1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + set host(NSString? value) { + return _lib._objc_msgSend_198( + _id, _lib._sel_setHost_1, value?._id ?? ffi.nullptr); + } + + /// Attempting to set a negative port number will cause an exception. + NSNumber? get port { + final _ret = _lib._objc_msgSend_65(_id, _lib._sel_port1); + return _ret.address == 0 + ? null + : NSNumber._(_ret, _lib, retain: true, release: true); + } + + /// Attempting to set a negative port number will cause an exception. + set port(NSNumber? value) { + return _lib._objc_msgSend_199( + _id, _lib._sel_setPort_1, value?._id ?? ffi.nullptr); + } + + NSString? get path { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_path1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + set path(NSString? value) { + return _lib._objc_msgSend_198( + _id, _lib._sel_setPath_1, value?._id ?? ffi.nullptr); + } + + NSString? get query { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_query1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + set query(NSString? value) { + return _lib._objc_msgSend_198( + _id, _lib._sel_setQuery_1, value?._id ?? ffi.nullptr); + } + + NSString? get fragment { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_fragment1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + set fragment(NSString? value) { + return _lib._objc_msgSend_198( + _id, _lib._sel_setFragment_1, value?._id ?? ffi.nullptr); + } + + /// Getting these properties retains any percent encoding these components may have. Setting these properties assumes the component string is already correctly percent encoded. Attempting to set an incorrectly percent encoded string will cause an exception. Although ';' is a legal path character, it is recommended that it be percent-encoded for best compatibility with NSURL (-stringByAddingPercentEncodingWithAllowedCharacters: will percent-encode any ';' characters if you pass the URLPathAllowedCharacterSet). + NSString? get percentEncodedUser { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_percentEncodedUser1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + /// Getting these properties retains any percent encoding these components may have. Setting these properties assumes the component string is already correctly percent encoded. Attempting to set an incorrectly percent encoded string will cause an exception. Although ';' is a legal path character, it is recommended that it be percent-encoded for best compatibility with NSURL (-stringByAddingPercentEncodingWithAllowedCharacters: will percent-encode any ';' characters if you pass the URLPathAllowedCharacterSet). + set percentEncodedUser(NSString? value) { + return _lib._objc_msgSend_198( + _id, _lib._sel_setPercentEncodedUser_1, value?._id ?? ffi.nullptr); + } + + NSString? get percentEncodedPassword { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_percentEncodedPassword1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + set percentEncodedPassword(NSString? value) { + return _lib._objc_msgSend_198( + _id, _lib._sel_setPercentEncodedPassword_1, value?._id ?? ffi.nullptr); + } + + NSString? get percentEncodedHost { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_percentEncodedHost1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + set percentEncodedHost(NSString? value) { + return _lib._objc_msgSend_198( + _id, _lib._sel_setPercentEncodedHost_1, value?._id ?? ffi.nullptr); + } + + NSString? get percentEncodedPath { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_percentEncodedPath1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + set percentEncodedPath(NSString? value) { + return _lib._objc_msgSend_198( + _id, _lib._sel_setPercentEncodedPath_1, value?._id ?? ffi.nullptr); + } + + NSString? get percentEncodedQuery { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_percentEncodedQuery1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + set percentEncodedQuery(NSString? value) { + return _lib._objc_msgSend_198( + _id, _lib._sel_setPercentEncodedQuery_1, value?._id ?? ffi.nullptr); + } + + NSString? get percentEncodedFragment { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_percentEncodedFragment1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + set percentEncodedFragment(NSString? value) { + return _lib._objc_msgSend_198( + _id, _lib._sel_setPercentEncodedFragment_1, value?._id ?? ffi.nullptr); + } + + NSString? get encodedHost { + final _ret = _lib._objc_msgSend_32(_id, _lib._sel_encodedHost1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + set encodedHost(NSString? value) { + return _lib._objc_msgSend_198( + _id, _lib._sel_setEncodedHost_1, value?._id ?? ffi.nullptr); + } + + /// These properties return the character range of a component in the URL string returned by -[NSURLComponents string]. If the component does not exist in the NSURLComponents object, {NSNotFound, 0} is returned. Note: Zero length components are legal. For example, the URL string "scheme://:@/?#" has a zero length user, password, host, query and fragment; the URL strings "scheme:" and "" both have a zero length path. + void getRangeOfScheme(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_200_stret(stret, _id, _lib._sel_rangeOfScheme1) + : stret.ref = _lib._objc_msgSend_200(_id, _lib._sel_rangeOfScheme1); + } + + void getRangeOfUser(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_200_stret(stret, _id, _lib._sel_rangeOfUser1) + : stret.ref = _lib._objc_msgSend_200(_id, _lib._sel_rangeOfUser1); + } + + void getRangeOfPassword(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_200_stret(stret, _id, _lib._sel_rangeOfPassword1) + : stret.ref = _lib._objc_msgSend_200(_id, _lib._sel_rangeOfPassword1); + } + + void getRangeOfHost(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_200_stret(stret, _id, _lib._sel_rangeOfHost1) + : stret.ref = _lib._objc_msgSend_200(_id, _lib._sel_rangeOfHost1); + } + + void getRangeOfPort(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_200_stret(stret, _id, _lib._sel_rangeOfPort1) + : stret.ref = _lib._objc_msgSend_200(_id, _lib._sel_rangeOfPort1); + } + + void getRangeOfPath(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_200_stret(stret, _id, _lib._sel_rangeOfPath1) + : stret.ref = _lib._objc_msgSend_200(_id, _lib._sel_rangeOfPath1); + } + + void getRangeOfQuery(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_200_stret(stret, _id, _lib._sel_rangeOfQuery1) + : stret.ref = _lib._objc_msgSend_200(_id, _lib._sel_rangeOfQuery1); + } + + void getRangeOfFragment(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_200_stret(stret, _id, _lib._sel_rangeOfFragment1) + : stret.ref = _lib._objc_msgSend_200(_id, _lib._sel_rangeOfFragment1); + } + + /// The query component as an array of NSURLQueryItems for this NSURLComponents. + /// + /// Each NSURLQueryItem represents a single key-value pair, + /// + /// Note that a name may appear more than once in a single query string, so the name values are not guaranteed to be unique. If the NSURLComponents has an empty query component, returns an empty array. If the NSURLComponents has no query component, returns nil. + /// + /// The queryItems getter returns an array of NSURLQueryItems in the order in which they appear in the original query string. Any percent-encoding in a NSURLQueryItem name or value is removed. + /// + /// The queryItems setter combines an array containing any number of NSURLQueryItems, each of which represents a single key-value pair, into a query string and sets the NSURLComponents query property. If the NSURLQueryItems name or value strings contain any characters not allowed in a URL's query component, those characters are percent-encoded. In addition, any '&' and '=' characters in a NSURLQueryItem name are percent-encoded. Passing an empty array sets the query component of the NSURLComponents to an empty string. Passing nil removes the query component of the NSURLComponents. + /// + /// - note: If a NSURLQueryItem name-value pair is empty (i.e. the query string starts with '&', ends with '&', or has "&&" within it), you get a NSURLQueryItem with a zero-length name and a nil value. If a NSURLQueryItem name-value pair has nothing before the equals sign, you get a zero-length name. If a NSURLQueryItem name-value pair has nothing after the equals sign, you get a zero-length value. If a NSURLQueryItem name-value pair has no equals sign, the NSURLQueryItem name-value pair string is the name and you get a nil value. + NSObject? get queryItems { + final _ret = _lib._objc_msgSend_69(_id, _lib._sel_queryItems1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + /// The query component as an array of NSURLQueryItems for this NSURLComponents. + /// + /// Each NSURLQueryItem represents a single key-value pair, + /// + /// Note that a name may appear more than once in a single query string, so the name values are not guaranteed to be unique. If the NSURLComponents has an empty query component, returns an empty array. If the NSURLComponents has no query component, returns nil. + /// + /// The queryItems getter returns an array of NSURLQueryItems in the order in which they appear in the original query string. Any percent-encoding in a NSURLQueryItem name or value is removed. + /// + /// The queryItems setter combines an array containing any number of NSURLQueryItems, each of which represents a single key-value pair, into a query string and sets the NSURLComponents query property. If the NSURLQueryItems name or value strings contain any characters not allowed in a URL's query component, those characters are percent-encoded. In addition, any '&' and '=' characters in a NSURLQueryItem name are percent-encoded. Passing an empty array sets the query component of the NSURLComponents to an empty string. Passing nil removes the query component of the NSURLComponents. + /// + /// - note: If a NSURLQueryItem name-value pair is empty (i.e. the query string starts with '&', ends with '&', or has "&&" within it), you get a NSURLQueryItem with a zero-length name and a nil value. If a NSURLQueryItem name-value pair has nothing before the equals sign, you get a zero-length name. If a NSURLQueryItem name-value pair has nothing after the equals sign, you get a zero-length value. If a NSURLQueryItem name-value pair has no equals sign, the NSURLQueryItem name-value pair string is the name and you get a nil value. + set queryItems(NSObject? value) { + return _lib._objc_msgSend_201( + _id, _lib._sel_setQueryItems_1, value?._id ?? ffi.nullptr); + } + + /// The percentEncodedQueryItems getter returns an array of NSURLQueryItems in the order in which they appear in the original query string. Any percent-encoding in a NSURLQueryItem name or value is retained. + /// + /// The percentEncodedQueryItems setter combines an array containing any number of NSURLQueryItems, each of which represents a single key-value pair, into a query string and sets the NSURLComponents query property. This property assumes the NSURLQueryItem names and values are already correctly percent-encoded, and that the NSURLQueryItem names do not contain the query item delimiter characters '&' and '='. Attempting to set an incorrectly percent-encoded NSURLQueryItem or a NSURLQueryItem name with the query item delimiter characters '&' and '=' will cause an exception. + NSObject? get percentEncodedQueryItems { + final _ret = + _lib._objc_msgSend_69(_id, _lib._sel_percentEncodedQueryItems1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + /// The percentEncodedQueryItems getter returns an array of NSURLQueryItems in the order in which they appear in the original query string. Any percent-encoding in a NSURLQueryItem name or value is retained. + /// + /// The percentEncodedQueryItems setter combines an array containing any number of NSURLQueryItems, each of which represents a single key-value pair, into a query string and sets the NSURLComponents query property. This property assumes the NSURLQueryItem names and values are already correctly percent-encoded, and that the NSURLQueryItem names do not contain the query item delimiter characters '&' and '='. Attempting to set an incorrectly percent-encoded NSURLQueryItem or a NSURLQueryItem name with the query item delimiter characters '&' and '=' will cause an exception. + set percentEncodedQueryItems(NSObject? value) { + return _lib._objc_msgSend_201(_id, _lib._sel_setPercentEncodedQueryItems_1, + value?._id ?? ffi.nullptr); + } + + static NSURLComponents new1(Foundation _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSURLComponents1, _lib._sel_new1); + return NSURLComponents._(_ret, _lib, retain: false, release: true); + } + + static NSURLComponents allocWithZone_( + Foundation _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSURLComponents1, _lib._sel_allocWithZone_1, zone); + return NSURLComponents._(_ret, _lib, retain: false, release: true); + } + + static NSURLComponents alloc(Foundation _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSURLComponents1, _lib._sel_alloc1); + return NSURLComponents._(_ret, _lib, retain: false, release: true); + } +} + +/// NSFileSecurity encapsulates a file system object's security information. NSFileSecurity and CFFileSecurity are toll-free bridged. Use the CFFileSecurity API for access to the low-level file security properties encapsulated by NSFileSecurity. +class NSFileSecurity extends NSObject { + NSFileSecurity._(ffi.Pointer id, Foundation lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSFileSecurity] that points to the same underlying object as [other]. + static NSFileSecurity castFrom(T other) { + return NSFileSecurity._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSFileSecurity] that wraps the given raw object pointer. + static NSFileSecurity castFromPointer( + Foundation lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSFileSecurity._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSFileSecurity]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_NSFileSecurity1); + } + + NSFileSecurity? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_37(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : NSFileSecurity._(_ret, _lib, retain: true, release: true); + } + + @override + NSFileSecurity init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSFileSecurity._(_ret, _lib, retain: true, release: true); + } + + static NSFileSecurity new1(Foundation _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSFileSecurity1, _lib._sel_new1); + return NSFileSecurity._(_ret, _lib, retain: false, release: true); + } + + static NSFileSecurity allocWithZone_( + Foundation _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSFileSecurity1, _lib._sel_allocWithZone_1, zone); + return NSFileSecurity._(_ret, _lib, retain: false, release: true); + } + + static NSFileSecurity alloc(Foundation _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSFileSecurity1, _lib._sel_alloc1); + return NSFileSecurity._(_ret, _lib, retain: false, release: true); + } +} diff --git a/packages/celest_auth/lib/src/platform/darwin/foundation.yaml b/packages/celest_auth/lib/src/platform/darwin/foundation.yaml new file mode 100644 index 00000000..1ed2416a --- /dev/null +++ b/packages/celest_auth/lib/src/platform/darwin/foundation.yaml @@ -0,0 +1,80 @@ +format_version: 1.0.0 +files: + package:celest_auth/src/platform/darwin/foundation.ffi.dart: + used-config: + ffi-native: false + symbols: + ObjCObject: + name: ObjCObject + ObjCSel: + name: ObjCSel + c:@E@NSComparisonResult: + name: NSComparisonResult + c:@E@NSStringCompareOptions: + name: NSStringCompareOptions + c:@E@NSStringEncodingConversionOptions: + name: NSStringEncodingConversionOptions + c:@E@NSStringEnumerationOptions: + name: NSStringEnumerationOptions + c:@E@NSURLBookmarkCreationOptions: + name: NSURLBookmarkCreationOptions + c:@E@NSURLBookmarkResolutionOptions: + name: NSURLBookmarkResolutionOptions + c:@E@NSURLHandleStatus: + name: NSURLHandleStatus + c:@S@_NSRange: + name: NSRange + c:@S@_NSZone: + name: NSZone + c:objc(cs)NSCharacterSet: + name: NSCharacterSet + c:objc(cs)NSCoder: + name: NSCoder + c:objc(cs)NSConstantString: + name: NSConstantString + c:objc(cs)NSData: + name: NSData + c:objc(cs)NSDictionary: + name: NSDictionary + c:objc(cs)NSError: + name: NSError + c:objc(cs)NSFileSecurity: + name: NSFileSecurity + c:objc(cs)NSInvocation: + name: NSInvocation + c:objc(cs)NSLocale: + name: NSLocale + c:objc(cs)NSMethodSignature: + name: NSMethodSignature + c:objc(cs)NSMutableString: + name: NSMutableString + c:objc(cs)NSNumber: + name: NSNumber + c:objc(cs)NSObject: + name: NSObject + c:objc(cs)NSSimpleCString: + name: NSSimpleCString + c:objc(cs)NSString: + name: NSString + c:objc(cs)NSURL: + name: NSURL + c:objc(cs)NSURLComponents: + name: NSURLComponents + c:objc(cs)NSURLHandle: + name: NSURLHandle + c:objc(cs)NSURLQueryItem: + name: NSURLQueryItem + c:objc(cs)NSValue: + name: NSValue + c:objc(cs)Protocol: + name: Protocol + "objcBlock: 1wxmkb 1wxmkb* 4cylau": + name: ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong + "objcBlock: 1wxmkb 71xoam bool*": + name: ObjCBlock_ffiVoid_NSString_bool + "objcBlock: 1wxmkb 71xoam? fju8rp fju8rp bool*": + name: ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool + "objcBlock: 1wxmkb fk756t* 4cylau": + name: ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong + "objcBlock: 3e9m14*? 37mnn9 71xoam": + name: ObjCBlock_ObjCObject_NSError_NSString diff --git a/packages/celest_auth/lib/src/platform/darwin/uikit.ffi.dart b/packages/celest_auth/lib/src/platform/darwin/uikit.ffi.dart new file mode 100644 index 00000000..53434439 --- /dev/null +++ b/packages/celest_auth/lib/src/platform/darwin/uikit.ffi.dart @@ -0,0 +1,8880 @@ +// ignore_for_file: type=lint +// ignore_for_file: return_of_invalid_type +// ignore_for_file: unnecessary_non_null_assertion + +// AUTO GENERATED FILE, DO NOT EDIT. +// +// Generated by `package:ffigen`. +import 'dart:ffi' as ffi; +import 'package:ffi/ffi.dart' as pkg_ffi; +import 'package:celest_auth/src/platform/darwin/foundation.ffi.dart' as imp1; + +/// Bindings for UIKit on iOS. +/// +/// Regenerate bindings with `dart run ffigen --config=ffigen.uikit.yaml`. +/// +class UIKit { + /// Holds the symbol lookup function. + final ffi.Pointer Function(String symbolName) + _lookup; + + /// The symbols are looked up in [dynamicLibrary]. + UIKit(ffi.DynamicLibrary dynamicLibrary) : _lookup = dynamicLibrary.lookup; + + /// The symbols are looked up with [lookup]. + UIKit.fromLookup( + ffi.Pointer Function(String symbolName) + lookup) + : _lookup = lookup; + + ffi.Pointer _registerName1(String name) { + final cstr = name.toNativeUtf8(); + final sel = _sel_registerName(cstr.cast()); + pkg_ffi.calloc.free(cstr); + return sel; + } + + ffi.Pointer _sel_registerName( + ffi.Pointer str, + ) { + return __sel_registerName( + str, + ); + } + + late final __sel_registerNamePtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('sel_registerName'); + late final __sel_registerName = __sel_registerNamePtr + .asFunction Function(ffi.Pointer)>(); + + ffi.Pointer _getClass1(String name) { + final cstr = name.toNativeUtf8(); + final clazz = _objc_getClass(cstr.cast()); + pkg_ffi.calloc.free(cstr); + if (clazz == ffi.nullptr) { + throw Exception('Failed to load Objective-C class: $name'); + } + return clazz; + } + + ffi.Pointer _objc_getClass( + ffi.Pointer str, + ) { + return __objc_getClass( + str, + ); + } + + late final __objc_getClassPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('objc_getClass'); + late final __objc_getClass = __objc_getClassPtr + .asFunction Function(ffi.Pointer)>(); + + ffi.Pointer _objc_retain( + ffi.Pointer value, + ) { + return __objc_retain( + value, + ); + } + + late final __objc_retainPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('objc_retain'); + late final __objc_retain = __objc_retainPtr + .asFunction Function(ffi.Pointer)>(); + + void _objc_release( + ffi.Pointer value, + ) { + return __objc_release( + value, + ); + } + + late final __objc_releasePtr = + _lookup)>>( + 'objc_release'); + late final __objc_release = + __objc_releasePtr.asFunction)>(); + + late final _objc_releaseFinalizer2 = + ffi.NativeFinalizer(__objc_releasePtr.cast()); + late final _class_UIWindow1 = _getClass1("UIWindow"); + bool _objc_msgSend_0( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer clazz, + ) { + return __objc_msgSend_0( + obj, + sel, + clazz, + ); + } + + late final __objc_msgSend_0Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_0 = __objc_msgSend_0Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_isKindOfClass_1 = _registerName1("isKindOfClass:"); + late final _class_UIView1 = _getClass1("UIView"); + late final _class_UIResponder1 = _getClass1("UIResponder"); + late final _class_NSObject1 = _getClass1("NSObject"); + late final _sel_load1 = _registerName1("load"); + void _objc_msgSend_1( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_1( + obj, + sel, + ); + } + + late final __objc_msgSend_1Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_1 = __objc_msgSend_1Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_initialize1 = _registerName1("initialize"); + late final _sel_init1 = _registerName1("init"); + instancetype _objc_msgSend_2( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_2( + obj, + sel, + ); + } + + late final __objc_msgSend_2Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_2 = __objc_msgSend_2Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_new1 = _registerName1("new"); + late final _sel_allocWithZone_1 = _registerName1("allocWithZone:"); + instancetype _objc_msgSend_3( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer zone, + ) { + return __objc_msgSend_3( + obj, + sel, + zone, + ); + } + + late final __objc_msgSend_3Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_3 = __objc_msgSend_3Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_alloc1 = _registerName1("alloc"); + late final _sel_dealloc1 = _registerName1("dealloc"); + late final _sel_finalize1 = _registerName1("finalize"); + late final _sel_copy1 = _registerName1("copy"); + late final _sel_mutableCopy1 = _registerName1("mutableCopy"); + late final _sel_copyWithZone_1 = _registerName1("copyWithZone:"); + late final _sel_mutableCopyWithZone_1 = + _registerName1("mutableCopyWithZone:"); + late final _sel_instancesRespondToSelector_1 = + _registerName1("instancesRespondToSelector:"); + bool _objc_msgSend_4( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aSelector, + ) { + return __objc_msgSend_4( + obj, + sel, + aSelector, + ); + } + + late final __objc_msgSend_4Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_4 = __objc_msgSend_4Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _class_Protocol1 = _getClass1("Protocol"); + late final _sel_conformsToProtocol_1 = _registerName1("conformsToProtocol:"); + bool _objc_msgSend_5( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer protocol, + ) { + return __objc_msgSend_5( + obj, + sel, + protocol, + ); + } + + late final __objc_msgSend_5Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_5 = __objc_msgSend_5Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_methodForSelector_1 = _registerName1("methodForSelector:"); + ffi.Pointer> _objc_msgSend_6( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aSelector, + ) { + return __objc_msgSend_6( + obj, + sel, + aSelector, + ); + } + + late final __objc_msgSend_6Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer> Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_6 = __objc_msgSend_6Ptr.asFunction< + ffi.Pointer> Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_instanceMethodForSelector_1 = + _registerName1("instanceMethodForSelector:"); + late final _sel_doesNotRecognizeSelector_1 = + _registerName1("doesNotRecognizeSelector:"); + void _objc_msgSend_7( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aSelector, + ) { + return __objc_msgSend_7( + obj, + sel, + aSelector, + ); + } + + late final __objc_msgSend_7Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_7 = __objc_msgSend_7Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_forwardingTargetForSelector_1 = + _registerName1("forwardingTargetForSelector:"); + ffi.Pointer _objc_msgSend_8( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aSelector, + ) { + return __objc_msgSend_8( + obj, + sel, + aSelector, + ); + } + + late final __objc_msgSend_8Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_8 = __objc_msgSend_8Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _class_NSInvocation1 = _getClass1("NSInvocation"); + late final _class_NSMethodSignature1 = _getClass1("NSMethodSignature"); + late final _sel_signatureWithObjCTypes_1 = + _registerName1("signatureWithObjCTypes:"); + ffi.Pointer _objc_msgSend_9( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer types, + ) { + return __objc_msgSend_9( + obj, + sel, + types, + ); + } + + late final __objc_msgSend_9Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_9 = __objc_msgSend_9Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_numberOfArguments1 = _registerName1("numberOfArguments"); + int _objc_msgSend_10( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_10( + obj, + sel, + ); + } + + late final __objc_msgSend_10Ptr = _lookup< + ffi.NativeFunction< + ffi.UnsignedLong Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_10 = __objc_msgSend_10Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_getArgumentTypeAtIndex_1 = + _registerName1("getArgumentTypeAtIndex:"); + ffi.Pointer _objc_msgSend_11( + ffi.Pointer obj, + ffi.Pointer sel, + int idx, + ) { + return __objc_msgSend_11( + obj, + sel, + idx, + ); + } + + late final __objc_msgSend_11Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_11 = __objc_msgSend_11Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_frameLength1 = _registerName1("frameLength"); + late final _sel_isOneway1 = _registerName1("isOneway"); + bool _objc_msgSend_12( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_12( + obj, + sel, + ); + } + + late final __objc_msgSend_12Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_12 = __objc_msgSend_12Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_methodReturnType1 = _registerName1("methodReturnType"); + ffi.Pointer _objc_msgSend_13( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_13( + obj, + sel, + ); + } + + late final __objc_msgSend_13Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_13 = __objc_msgSend_13Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_methodReturnLength1 = _registerName1("methodReturnLength"); + late final _sel_invocationWithMethodSignature_1 = + _registerName1("invocationWithMethodSignature:"); + ffi.Pointer _objc_msgSend_14( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer sig, + ) { + return __objc_msgSend_14( + obj, + sel, + sig, + ); + } + + late final __objc_msgSend_14Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_14 = __objc_msgSend_14Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_methodSignature1 = _registerName1("methodSignature"); + ffi.Pointer _objc_msgSend_15( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_15( + obj, + sel, + ); + } + + late final __objc_msgSend_15Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_15 = __objc_msgSend_15Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_retainArguments1 = _registerName1("retainArguments"); + late final _sel_argumentsRetained1 = _registerName1("argumentsRetained"); + late final _sel_target1 = _registerName1("target"); + ffi.Pointer _objc_msgSend_16( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_16( + obj, + sel, + ); + } + + late final __objc_msgSend_16Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_16 = __objc_msgSend_16Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setTarget_1 = _registerName1("setTarget:"); + void _objc_msgSend_17( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_17( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_17Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_17 = __objc_msgSend_17Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_selector1 = _registerName1("selector"); + ffi.Pointer _objc_msgSend_18( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_18( + obj, + sel, + ); + } + + late final __objc_msgSend_18Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_18 = __objc_msgSend_18Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setSelector_1 = _registerName1("setSelector:"); + void _objc_msgSend_19( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_19( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_19Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_19 = __objc_msgSend_19Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_getReturnValue_1 = _registerName1("getReturnValue:"); + void _objc_msgSend_20( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer retLoc, + ) { + return __objc_msgSend_20( + obj, + sel, + retLoc, + ); + } + + late final __objc_msgSend_20Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_20 = __objc_msgSend_20Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_setReturnValue_1 = _registerName1("setReturnValue:"); + late final _sel_getArgument_atIndex_1 = + _registerName1("getArgument:atIndex:"); + void _objc_msgSend_21( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer argumentLocation, + int idx, + ) { + return __objc_msgSend_21( + obj, + sel, + argumentLocation, + idx, + ); + } + + late final __objc_msgSend_21Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Long)>>('objc_msgSend'); + late final __objc_msgSend_21 = __objc_msgSend_21Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + late final _sel_setArgument_atIndex_1 = + _registerName1("setArgument:atIndex:"); + late final _sel_invoke1 = _registerName1("invoke"); + late final _sel_invokeWithTarget_1 = _registerName1("invokeWithTarget:"); + void _objc_msgSend_22( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer target, + ) { + return __objc_msgSend_22( + obj, + sel, + target, + ); + } + + late final __objc_msgSend_22Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_22 = __objc_msgSend_22Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_invokeUsingIMP_1 = _registerName1("invokeUsingIMP:"); + void _objc_msgSend_23( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer> imp, + ) { + return __objc_msgSend_23( + obj, + sel, + imp, + ); + } + + late final __objc_msgSend_23Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer>)>>( + 'objc_msgSend'); + late final __objc_msgSend_23 = __objc_msgSend_23Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer>)>(); + + late final _sel_forwardInvocation_1 = _registerName1("forwardInvocation:"); + void _objc_msgSend_24( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer anInvocation, + ) { + return __objc_msgSend_24( + obj, + sel, + anInvocation, + ); + } + + late final __objc_msgSend_24Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_24 = __objc_msgSend_24Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_methodSignatureForSelector_1 = + _registerName1("methodSignatureForSelector:"); + ffi.Pointer _objc_msgSend_25( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aSelector, + ) { + return __objc_msgSend_25( + obj, + sel, + aSelector, + ); + } + + late final __objc_msgSend_25Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_25 = __objc_msgSend_25Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_instanceMethodSignatureForSelector_1 = + _registerName1("instanceMethodSignatureForSelector:"); + late final _sel_allowsWeakReference1 = _registerName1("allowsWeakReference"); + late final _sel_retainWeakReference1 = _registerName1("retainWeakReference"); + late final _sel_isSubclassOfClass_1 = _registerName1("isSubclassOfClass:"); + late final _sel_resolveClassMethod_1 = _registerName1("resolveClassMethod:"); + late final _sel_resolveInstanceMethod_1 = + _registerName1("resolveInstanceMethod:"); + late final _sel_hash1 = _registerName1("hash"); + late final _sel_superclass1 = _registerName1("superclass"); + late final _sel_class1 = _registerName1("class"); + late final _class_NSString1 = _getClass1("NSString"); + late final _sel_length1 = _registerName1("length"); + late final _sel_characterAtIndex_1 = _registerName1("characterAtIndex:"); + int _objc_msgSend_26( + ffi.Pointer obj, + ffi.Pointer sel, + int index, + ) { + return __objc_msgSend_26( + obj, + sel, + index, + ); + } + + late final __objc_msgSend_26Ptr = _lookup< + ffi.NativeFunction< + ffi.UnsignedShort Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_26 = __objc_msgSend_26Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _class_NSCoder1 = _getClass1("NSCoder"); + late final _sel_encodeValueOfObjCType_at_1 = + _registerName1("encodeValueOfObjCType:at:"); + void _objc_msgSend_27( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer type, + ffi.Pointer addr, + ) { + return __objc_msgSend_27( + obj, + sel, + type, + addr, + ); + } + + late final __objc_msgSend_27Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_27 = __objc_msgSend_27Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _class_NSData1 = _getClass1("NSData"); + late final _sel_bytes1 = _registerName1("bytes"); + ffi.Pointer _objc_msgSend_28( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_28( + obj, + sel, + ); + } + + late final __objc_msgSend_28Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_28 = __objc_msgSend_28Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_encodeDataObject_1 = _registerName1("encodeDataObject:"); + void _objc_msgSend_29( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer data, + ) { + return __objc_msgSend_29( + obj, + sel, + data, + ); + } + + late final __objc_msgSend_29Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_29 = __objc_msgSend_29Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_decodeDataObject1 = _registerName1("decodeDataObject"); + ffi.Pointer _objc_msgSend_30( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_30( + obj, + sel, + ); + } + + late final __objc_msgSend_30Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_30 = __objc_msgSend_30Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_decodeValueOfObjCType_at_size_1 = + _registerName1("decodeValueOfObjCType:at:size:"); + void _objc_msgSend_31( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer type, + ffi.Pointer data, + int size, + ) { + return __objc_msgSend_31( + obj, + sel, + type, + data, + size, + ); + } + + late final __objc_msgSend_31Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_31 = __objc_msgSend_31Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_versionForClassName_1 = + _registerName1("versionForClassName:"); + int _objc_msgSend_32( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer className, + ) { + return __objc_msgSend_32( + obj, + sel, + className, + ); + } + + late final __objc_msgSend_32Ptr = _lookup< + ffi.NativeFunction< + ffi.Long Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_32 = __objc_msgSend_32Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_initWithCoder_1 = _registerName1("initWithCoder:"); + instancetype _objc_msgSend_33( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer coder, + ) { + return __objc_msgSend_33( + obj, + sel, + coder, + ); + } + + late final __objc_msgSend_33Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_33 = __objc_msgSend_33Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_stringWithCharacters_length_1 = + _registerName1("stringWithCharacters:length:"); + ffi.Pointer _objc_msgSend_34( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer characters, + int length, + ) { + return __objc_msgSend_34( + obj, + sel, + characters, + length, + ); + } + + late final __objc_msgSend_34Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedInt)>>('objc_msgSend'); + late final __objc_msgSend_34 = __objc_msgSend_34Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_dataUsingEncoding_1 = _registerName1("dataUsingEncoding:"); + ffi.Pointer _objc_msgSend_35( + ffi.Pointer obj, + ffi.Pointer sel, + int encoding, + ) { + return __objc_msgSend_35( + obj, + sel, + encoding, + ); + } + + late final __objc_msgSend_35Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedInt)>>('objc_msgSend'); + late final __objc_msgSend_35 = __objc_msgSend_35Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_description1 = _registerName1("description"); + ffi.Pointer _objc_msgSend_36( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_36( + obj, + sel, + ); + } + + late final __objc_msgSend_36Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_36 = __objc_msgSend_36Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_debugDescription1 = _registerName1("debugDescription"); + late final _sel_nextResponder1 = _registerName1("nextResponder"); + ffi.Pointer _objc_msgSend_37( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_37( + obj, + sel, + ); + } + + late final __objc_msgSend_37Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_37 = __objc_msgSend_37Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_canBecomeFirstResponder1 = + _registerName1("canBecomeFirstResponder"); + late final _sel_becomeFirstResponder1 = + _registerName1("becomeFirstResponder"); + late final _sel_canResignFirstResponder1 = + _registerName1("canResignFirstResponder"); + late final _sel_resignFirstResponder1 = + _registerName1("resignFirstResponder"); + late final _sel_isFirstResponder1 = _registerName1("isFirstResponder"); + late final _class_UIEvent1 = _getClass1("UIEvent"); + late final _sel_type1 = _registerName1("type"); + int _objc_msgSend_38( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_38( + obj, + sel, + ); + } + + late final __objc_msgSend_38Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_38 = __objc_msgSend_38Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_subtype1 = _registerName1("subtype"); + int _objc_msgSend_39( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_39( + obj, + sel, + ); + } + + late final __objc_msgSend_39Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_39 = __objc_msgSend_39Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_timestamp1 = _registerName1("timestamp"); + late final _objc_msgSend_useVariants1 = ffi.Abi.current() == ffi.Abi.iosX64 || + ffi.Abi.current() == ffi.Abi.macosX64; + double _objc_msgSend_40( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_40( + obj, + sel, + ); + } + + late final __objc_msgSend_40Ptr = _lookup< + ffi.NativeFunction< + ffi.Double Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_40 = __objc_msgSend_40Ptr.asFunction< + double Function(ffi.Pointer, ffi.Pointer)>(); + + double _objc_msgSend_40_fpret( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_40_fpret( + obj, + sel, + ); + } + + late final __objc_msgSend_40_fpretPtr = _lookup< + ffi.NativeFunction< + ffi.Double Function(ffi.Pointer, + ffi.Pointer)>>('objc_msgSend_fpret'); + late final __objc_msgSend_40_fpret = __objc_msgSend_40_fpretPtr.asFunction< + double Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_modifierFlags1 = _registerName1("modifierFlags"); + int _objc_msgSend_41( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_41( + obj, + sel, + ); + } + + late final __objc_msgSend_41Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_41 = __objc_msgSend_41Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_buttonMask1 = _registerName1("buttonMask"); + int _objc_msgSend_42( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_42( + obj, + sel, + ); + } + + late final __objc_msgSend_42Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_42 = __objc_msgSend_42Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_allTouches1 = _registerName1("allTouches"); + late final _sel_touchesForWindow_1 = _registerName1("touchesForWindow:"); + ffi.Pointer _objc_msgSend_43( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer window, + ) { + return __objc_msgSend_43( + obj, + sel, + window, + ); + } + + late final __objc_msgSend_43Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_43 = __objc_msgSend_43Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_touchesForView_1 = _registerName1("touchesForView:"); + ffi.Pointer _objc_msgSend_44( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer view, + ) { + return __objc_msgSend_44( + obj, + sel, + view, + ); + } + + late final __objc_msgSend_44Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_44 = __objc_msgSend_44Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _class_UIGestureRecognizer1 = _getClass1("UIGestureRecognizer"); + late final _sel_touchesForGestureRecognizer_1 = + _registerName1("touchesForGestureRecognizer:"); + ffi.Pointer _objc_msgSend_45( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer gesture, + ) { + return __objc_msgSend_45( + obj, + sel, + gesture, + ); + } + + late final __objc_msgSend_45Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_45 = __objc_msgSend_45Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _class_UITouch1 = _getClass1("UITouch"); + late final _sel_phase1 = _registerName1("phase"); + int _objc_msgSend_46( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_46( + obj, + sel, + ); + } + + late final __objc_msgSend_46Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_46 = __objc_msgSend_46Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_tapCount1 = _registerName1("tapCount"); + int _objc_msgSend_47( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_47( + obj, + sel, + ); + } + + late final __objc_msgSend_47Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_47 = __objc_msgSend_47Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_majorRadius1 = _registerName1("majorRadius"); + late final _sel_majorRadiusTolerance1 = + _registerName1("majorRadiusTolerance"); + late final _sel_window1 = _registerName1("window"); + ffi.Pointer _objc_msgSend_48( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_48( + obj, + sel, + ); + } + + late final __objc_msgSend_48Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_48 = __objc_msgSend_48Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_view1 = _registerName1("view"); + ffi.Pointer _objc_msgSend_49( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_49( + obj, + sel, + ); + } + + late final __objc_msgSend_49Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_49 = __objc_msgSend_49Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_gestureRecognizers1 = _registerName1("gestureRecognizers"); + late final _sel_locationInView_1 = _registerName1("locationInView:"); + CGPoint _objc_msgSend_50( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer view, + ) { + return __objc_msgSend_50( + obj, + sel, + view, + ); + } + + late final __objc_msgSend_50Ptr = _lookup< + ffi.NativeFunction< + CGPoint Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_50 = __objc_msgSend_50Ptr.asFunction< + CGPoint Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + void _objc_msgSend_50_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer view, + ) { + return __objc_msgSend_50_stret( + stret, + obj, + sel, + view, + ); + } + + late final __objc_msgSend_50_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend_stret'); + late final __objc_msgSend_50_stret = __objc_msgSend_50_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_previousLocationInView_1 = + _registerName1("previousLocationInView:"); + late final _sel_preciseLocationInView_1 = + _registerName1("preciseLocationInView:"); + late final _sel_precisePreviousLocationInView_1 = + _registerName1("precisePreviousLocationInView:"); + late final _sel_force1 = _registerName1("force"); + late final _sel_maximumPossibleForce1 = + _registerName1("maximumPossibleForce"); + late final _sel_azimuthAngleInView_1 = _registerName1("azimuthAngleInView:"); + double _objc_msgSend_51( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer view, + ) { + return __objc_msgSend_51( + obj, + sel, + view, + ); + } + + late final __objc_msgSend_51Ptr = _lookup< + ffi.NativeFunction< + ffi.Double Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_51 = __objc_msgSend_51Ptr.asFunction< + double Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + double _objc_msgSend_51_fpret( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer view, + ) { + return __objc_msgSend_51_fpret( + obj, + sel, + view, + ); + } + + late final __objc_msgSend_51_fpretPtr = _lookup< + ffi.NativeFunction< + ffi.Double Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend_fpret'); + late final __objc_msgSend_51_fpret = __objc_msgSend_51_fpretPtr.asFunction< + double Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_azimuthUnitVectorInView_1 = + _registerName1("azimuthUnitVectorInView:"); + CGVector _objc_msgSend_52( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer view, + ) { + return __objc_msgSend_52( + obj, + sel, + view, + ); + } + + late final __objc_msgSend_52Ptr = _lookup< + ffi.NativeFunction< + CGVector Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_52 = __objc_msgSend_52Ptr.asFunction< + CGVector Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + void _objc_msgSend_52_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer view, + ) { + return __objc_msgSend_52_stret( + stret, + obj, + sel, + view, + ); + } + + late final __objc_msgSend_52_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend_stret'); + late final __objc_msgSend_52_stret = __objc_msgSend_52_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_altitudeAngle1 = _registerName1("altitudeAngle"); + late final _class_NSNumber1 = _getClass1("NSNumber"); + late final _class_NSValue1 = _getClass1("NSValue"); + late final _sel_getValue_size_1 = _registerName1("getValue:size:"); + void _objc_msgSend_53( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + int size, + ) { + return __objc_msgSend_53( + obj, + sel, + value, + size, + ); + } + + late final __objc_msgSend_53Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_53 = __objc_msgSend_53Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + late final _sel_objCType1 = _registerName1("objCType"); + late final _sel_initWithBytes_objCType_1 = + _registerName1("initWithBytes:objCType:"); + instancetype _objc_msgSend_54( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ffi.Pointer type, + ) { + return __objc_msgSend_54( + obj, + sel, + value, + type, + ); + } + + late final __objc_msgSend_54Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_54 = __objc_msgSend_54Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_initWithChar_1 = _registerName1("initWithChar:"); + ffi.Pointer _objc_msgSend_55( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_55( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_55Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Char)>>('objc_msgSend'); + late final __objc_msgSend_55 = __objc_msgSend_55Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithUnsignedChar_1 = + _registerName1("initWithUnsignedChar:"); + ffi.Pointer _objc_msgSend_56( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_56( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_56Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedChar)>>('objc_msgSend'); + late final __objc_msgSend_56 = __objc_msgSend_56Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithShort_1 = _registerName1("initWithShort:"); + ffi.Pointer _objc_msgSend_57( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_57( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_57Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Short)>>('objc_msgSend'); + late final __objc_msgSend_57 = __objc_msgSend_57Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithUnsignedShort_1 = + _registerName1("initWithUnsignedShort:"); + ffi.Pointer _objc_msgSend_58( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_58( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_58Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedShort)>>('objc_msgSend'); + late final __objc_msgSend_58 = __objc_msgSend_58Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithInt_1 = _registerName1("initWithInt:"); + ffi.Pointer _objc_msgSend_59( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_59( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_59Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Int)>>('objc_msgSend'); + late final __objc_msgSend_59 = __objc_msgSend_59Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithUnsignedInt_1 = + _registerName1("initWithUnsignedInt:"); + ffi.Pointer _objc_msgSend_60( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_60( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_60Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedInt)>>('objc_msgSend'); + late final __objc_msgSend_60 = __objc_msgSend_60Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithLong_1 = _registerName1("initWithLong:"); + ffi.Pointer _objc_msgSend_61( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_61( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_61Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Long)>>('objc_msgSend'); + late final __objc_msgSend_61 = __objc_msgSend_61Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithUnsignedLong_1 = + _registerName1("initWithUnsignedLong:"); + ffi.Pointer _objc_msgSend_62( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_62( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_62Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_62 = __objc_msgSend_62Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithLongLong_1 = _registerName1("initWithLongLong:"); + ffi.Pointer _objc_msgSend_63( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_63( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_63Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.LongLong)>>('objc_msgSend'); + late final __objc_msgSend_63 = __objc_msgSend_63Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithUnsignedLongLong_1 = + _registerName1("initWithUnsignedLongLong:"); + ffi.Pointer _objc_msgSend_64( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_64( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_64Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLongLong)>>('objc_msgSend'); + late final __objc_msgSend_64 = __objc_msgSend_64Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithFloat_1 = _registerName1("initWithFloat:"); + ffi.Pointer _objc_msgSend_65( + ffi.Pointer obj, + ffi.Pointer sel, + double value, + ) { + return __objc_msgSend_65( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_65Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Float)>>('objc_msgSend'); + late final __objc_msgSend_65 = __objc_msgSend_65Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, double)>(); + + late final _sel_initWithDouble_1 = _registerName1("initWithDouble:"); + ffi.Pointer _objc_msgSend_66( + ffi.Pointer obj, + ffi.Pointer sel, + double value, + ) { + return __objc_msgSend_66( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_66Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Double)>>('objc_msgSend'); + late final __objc_msgSend_66 = __objc_msgSend_66Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, double)>(); + + late final _sel_initWithBool_1 = _registerName1("initWithBool:"); + ffi.Pointer _objc_msgSend_67( + ffi.Pointer obj, + ffi.Pointer sel, + bool value, + ) { + return __objc_msgSend_67( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_67Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_67 = __objc_msgSend_67Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, bool)>(); + + late final _sel_initWithInteger_1 = _registerName1("initWithInteger:"); + late final _sel_initWithUnsignedInteger_1 = + _registerName1("initWithUnsignedInteger:"); + late final _sel_charValue1 = _registerName1("charValue"); + int _objc_msgSend_68( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_68( + obj, + sel, + ); + } + + late final __objc_msgSend_68Ptr = _lookup< + ffi.NativeFunction< + ffi.Char Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_68 = __objc_msgSend_68Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_unsignedCharValue1 = _registerName1("unsignedCharValue"); + int _objc_msgSend_69( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_69( + obj, + sel, + ); + } + + late final __objc_msgSend_69Ptr = _lookup< + ffi.NativeFunction< + ffi.UnsignedChar Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_69 = __objc_msgSend_69Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_shortValue1 = _registerName1("shortValue"); + int _objc_msgSend_70( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_70( + obj, + sel, + ); + } + + late final __objc_msgSend_70Ptr = _lookup< + ffi.NativeFunction< + ffi.Short Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_70 = __objc_msgSend_70Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_unsignedShortValue1 = _registerName1("unsignedShortValue"); + int _objc_msgSend_71( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_71( + obj, + sel, + ); + } + + late final __objc_msgSend_71Ptr = _lookup< + ffi.NativeFunction< + ffi.UnsignedShort Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_71 = __objc_msgSend_71Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_intValue1 = _registerName1("intValue"); + int _objc_msgSend_72( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_72( + obj, + sel, + ); + } + + late final __objc_msgSend_72Ptr = _lookup< + ffi.NativeFunction< + ffi.Int Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_72 = __objc_msgSend_72Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_unsignedIntValue1 = _registerName1("unsignedIntValue"); + int _objc_msgSend_73( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_73( + obj, + sel, + ); + } + + late final __objc_msgSend_73Ptr = _lookup< + ffi.NativeFunction< + ffi.UnsignedInt Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_73 = __objc_msgSend_73Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_longValue1 = _registerName1("longValue"); + int _objc_msgSend_74( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_74( + obj, + sel, + ); + } + + late final __objc_msgSend_74Ptr = _lookup< + ffi.NativeFunction< + ffi.Long Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_74 = __objc_msgSend_74Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_unsignedLongValue1 = _registerName1("unsignedLongValue"); + late final _sel_longLongValue1 = _registerName1("longLongValue"); + int _objc_msgSend_75( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_75( + obj, + sel, + ); + } + + late final __objc_msgSend_75Ptr = _lookup< + ffi.NativeFunction< + ffi.LongLong Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_75 = __objc_msgSend_75Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_unsignedLongLongValue1 = + _registerName1("unsignedLongLongValue"); + int _objc_msgSend_76( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_76( + obj, + sel, + ); + } + + late final __objc_msgSend_76Ptr = _lookup< + ffi.NativeFunction< + ffi.UnsignedLongLong Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_76 = __objc_msgSend_76Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_floatValue1 = _registerName1("floatValue"); + double _objc_msgSend_77( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_77( + obj, + sel, + ); + } + + late final __objc_msgSend_77Ptr = _lookup< + ffi.NativeFunction< + ffi.Float Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_77 = __objc_msgSend_77Ptr.asFunction< + double Function(ffi.Pointer, ffi.Pointer)>(); + + double _objc_msgSend_77_fpret( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_77_fpret( + obj, + sel, + ); + } + + late final __objc_msgSend_77_fpretPtr = _lookup< + ffi.NativeFunction< + ffi.Float Function(ffi.Pointer, + ffi.Pointer)>>('objc_msgSend_fpret'); + late final __objc_msgSend_77_fpret = __objc_msgSend_77_fpretPtr.asFunction< + double Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_doubleValue1 = _registerName1("doubleValue"); + late final _sel_boolValue1 = _registerName1("boolValue"); + late final _sel_integerValue1 = _registerName1("integerValue"); + late final _sel_unsignedIntegerValue1 = + _registerName1("unsignedIntegerValue"); + late final _sel_stringValue1 = _registerName1("stringValue"); + late final _sel_compare_1 = _registerName1("compare:"); + int _objc_msgSend_78( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer otherNumber, + ) { + return __objc_msgSend_78( + obj, + sel, + otherNumber, + ); + } + + late final __objc_msgSend_78Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_78 = __objc_msgSend_78Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_isEqualToNumber_1 = _registerName1("isEqualToNumber:"); + bool _objc_msgSend_79( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer number, + ) { + return __objc_msgSend_79( + obj, + sel, + number, + ); + } + + late final __objc_msgSend_79Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_79 = __objc_msgSend_79Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_descriptionWithLocale_1 = + _registerName1("descriptionWithLocale:"); + ffi.Pointer _objc_msgSend_80( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer locale, + ) { + return __objc_msgSend_80( + obj, + sel, + locale, + ); + } + + late final __objc_msgSend_80Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_80 = __objc_msgSend_80Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_estimationUpdateIndex1 = + _registerName1("estimationUpdateIndex"); + ffi.Pointer _objc_msgSend_81( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_81( + obj, + sel, + ); + } + + late final __objc_msgSend_81Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_81 = __objc_msgSend_81Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_estimatedProperties1 = _registerName1("estimatedProperties"); + int _objc_msgSend_82( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_82( + obj, + sel, + ); + } + + late final __objc_msgSend_82Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_82 = __objc_msgSend_82Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_estimatedPropertiesExpectingUpdates1 = + _registerName1("estimatedPropertiesExpectingUpdates"); + late final _sel_coalescedTouchesForTouch_1 = + _registerName1("coalescedTouchesForTouch:"); + ffi.Pointer _objc_msgSend_83( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer touch, + ) { + return __objc_msgSend_83( + obj, + sel, + touch, + ); + } + + late final __objc_msgSend_83Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_83 = __objc_msgSend_83Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_predictedTouchesForTouch_1 = + _registerName1("predictedTouchesForTouch:"); + late final _sel_touchesBegan_withEvent_1 = + _registerName1("touchesBegan:withEvent:"); + void _objc_msgSend_84( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer touches, + ffi.Pointer event, + ) { + return __objc_msgSend_84( + obj, + sel, + touches, + event, + ); + } + + late final __objc_msgSend_84Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_84 = __objc_msgSend_84Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_touchesMoved_withEvent_1 = + _registerName1("touchesMoved:withEvent:"); + late final _sel_touchesEnded_withEvent_1 = + _registerName1("touchesEnded:withEvent:"); + late final _sel_touchesCancelled_withEvent_1 = + _registerName1("touchesCancelled:withEvent:"); + late final _sel_touchesEstimatedPropertiesUpdated_1 = + _registerName1("touchesEstimatedPropertiesUpdated:"); + late final _class_UIPressesEvent1 = _getClass1("UIPressesEvent"); + late final _sel_pressesBegan_withEvent_1 = + _registerName1("pressesBegan:withEvent:"); + void _objc_msgSend_85( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer presses, + ffi.Pointer event, + ) { + return __objc_msgSend_85( + obj, + sel, + presses, + event, + ); + } + + late final __objc_msgSend_85Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_85 = __objc_msgSend_85Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_pressesChanged_withEvent_1 = + _registerName1("pressesChanged:withEvent:"); + late final _sel_pressesEnded_withEvent_1 = + _registerName1("pressesEnded:withEvent:"); + late final _sel_pressesCancelled_withEvent_1 = + _registerName1("pressesCancelled:withEvent:"); + late final _sel_motionBegan_withEvent_1 = + _registerName1("motionBegan:withEvent:"); + void _objc_msgSend_86( + ffi.Pointer obj, + ffi.Pointer sel, + int motion, + ffi.Pointer event, + ) { + return __objc_msgSend_86( + obj, + sel, + motion, + event, + ); + } + + late final __objc_msgSend_86Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_86 = __objc_msgSend_86Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int, + ffi.Pointer)>(); + + late final _sel_motionEnded_withEvent_1 = + _registerName1("motionEnded:withEvent:"); + late final _sel_motionCancelled_withEvent_1 = + _registerName1("motionCancelled:withEvent:"); + late final _sel_remoteControlReceivedWithEvent_1 = + _registerName1("remoteControlReceivedWithEvent:"); + void _objc_msgSend_87( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer event, + ) { + return __objc_msgSend_87( + obj, + sel, + event, + ); + } + + late final __objc_msgSend_87Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_87 = __objc_msgSend_87Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_canPerformAction_withSender_1 = + _registerName1("canPerformAction:withSender:"); + bool _objc_msgSend_88( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer action, + ffi.Pointer sender, + ) { + return __objc_msgSend_88( + obj, + sel, + action, + sender, + ); + } + + late final __objc_msgSend_88Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_88 = __objc_msgSend_88Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_targetForAction_withSender_1 = + _registerName1("targetForAction:withSender:"); + ffi.Pointer _objc_msgSend_89( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer action, + ffi.Pointer sender, + ) { + return __objc_msgSend_89( + obj, + sel, + action, + sender, + ); + } + + late final __objc_msgSend_89Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_89 = __objc_msgSend_89Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_buildMenuWithBuilder_1 = + _registerName1("buildMenuWithBuilder:"); + late final _class_UICommand1 = _getClass1("UICommand"); + late final _class_UIMenuElement1 = _getClass1("UIMenuElement"); + late final _sel_title1 = _registerName1("title"); + late final _sel_subtitle1 = _registerName1("subtitle"); + ffi.Pointer _objc_msgSend_90( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_90( + obj, + sel, + ); + } + + late final __objc_msgSend_90Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_90 = __objc_msgSend_90Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setSubtitle_1 = _registerName1("setSubtitle:"); + void _objc_msgSend_91( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_91( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_91Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_91 = __objc_msgSend_91Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _class_UIImage1 = _getClass1("UIImage"); + late final _sel_image1 = _registerName1("image"); + ffi.Pointer _objc_msgSend_92( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_92( + obj, + sel, + ); + } + + late final __objc_msgSend_92Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_92 = __objc_msgSend_92Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setTitle_1 = _registerName1("setTitle:"); + void _objc_msgSend_93( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_93( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_93Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_93 = __objc_msgSend_93Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_setImage_1 = _registerName1("setImage:"); + void _objc_msgSend_94( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_94( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_94Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_94 = __objc_msgSend_94Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_discoverabilityTitle1 = + _registerName1("discoverabilityTitle"); + late final _sel_setDiscoverabilityTitle_1 = + _registerName1("setDiscoverabilityTitle:"); + late final _sel_action1 = _registerName1("action"); + late final _sel_propertyList1 = _registerName1("propertyList"); + late final _sel_attributes1 = _registerName1("attributes"); + int _objc_msgSend_95( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_95( + obj, + sel, + ); + } + + late final __objc_msgSend_95Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_95 = __objc_msgSend_95Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setAttributes_1 = _registerName1("setAttributes:"); + void _objc_msgSend_96( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_96( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_96Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_96 = __objc_msgSend_96Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_state1 = _registerName1("state"); + int _objc_msgSend_97( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_97( + obj, + sel, + ); + } + + late final __objc_msgSend_97Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_97 = __objc_msgSend_97Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setState_1 = _registerName1("setState:"); + void _objc_msgSend_98( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_98( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_98Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_98 = __objc_msgSend_98Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_alternates1 = _registerName1("alternates"); + late final _sel_commandWithTitle_image_action_propertyList_1 = + _registerName1("commandWithTitle:image:action:propertyList:"); + instancetype _objc_msgSend_99( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer title, + ffi.Pointer image, + ffi.Pointer action, + ffi.Pointer propertyList, + ) { + return __objc_msgSend_99( + obj, + sel, + title, + image, + action, + propertyList, + ); + } + + late final __objc_msgSend_99Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_99 = __objc_msgSend_99Ptr.asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_commandWithTitle_image_action_propertyList_alternates_1 = + _registerName1("commandWithTitle:image:action:propertyList:alternates:"); + instancetype _objc_msgSend_100( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer title, + ffi.Pointer image, + ffi.Pointer action, + ffi.Pointer propertyList, + ffi.Pointer alternates, + ) { + return __objc_msgSend_100( + obj, + sel, + title, + image, + action, + propertyList, + alternates, + ); + } + + late final __objc_msgSend_100Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_100 = __objc_msgSend_100Ptr.asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_validateCommand_1 = _registerName1("validateCommand:"); + void _objc_msgSend_101( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer command, + ) { + return __objc_msgSend_101( + obj, + sel, + command, + ); + } + + late final __objc_msgSend_101Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_101 = __objc_msgSend_101Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _class_NSUndoManager1 = _getClass1("NSUndoManager"); + late final _sel_beginUndoGrouping1 = _registerName1("beginUndoGrouping"); + late final _sel_endUndoGrouping1 = _registerName1("endUndoGrouping"); + late final _sel_groupingLevel1 = _registerName1("groupingLevel"); + late final _sel_disableUndoRegistration1 = + _registerName1("disableUndoRegistration"); + late final _sel_enableUndoRegistration1 = + _registerName1("enableUndoRegistration"); + late final _sel_isUndoRegistrationEnabled1 = + _registerName1("isUndoRegistrationEnabled"); + late final _sel_groupsByEvent1 = _registerName1("groupsByEvent"); + late final _sel_setGroupsByEvent_1 = _registerName1("setGroupsByEvent:"); + void _objc_msgSend_102( + ffi.Pointer obj, + ffi.Pointer sel, + bool value, + ) { + return __objc_msgSend_102( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_102Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_102 = __objc_msgSend_102Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, bool)>(); + + late final _sel_levelsOfUndo1 = _registerName1("levelsOfUndo"); + late final _sel_setLevelsOfUndo_1 = _registerName1("setLevelsOfUndo:"); + void _objc_msgSend_103( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_103( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_103Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_103 = __objc_msgSend_103Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_runLoopModes1 = _registerName1("runLoopModes"); + late final _sel_setRunLoopModes_1 = _registerName1("setRunLoopModes:"); + void _objc_msgSend_104( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_104( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_104Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_104 = __objc_msgSend_104Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_undo1 = _registerName1("undo"); + late final _sel_redo1 = _registerName1("redo"); + late final _sel_undoNestedGroup1 = _registerName1("undoNestedGroup"); + late final _sel_canUndo1 = _registerName1("canUndo"); + late final _sel_canRedo1 = _registerName1("canRedo"); + late final _sel_isUndoing1 = _registerName1("isUndoing"); + late final _sel_isRedoing1 = _registerName1("isRedoing"); + late final _sel_removeAllActions1 = _registerName1("removeAllActions"); + late final _sel_removeAllActionsWithTarget_1 = + _registerName1("removeAllActionsWithTarget:"); + late final _sel_registerUndoWithTarget_selector_object_1 = + _registerName1("registerUndoWithTarget:selector:object:"); + void _objc_msgSend_105( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer target, + ffi.Pointer selector, + ffi.Pointer anObject, + ) { + return __objc_msgSend_105( + obj, + sel, + target, + selector, + anObject, + ); + } + + late final __objc_msgSend_105Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_105 = __objc_msgSend_105Ptr.asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_prepareWithInvocationTarget_1 = + _registerName1("prepareWithInvocationTarget:"); + ffi.Pointer _objc_msgSend_106( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer target, + ) { + return __objc_msgSend_106( + obj, + sel, + target, + ); + } + + late final __objc_msgSend_106Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_106 = __objc_msgSend_106Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + ffi.Pointer<_ObjCBlockDesc> _newBlockDesc1() { + final d = + pkg_ffi.calloc.allocate<_ObjCBlockDesc>(ffi.sizeOf<_ObjCBlockDesc>()); + d.ref.reserved = 0; + d.ref.size = ffi.sizeOf<_ObjCBlock>(); + d.ref.copy_helper = ffi.nullptr; + d.ref.dispose_helper = ffi.nullptr; + d.ref.signature = ffi.nullptr; + return d; + } + + late final _objc_block_desc1 = _newBlockDesc1(); + late final _objc_concrete_global_block1 = + _lookup('_NSConcreteGlobalBlock'); + ffi.Pointer<_ObjCBlock> _newBlock1( + ffi.Pointer invoke, ffi.Pointer target) { + final b = pkg_ffi.calloc.allocate<_ObjCBlock>(ffi.sizeOf<_ObjCBlock>()); + b.ref.isa = _objc_concrete_global_block1; + b.ref.flags = 0; + b.ref.reserved = 0; + b.ref.invoke = invoke; + b.ref.target = target; + b.ref.descriptor = _objc_block_desc1; + final copy = _Block_copy(b.cast()).cast<_ObjCBlock>(); + pkg_ffi.calloc.free(b); + return copy; + } + + ffi.Pointer _Block_copy( + ffi.Pointer value, + ) { + return __Block_copy( + value, + ); + } + + late final __Block_copyPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('_Block_copy'); + late final __Block_copy = __Block_copyPtr + .asFunction Function(ffi.Pointer)>(); + + void _Block_release( + ffi.Pointer value, + ) { + return __Block_release( + value, + ); + } + + late final __Block_releasePtr = + _lookup)>>( + '_Block_release'); + late final __Block_release = + __Block_releasePtr.asFunction)>(); + + late final _objc_releaseFinalizer11 = + ffi.NativeFinalizer(__Block_releasePtr.cast()); + late final _sel_registerUndoWithTarget_handler_1 = + _registerName1("registerUndoWithTarget:handler:"); + void _objc_msgSend_107( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer target, + ffi.Pointer<_ObjCBlock> undoHandler, + ) { + return __objc_msgSend_107( + obj, + sel, + target, + undoHandler, + ); + } + + late final __objc_msgSend_107Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); + late final __objc_msgSend_107 = __objc_msgSend_107Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer<_ObjCBlock>)>(); + + late final _sel_setActionIsDiscardable_1 = + _registerName1("setActionIsDiscardable:"); + void _objc_msgSend_108( + ffi.Pointer obj, + ffi.Pointer sel, + bool discardable, + ) { + return __objc_msgSend_108( + obj, + sel, + discardable, + ); + } + + late final __objc_msgSend_108Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Bool)>>('objc_msgSend'); + late final __objc_msgSend_108 = __objc_msgSend_108Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, bool)>(); + + late final _sel_undoActionIsDiscardable1 = + _registerName1("undoActionIsDiscardable"); + late final _sel_redoActionIsDiscardable1 = + _registerName1("redoActionIsDiscardable"); + late final _sel_undoActionName1 = _registerName1("undoActionName"); + late final _sel_redoActionName1 = _registerName1("redoActionName"); + late final _sel_setActionName_1 = _registerName1("setActionName:"); + void _objc_msgSend_109( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer actionName, + ) { + return __objc_msgSend_109( + obj, + sel, + actionName, + ); + } + + late final __objc_msgSend_109Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_109 = __objc_msgSend_109Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_undoMenuItemTitle1 = _registerName1("undoMenuItemTitle"); + late final _sel_redoMenuItemTitle1 = _registerName1("redoMenuItemTitle"); + late final _sel_undoMenuTitleForUndoActionName_1 = + _registerName1("undoMenuTitleForUndoActionName:"); + ffi.Pointer _objc_msgSend_110( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer actionName, + ) { + return __objc_msgSend_110( + obj, + sel, + actionName, + ); + } + + late final __objc_msgSend_110Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_110 = __objc_msgSend_110Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_redoMenuTitleForUndoActionName_1 = + _registerName1("redoMenuTitleForUndoActionName:"); + late final _sel_undoManager1 = _registerName1("undoManager"); + ffi.Pointer _objc_msgSend_111( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_111( + obj, + sel, + ); + } + + late final __objc_msgSend_111Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_111 = __objc_msgSend_111Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_editingInteractionConfiguration1 = + _registerName1("editingInteractionConfiguration"); + int _objc_msgSend_112( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_112( + obj, + sel, + ); + } + + late final __objc_msgSend_112Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_112 = __objc_msgSend_112Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_layerClass1 = _registerName1("layerClass"); + late final _sel_initWithFrame_1 = _registerName1("initWithFrame:"); + instancetype _objc_msgSend_113( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect frame, + ) { + return __objc_msgSend_113( + obj, + sel, + frame, + ); + } + + late final __objc_msgSend_113Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + CGRect)>>('objc_msgSend'); + late final __objc_msgSend_113 = __objc_msgSend_113Ptr.asFunction< + instancetype Function( + ffi.Pointer, ffi.Pointer, CGRect)>(); + + late final _sel_isUserInteractionEnabled1 = + _registerName1("isUserInteractionEnabled"); + late final _sel_setUserInteractionEnabled_1 = + _registerName1("setUserInteractionEnabled:"); + late final _sel_tag1 = _registerName1("tag"); + late final _sel_setTag_1 = _registerName1("setTag:"); + void _objc_msgSend_114( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_114( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_114Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Long)>>('objc_msgSend'); + late final __objc_msgSend_114 = __objc_msgSend_114Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _class_CALayer1 = _getClass1("CALayer"); + late final _sel_layer1 = _registerName1("layer"); + late final _sel_initWithLayer_1 = _registerName1("initWithLayer:"); + late final _sel_presentationLayer1 = _registerName1("presentationLayer"); + late final _sel_modelLayer1 = _registerName1("modelLayer"); + late final _sel_defaultValueForKey_1 = _registerName1("defaultValueForKey:"); + ffi.Pointer _objc_msgSend_115( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer key, + ) { + return __objc_msgSend_115( + obj, + sel, + key, + ); + } + + late final __objc_msgSend_115Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_115 = __objc_msgSend_115Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_needsDisplayForKey_1 = _registerName1("needsDisplayForKey:"); + bool _objc_msgSend_116( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer key, + ) { + return __objc_msgSend_116( + obj, + sel, + key, + ); + } + + late final __objc_msgSend_116Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_116 = __objc_msgSend_116Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_shouldArchiveValueForKey_1 = + _registerName1("shouldArchiveValueForKey:"); + late final _sel_bounds1 = _registerName1("bounds"); + CGRect _objc_msgSend_117( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_117( + obj, + sel, + ); + } + + late final __objc_msgSend_117Ptr = _lookup< + ffi.NativeFunction< + CGRect Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_117 = __objc_msgSend_117Ptr.asFunction< + CGRect Function(ffi.Pointer, ffi.Pointer)>(); + + void _objc_msgSend_117_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_117_stret( + stret, + obj, + sel, + ); + } + + late final __objc_msgSend_117_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend_stret'); + late final __objc_msgSend_117_stret = __objc_msgSend_117_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_setBounds_1 = _registerName1("setBounds:"); + void _objc_msgSend_118( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect value, + ) { + return __objc_msgSend_118( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_118Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + CGRect)>>('objc_msgSend'); + late final __objc_msgSend_118 = __objc_msgSend_118Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, CGRect)>(); + + late final _sel_position1 = _registerName1("position"); + CGPoint _objc_msgSend_119( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_119( + obj, + sel, + ); + } + + late final __objc_msgSend_119Ptr = _lookup< + ffi.NativeFunction< + CGPoint Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_119 = __objc_msgSend_119Ptr.asFunction< + CGPoint Function(ffi.Pointer, ffi.Pointer)>(); + + void _objc_msgSend_119_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_119_stret( + stret, + obj, + sel, + ); + } + + late final __objc_msgSend_119_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend_stret'); + late final __objc_msgSend_119_stret = __objc_msgSend_119_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_setPosition_1 = _registerName1("setPosition:"); + void _objc_msgSend_120( + ffi.Pointer obj, + ffi.Pointer sel, + CGPoint value, + ) { + return __objc_msgSend_120( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_120Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + CGPoint)>>('objc_msgSend'); + late final __objc_msgSend_120 = __objc_msgSend_120Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, CGPoint)>(); + + late final _sel_zPosition1 = _registerName1("zPosition"); + late final _sel_setZPosition_1 = _registerName1("setZPosition:"); + void _objc_msgSend_121( + ffi.Pointer obj, + ffi.Pointer sel, + double value, + ) { + return __objc_msgSend_121( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_121Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Double)>>('objc_msgSend'); + late final __objc_msgSend_121 = __objc_msgSend_121Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, double)>(); + + late final _sel_anchorPoint1 = _registerName1("anchorPoint"); + late final _sel_setAnchorPoint_1 = _registerName1("setAnchorPoint:"); + late final _sel_anchorPointZ1 = _registerName1("anchorPointZ"); + late final _sel_setAnchorPointZ_1 = _registerName1("setAnchorPointZ:"); + late final _sel_transform1 = _registerName1("transform"); + CATransform3D _objc_msgSend_122( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_122( + obj, + sel, + ); + } + + late final __objc_msgSend_122Ptr = _lookup< + ffi.NativeFunction< + CATransform3D Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_122 = __objc_msgSend_122Ptr.asFunction< + CATransform3D Function(ffi.Pointer, ffi.Pointer)>(); + + void _objc_msgSend_122_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_122_stret( + stret, + obj, + sel, + ); + } + + late final __objc_msgSend_122_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend_stret'); + late final __objc_msgSend_122_stret = __objc_msgSend_122_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_setTransform_1 = _registerName1("setTransform:"); + void _objc_msgSend_123( + ffi.Pointer obj, + ffi.Pointer sel, + CATransform3D value, + ) { + return __objc_msgSend_123( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_123Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + CATransform3D)>>('objc_msgSend'); + late final __objc_msgSend_123 = __objc_msgSend_123Ptr.asFunction< + void Function( + ffi.Pointer, ffi.Pointer, CATransform3D)>(); + + late final _sel_affineTransform1 = _registerName1("affineTransform"); + CGAffineTransform _objc_msgSend_124( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_124( + obj, + sel, + ); + } + + late final __objc_msgSend_124Ptr = _lookup< + ffi.NativeFunction< + CGAffineTransform Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_124 = __objc_msgSend_124Ptr.asFunction< + CGAffineTransform Function( + ffi.Pointer, ffi.Pointer)>(); + + void _objc_msgSend_124_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_124_stret( + stret, + obj, + sel, + ); + } + + late final __objc_msgSend_124_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend_stret'); + late final __objc_msgSend_124_stret = __objc_msgSend_124_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_setAffineTransform_1 = _registerName1("setAffineTransform:"); + void _objc_msgSend_125( + ffi.Pointer obj, + ffi.Pointer sel, + CGAffineTransform m, + ) { + return __objc_msgSend_125( + obj, + sel, + m, + ); + } + + late final __objc_msgSend_125Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + CGAffineTransform)>>('objc_msgSend'); + late final __objc_msgSend_125 = __objc_msgSend_125Ptr.asFunction< + void Function( + ffi.Pointer, ffi.Pointer, CGAffineTransform)>(); + + late final _sel_frame1 = _registerName1("frame"); + late final _sel_setFrame_1 = _registerName1("setFrame:"); + late final _sel_isHidden1 = _registerName1("isHidden"); + late final _sel_setHidden_1 = _registerName1("setHidden:"); + late final _sel_isDoubleSided1 = _registerName1("isDoubleSided"); + late final _sel_setDoubleSided_1 = _registerName1("setDoubleSided:"); + late final _sel_isGeometryFlipped1 = _registerName1("isGeometryFlipped"); + late final _sel_setGeometryFlipped_1 = _registerName1("setGeometryFlipped:"); + late final _sel_contentsAreFlipped1 = _registerName1("contentsAreFlipped"); + late final _sel_superlayer1 = _registerName1("superlayer"); + ffi.Pointer _objc_msgSend_126( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_126( + obj, + sel, + ); + } + + late final __objc_msgSend_126Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_126 = __objc_msgSend_126Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_removeFromSuperlayer1 = + _registerName1("removeFromSuperlayer"); + late final _sel_sublayers1 = _registerName1("sublayers"); + late final _sel_setSublayers_1 = _registerName1("setSublayers:"); + late final _sel_addSublayer_1 = _registerName1("addSublayer:"); + void _objc_msgSend_127( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer layer, + ) { + return __objc_msgSend_127( + obj, + sel, + layer, + ); + } + + late final __objc_msgSend_127Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_127 = __objc_msgSend_127Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_insertSublayer_atIndex_1 = + _registerName1("insertSublayer:atIndex:"); + void _objc_msgSend_128( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer layer, + int idx, + ) { + return __objc_msgSend_128( + obj, + sel, + layer, + idx, + ); + } + + late final __objc_msgSend_128Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.UnsignedInt)>>('objc_msgSend'); + late final __objc_msgSend_128 = __objc_msgSend_128Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + late final _sel_insertSublayer_below_1 = + _registerName1("insertSublayer:below:"); + void _objc_msgSend_129( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer layer, + ffi.Pointer sibling, + ) { + return __objc_msgSend_129( + obj, + sel, + layer, + sibling, + ); + } + + late final __objc_msgSend_129Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_129 = __objc_msgSend_129Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_insertSublayer_above_1 = + _registerName1("insertSublayer:above:"); + late final _sel_replaceSublayer_with_1 = + _registerName1("replaceSublayer:with:"); + void _objc_msgSend_130( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer oldLayer, + ffi.Pointer newLayer, + ) { + return __objc_msgSend_130( + obj, + sel, + oldLayer, + newLayer, + ); + } + + late final __objc_msgSend_130Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_130 = __objc_msgSend_130Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_sublayerTransform1 = _registerName1("sublayerTransform"); + late final _sel_setSublayerTransform_1 = + _registerName1("setSublayerTransform:"); + late final _sel_mask1 = _registerName1("mask"); + late final _sel_setMask_1 = _registerName1("setMask:"); + void _objc_msgSend_131( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_131( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_131Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_131 = __objc_msgSend_131Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_masksToBounds1 = _registerName1("masksToBounds"); + late final _sel_setMasksToBounds_1 = _registerName1("setMasksToBounds:"); + late final _sel_convertPoint_fromLayer_1 = + _registerName1("convertPoint:fromLayer:"); + CGPoint _objc_msgSend_132( + ffi.Pointer obj, + ffi.Pointer sel, + CGPoint p, + ffi.Pointer l, + ) { + return __objc_msgSend_132( + obj, + sel, + p, + l, + ); + } + + late final __objc_msgSend_132Ptr = _lookup< + ffi.NativeFunction< + CGPoint Function(ffi.Pointer, ffi.Pointer, + CGPoint, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_132 = __objc_msgSend_132Ptr.asFunction< + CGPoint Function(ffi.Pointer, ffi.Pointer, CGPoint, + ffi.Pointer)>(); + + void _objc_msgSend_132_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + CGPoint p, + ffi.Pointer l, + ) { + return __objc_msgSend_132_stret( + stret, + obj, + sel, + p, + l, + ); + } + + late final __objc_msgSend_132_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + CGPoint, + ffi.Pointer)>>('objc_msgSend_stret'); + late final __objc_msgSend_132_stret = __objc_msgSend_132_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, CGPoint, ffi.Pointer)>(); + + late final _sel_convertPoint_toLayer_1 = + _registerName1("convertPoint:toLayer:"); + late final _sel_convertRect_fromLayer_1 = + _registerName1("convertRect:fromLayer:"); + CGRect _objc_msgSend_133( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect r, + ffi.Pointer l, + ) { + return __objc_msgSend_133( + obj, + sel, + r, + l, + ); + } + + late final __objc_msgSend_133Ptr = _lookup< + ffi.NativeFunction< + CGRect Function(ffi.Pointer, ffi.Pointer, CGRect, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_133 = __objc_msgSend_133Ptr.asFunction< + CGRect Function(ffi.Pointer, ffi.Pointer, CGRect, + ffi.Pointer)>(); + + void _objc_msgSend_133_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + CGRect r, + ffi.Pointer l, + ) { + return __objc_msgSend_133_stret( + stret, + obj, + sel, + r, + l, + ); + } + + late final __objc_msgSend_133_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + CGRect, + ffi.Pointer)>>('objc_msgSend_stret'); + late final __objc_msgSend_133_stret = __objc_msgSend_133_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, CGRect, ffi.Pointer)>(); + + late final _sel_convertRect_toLayer_1 = + _registerName1("convertRect:toLayer:"); + late final _sel_convertTime_fromLayer_1 = + _registerName1("convertTime:fromLayer:"); + double _objc_msgSend_134( + ffi.Pointer obj, + ffi.Pointer sel, + double t, + ffi.Pointer l, + ) { + return __objc_msgSend_134( + obj, + sel, + t, + l, + ); + } + + late final __objc_msgSend_134Ptr = _lookup< + ffi.NativeFunction< + ffi.Double Function(ffi.Pointer, ffi.Pointer, + ffi.Double, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_134 = __objc_msgSend_134Ptr.asFunction< + double Function(ffi.Pointer, ffi.Pointer, double, + ffi.Pointer)>(); + + double _objc_msgSend_134_fpret( + ffi.Pointer obj, + ffi.Pointer sel, + double t, + ffi.Pointer l, + ) { + return __objc_msgSend_134_fpret( + obj, + sel, + t, + l, + ); + } + + late final __objc_msgSend_134_fpretPtr = _lookup< + ffi.NativeFunction< + ffi.Double Function(ffi.Pointer, ffi.Pointer, + ffi.Double, ffi.Pointer)>>('objc_msgSend_fpret'); + late final __objc_msgSend_134_fpret = __objc_msgSend_134_fpretPtr.asFunction< + double Function(ffi.Pointer, ffi.Pointer, double, + ffi.Pointer)>(); + + late final _sel_convertTime_toLayer_1 = + _registerName1("convertTime:toLayer:"); + late final _sel_hitTest_1 = _registerName1("hitTest:"); + ffi.Pointer _objc_msgSend_135( + ffi.Pointer obj, + ffi.Pointer sel, + CGPoint p, + ) { + return __objc_msgSend_135( + obj, + sel, + p, + ); + } + + late final __objc_msgSend_135Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, CGPoint)>>('objc_msgSend'); + late final __objc_msgSend_135 = __objc_msgSend_135Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, CGPoint)>(); + + late final _sel_containsPoint_1 = _registerName1("containsPoint:"); + bool _objc_msgSend_136( + ffi.Pointer obj, + ffi.Pointer sel, + CGPoint p, + ) { + return __objc_msgSend_136( + obj, + sel, + p, + ); + } + + late final __objc_msgSend_136Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + CGPoint)>>('objc_msgSend'); + late final __objc_msgSend_136 = __objc_msgSend_136Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, CGPoint)>(); + + late final _sel_contents1 = _registerName1("contents"); + late final _sel_setContents_1 = _registerName1("setContents:"); + late final _sel_contentsRect1 = _registerName1("contentsRect"); + late final _sel_setContentsRect_1 = _registerName1("setContentsRect:"); + late final _sel_contentsGravity1 = _registerName1("contentsGravity"); + late final _sel_setContentsGravity_1 = _registerName1("setContentsGravity:"); + late final _sel_contentsScale1 = _registerName1("contentsScale"); + late final _sel_setContentsScale_1 = _registerName1("setContentsScale:"); + late final _sel_contentsCenter1 = _registerName1("contentsCenter"); + late final _sel_setContentsCenter_1 = _registerName1("setContentsCenter:"); + late final _sel_contentsFormat1 = _registerName1("contentsFormat"); + late final _sel_setContentsFormat_1 = _registerName1("setContentsFormat:"); + late final _sel_wantsExtendedDynamicRangeContent1 = + _registerName1("wantsExtendedDynamicRangeContent"); + late final _sel_setWantsExtendedDynamicRangeContent_1 = + _registerName1("setWantsExtendedDynamicRangeContent:"); + late final _sel_minificationFilter1 = _registerName1("minificationFilter"); + late final _sel_setMinificationFilter_1 = + _registerName1("setMinificationFilter:"); + late final _sel_magnificationFilter1 = _registerName1("magnificationFilter"); + late final _sel_setMagnificationFilter_1 = + _registerName1("setMagnificationFilter:"); + late final _sel_minificationFilterBias1 = + _registerName1("minificationFilterBias"); + late final _sel_setMinificationFilterBias_1 = + _registerName1("setMinificationFilterBias:"); + void _objc_msgSend_137( + ffi.Pointer obj, + ffi.Pointer sel, + double value, + ) { + return __objc_msgSend_137( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_137Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Float)>>('objc_msgSend'); + late final __objc_msgSend_137 = __objc_msgSend_137Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, double)>(); + + late final _sel_isOpaque1 = _registerName1("isOpaque"); + late final _sel_setOpaque_1 = _registerName1("setOpaque:"); + late final _sel_display1 = _registerName1("display"); + late final _sel_setNeedsDisplay1 = _registerName1("setNeedsDisplay"); + late final _sel_setNeedsDisplayInRect_1 = + _registerName1("setNeedsDisplayInRect:"); + void _objc_msgSend_138( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect r, + ) { + return __objc_msgSend_138( + obj, + sel, + r, + ); + } + + late final __objc_msgSend_138Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + CGRect)>>('objc_msgSend'); + late final __objc_msgSend_138 = __objc_msgSend_138Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, CGRect)>(); + + late final _sel_needsDisplay1 = _registerName1("needsDisplay"); + late final _sel_displayIfNeeded1 = _registerName1("displayIfNeeded"); + late final _sel_needsDisplayOnBoundsChange1 = + _registerName1("needsDisplayOnBoundsChange"); + late final _sel_setNeedsDisplayOnBoundsChange_1 = + _registerName1("setNeedsDisplayOnBoundsChange:"); + late final _sel_drawsAsynchronously1 = _registerName1("drawsAsynchronously"); + late final _sel_setDrawsAsynchronously_1 = + _registerName1("setDrawsAsynchronously:"); + late final _sel_drawInContext_1 = _registerName1("drawInContext:"); + void _objc_msgSend_139( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer ctx, + ) { + return __objc_msgSend_139( + obj, + sel, + ctx, + ); + } + + late final __objc_msgSend_139Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_139 = __objc_msgSend_139Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_renderInContext_1 = _registerName1("renderInContext:"); + late final _sel_edgeAntialiasingMask1 = + _registerName1("edgeAntialiasingMask"); + int _objc_msgSend_140( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_140( + obj, + sel, + ); + } + + late final __objc_msgSend_140Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_140 = __objc_msgSend_140Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setEdgeAntialiasingMask_1 = + _registerName1("setEdgeAntialiasingMask:"); + void _objc_msgSend_141( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_141( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_141Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_141 = __objc_msgSend_141Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_allowsEdgeAntialiasing1 = + _registerName1("allowsEdgeAntialiasing"); + late final _sel_setAllowsEdgeAntialiasing_1 = + _registerName1("setAllowsEdgeAntialiasing:"); + late final _sel_backgroundColor1 = _registerName1("backgroundColor"); + ffi.Pointer _objc_msgSend_142( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_142( + obj, + sel, + ); + } + + late final __objc_msgSend_142Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_142 = __objc_msgSend_142Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setBackgroundColor_1 = _registerName1("setBackgroundColor:"); + void _objc_msgSend_143( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_143( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_143Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_143 = __objc_msgSend_143Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_cornerRadius1 = _registerName1("cornerRadius"); + late final _sel_setCornerRadius_1 = _registerName1("setCornerRadius:"); + late final _sel_maskedCorners1 = _registerName1("maskedCorners"); + int _objc_msgSend_144( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_144( + obj, + sel, + ); + } + + late final __objc_msgSend_144Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_144 = __objc_msgSend_144Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setMaskedCorners_1 = _registerName1("setMaskedCorners:"); + void _objc_msgSend_145( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_145( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_145Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_145 = __objc_msgSend_145Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_cornerCurve1 = _registerName1("cornerCurve"); + late final _sel_setCornerCurve_1 = _registerName1("setCornerCurve:"); + late final _sel_cornerCurveExpansionFactor_1 = + _registerName1("cornerCurveExpansionFactor:"); + double _objc_msgSend_146( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer curve, + ) { + return __objc_msgSend_146( + obj, + sel, + curve, + ); + } + + late final __objc_msgSend_146Ptr = _lookup< + ffi.NativeFunction< + ffi.Double Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_146 = __objc_msgSend_146Ptr.asFunction< + double Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + double _objc_msgSend_146_fpret( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer curve, + ) { + return __objc_msgSend_146_fpret( + obj, + sel, + curve, + ); + } + + late final __objc_msgSend_146_fpretPtr = _lookup< + ffi.NativeFunction< + ffi.Double Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend_fpret'); + late final __objc_msgSend_146_fpret = __objc_msgSend_146_fpretPtr.asFunction< + double Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_borderWidth1 = _registerName1("borderWidth"); + late final _sel_setBorderWidth_1 = _registerName1("setBorderWidth:"); + late final _sel_borderColor1 = _registerName1("borderColor"); + late final _sel_setBorderColor_1 = _registerName1("setBorderColor:"); + late final _sel_opacity1 = _registerName1("opacity"); + late final _sel_setOpacity_1 = _registerName1("setOpacity:"); + late final _sel_allowsGroupOpacity1 = _registerName1("allowsGroupOpacity"); + late final _sel_setAllowsGroupOpacity_1 = + _registerName1("setAllowsGroupOpacity:"); + late final _sel_compositingFilter1 = _registerName1("compositingFilter"); + late final _sel_setCompositingFilter_1 = + _registerName1("setCompositingFilter:"); + late final _class_NSArray1 = _getClass1("NSArray"); + late final _sel_count1 = _registerName1("count"); + late final _sel_objectAtIndex_1 = _registerName1("objectAtIndex:"); + ffi.Pointer _objc_msgSend_147( + ffi.Pointer obj, + ffi.Pointer sel, + int index, + ) { + return __objc_msgSend_147( + obj, + sel, + index, + ); + } + + late final __objc_msgSend_147Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_147 = __objc_msgSend_147Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_initWithObjects_count_1 = + _registerName1("initWithObjects:count:"); + instancetype _objc_msgSend_148( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer> objects, + int cnt, + ) { + return __objc_msgSend_148( + obj, + sel, + objects, + cnt, + ); + } + + late final __objc_msgSend_148Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>, + ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_148 = __objc_msgSend_148Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer>, int)>(); + + late final _sel_filters1 = _registerName1("filters"); + ffi.Pointer _objc_msgSend_149( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_149( + obj, + sel, + ); + } + + late final __objc_msgSend_149Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_149 = __objc_msgSend_149Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setFilters_1 = _registerName1("setFilters:"); + void _objc_msgSend_150( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_150( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_150Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_150 = __objc_msgSend_150Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_backgroundFilters1 = _registerName1("backgroundFilters"); + late final _sel_setBackgroundFilters_1 = + _registerName1("setBackgroundFilters:"); + late final _sel_shouldRasterize1 = _registerName1("shouldRasterize"); + late final _sel_setShouldRasterize_1 = _registerName1("setShouldRasterize:"); + late final _sel_rasterizationScale1 = _registerName1("rasterizationScale"); + late final _sel_setRasterizationScale_1 = + _registerName1("setRasterizationScale:"); + late final _sel_shadowColor1 = _registerName1("shadowColor"); + late final _sel_setShadowColor_1 = _registerName1("setShadowColor:"); + late final _sel_shadowOpacity1 = _registerName1("shadowOpacity"); + late final _sel_setShadowOpacity_1 = _registerName1("setShadowOpacity:"); + late final _sel_shadowOffset1 = _registerName1("shadowOffset"); + CGSize _objc_msgSend_151( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_151( + obj, + sel, + ); + } + + late final __objc_msgSend_151Ptr = _lookup< + ffi.NativeFunction< + CGSize Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_151 = __objc_msgSend_151Ptr.asFunction< + CGSize Function(ffi.Pointer, ffi.Pointer)>(); + + void _objc_msgSend_151_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_151_stret( + stret, + obj, + sel, + ); + } + + late final __objc_msgSend_151_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend_stret'); + late final __objc_msgSend_151_stret = __objc_msgSend_151_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_setShadowOffset_1 = _registerName1("setShadowOffset:"); + void _objc_msgSend_152( + ffi.Pointer obj, + ffi.Pointer sel, + CGSize value, + ) { + return __objc_msgSend_152( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_152Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + CGSize)>>('objc_msgSend'); + late final __objc_msgSend_152 = __objc_msgSend_152Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, CGSize)>(); + + late final _sel_shadowRadius1 = _registerName1("shadowRadius"); + late final _sel_setShadowRadius_1 = _registerName1("setShadowRadius:"); + late final _sel_shadowPath1 = _registerName1("shadowPath"); + ffi.Pointer _objc_msgSend_153( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_153( + obj, + sel, + ); + } + + late final __objc_msgSend_153Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_153 = __objc_msgSend_153Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setShadowPath_1 = _registerName1("setShadowPath:"); + void _objc_msgSend_154( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_154( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_154Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_154 = __objc_msgSend_154Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_preferredFrameSize1 = _registerName1("preferredFrameSize"); + late final _sel_setNeedsLayout1 = _registerName1("setNeedsLayout"); + late final _sel_needsLayout1 = _registerName1("needsLayout"); + late final _sel_layoutIfNeeded1 = _registerName1("layoutIfNeeded"); + late final _sel_layoutSublayers1 = _registerName1("layoutSublayers"); + late final _sel_defaultActionForKey_1 = + _registerName1("defaultActionForKey:"); + late final _sel_actionForKey_1 = _registerName1("actionForKey:"); + late final _sel_actions1 = _registerName1("actions"); + late final _sel_setActions_1 = _registerName1("setActions:"); + late final _class_CAAnimation1 = _getClass1("CAAnimation"); + late final _sel_animation1 = _registerName1("animation"); + late final _class_CAMediaTimingFunction1 = + _getClass1("CAMediaTimingFunction"); + late final _sel_functionWithName_1 = _registerName1("functionWithName:"); + instancetype _objc_msgSend_155( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer name, + ) { + return __objc_msgSend_155( + obj, + sel, + name, + ); + } + + late final __objc_msgSend_155Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_155 = __objc_msgSend_155Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_functionWithControlPoints____1 = + _registerName1("functionWithControlPoints::::"); + instancetype _objc_msgSend_156( + ffi.Pointer obj, + ffi.Pointer sel, + double c1x, + double c1y, + double c2x, + double c2y, + ) { + return __objc_msgSend_156( + obj, + sel, + c1x, + c1y, + c2x, + c2y, + ); + } + + late final __objc_msgSend_156Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Float, ffi.Float, ffi.Float, ffi.Float)>>('objc_msgSend'); + late final __objc_msgSend_156 = __objc_msgSend_156Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + double, double, double, double)>(); + + late final _sel_initWithControlPoints____1 = + _registerName1("initWithControlPoints::::"); + late final _sel_getControlPointAtIndex_values_1 = + _registerName1("getControlPointAtIndex:values:"); + void _objc_msgSend_157( + ffi.Pointer obj, + ffi.Pointer sel, + int idx, + ffi.Pointer ptr, + ) { + return __objc_msgSend_157( + obj, + sel, + idx, + ptr, + ); + } + + late final __objc_msgSend_157Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Size, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_157 = __objc_msgSend_157Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int, + ffi.Pointer)>(); + + late final _sel_timingFunction1 = _registerName1("timingFunction"); + ffi.Pointer _objc_msgSend_158( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_158( + obj, + sel, + ); + } + + late final __objc_msgSend_158Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_158 = __objc_msgSend_158Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setTimingFunction_1 = _registerName1("setTimingFunction:"); + void _objc_msgSend_159( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_159( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_159Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_159 = __objc_msgSend_159Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_delegate1 = _registerName1("delegate"); + late final _sel_setDelegate_1 = _registerName1("setDelegate:"); + late final _sel_isRemovedOnCompletion1 = + _registerName1("isRemovedOnCompletion"); + late final _sel_setRemovedOnCompletion_1 = + _registerName1("setRemovedOnCompletion:"); + late final _sel_preferredFrameRateRange1 = + _registerName1("preferredFrameRateRange"); + CAFrameRateRange _objc_msgSend_160( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_160( + obj, + sel, + ); + } + + late final __objc_msgSend_160Ptr = _lookup< + ffi.NativeFunction< + CAFrameRateRange Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_160 = __objc_msgSend_160Ptr.asFunction< + CAFrameRateRange Function( + ffi.Pointer, ffi.Pointer)>(); + + void _objc_msgSend_160_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_160_stret( + stret, + obj, + sel, + ); + } + + late final __objc_msgSend_160_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend_stret'); + late final __objc_msgSend_160_stret = __objc_msgSend_160_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_setPreferredFrameRateRange_1 = + _registerName1("setPreferredFrameRateRange:"); + void _objc_msgSend_161( + ffi.Pointer obj, + ffi.Pointer sel, + CAFrameRateRange value, + ) { + return __objc_msgSend_161( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_161Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + CAFrameRateRange)>>('objc_msgSend'); + late final __objc_msgSend_161 = __objc_msgSend_161Ptr.asFunction< + void Function( + ffi.Pointer, ffi.Pointer, CAFrameRateRange)>(); + + late final _sel_addAnimation_forKey_1 = + _registerName1("addAnimation:forKey:"); + void _objc_msgSend_162( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer anim, + ffi.Pointer key, + ) { + return __objc_msgSend_162( + obj, + sel, + anim, + key, + ); + } + + late final __objc_msgSend_162Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_162 = __objc_msgSend_162Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_removeAllAnimations1 = _registerName1("removeAllAnimations"); + late final _sel_removeAnimationForKey_1 = + _registerName1("removeAnimationForKey:"); + late final _sel_animationKeys1 = _registerName1("animationKeys"); + late final _sel_animationForKey_1 = _registerName1("animationForKey:"); + ffi.Pointer _objc_msgSend_163( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer key, + ) { + return __objc_msgSend_163( + obj, + sel, + key, + ); + } + + late final __objc_msgSend_163Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_163 = __objc_msgSend_163Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_name1 = _registerName1("name"); + late final _sel_setName_1 = _registerName1("setName:"); + late final _class_NSDictionary1 = _getClass1("NSDictionary"); + late final _sel_objectForKey_1 = _registerName1("objectForKey:"); + ffi.Pointer _objc_msgSend_164( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aKey, + ) { + return __objc_msgSend_164( + obj, + sel, + aKey, + ); + } + + late final __objc_msgSend_164Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_164 = __objc_msgSend_164Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_keyEnumerator1 = _registerName1("keyEnumerator"); + late final _sel_initWithObjects_forKeys_count_1 = + _registerName1("initWithObjects:forKeys:count:"); + instancetype _objc_msgSend_165( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer> objects, + ffi.Pointer> keys, + int cnt, + ) { + return __objc_msgSend_165( + obj, + sel, + objects, + keys, + cnt, + ); + } + + late final __objc_msgSend_165Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>, + ffi.Pointer>, + ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_165 = __objc_msgSend_165Ptr.asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>, + ffi.Pointer>, + int)>(); + + late final _sel_style1 = _registerName1("style"); + ffi.Pointer _objc_msgSend_166( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_166( + obj, + sel, + ); + } + + late final __objc_msgSend_166Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_166 = __objc_msgSend_166Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setStyle_1 = _registerName1("setStyle:"); + void _objc_msgSend_167( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_167( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_167Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_167 = __objc_msgSend_167Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + ffi.Pointer _objc_msgSend_168( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_168( + obj, + sel, + ); + } + + late final __objc_msgSend_168Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_168 = __objc_msgSend_168Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_canBecomeFocused1 = _registerName1("canBecomeFocused"); + late final _sel_isFocused1 = _registerName1("isFocused"); + late final _sel_focusGroupIdentifier1 = + _registerName1("focusGroupIdentifier"); + late final _sel_setFocusGroupIdentifier_1 = + _registerName1("setFocusGroupIdentifier:"); + late final _sel_focusGroupPriority1 = _registerName1("focusGroupPriority"); + late final _sel_setFocusGroupPriority_1 = + _registerName1("setFocusGroupPriority:"); + late final _class_UIFocusEffect1 = _getClass1("UIFocusEffect"); + late final _sel_focusEffect1 = _registerName1("focusEffect"); + ffi.Pointer _objc_msgSend_169( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_169( + obj, + sel, + ); + } + + late final __objc_msgSend_169Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_169 = __objc_msgSend_169Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setFocusEffect_1 = _registerName1("setFocusEffect:"); + void _objc_msgSend_170( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_170( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_170Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_170 = __objc_msgSend_170Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_semanticContentAttribute1 = + _registerName1("semanticContentAttribute"); + int _objc_msgSend_171( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_171( + obj, + sel, + ); + } + + late final __objc_msgSend_171Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_171 = __objc_msgSend_171Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setSemanticContentAttribute_1 = + _registerName1("setSemanticContentAttribute:"); + void _objc_msgSend_172( + ffi.Pointer obj, + ffi.Pointer sel, + int value, + ) { + return __objc_msgSend_172( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_172Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_172 = __objc_msgSend_172Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_userInterfaceLayoutDirectionForSemanticContentAttribute_1 = + _registerName1( + "userInterfaceLayoutDirectionForSemanticContentAttribute:"); + int _objc_msgSend_173( + ffi.Pointer obj, + ffi.Pointer sel, + int attribute, + ) { + return __objc_msgSend_173( + obj, + sel, + attribute, + ); + } + + late final __objc_msgSend_173Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function(ffi.Pointer, ffi.Pointer, + ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_173 = __objc_msgSend_173Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_userInterfaceLayoutDirectionForSemanticContentAttribute_relativeToLayoutDirection_1 = + _registerName1( + "userInterfaceLayoutDirectionForSemanticContentAttribute:relativeToLayoutDirection:"); + int _objc_msgSend_174( + ffi.Pointer obj, + ffi.Pointer sel, + int semanticContentAttribute, + int layoutDirection, + ) { + return __objc_msgSend_174( + obj, + sel, + semanticContentAttribute, + layoutDirection, + ); + } + + late final __objc_msgSend_174Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function(ffi.Pointer, ffi.Pointer, + ffi.Int32, ffi.Int32)>>('objc_msgSend'); + late final __objc_msgSend_174 = __objc_msgSend_174Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, int, int)>(); + + late final _sel_effectiveUserInterfaceLayoutDirection1 = + _registerName1("effectiveUserInterfaceLayoutDirection"); + int _objc_msgSend_175( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_175( + obj, + sel, + ); + } + + late final __objc_msgSend_175Ptr = _lookup< + ffi.NativeFunction< + ffi.Int32 Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_175 = __objc_msgSend_175Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _class_UIWindowScene1 = _getClass1("UIWindowScene"); + late final _sel_initWithWindowScene_1 = + _registerName1("initWithWindowScene:"); + instancetype _objc_msgSend_176( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer windowScene, + ) { + return __objc_msgSend_176( + obj, + sel, + windowScene, + ); + } + + late final __objc_msgSend_176Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_176 = __objc_msgSend_176Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_windowScene1 = _registerName1("windowScene"); + ffi.Pointer _objc_msgSend_177( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_177( + obj, + sel, + ); + } + + late final __objc_msgSend_177Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_177 = __objc_msgSend_177Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setWindowScene_1 = _registerName1("setWindowScene:"); + void _objc_msgSend_178( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_178( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_178Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_178 = __objc_msgSend_178Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_canResizeToFitContent1 = + _registerName1("canResizeToFitContent"); + late final _sel_setCanResizeToFitContent_1 = + _registerName1("setCanResizeToFitContent:"); + late final _class_UIScreen1 = _getClass1("UIScreen"); + late final _sel_screen1 = _registerName1("screen"); + ffi.Pointer _objc_msgSend_179( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_179( + obj, + sel, + ); + } + + late final __objc_msgSend_179Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_179 = __objc_msgSend_179Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setScreen_1 = _registerName1("setScreen:"); + void _objc_msgSend_180( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_180( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_180Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_180 = __objc_msgSend_180Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_windowLevel1 = _registerName1("windowLevel"); + late final _sel_setWindowLevel_1 = _registerName1("setWindowLevel:"); + late final _sel_isKeyWindow1 = _registerName1("isKeyWindow"); + late final _sel_canBecomeKeyWindow1 = _registerName1("canBecomeKeyWindow"); + late final _sel_becomeKeyWindow1 = _registerName1("becomeKeyWindow"); + late final _sel_resignKeyWindow1 = _registerName1("resignKeyWindow"); + late final _sel_makeKeyWindow1 = _registerName1("makeKeyWindow"); + late final _sel_makeKeyAndVisible1 = _registerName1("makeKeyAndVisible"); + late final _class_UIViewController1 = _getClass1("UIViewController"); + late final _sel_rootViewController1 = _registerName1("rootViewController"); + ffi.Pointer _objc_msgSend_181( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_181( + obj, + sel, + ); + } + + late final __objc_msgSend_181Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_181 = __objc_msgSend_181Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setRootViewController_1 = + _registerName1("setRootViewController:"); + void _objc_msgSend_182( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_182( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_182Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_182 = __objc_msgSend_182Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_sendEvent_1 = _registerName1("sendEvent:"); + void _objc_msgSend_183( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer event, + ) { + return __objc_msgSend_183( + obj, + sel, + event, + ); + } + + late final __objc_msgSend_183Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_183 = __objc_msgSend_183Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_convertPoint_toWindow_1 = + _registerName1("convertPoint:toWindow:"); + CGPoint _objc_msgSend_184( + ffi.Pointer obj, + ffi.Pointer sel, + CGPoint point, + ffi.Pointer window, + ) { + return __objc_msgSend_184( + obj, + sel, + point, + window, + ); + } + + late final __objc_msgSend_184Ptr = _lookup< + ffi.NativeFunction< + CGPoint Function(ffi.Pointer, ffi.Pointer, + CGPoint, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_184 = __objc_msgSend_184Ptr.asFunction< + CGPoint Function(ffi.Pointer, ffi.Pointer, CGPoint, + ffi.Pointer)>(); + + void _objc_msgSend_184_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + CGPoint point, + ffi.Pointer window, + ) { + return __objc_msgSend_184_stret( + stret, + obj, + sel, + point, + window, + ); + } + + late final __objc_msgSend_184_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + CGPoint, + ffi.Pointer)>>('objc_msgSend_stret'); + late final __objc_msgSend_184_stret = __objc_msgSend_184_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, CGPoint, ffi.Pointer)>(); + + late final _sel_convertPoint_fromWindow_1 = + _registerName1("convertPoint:fromWindow:"); + late final _sel_convertRect_toWindow_1 = + _registerName1("convertRect:toWindow:"); + CGRect _objc_msgSend_185( + ffi.Pointer obj, + ffi.Pointer sel, + CGRect rect, + ffi.Pointer window, + ) { + return __objc_msgSend_185( + obj, + sel, + rect, + window, + ); + } + + late final __objc_msgSend_185Ptr = _lookup< + ffi.NativeFunction< + CGRect Function(ffi.Pointer, ffi.Pointer, CGRect, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_185 = __objc_msgSend_185Ptr.asFunction< + CGRect Function(ffi.Pointer, ffi.Pointer, CGRect, + ffi.Pointer)>(); + + void _objc_msgSend_185_stret( + ffi.Pointer stret, + ffi.Pointer obj, + ffi.Pointer sel, + CGRect rect, + ffi.Pointer window, + ) { + return __objc_msgSend_185_stret( + stret, + obj, + sel, + rect, + window, + ); + } + + late final __objc_msgSend_185_stretPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + CGRect, + ffi.Pointer)>>('objc_msgSend_stret'); + late final __objc_msgSend_185_stret = __objc_msgSend_185_stretPtr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, CGRect, ffi.Pointer)>(); + + late final _sel_convertRect_fromWindow_1 = + _registerName1("convertRect:fromWindow:"); + late final _sel_safeAreaAspectFitLayoutGuide1 = + _registerName1("safeAreaAspectFitLayoutGuide"); +} + +class _ObjCWrapper implements ffi.Finalizable { + final ffi.Pointer _id; + final UIKit _lib; + bool _pendingRelease; + + _ObjCWrapper._(this._id, this._lib, + {bool retain = false, bool release = false}) + : _pendingRelease = release { + if (retain) { + _lib._objc_retain(_id.cast()); + } + if (release) { + _lib._objc_releaseFinalizer2.attach(this, _id.cast(), detach: this); + } + } + + /// Releases the reference to the underlying ObjC object held by this wrapper. + /// Throws a StateError if this wrapper doesn't currently hold a reference. + void release() { + if (_pendingRelease) { + _pendingRelease = false; + _lib._objc_release(_id.cast()); + _lib._objc_releaseFinalizer2.detach(this); + } else { + throw StateError( + 'Released an ObjC object that was unowned or already released.'); + } + } + + @override + bool operator ==(Object other) { + return other is _ObjCWrapper && _id == other._id; + } + + @override + int get hashCode => _id.hashCode; + + /// Return a pointer to this object. + ffi.Pointer get pointer => _id; + + ffi.Pointer _retainAndReturnId() { + _lib._objc_retain(_id.cast()); + return _id; + } +} + +class UIWindow extends UIView { + UIWindow._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [UIWindow] that points to the same underlying object as [other]. + static UIWindow castFrom(T other) { + return UIWindow._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [UIWindow] that wraps the given raw object pointer. + static UIWindow castFromPointer(UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return UIWindow._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [UIWindow]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_UIWindow1); + } + + /// instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations. + UIWindow initWithWindowScene_(UIWindowScene windowScene) { + final _ret = _lib._objc_msgSend_176( + _id, _lib._sel_initWithWindowScene_1, windowScene._id); + return UIWindow._(_ret, _lib, retain: true, release: true); + } + + /// If nil, window will not appear on any screen. + /// changing the UIWindowScene may be an expensive operation and should not be done in performance-sensitive code + UIWindowScene? get windowScene { + final _ret = _lib._objc_msgSend_177(_id, _lib._sel_windowScene1); + return _ret.address == 0 + ? null + : UIWindowScene._(_ret, _lib, retain: true, release: true); + } + + /// If nil, window will not appear on any screen. + /// changing the UIWindowScene may be an expensive operation and should not be done in performance-sensitive code + set windowScene(UIWindowScene? value) { + return _lib._objc_msgSend_178( + _id, _lib._sel_setWindowScene_1, value?._id ?? ffi.nullptr); + } + + /// Indicates whether content should drive the size of arbitrarily resizable windows (which are currently present only on macOS). + bool get canResizeToFitContent { + return _lib._objc_msgSend_12(_id, _lib._sel_canResizeToFitContent1); + } + + /// Indicates whether content should drive the size of arbitrarily resizable windows (which are currently present only on macOS). + set canResizeToFitContent(bool value) { + return _lib._objc_msgSend_102( + _id, _lib._sel_setCanResizeToFitContent_1, value); + } + + /// default is [UIScreen mainScreen]. changing the screen may be an expensive operation and should not be done in performance-sensitive code + UIScreen get screen { + final _ret = _lib._objc_msgSend_179(_id, _lib._sel_screen1); + return UIScreen._(_ret, _lib, retain: true, release: true); + } + + /// default is [UIScreen mainScreen]. changing the screen may be an expensive operation and should not be done in performance-sensitive code + set screen(UIScreen value) { + return _lib._objc_msgSend_180(_id, _lib._sel_setScreen_1, value._id); + } + + /// default = 0.0 + double get windowLevel { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_windowLevel1) + : _lib._objc_msgSend_40(_id, _lib._sel_windowLevel1); + } + + /// default = 0.0 + set windowLevel(double value) { + return _lib._objc_msgSend_121(_id, _lib._sel_setWindowLevel_1, value); + } + + /// In apps built against the iOS 15 or tvOS 15 SDK (or later), this property returns YES if + /// the window is its scene's key window. For apps built against earlier SDKs, this property + /// returns YES if the window is the application's key window. + bool get keyWindow { + return _lib._objc_msgSend_12(_id, _lib._sel_isKeyWindow1); + } + + /// Default is YES. Return NO to indicate the window cannot become the key window. + bool get canBecomeKeyWindow { + return _lib._objc_msgSend_12(_id, _lib._sel_canBecomeKeyWindow1); + } + + /// Override point for subclasses. Do not call directly. Informs the window it has become the + /// key window. In apps built against the iOS 15 or tvOS 15 SDK (or later), this method will + /// be called when the window becomes its scene's key window. For apps built against earlier + /// SDKs, this method will be called when the window becomes the application's key window. + void becomeKeyWindow() { + _lib._objc_msgSend_1(_id, _lib._sel_becomeKeyWindow1); + } + + /// Override point for subclasses. Do not call directly. Informs the window it has resigned key + /// window status. In apps built against the iOS 15 or tvOS 15 SDK (or later), this method will + /// be called when the window resigns key in its scene. For apps built against earlier SDKs, + /// this method will be called when the window resigns key in the application. + void resignKeyWindow() { + _lib._objc_msgSend_1(_id, _lib._sel_resignKeyWindow1); + } + + /// Make the window key without changing visibility. + void makeKeyWindow() { + _lib._objc_msgSend_1(_id, _lib._sel_makeKeyWindow1); + } + + /// Convenience. Most apps call this to show a window and also make it key. + /// To make the window visible without becoming key, just use UIView's hidden property. + void makeKeyAndVisible() { + _lib._objc_msgSend_1(_id, _lib._sel_makeKeyAndVisible1); + } + + /// default is nil + UIViewController? get rootViewController { + final _ret = _lib._objc_msgSend_181(_id, _lib._sel_rootViewController1); + return _ret.address == 0 + ? null + : UIViewController._(_ret, _lib, retain: true, release: true); + } + + /// default is nil + set rootViewController(UIViewController? value) { + return _lib._objc_msgSend_182( + _id, _lib._sel_setRootViewController_1, value?._id ?? ffi.nullptr); + } + + /// called by UIApplication to dispatch events to views inside the window + void sendEvent_(UIEvent event) { + _lib._objc_msgSend_183(_id, _lib._sel_sendEvent_1, event._id); + } + + /// can be used to convert to another window + void convertPoint_toWindow_( + ffi.Pointer stret, CGPoint point, UIWindow? window) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_184_stret( + stret, + _id, + _lib._sel_convertPoint_toWindow_1, + point, + window?._id ?? ffi.nullptr) + : stret.ref = _lib._objc_msgSend_184( + _id, + _lib._sel_convertPoint_toWindow_1, + point, + window?._id ?? ffi.nullptr); + } + + /// pass in nil to mean screen + void convertPoint_fromWindow_( + ffi.Pointer stret, CGPoint point, UIWindow? window) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_184_stret( + stret, + _id, + _lib._sel_convertPoint_fromWindow_1, + point, + window?._id ?? ffi.nullptr) + : stret.ref = _lib._objc_msgSend_184( + _id, + _lib._sel_convertPoint_fromWindow_1, + point, + window?._id ?? ffi.nullptr); + } + + void convertRect_toWindow_( + ffi.Pointer stret, CGRect rect, UIWindow? window) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_185_stret(stret, _id, + _lib._sel_convertRect_toWindow_1, rect, window?._id ?? ffi.nullptr) + : stret.ref = _lib._objc_msgSend_185(_id, + _lib._sel_convertRect_toWindow_1, rect, window?._id ?? ffi.nullptr); + } + + void convertRect_fromWindow_( + ffi.Pointer stret, CGRect rect, UIWindow? window) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_185_stret( + stret, + _id, + _lib._sel_convertRect_fromWindow_1, + rect, + window?._id ?? ffi.nullptr) + : stret.ref = _lib._objc_msgSend_185( + _id, + _lib._sel_convertRect_fromWindow_1, + rect, + window?._id ?? ffi.nullptr); + } + + /// This layout guide is designed specifically for full-screen media content, and attaching constraints from deep in the window's view hierarchy will raise an exception. + /// + /// This guide provides a layout area for placing media content of a given aspect ratio (width over height) such that the content will be completely visible within the window. + /// Compared to the standard `safeAreaLayoutGuide` on a view, this guide takes into account the aspect ratio of the content, allowing it the maximum size within the window's + /// true safe area, including the actual shape of the screen when that is the only factor contributing to the safe area. The rect defined by this guide will be centered within the + /// window. + /// + /// This layout guide should only be used for fixed aspect ratio content that is intended to fill the window (such as image or video content) and is not a replacement for the + /// standard `safeAreaLayoutGuide` on each UIView which should be used for most content layout. The `safeAreaAspectFitLayoutGuide` should only be used with views + /// that are direct subviews of, or very close descendants of, the guide's window. Creating constraints from this layout guide to views deeper in the view hierarchy or across + /// views owned by child view controllers can significantly degrade performance and possibly raise an exception. Additionally, the safe area insets added by child view + /// controllers will not be reflected in these cases. For anything other than full-screen/window media content, the standard `safeAreaLayoutGuide` on UIView should be used. + NSObject get safeAreaAspectFitLayoutGuide { + final _ret = + _lib._objc_msgSend_2(_id, _lib._sel_safeAreaAspectFitLayoutGuide1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSObject getLayerClass(UIKit _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_UIWindow1, _lib._sel_layerClass1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + @override + UIWindow initWithFrame_(CGRect frame) { + final _ret = _lib._objc_msgSend_113(_id, _lib._sel_initWithFrame_1, frame); + return UIWindow._(_ret, _lib, retain: true, release: true); + } + + @override + UIWindow? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : UIWindow._(_ret, _lib, retain: true, release: true); + } + + static int userInterfaceLayoutDirectionForSemanticContentAttribute_( + UIKit _lib, int attribute) { + return _lib._objc_msgSend_173( + _lib._class_UIWindow1, + _lib._sel_userInterfaceLayoutDirectionForSemanticContentAttribute_1, + attribute); + } + + static int + userInterfaceLayoutDirectionForSemanticContentAttribute_relativeToLayoutDirection_( + UIKit _lib, int semanticContentAttribute, int layoutDirection) { + return _lib._objc_msgSend_174( + _lib._class_UIWindow1, + _lib._sel_userInterfaceLayoutDirectionForSemanticContentAttribute_relativeToLayoutDirection_1, + semanticContentAttribute, + layoutDirection); + } + + @override + UIWindow init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return UIWindow._(_ret, _lib, retain: true, release: true); + } + + static UIWindow new1(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_UIWindow1, _lib._sel_new1); + return UIWindow._(_ret, _lib, retain: false, release: true); + } + + static UIWindow allocWithZone_(UIKit _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_UIWindow1, _lib._sel_allocWithZone_1, zone); + return UIWindow._(_ret, _lib, retain: false, release: true); + } + + static UIWindow alloc(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_UIWindow1, _lib._sel_alloc1); + return UIWindow._(_ret, _lib, retain: false, release: true); + } +} + +final class ObjCSel extends ffi.Opaque {} + +final class ObjCObject extends ffi.Opaque {} + +class UIView extends UIResponder { + UIView._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [UIView] that points to the same underlying object as [other]. + static UIView castFrom(T other) { + return UIView._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [UIView] that wraps the given raw object pointer. + static UIView castFromPointer(UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return UIView._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [UIView]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_UIView1); + } + + static NSObject getLayerClass(UIKit _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_UIView1, _lib._sel_layerClass1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + UIView initWithFrame_(CGRect frame) { + final _ret = _lib._objc_msgSend_113(_id, _lib._sel_initWithFrame_1, frame); + return UIView._(_ret, _lib, retain: true, release: true); + } + + UIView? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : UIView._(_ret, _lib, retain: true, release: true); + } + + bool get userInteractionEnabled { + return _lib._objc_msgSend_12(_id, _lib._sel_isUserInteractionEnabled1); + } + + set userInteractionEnabled(bool value) { + return _lib._objc_msgSend_102( + _id, _lib._sel_setUserInteractionEnabled_1, value); + } + + int get tag { + return _lib._objc_msgSend_74(_id, _lib._sel_tag1); + } + + set tag(int value) { + return _lib._objc_msgSend_114(_id, _lib._sel_setTag_1, value); + } + + CALayer get layer { + final _ret = _lib._objc_msgSend_168(_id, _lib._sel_layer1); + return CALayer._(_ret, _lib, retain: true, release: true); + } + + bool get canBecomeFocused { + return _lib._objc_msgSend_12(_id, _lib._sel_canBecomeFocused1); + } + + bool get focused { + return _lib._objc_msgSend_12(_id, _lib._sel_isFocused1); + } + + NSString? get focusGroupIdentifier { + final _ret = _lib._objc_msgSend_90(_id, _lib._sel_focusGroupIdentifier1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + set focusGroupIdentifier(NSString? value) { + return _lib._objc_msgSend_91( + _id, _lib._sel_setFocusGroupIdentifier_1, value?._id ?? ffi.nullptr); + } + + int get focusGroupPriority { + return _lib._objc_msgSend_74(_id, _lib._sel_focusGroupPriority1); + } + + set focusGroupPriority(int value) { + return _lib._objc_msgSend_114( + _id, _lib._sel_setFocusGroupPriority_1, value); + } + + UIFocusEffect? get focusEffect { + final _ret = _lib._objc_msgSend_169(_id, _lib._sel_focusEffect1); + return _ret.address == 0 + ? null + : UIFocusEffect._(_ret, _lib, retain: true, release: true); + } + + set focusEffect(UIFocusEffect? value) { + return _lib._objc_msgSend_170( + _id, _lib._sel_setFocusEffect_1, value?._id ?? ffi.nullptr); + } + + int get semanticContentAttribute { + return _lib._objc_msgSend_171(_id, _lib._sel_semanticContentAttribute1); + } + + set semanticContentAttribute(int value) { + return _lib._objc_msgSend_172( + _id, _lib._sel_setSemanticContentAttribute_1, value); + } + + static int userInterfaceLayoutDirectionForSemanticContentAttribute_( + UIKit _lib, int attribute) { + return _lib._objc_msgSend_173( + _lib._class_UIView1, + _lib._sel_userInterfaceLayoutDirectionForSemanticContentAttribute_1, + attribute); + } + + static int + userInterfaceLayoutDirectionForSemanticContentAttribute_relativeToLayoutDirection_( + UIKit _lib, int semanticContentAttribute, int layoutDirection) { + return _lib._objc_msgSend_174( + _lib._class_UIView1, + _lib._sel_userInterfaceLayoutDirectionForSemanticContentAttribute_relativeToLayoutDirection_1, + semanticContentAttribute, + layoutDirection); + } + + int get effectiveUserInterfaceLayoutDirection { + return _lib._objc_msgSend_175( + _id, _lib._sel_effectiveUserInterfaceLayoutDirection1); + } + + @override + UIView init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return UIView._(_ret, _lib, retain: true, release: true); + } + + static UIView new1(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_UIView1, _lib._sel_new1); + return UIView._(_ret, _lib, retain: false, release: true); + } + + static UIView allocWithZone_(UIKit _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_UIView1, _lib._sel_allocWithZone_1, zone); + return UIView._(_ret, _lib, retain: false, release: true); + } + + static UIView alloc(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_UIView1, _lib._sel_alloc1); + return UIView._(_ret, _lib, retain: false, release: true); + } +} + +class UIResponder extends NSObject { + UIResponder._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [UIResponder] that points to the same underlying object as [other]. + static UIResponder castFrom(T other) { + return UIResponder._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [UIResponder] that wraps the given raw object pointer. + static UIResponder castFromPointer(UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return UIResponder._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [UIResponder]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_UIResponder1); + } + + UIResponder? get nextResponder { + final _ret = _lib._objc_msgSend_37(_id, _lib._sel_nextResponder1); + return _ret.address == 0 + ? null + : UIResponder._(_ret, _lib, retain: true, release: true); + } + + bool get canBecomeFirstResponder { + return _lib._objc_msgSend_12(_id, _lib._sel_canBecomeFirstResponder1); + } + + bool becomeFirstResponder() { + return _lib._objc_msgSend_12(_id, _lib._sel_becomeFirstResponder1); + } + + bool get canResignFirstResponder { + return _lib._objc_msgSend_12(_id, _lib._sel_canResignFirstResponder1); + } + + bool resignFirstResponder() { + return _lib._objc_msgSend_12(_id, _lib._sel_resignFirstResponder1); + } + + bool get isFirstResponder { + return _lib._objc_msgSend_12(_id, _lib._sel_isFirstResponder1); + } + + void touchesBegan_withEvent_(NSObject touches, UIEvent? event) { + _lib._objc_msgSend_84(_id, _lib._sel_touchesBegan_withEvent_1, touches._id, + event?._id ?? ffi.nullptr); + } + + void touchesMoved_withEvent_(NSObject touches, UIEvent? event) { + _lib._objc_msgSend_84(_id, _lib._sel_touchesMoved_withEvent_1, touches._id, + event?._id ?? ffi.nullptr); + } + + void touchesEnded_withEvent_(NSObject touches, UIEvent? event) { + _lib._objc_msgSend_84(_id, _lib._sel_touchesEnded_withEvent_1, touches._id, + event?._id ?? ffi.nullptr); + } + + void touchesCancelled_withEvent_(NSObject touches, UIEvent? event) { + _lib._objc_msgSend_84(_id, _lib._sel_touchesCancelled_withEvent_1, + touches._id, event?._id ?? ffi.nullptr); + } + + void touchesEstimatedPropertiesUpdated_(NSObject touches) { + _lib._objc_msgSend_22( + _id, _lib._sel_touchesEstimatedPropertiesUpdated_1, touches._id); + } + + void pressesBegan_withEvent_(NSObject presses, UIPressesEvent? event) { + _lib._objc_msgSend_85(_id, _lib._sel_pressesBegan_withEvent_1, presses._id, + event?._id ?? ffi.nullptr); + } + + void pressesChanged_withEvent_(NSObject presses, UIPressesEvent? event) { + _lib._objc_msgSend_85(_id, _lib._sel_pressesChanged_withEvent_1, + presses._id, event?._id ?? ffi.nullptr); + } + + void pressesEnded_withEvent_(NSObject presses, UIPressesEvent? event) { + _lib._objc_msgSend_85(_id, _lib._sel_pressesEnded_withEvent_1, presses._id, + event?._id ?? ffi.nullptr); + } + + void pressesCancelled_withEvent_(NSObject presses, UIPressesEvent? event) { + _lib._objc_msgSend_85(_id, _lib._sel_pressesCancelled_withEvent_1, + presses._id, event?._id ?? ffi.nullptr); + } + + void motionBegan_withEvent_(int motion, UIEvent? event) { + _lib._objc_msgSend_86(_id, _lib._sel_motionBegan_withEvent_1, motion, + event?._id ?? ffi.nullptr); + } + + void motionEnded_withEvent_(int motion, UIEvent? event) { + _lib._objc_msgSend_86(_id, _lib._sel_motionEnded_withEvent_1, motion, + event?._id ?? ffi.nullptr); + } + + void motionCancelled_withEvent_(int motion, UIEvent? event) { + _lib._objc_msgSend_86(_id, _lib._sel_motionCancelled_withEvent_1, motion, + event?._id ?? ffi.nullptr); + } + + void remoteControlReceivedWithEvent_(UIEvent? event) { + _lib._objc_msgSend_87(_id, _lib._sel_remoteControlReceivedWithEvent_1, + event?._id ?? ffi.nullptr); + } + + bool canPerformAction_withSender_( + ffi.Pointer action, NSObject? sender) { + return _lib._objc_msgSend_88(_id, _lib._sel_canPerformAction_withSender_1, + action, sender?._id ?? ffi.nullptr); + } + + NSObject? targetForAction_withSender_( + ffi.Pointer action, NSObject? sender) { + final _ret = _lib._objc_msgSend_89( + _id, + _lib._sel_targetForAction_withSender_1, + action, + sender?._id ?? ffi.nullptr); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + void buildMenuWithBuilder_(NSObject builder) { + _lib._objc_msgSend_22(_id, _lib._sel_buildMenuWithBuilder_1, builder._id); + } + + void validateCommand_(UICommand command) { + _lib._objc_msgSend_101(_id, _lib._sel_validateCommand_1, command._id); + } + + NSUndoManager? get undoManager { + final _ret = _lib._objc_msgSend_111(_id, _lib._sel_undoManager1); + return _ret.address == 0 + ? null + : NSUndoManager._(_ret, _lib, retain: true, release: true); + } + + int get editingInteractionConfiguration { + return _lib._objc_msgSend_112( + _id, _lib._sel_editingInteractionConfiguration1); + } + + @override + UIResponder init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return UIResponder._(_ret, _lib, retain: true, release: true); + } + + static UIResponder new1(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_UIResponder1, _lib._sel_new1); + return UIResponder._(_ret, _lib, retain: false, release: true); + } + + static UIResponder allocWithZone_(UIKit _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_UIResponder1, _lib._sel_allocWithZone_1, zone); + return UIResponder._(_ret, _lib, retain: false, release: true); + } + + static UIResponder alloc(UIKit _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_UIResponder1, _lib._sel_alloc1); + return UIResponder._(_ret, _lib, retain: false, release: true); + } +} + +class NSObject extends _ObjCWrapper { + NSObject._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSObject] that points to the same underlying object as [other]. + static NSObject castFrom(T other) { + return NSObject._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSObject] that wraps the given raw object pointer. + static NSObject castFromPointer(UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSObject._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSObject]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSObject1); + } + + static void load(UIKit _lib) { + _lib._objc_msgSend_1(_lib._class_NSObject1, _lib._sel_load1); + } + + static void initialize(UIKit _lib) { + _lib._objc_msgSend_1(_lib._class_NSObject1, _lib._sel_initialize1); + } + + NSObject init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSObject new1(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_new1); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + static NSObject allocWithZone_(UIKit _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSObject1, _lib._sel_allocWithZone_1, zone); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + static NSObject alloc(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_alloc1); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + void dealloc() { + _lib._objc_msgSend_1(_id, _lib._sel_dealloc1); + } + + void finalize() { + _lib._objc_msgSend_1(_id, _lib._sel_finalize1); + } + + NSObject copy() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_copy1); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + NSObject mutableCopy() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_mutableCopy1); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + static NSObject copyWithZone_(UIKit _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSObject1, _lib._sel_copyWithZone_1, zone); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + static NSObject mutableCopyWithZone_( + UIKit _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSObject1, _lib._sel_mutableCopyWithZone_1, zone); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + static bool instancesRespondToSelector_( + UIKit _lib, ffi.Pointer aSelector) { + return _lib._objc_msgSend_4(_lib._class_NSObject1, + _lib._sel_instancesRespondToSelector_1, aSelector); + } + + static bool conformsToProtocol_(UIKit _lib, Protocol protocol) { + return _lib._objc_msgSend_5( + _lib._class_NSObject1, _lib._sel_conformsToProtocol_1, protocol._id); + } + + ffi.Pointer> methodForSelector_( + ffi.Pointer aSelector) { + return _lib._objc_msgSend_6(_id, _lib._sel_methodForSelector_1, aSelector); + } + + static ffi.Pointer> + instanceMethodForSelector_(UIKit _lib, ffi.Pointer aSelector) { + return _lib._objc_msgSend_6(_lib._class_NSObject1, + _lib._sel_instanceMethodForSelector_1, aSelector); + } + + void doesNotRecognizeSelector_(ffi.Pointer aSelector) { + _lib._objc_msgSend_7(_id, _lib._sel_doesNotRecognizeSelector_1, aSelector); + } + + NSObject forwardingTargetForSelector_(ffi.Pointer aSelector) { + final _ret = _lib._objc_msgSend_8( + _id, _lib._sel_forwardingTargetForSelector_1, aSelector); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + void forwardInvocation_(NSInvocation anInvocation) { + _lib._objc_msgSend_24(_id, _lib._sel_forwardInvocation_1, anInvocation._id); + } + + NSMethodSignature methodSignatureForSelector_( + ffi.Pointer aSelector) { + final _ret = _lib._objc_msgSend_25( + _id, _lib._sel_methodSignatureForSelector_1, aSelector); + return NSMethodSignature._(_ret, _lib, retain: true, release: true); + } + + static NSMethodSignature instanceMethodSignatureForSelector_( + UIKit _lib, ffi.Pointer aSelector) { + final _ret = _lib._objc_msgSend_25(_lib._class_NSObject1, + _lib._sel_instanceMethodSignatureForSelector_1, aSelector); + return NSMethodSignature._(_ret, _lib, retain: true, release: true); + } + + bool allowsWeakReference() { + return _lib._objc_msgSend_12(_id, _lib._sel_allowsWeakReference1); + } + + bool retainWeakReference() { + return _lib._objc_msgSend_12(_id, _lib._sel_retainWeakReference1); + } + + static bool isSubclassOfClass_(UIKit _lib, NSObject aClass) { + return _lib._objc_msgSend_0( + _lib._class_NSObject1, _lib._sel_isSubclassOfClass_1, aClass._id); + } + + static bool resolveClassMethod_(UIKit _lib, ffi.Pointer sel) { + return _lib._objc_msgSend_4( + _lib._class_NSObject1, _lib._sel_resolveClassMethod_1, sel); + } + + static bool resolveInstanceMethod_(UIKit _lib, ffi.Pointer sel) { + return _lib._objc_msgSend_4( + _lib._class_NSObject1, _lib._sel_resolveInstanceMethod_1, sel); + } + + static int hash(UIKit _lib) { + return _lib._objc_msgSend_10(_lib._class_NSObject1, _lib._sel_hash1); + } + + static NSObject superclass(UIKit _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_superclass1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSObject class1(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_class1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSString description(UIKit _lib) { + final _ret = + _lib._objc_msgSend_36(_lib._class_NSObject1, _lib._sel_description1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + static NSString debugDescription(UIKit _lib) { + final _ret = _lib._objc_msgSend_36( + _lib._class_NSObject1, _lib._sel_debugDescription1); + return NSString._(_ret, _lib, retain: true, release: true); + } +} + +typedef instancetype = ffi.Pointer; +typedef Dartinstancetype = NSObject; + +class Protocol extends _ObjCWrapper { + Protocol._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [Protocol] that points to the same underlying object as [other]. + static Protocol castFrom(T other) { + return Protocol._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [Protocol] that wraps the given raw object pointer. + static Protocol castFromPointer(UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return Protocol._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [Protocol]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_Protocol1); + } +} + +class NSInvocation extends NSObject { + NSInvocation._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSInvocation] that points to the same underlying object as [other]. + static NSInvocation castFrom(T other) { + return NSInvocation._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSInvocation] that wraps the given raw object pointer. + static NSInvocation castFromPointer(UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSInvocation._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSInvocation]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSInvocation1); + } + + static NSInvocation invocationWithMethodSignature_( + UIKit _lib, NSMethodSignature sig) { + final _ret = _lib._objc_msgSend_14(_lib._class_NSInvocation1, + _lib._sel_invocationWithMethodSignature_1, sig._id); + return NSInvocation._(_ret, _lib, retain: true, release: true); + } + + NSMethodSignature get methodSignature { + final _ret = _lib._objc_msgSend_15(_id, _lib._sel_methodSignature1); + return NSMethodSignature._(_ret, _lib, retain: true, release: true); + } + + void retainArguments() { + _lib._objc_msgSend_1(_id, _lib._sel_retainArguments1); + } + + bool get argumentsRetained { + return _lib._objc_msgSend_12(_id, _lib._sel_argumentsRetained1); + } + + NSObject? get target { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_target1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + set target(NSObject? value) { + return _lib._objc_msgSend_17( + _id, _lib._sel_setTarget_1, value?._id ?? ffi.nullptr); + } + + ffi.Pointer get selector { + return _lib._objc_msgSend_18(_id, _lib._sel_selector1); + } + + set selector(ffi.Pointer value) { + return _lib._objc_msgSend_19(_id, _lib._sel_setSelector_1, value); + } + + void getReturnValue_(ffi.Pointer retLoc) { + _lib._objc_msgSend_20(_id, _lib._sel_getReturnValue_1, retLoc); + } + + void setReturnValue_(ffi.Pointer retLoc) { + _lib._objc_msgSend_20(_id, _lib._sel_setReturnValue_1, retLoc); + } + + void getArgument_atIndex_(ffi.Pointer argumentLocation, int idx) { + _lib._objc_msgSend_21( + _id, _lib._sel_getArgument_atIndex_1, argumentLocation, idx); + } + + void setArgument_atIndex_(ffi.Pointer argumentLocation, int idx) { + _lib._objc_msgSend_21( + _id, _lib._sel_setArgument_atIndex_1, argumentLocation, idx); + } + + void invoke() { + _lib._objc_msgSend_1(_id, _lib._sel_invoke1); + } + + void invokeWithTarget_(NSObject target) { + _lib._objc_msgSend_22(_id, _lib._sel_invokeWithTarget_1, target._id); + } + + void invokeUsingIMP_( + ffi.Pointer> imp) { + _lib._objc_msgSend_23(_id, _lib._sel_invokeUsingIMP_1, imp); + } + + @override + NSInvocation init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSInvocation._(_ret, _lib, retain: true, release: true); + } + + static NSInvocation new1(UIKit _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSInvocation1, _lib._sel_new1); + return NSInvocation._(_ret, _lib, retain: false, release: true); + } + + static NSInvocation allocWithZone_( + UIKit _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSInvocation1, _lib._sel_allocWithZone_1, zone); + return NSInvocation._(_ret, _lib, retain: false, release: true); + } + + static NSInvocation alloc(UIKit _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSInvocation1, _lib._sel_alloc1); + return NSInvocation._(_ret, _lib, retain: false, release: true); + } +} + +class NSMethodSignature extends NSObject { + NSMethodSignature._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSMethodSignature] that points to the same underlying object as [other]. + static NSMethodSignature castFrom(T other) { + return NSMethodSignature._(other._id, other._lib, + retain: true, release: true); + } + + /// Returns a [NSMethodSignature] that wraps the given raw object pointer. + static NSMethodSignature castFromPointer( + UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSMethodSignature._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSMethodSignature]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_NSMethodSignature1); + } + + static NSMethodSignature? signatureWithObjCTypes_( + UIKit _lib, ffi.Pointer types) { + final _ret = _lib._objc_msgSend_9(_lib._class_NSMethodSignature1, + _lib._sel_signatureWithObjCTypes_1, types); + return _ret.address == 0 + ? null + : NSMethodSignature._(_ret, _lib, retain: true, release: true); + } + + int get numberOfArguments { + return _lib._objc_msgSend_10(_id, _lib._sel_numberOfArguments1); + } + + ffi.Pointer getArgumentTypeAtIndex_(int idx) { + return _lib._objc_msgSend_11(_id, _lib._sel_getArgumentTypeAtIndex_1, idx); + } + + int get frameLength { + return _lib._objc_msgSend_10(_id, _lib._sel_frameLength1); + } + + bool isOneway() { + return _lib._objc_msgSend_12(_id, _lib._sel_isOneway1); + } + + ffi.Pointer get methodReturnType { + return _lib._objc_msgSend_13(_id, _lib._sel_methodReturnType1); + } + + int get methodReturnLength { + return _lib._objc_msgSend_10(_id, _lib._sel_methodReturnLength1); + } + + @override + NSMethodSignature init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSMethodSignature._(_ret, _lib, retain: true, release: true); + } + + static NSMethodSignature new1(UIKit _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSMethodSignature1, _lib._sel_new1); + return NSMethodSignature._(_ret, _lib, retain: false, release: true); + } + + static NSMethodSignature allocWithZone_( + UIKit _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSMethodSignature1, _lib._sel_allocWithZone_1, zone); + return NSMethodSignature._(_ret, _lib, retain: false, release: true); + } + + static NSMethodSignature alloc(UIKit _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSMethodSignature1, _lib._sel_alloc1); + return NSMethodSignature._(_ret, _lib, retain: false, release: true); + } +} + +class NSString extends NSObject { + NSString._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSString] that points to the same underlying object as [other]. + static NSString castFrom(T other) { + return NSString._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSString] that wraps the given raw object pointer. + static NSString castFromPointer(UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSString._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSString]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSString1); + } + + factory NSString(UIKit _lib, String str) { + final cstr = str.toNativeUtf16(); + final nsstr = stringWithCharacters_length_(_lib, cstr.cast(), str.length); + pkg_ffi.calloc.free(cstr); + return nsstr; + } + + @override + String toString() { + final data = + dataUsingEncoding_(0x94000100 /* NSUTF16LittleEndianStringEncoding */); + return data!.bytes.cast().toDartString(length: length); + } + + int get length { + return _lib._objc_msgSend_10(_id, _lib._sel_length1); + } + + int characterAtIndex_(int index) { + return _lib._objc_msgSend_26(_id, _lib._sel_characterAtIndex_1, index); + } + + @override + NSString init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + static NSString stringWithCharacters_length_( + UIKit _lib, ffi.Pointer characters, int length) { + final _ret = _lib._objc_msgSend_34(_lib._class_NSString1, + _lib._sel_stringWithCharacters_length_1, characters, length); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSData dataUsingEncoding_(int encoding) { + final _ret = + _lib._objc_msgSend_35(_id, _lib._sel_dataUsingEncoding_1, encoding); + return NSData._(_ret, _lib, retain: true, release: true); + } + + static NSString new1(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSString1, _lib._sel_new1); + return NSString._(_ret, _lib, retain: false, release: true); + } + + static NSString allocWithZone_(UIKit _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSString1, _lib._sel_allocWithZone_1, zone); + return NSString._(_ret, _lib, retain: false, release: true); + } + + static NSString alloc(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSString1, _lib._sel_alloc1); + return NSString._(_ret, _lib, retain: false, release: true); + } +} + +extension StringToNSString on String { + NSString toNSString(UIKit lib) => NSString(lib, this); +} + +class NSCoder extends NSObject { + NSCoder._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSCoder] that points to the same underlying object as [other]. + static NSCoder castFrom(T other) { + return NSCoder._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSCoder] that wraps the given raw object pointer. + static NSCoder castFromPointer(UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSCoder._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSCoder]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSCoder1); + } + + void encodeValueOfObjCType_at_( + ffi.Pointer type, ffi.Pointer addr) { + _lib._objc_msgSend_27( + _id, _lib._sel_encodeValueOfObjCType_at_1, type, addr); + } + + void encodeDataObject_(NSData data) { + _lib._objc_msgSend_29(_id, _lib._sel_encodeDataObject_1, data._id); + } + + NSData? decodeDataObject() { + final _ret = _lib._objc_msgSend_30(_id, _lib._sel_decodeDataObject1); + return _ret.address == 0 + ? null + : NSData._(_ret, _lib, retain: true, release: true); + } + + void decodeValueOfObjCType_at_size_( + ffi.Pointer type, ffi.Pointer data, int size) { + _lib._objc_msgSend_31( + _id, _lib._sel_decodeValueOfObjCType_at_size_1, type, data, size); + } + + int versionForClassName_(NSString className) { + return _lib._objc_msgSend_32( + _id, _lib._sel_versionForClassName_1, className._id); + } + + @override + NSCoder init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSCoder._(_ret, _lib, retain: true, release: true); + } + + static NSCoder new1(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSCoder1, _lib._sel_new1); + return NSCoder._(_ret, _lib, retain: false, release: true); + } + + static NSCoder allocWithZone_(UIKit _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSCoder1, _lib._sel_allocWithZone_1, zone); + return NSCoder._(_ret, _lib, retain: false, release: true); + } + + static NSCoder alloc(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSCoder1, _lib._sel_alloc1); + return NSCoder._(_ret, _lib, retain: false, release: true); + } +} + +class NSData extends NSObject { + NSData._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSData] that points to the same underlying object as [other]. + static NSData castFrom(T other) { + return NSData._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSData] that wraps the given raw object pointer. + static NSData castFromPointer(UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSData._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSData]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSData1); + } + + int get length { + return _lib._objc_msgSend_10(_id, _lib._sel_length1); + } + + ffi.Pointer get bytes { + return _lib._objc_msgSend_28(_id, _lib._sel_bytes1); + } + + @override + NSData init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSData._(_ret, _lib, retain: true, release: true); + } + + static NSData new1(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSData1, _lib._sel_new1); + return NSData._(_ret, _lib, retain: false, release: true); + } + + static NSData allocWithZone_(UIKit _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSData1, _lib._sel_allocWithZone_1, zone); + return NSData._(_ret, _lib, retain: false, release: true); + } + + static NSData alloc(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSData1, _lib._sel_alloc1); + return NSData._(_ret, _lib, retain: false, release: true); + } +} + +class UIEvent extends NSObject { + UIEvent._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [UIEvent] that points to the same underlying object as [other]. + static UIEvent castFrom(T other) { + return UIEvent._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [UIEvent] that wraps the given raw object pointer. + static UIEvent castFromPointer(UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return UIEvent._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [UIEvent]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_UIEvent1); + } + + int get type { + return _lib._objc_msgSend_38(_id, _lib._sel_type1); + } + + int get subtype { + return _lib._objc_msgSend_39(_id, _lib._sel_subtype1); + } + + double get timestamp { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_timestamp1) + : _lib._objc_msgSend_40(_id, _lib._sel_timestamp1); + } + + int get modifierFlags { + return _lib._objc_msgSend_41(_id, _lib._sel_modifierFlags1); + } + + int get buttonMask { + return _lib._objc_msgSend_42(_id, _lib._sel_buttonMask1); + } + + NSObject? get allTouches { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_allTouches1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + NSObject? touchesForWindow_(UIWindow window) { + final _ret = + _lib._objc_msgSend_43(_id, _lib._sel_touchesForWindow_1, window._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + NSObject? touchesForView_(UIView view) { + final _ret = + _lib._objc_msgSend_44(_id, _lib._sel_touchesForView_1, view._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + NSObject? touchesForGestureRecognizer_(UIGestureRecognizer gesture) { + final _ret = _lib._objc_msgSend_45( + _id, _lib._sel_touchesForGestureRecognizer_1, gesture._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + NSObject? coalescedTouchesForTouch_(UITouch touch) { + final _ret = _lib._objc_msgSend_83( + _id, _lib._sel_coalescedTouchesForTouch_1, touch._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + NSObject? predictedTouchesForTouch_(UITouch touch) { + final _ret = _lib._objc_msgSend_83( + _id, _lib._sel_predictedTouchesForTouch_1, touch._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + @override + UIEvent init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return UIEvent._(_ret, _lib, retain: true, release: true); + } + + static UIEvent new1(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_UIEvent1, _lib._sel_new1); + return UIEvent._(_ret, _lib, retain: false, release: true); + } + + static UIEvent allocWithZone_(UIKit _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_UIEvent1, _lib._sel_allocWithZone_1, zone); + return UIEvent._(_ret, _lib, retain: false, release: true); + } + + static UIEvent alloc(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_UIEvent1, _lib._sel_alloc1); + return UIEvent._(_ret, _lib, retain: false, release: true); + } +} + +abstract class UIEventType { + static const int UIEventTypeTouches = 0; + static const int UIEventTypeMotion = 1; + static const int UIEventTypeRemoteControl = 2; + static const int UIEventTypePresses = 3; + static const int UIEventTypeScroll = 10; + static const int UIEventTypeHover = 11; + static const int UIEventTypeTransform = 14; +} + +abstract class UIEventSubtype { + static const int UIEventSubtypeNone = 0; + static const int UIEventSubtypeMotionShake = 1; + static const int UIEventSubtypeRemoteControlPlay = 100; + static const int UIEventSubtypeRemoteControlPause = 101; + static const int UIEventSubtypeRemoteControlStop = 102; + static const int UIEventSubtypeRemoteControlTogglePlayPause = 103; + static const int UIEventSubtypeRemoteControlNextTrack = 104; + static const int UIEventSubtypeRemoteControlPreviousTrack = 105; + static const int UIEventSubtypeRemoteControlBeginSeekingBackward = 106; + static const int UIEventSubtypeRemoteControlEndSeekingBackward = 107; + static const int UIEventSubtypeRemoteControlBeginSeekingForward = 108; + static const int UIEventSubtypeRemoteControlEndSeekingForward = 109; +} + +abstract class UIKeyModifierFlags { + static const int UIKeyModifierAlphaShift = 65536; + static const int UIKeyModifierShift = 131072; + static const int UIKeyModifierControl = 262144; + static const int UIKeyModifierAlternate = 524288; + static const int UIKeyModifierCommand = 1048576; + static const int UIKeyModifierNumericPad = 2097152; +} + +abstract class UIEventButtonMask { + static const int UIEventButtonMaskPrimary = 1; + static const int UIEventButtonMaskSecondary = 2; +} + +class UIGestureRecognizer extends _ObjCWrapper { + UIGestureRecognizer._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [UIGestureRecognizer] that points to the same underlying object as [other]. + static UIGestureRecognizer castFrom(T other) { + return UIGestureRecognizer._(other._id, other._lib, + retain: true, release: true); + } + + /// Returns a [UIGestureRecognizer] that wraps the given raw object pointer. + static UIGestureRecognizer castFromPointer( + UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return UIGestureRecognizer._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [UIGestureRecognizer]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_UIGestureRecognizer1); + } +} + +class UITouch extends NSObject { + UITouch._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [UITouch] that points to the same underlying object as [other]. + static UITouch castFrom(T other) { + return UITouch._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [UITouch] that wraps the given raw object pointer. + static UITouch castFromPointer(UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return UITouch._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [UITouch]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_UITouch1); + } + + double get timestamp { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_timestamp1) + : _lib._objc_msgSend_40(_id, _lib._sel_timestamp1); + } + + int get phase { + return _lib._objc_msgSend_46(_id, _lib._sel_phase1); + } + + int get tapCount { + return _lib._objc_msgSend_10(_id, _lib._sel_tapCount1); + } + + int get type { + return _lib._objc_msgSend_47(_id, _lib._sel_type1); + } + + double get majorRadius { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_majorRadius1) + : _lib._objc_msgSend_40(_id, _lib._sel_majorRadius1); + } + + double get majorRadiusTolerance { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_majorRadiusTolerance1) + : _lib._objc_msgSend_40(_id, _lib._sel_majorRadiusTolerance1); + } + + UIWindow? get window { + final _ret = _lib._objc_msgSend_48(_id, _lib._sel_window1); + return _ret.address == 0 + ? null + : UIWindow._(_ret, _lib, retain: true, release: true); + } + + UIView? get view { + final _ret = _lib._objc_msgSend_49(_id, _lib._sel_view1); + return _ret.address == 0 + ? null + : UIView._(_ret, _lib, retain: true, release: true); + } + + NSObject? get gestureRecognizers { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_gestureRecognizers1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + void locationInView_(ffi.Pointer stret, UIView? view) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_50_stret( + stret, _id, _lib._sel_locationInView_1, view?._id ?? ffi.nullptr) + : stret.ref = _lib._objc_msgSend_50( + _id, _lib._sel_locationInView_1, view?._id ?? ffi.nullptr); + } + + void previousLocationInView_(ffi.Pointer stret, UIView? view) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_50_stret(stret, _id, + _lib._sel_previousLocationInView_1, view?._id ?? ffi.nullptr) + : stret.ref = _lib._objc_msgSend_50( + _id, _lib._sel_previousLocationInView_1, view?._id ?? ffi.nullptr); + } + + void preciseLocationInView_(ffi.Pointer stret, UIView? view) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_50_stret(stret, _id, + _lib._sel_preciseLocationInView_1, view?._id ?? ffi.nullptr) + : stret.ref = _lib._objc_msgSend_50( + _id, _lib._sel_preciseLocationInView_1, view?._id ?? ffi.nullptr); + } + + void precisePreviousLocationInView_( + ffi.Pointer stret, UIView? view) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_50_stret(stret, _id, + _lib._sel_precisePreviousLocationInView_1, view?._id ?? ffi.nullptr) + : stret.ref = _lib._objc_msgSend_50( + _id, + _lib._sel_precisePreviousLocationInView_1, + view?._id ?? ffi.nullptr); + } + + double get force { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_force1) + : _lib._objc_msgSend_40(_id, _lib._sel_force1); + } + + double get maximumPossibleForce { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_maximumPossibleForce1) + : _lib._objc_msgSend_40(_id, _lib._sel_maximumPossibleForce1); + } + + double azimuthAngleInView_(UIView? view) { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_51_fpret( + _id, _lib._sel_azimuthAngleInView_1, view?._id ?? ffi.nullptr) + : _lib._objc_msgSend_51( + _id, _lib._sel_azimuthAngleInView_1, view?._id ?? ffi.nullptr); + } + + void azimuthUnitVectorInView_(ffi.Pointer stret, UIView? view) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_52_stret(stret, _id, + _lib._sel_azimuthUnitVectorInView_1, view?._id ?? ffi.nullptr) + : stret.ref = _lib._objc_msgSend_52( + _id, _lib._sel_azimuthUnitVectorInView_1, view?._id ?? ffi.nullptr); + } + + double get altitudeAngle { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_altitudeAngle1) + : _lib._objc_msgSend_40(_id, _lib._sel_altitudeAngle1); + } + + NSNumber? get estimationUpdateIndex { + final _ret = _lib._objc_msgSend_81(_id, _lib._sel_estimationUpdateIndex1); + return _ret.address == 0 + ? null + : NSNumber._(_ret, _lib, retain: true, release: true); + } + + int get estimatedProperties { + return _lib._objc_msgSend_82(_id, _lib._sel_estimatedProperties1); + } + + int get estimatedPropertiesExpectingUpdates { + return _lib._objc_msgSend_82( + _id, _lib._sel_estimatedPropertiesExpectingUpdates1); + } + + @override + UITouch init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return UITouch._(_ret, _lib, retain: true, release: true); + } + + static UITouch new1(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_UITouch1, _lib._sel_new1); + return UITouch._(_ret, _lib, retain: false, release: true); + } + + static UITouch allocWithZone_(UIKit _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_UITouch1, _lib._sel_allocWithZone_1, zone); + return UITouch._(_ret, _lib, retain: false, release: true); + } + + static UITouch alloc(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_UITouch1, _lib._sel_alloc1); + return UITouch._(_ret, _lib, retain: false, release: true); + } +} + +abstract class UITouchPhase { + static const int UITouchPhaseBegan = 0; + static const int UITouchPhaseMoved = 1; + static const int UITouchPhaseStationary = 2; + static const int UITouchPhaseEnded = 3; + static const int UITouchPhaseCancelled = 4; + static const int UITouchPhaseRegionEntered = 5; + static const int UITouchPhaseRegionMoved = 6; + static const int UITouchPhaseRegionExited = 7; +} + +abstract class UITouchType { + static const int UITouchTypeDirect = 0; + static const int UITouchTypeIndirect = 1; + static const int UITouchTypePencil = 2; + static const int UITouchTypeStylus = 2; + static const int UITouchTypeIndirectPointer = 3; +} + +final class CGPoint extends ffi.Struct { + @ffi.Double() + external double x; + + @ffi.Double() + external double y; +} + +final class CGVector extends ffi.Struct { + @ffi.Double() + external double dx; + + @ffi.Double() + external double dy; +} + +class NSNumber extends NSValue { + NSNumber._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSNumber] that points to the same underlying object as [other]. + static NSNumber castFrom(T other) { + return NSNumber._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSNumber] that wraps the given raw object pointer. + static NSNumber castFromPointer(UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSNumber._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSNumber]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSNumber1); + } + + @override + NSNumber? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithChar_(int value) { + final _ret = _lib._objc_msgSend_55(_id, _lib._sel_initWithChar_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithUnsignedChar_(int value) { + final _ret = + _lib._objc_msgSend_56(_id, _lib._sel_initWithUnsignedChar_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithShort_(int value) { + final _ret = _lib._objc_msgSend_57(_id, _lib._sel_initWithShort_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithUnsignedShort_(int value) { + final _ret = + _lib._objc_msgSend_58(_id, _lib._sel_initWithUnsignedShort_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithInt_(int value) { + final _ret = _lib._objc_msgSend_59(_id, _lib._sel_initWithInt_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithUnsignedInt_(int value) { + final _ret = + _lib._objc_msgSend_60(_id, _lib._sel_initWithUnsignedInt_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithLong_(int value) { + final _ret = _lib._objc_msgSend_61(_id, _lib._sel_initWithLong_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithUnsignedLong_(int value) { + final _ret = + _lib._objc_msgSend_62(_id, _lib._sel_initWithUnsignedLong_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithLongLong_(int value) { + final _ret = + _lib._objc_msgSend_63(_id, _lib._sel_initWithLongLong_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithUnsignedLongLong_(int value) { + final _ret = + _lib._objc_msgSend_64(_id, _lib._sel_initWithUnsignedLongLong_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithFloat_(double value) { + final _ret = _lib._objc_msgSend_65(_id, _lib._sel_initWithFloat_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithDouble_(double value) { + final _ret = _lib._objc_msgSend_66(_id, _lib._sel_initWithDouble_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithBool_(bool value) { + final _ret = _lib._objc_msgSend_67(_id, _lib._sel_initWithBool_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithInteger_(int value) { + final _ret = _lib._objc_msgSend_61(_id, _lib._sel_initWithInteger_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + NSNumber initWithUnsignedInteger_(int value) { + final _ret = + _lib._objc_msgSend_62(_id, _lib._sel_initWithUnsignedInteger_1, value); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + int get charValue { + return _lib._objc_msgSend_68(_id, _lib._sel_charValue1); + } + + int get unsignedCharValue { + return _lib._objc_msgSend_69(_id, _lib._sel_unsignedCharValue1); + } + + int get shortValue { + return _lib._objc_msgSend_70(_id, _lib._sel_shortValue1); + } + + int get unsignedShortValue { + return _lib._objc_msgSend_71(_id, _lib._sel_unsignedShortValue1); + } + + int get intValue { + return _lib._objc_msgSend_72(_id, _lib._sel_intValue1); + } + + int get unsignedIntValue { + return _lib._objc_msgSend_73(_id, _lib._sel_unsignedIntValue1); + } + + int get longValue { + return _lib._objc_msgSend_74(_id, _lib._sel_longValue1); + } + + int get unsignedLongValue { + return _lib._objc_msgSend_10(_id, _lib._sel_unsignedLongValue1); + } + + int get longLongValue { + return _lib._objc_msgSend_75(_id, _lib._sel_longLongValue1); + } + + int get unsignedLongLongValue { + return _lib._objc_msgSend_76(_id, _lib._sel_unsignedLongLongValue1); + } + + double get floatValue { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_77_fpret(_id, _lib._sel_floatValue1) + : _lib._objc_msgSend_77(_id, _lib._sel_floatValue1); + } + + double get doubleValue { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_doubleValue1) + : _lib._objc_msgSend_40(_id, _lib._sel_doubleValue1); + } + + bool get boolValue { + return _lib._objc_msgSend_12(_id, _lib._sel_boolValue1); + } + + int get integerValue { + return _lib._objc_msgSend_74(_id, _lib._sel_integerValue1); + } + + int get unsignedIntegerValue { + return _lib._objc_msgSend_10(_id, _lib._sel_unsignedIntegerValue1); + } + + NSString get stringValue { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_stringValue1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + int compare_(NSNumber otherNumber) { + return _lib._objc_msgSend_78(_id, _lib._sel_compare_1, otherNumber._id); + } + + bool isEqualToNumber_(NSNumber number) { + return _lib._objc_msgSend_79(_id, _lib._sel_isEqualToNumber_1, number._id); + } + + NSString descriptionWithLocale_(NSObject? locale) { + final _ret = _lib._objc_msgSend_80( + _id, _lib._sel_descriptionWithLocale_1, locale?._id ?? ffi.nullptr); + return NSString._(_ret, _lib, retain: true, release: true); + } + + @override + NSNumber initWithBytes_objCType_( + ffi.Pointer value, ffi.Pointer type) { + final _ret = _lib._objc_msgSend_54( + _id, _lib._sel_initWithBytes_objCType_1, value, type); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + @override + NSNumber init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSNumber._(_ret, _lib, retain: true, release: true); + } + + static NSNumber new1(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSNumber1, _lib._sel_new1); + return NSNumber._(_ret, _lib, retain: false, release: true); + } + + static NSNumber allocWithZone_(UIKit _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSNumber1, _lib._sel_allocWithZone_1, zone); + return NSNumber._(_ret, _lib, retain: false, release: true); + } + + static NSNumber alloc(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSNumber1, _lib._sel_alloc1); + return NSNumber._(_ret, _lib, retain: false, release: true); + } +} + +class NSValue extends NSObject { + NSValue._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSValue] that points to the same underlying object as [other]. + static NSValue castFrom(T other) { + return NSValue._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSValue] that wraps the given raw object pointer. + static NSValue castFromPointer(UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSValue._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSValue]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSValue1); + } + + void getValue_size_(ffi.Pointer value, int size) { + _lib._objc_msgSend_53(_id, _lib._sel_getValue_size_1, value, size); + } + + ffi.Pointer get objCType { + return _lib._objc_msgSend_13(_id, _lib._sel_objCType1); + } + + NSValue initWithBytes_objCType_( + ffi.Pointer value, ffi.Pointer type) { + final _ret = _lib._objc_msgSend_54( + _id, _lib._sel_initWithBytes_objCType_1, value, type); + return NSValue._(_ret, _lib, retain: true, release: true); + } + + NSValue? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : NSValue._(_ret, _lib, retain: true, release: true); + } + + @override + NSValue init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSValue._(_ret, _lib, retain: true, release: true); + } + + static NSValue new1(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSValue1, _lib._sel_new1); + return NSValue._(_ret, _lib, retain: false, release: true); + } + + static NSValue allocWithZone_(UIKit _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSValue1, _lib._sel_allocWithZone_1, zone); + return NSValue._(_ret, _lib, retain: false, release: true); + } + + static NSValue alloc(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSValue1, _lib._sel_alloc1); + return NSValue._(_ret, _lib, retain: false, release: true); + } +} + +abstract class NSComparisonResult { + static const int NSOrderedAscending = -1; + static const int NSOrderedSame = 0; + static const int NSOrderedDescending = 1; +} + +abstract class UITouchProperties { + static const int UITouchPropertyForce = 1; + static const int UITouchPropertyAzimuth = 2; + static const int UITouchPropertyAltitude = 4; + static const int UITouchPropertyLocation = 8; +} + +class UIPressesEvent extends _ObjCWrapper { + UIPressesEvent._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [UIPressesEvent] that points to the same underlying object as [other]. + static UIPressesEvent castFrom(T other) { + return UIPressesEvent._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [UIPressesEvent] that wraps the given raw object pointer. + static UIPressesEvent castFromPointer( + UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return UIPressesEvent._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [UIPressesEvent]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_UIPressesEvent1); + } +} + +class UICommand extends UIMenuElement { + UICommand._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [UICommand] that points to the same underlying object as [other]. + static UICommand castFrom(T other) { + return UICommand._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [UICommand] that wraps the given raw object pointer. + static UICommand castFromPointer(UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return UICommand._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [UICommand]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_UICommand1); + } + + @override + NSString get title { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_title1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + set title(NSString value) { + return _lib._objc_msgSend_93(_id, _lib._sel_setTitle_1, value._id); + } + + @override + UIImage? get image { + final _ret = _lib._objc_msgSend_92(_id, _lib._sel_image1); + return _ret.address == 0 + ? null + : UIImage._(_ret, _lib, retain: true, release: true); + } + + set image(UIImage? value) { + return _lib._objc_msgSend_94( + _id, _lib._sel_setImage_1, value?._id ?? ffi.nullptr); + } + + NSString? get discoverabilityTitle { + final _ret = _lib._objc_msgSend_90(_id, _lib._sel_discoverabilityTitle1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + set discoverabilityTitle(NSString? value) { + return _lib._objc_msgSend_91( + _id, _lib._sel_setDiscoverabilityTitle_1, value?._id ?? ffi.nullptr); + } + + ffi.Pointer get action { + return _lib._objc_msgSend_18(_id, _lib._sel_action1); + } + + NSObject? get propertyList { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_propertyList1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + int get attributes { + return _lib._objc_msgSend_95(_id, _lib._sel_attributes1); + } + + set attributes(int value) { + return _lib._objc_msgSend_96(_id, _lib._sel_setAttributes_1, value); + } + + int get state { + return _lib._objc_msgSend_97(_id, _lib._sel_state1); + } + + set state(int value) { + return _lib._objc_msgSend_98(_id, _lib._sel_setState_1, value); + } + + NSObject get alternates { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_alternates1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + static UICommand commandWithTitle_image_action_propertyList_( + UIKit _lib, + NSString title, + UIImage? image, + ffi.Pointer action, + NSObject? propertyList) { + final _ret = _lib._objc_msgSend_99( + _lib._class_UICommand1, + _lib._sel_commandWithTitle_image_action_propertyList_1, + title._id, + image?._id ?? ffi.nullptr, + action, + propertyList?._id ?? ffi.nullptr); + return UICommand._(_ret, _lib, retain: true, release: true); + } + + static UICommand commandWithTitle_image_action_propertyList_alternates_( + UIKit _lib, + NSString title, + UIImage? image, + ffi.Pointer action, + NSObject? propertyList, + NSObject alternates) { + final _ret = _lib._objc_msgSend_100( + _lib._class_UICommand1, + _lib._sel_commandWithTitle_image_action_propertyList_alternates_1, + title._id, + image?._id ?? ffi.nullptr, + action, + propertyList?._id ?? ffi.nullptr, + alternates._id); + return UICommand._(_ret, _lib, retain: true, release: true); + } + + static UICommand new1(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_UICommand1, _lib._sel_new1); + return UICommand._(_ret, _lib, retain: false, release: true); + } + + @override + UICommand init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return UICommand._(_ret, _lib, retain: true, release: true); + } + + @override + UICommand? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : UICommand._(_ret, _lib, retain: true, release: true); + } + + static UICommand allocWithZone_(UIKit _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_UICommand1, _lib._sel_allocWithZone_1, zone); + return UICommand._(_ret, _lib, retain: false, release: true); + } + + static UICommand alloc(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_UICommand1, _lib._sel_alloc1); + return UICommand._(_ret, _lib, retain: false, release: true); + } +} + +class UIMenuElement extends NSObject { + UIMenuElement._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [UIMenuElement] that points to the same underlying object as [other]. + static UIMenuElement castFrom(T other) { + return UIMenuElement._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [UIMenuElement] that wraps the given raw object pointer. + static UIMenuElement castFromPointer(UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return UIMenuElement._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [UIMenuElement]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_UIMenuElement1); + } + + NSString get title { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_title1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? get subtitle { + final _ret = _lib._objc_msgSend_90(_id, _lib._sel_subtitle1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + set subtitle(NSString? value) { + return _lib._objc_msgSend_91( + _id, _lib._sel_setSubtitle_1, value?._id ?? ffi.nullptr); + } + + UIImage? get image { + final _ret = _lib._objc_msgSend_92(_id, _lib._sel_image1); + return _ret.address == 0 + ? null + : UIImage._(_ret, _lib, retain: true, release: true); + } + + UIMenuElement? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : UIMenuElement._(_ret, _lib, retain: true, release: true); + } + + @override + UIMenuElement init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return UIMenuElement._(_ret, _lib, retain: true, release: true); + } + + static UIMenuElement new1(UIKit _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_UIMenuElement1, _lib._sel_new1); + return UIMenuElement._(_ret, _lib, retain: false, release: true); + } + + static UIMenuElement allocWithZone_( + UIKit _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_UIMenuElement1, _lib._sel_allocWithZone_1, zone); + return UIMenuElement._(_ret, _lib, retain: false, release: true); + } + + static UIMenuElement alloc(UIKit _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_UIMenuElement1, _lib._sel_alloc1); + return UIMenuElement._(_ret, _lib, retain: false, release: true); + } +} + +class UIImage extends _ObjCWrapper { + UIImage._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [UIImage] that points to the same underlying object as [other]. + static UIImage castFrom(T other) { + return UIImage._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [UIImage] that wraps the given raw object pointer. + static UIImage castFromPointer(UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return UIImage._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [UIImage]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_UIImage1); + } +} + +abstract class UIMenuElementAttributes { + static const int UIMenuElementAttributesDisabled = 1; + static const int UIMenuElementAttributesDestructive = 2; + static const int UIMenuElementAttributesHidden = 4; + static const int UIMenuElementAttributesKeepsMenuPresented = 8; +} + +abstract class UIMenuElementState { + static const int UIMenuElementStateOff = 0; + static const int UIMenuElementStateOn = 1; + static const int UIMenuElementStateMixed = 2; +} + +class NSUndoManager extends NSObject { + NSUndoManager._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSUndoManager] that points to the same underlying object as [other]. + static NSUndoManager castFrom(T other) { + return NSUndoManager._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSUndoManager] that wraps the given raw object pointer. + static NSUndoManager castFromPointer(UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSUndoManager._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSUndoManager]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSUndoManager1); + } + + void beginUndoGrouping() { + _lib._objc_msgSend_1(_id, _lib._sel_beginUndoGrouping1); + } + + void endUndoGrouping() { + _lib._objc_msgSend_1(_id, _lib._sel_endUndoGrouping1); + } + + int get groupingLevel { + return _lib._objc_msgSend_74(_id, _lib._sel_groupingLevel1); + } + + void disableUndoRegistration() { + _lib._objc_msgSend_1(_id, _lib._sel_disableUndoRegistration1); + } + + void enableUndoRegistration() { + _lib._objc_msgSend_1(_id, _lib._sel_enableUndoRegistration1); + } + + bool get undoRegistrationEnabled { + return _lib._objc_msgSend_12(_id, _lib._sel_isUndoRegistrationEnabled1); + } + + bool get groupsByEvent { + return _lib._objc_msgSend_12(_id, _lib._sel_groupsByEvent1); + } + + set groupsByEvent(bool value) { + return _lib._objc_msgSend_102(_id, _lib._sel_setGroupsByEvent_1, value); + } + + int get levelsOfUndo { + return _lib._objc_msgSend_10(_id, _lib._sel_levelsOfUndo1); + } + + set levelsOfUndo(int value) { + return _lib._objc_msgSend_103(_id, _lib._sel_setLevelsOfUndo_1, value); + } + + NSObject get runLoopModes { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_runLoopModes1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + set runLoopModes(NSObject value) { + return _lib._objc_msgSend_104(_id, _lib._sel_setRunLoopModes_1, value._id); + } + + void undo() { + _lib._objc_msgSend_1(_id, _lib._sel_undo1); + } + + void redo() { + _lib._objc_msgSend_1(_id, _lib._sel_redo1); + } + + void undoNestedGroup() { + _lib._objc_msgSend_1(_id, _lib._sel_undoNestedGroup1); + } + + bool get canUndo { + return _lib._objc_msgSend_12(_id, _lib._sel_canUndo1); + } + + bool get canRedo { + return _lib._objc_msgSend_12(_id, _lib._sel_canRedo1); + } + + bool get undoing { + return _lib._objc_msgSend_12(_id, _lib._sel_isUndoing1); + } + + bool get redoing { + return _lib._objc_msgSend_12(_id, _lib._sel_isRedoing1); + } + + void removeAllActions() { + _lib._objc_msgSend_1(_id, _lib._sel_removeAllActions1); + } + + void removeAllActionsWithTarget_(NSObject target) { + _lib._objc_msgSend_22( + _id, _lib._sel_removeAllActionsWithTarget_1, target._id); + } + + void registerUndoWithTarget_selector_object_( + NSObject target, ffi.Pointer selector, NSObject? anObject) { + _lib._objc_msgSend_105( + _id, + _lib._sel_registerUndoWithTarget_selector_object_1, + target._id, + selector, + anObject?._id ?? ffi.nullptr); + } + + NSObject prepareWithInvocationTarget_(NSObject target) { + final _ret = _lib._objc_msgSend_106( + _id, _lib._sel_prepareWithInvocationTarget_1, target._id); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + void registerUndoWithTarget_handler_( + NSObject target, ObjCBlock_ffiVoid_ObjCObject undoHandler) { + _lib._objc_msgSend_107(_id, _lib._sel_registerUndoWithTarget_handler_1, + target._id, undoHandler._id); + } + + void setActionIsDiscardable_(bool discardable) { + _lib._objc_msgSend_108( + _id, _lib._sel_setActionIsDiscardable_1, discardable); + } + + bool get undoActionIsDiscardable { + return _lib._objc_msgSend_12(_id, _lib._sel_undoActionIsDiscardable1); + } + + bool get redoActionIsDiscardable { + return _lib._objc_msgSend_12(_id, _lib._sel_redoActionIsDiscardable1); + } + + NSString get undoActionName { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_undoActionName1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString get redoActionName { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_redoActionName1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + void setActionName_(NSString actionName) { + _lib._objc_msgSend_109(_id, _lib._sel_setActionName_1, actionName._id); + } + + NSString get undoMenuItemTitle { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_undoMenuItemTitle1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString get redoMenuItemTitle { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_redoMenuItemTitle1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString undoMenuTitleForUndoActionName_(NSString actionName) { + final _ret = _lib._objc_msgSend_110( + _id, _lib._sel_undoMenuTitleForUndoActionName_1, actionName._id); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString redoMenuTitleForUndoActionName_(NSString actionName) { + final _ret = _lib._objc_msgSend_110( + _id, _lib._sel_redoMenuTitleForUndoActionName_1, actionName._id); + return NSString._(_ret, _lib, retain: true, release: true); + } + + @override + NSUndoManager init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSUndoManager._(_ret, _lib, retain: true, release: true); + } + + static NSUndoManager new1(UIKit _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSUndoManager1, _lib._sel_new1); + return NSUndoManager._(_ret, _lib, retain: false, release: true); + } + + static NSUndoManager allocWithZone_( + UIKit _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSUndoManager1, _lib._sel_allocWithZone_1, zone); + return NSUndoManager._(_ret, _lib, retain: false, release: true); + } + + static NSUndoManager alloc(UIKit _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSUndoManager1, _lib._sel_alloc1); + return NSUndoManager._(_ret, _lib, retain: false, release: true); + } +} + +class _ObjCBlockBase implements ffi.Finalizable { + final ffi.Pointer<_ObjCBlock> _id; + final UIKit _lib; + bool _pendingRelease; + + _ObjCBlockBase._(this._id, this._lib, + {bool retain = false, bool release = false}) + : _pendingRelease = release { + if (retain) { + _lib._Block_copy(_id.cast()); + } + if (release) { + _lib._objc_releaseFinalizer11.attach(this, _id.cast(), detach: this); + } + } + + /// Releases the reference to the underlying ObjC block held by this wrapper. + /// Throws a StateError if this wrapper doesn't currently hold a reference. + void release() { + if (_pendingRelease) { + _pendingRelease = false; + _lib._Block_release(_id.cast()); + _lib._objc_releaseFinalizer11.detach(this); + } else { + throw StateError( + 'Released an ObjC block that was unowned or already released.'); + } + } + + @override + bool operator ==(Object other) { + return other is _ObjCBlockBase && _id == other._id; + } + + @override + int get hashCode => _id.hashCode; + + /// Return a pointer to this object. + ffi.Pointer<_ObjCBlock> get pointer => _id; + + ffi.Pointer<_ObjCBlock> _retainAndReturnId() { + _lib._Block_copy(_id.cast()); + return _id; + } +} + +void _ObjCBlock_ffiVoid_ObjCObject_fnPtrTrampoline( + ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0) => + block.ref.target + .cast< + ffi + .NativeFunction arg0)>>() + .asFunction)>()(arg0); +final _ObjCBlock_ffiVoid_ObjCObject_closureRegistry = + )>{}; +int _ObjCBlock_ffiVoid_ObjCObject_closureRegistryIndex = 0; +ffi.Pointer _ObjCBlock_ffiVoid_ObjCObject_registerClosure( + void Function(ffi.Pointer) fn) { + final id = ++_ObjCBlock_ffiVoid_ObjCObject_closureRegistryIndex; + _ObjCBlock_ffiVoid_ObjCObject_closureRegistry[id] = fn; + return ffi.Pointer.fromAddress(id); +} + +void _ObjCBlock_ffiVoid_ObjCObject_closureTrampoline( + ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0) => + _ObjCBlock_ffiVoid_ObjCObject_closureRegistry[block.ref.target.address]!( + arg0); + +class ObjCBlock_ffiVoid_ObjCObject extends _ObjCBlockBase { + ObjCBlock_ffiVoid_ObjCObject._(ffi.Pointer<_ObjCBlock> id, UIKit lib, + {bool retain = false, bool release = true}) + : super._(id, lib, retain: retain, release: release); + + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_ObjCObject.fromFunctionPointer( + UIKit lib, + ffi.Pointer< + ffi + .NativeFunction arg0)>> + ptr) + : this._( + lib._newBlock1( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_ObjCObject_fnPtrTrampoline) + .cast(), + ptr.cast()), + lib); + static ffi.Pointer? _cFuncTrampoline; + + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_ObjCObject.fromFunction( + UIKit lib, void Function(NSObject) fn) + : this._( + lib._newBlock1( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_ObjCObject_closureTrampoline) + .cast(), + _ObjCBlock_ffiVoid_ObjCObject_registerClosure( + (ffi.Pointer arg0) => fn( + NSObject._(arg0, lib, retain: true, release: true)))), + lib); + static ffi.Pointer? _dartFuncTrampoline; + + /// Creates a listener block from a Dart function. + /// + /// This is based on FFI's NativeCallable.listener, and has the same + /// capabilities and limitations. This block can be invoked from any thread, + /// but only supports void functions, and is not run synchronously. See + /// NativeCallable.listener for more details. + /// + /// Note that unlike the default behavior of NativeCallable.listener, listener + /// blocks do not keep the isolate alive. + ObjCBlock_ffiVoid_ObjCObject.listener(UIKit lib, void Function(NSObject) fn) + : this._( + lib._newBlock1( + (_dartFuncListenerTrampoline ??= ffi.NativeCallable< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, + ffi.Pointer)>.listener( + _ObjCBlock_ffiVoid_ObjCObject_closureTrampoline) + ..keepIsolateAlive = false) + .nativeFunction + .cast(), + _ObjCBlock_ffiVoid_ObjCObject_registerClosure( + (ffi.Pointer arg0) => fn( + NSObject._(arg0, lib, retain: true, release: true)))), + lib); + static ffi.NativeCallable< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer)>? + _dartFuncListenerTrampoline; + + void call(NSObject arg0) => _id.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0)>>() + .asFunction< + void Function(ffi.Pointer<_ObjCBlock>, + ffi.Pointer)>()(_id, arg0._id); +} + +final class _ObjCBlockDesc extends ffi.Struct { + @ffi.UnsignedLong() + external int reserved; + + @ffi.UnsignedLong() + external int size; + + external ffi.Pointer copy_helper; + + external ffi.Pointer dispose_helper; + + external ffi.Pointer signature; +} + +final class _ObjCBlock extends ffi.Struct { + external ffi.Pointer isa; + + @ffi.Int() + external int flags; + + @ffi.Int() + external int reserved; + + external ffi.Pointer invoke; + + external ffi.Pointer<_ObjCBlockDesc> descriptor; + + external ffi.Pointer target; +} + +abstract class UIEditingInteractionConfiguration { + static const int UIEditingInteractionConfigurationNone = 0; + static const int UIEditingInteractionConfigurationDefault = 1; +} + +final class CGRect extends ffi.Struct { + external CGPoint origin; + + external CGSize size; +} + +final class CGSize extends ffi.Struct { + @ffi.Double() + external double width; + + @ffi.Double() + external double height; +} + +class CALayer extends NSObject { + CALayer._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [CALayer] that points to the same underlying object as [other]. + static CALayer castFrom(T other) { + return CALayer._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [CALayer] that wraps the given raw object pointer. + static CALayer castFromPointer(UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return CALayer._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [CALayer]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_CALayer1); + } + + static CALayer layer(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_CALayer1, _lib._sel_layer1); + return CALayer._(_ret, _lib, retain: true, release: true); + } + + @override + CALayer init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return CALayer._(_ret, _lib, retain: true, release: true); + } + + CALayer initWithLayer_(NSObject layer) { + final _ret = + _lib._objc_msgSend_106(_id, _lib._sel_initWithLayer_1, layer._id); + return CALayer._(_ret, _lib, retain: true, release: true); + } + + CALayer? presentationLayer() { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_presentationLayer1); + return _ret.address == 0 + ? null + : CALayer._(_ret, _lib, retain: true, release: true); + } + + CALayer modelLayer() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_modelLayer1); + return CALayer._(_ret, _lib, retain: true, release: true); + } + + static NSObject? defaultValueForKey_(UIKit _lib, NSString key) { + final _ret = _lib._objc_msgSend_115( + _lib._class_CALayer1, _lib._sel_defaultValueForKey_1, key._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + static bool needsDisplayForKey_(UIKit _lib, NSString key) { + return _lib._objc_msgSend_116( + _lib._class_CALayer1, _lib._sel_needsDisplayForKey_1, key._id); + } + + bool shouldArchiveValueForKey_(NSString key) { + return _lib._objc_msgSend_116( + _id, _lib._sel_shouldArchiveValueForKey_1, key._id); + } + + void getBounds(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_117_stret(stret, _id, _lib._sel_bounds1) + : stret.ref = _lib._objc_msgSend_117(_id, _lib._sel_bounds1); + } + + set bounds(CGRect value) { + return _lib._objc_msgSend_118(_id, _lib._sel_setBounds_1, value); + } + + void getPosition(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_119_stret(stret, _id, _lib._sel_position1) + : stret.ref = _lib._objc_msgSend_119(_id, _lib._sel_position1); + } + + set position(CGPoint value) { + return _lib._objc_msgSend_120(_id, _lib._sel_setPosition_1, value); + } + + double get zPosition { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_zPosition1) + : _lib._objc_msgSend_40(_id, _lib._sel_zPosition1); + } + + set zPosition(double value) { + return _lib._objc_msgSend_121(_id, _lib._sel_setZPosition_1, value); + } + + void getAnchorPoint(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_119_stret(stret, _id, _lib._sel_anchorPoint1) + : stret.ref = _lib._objc_msgSend_119(_id, _lib._sel_anchorPoint1); + } + + set anchorPoint(CGPoint value) { + return _lib._objc_msgSend_120(_id, _lib._sel_setAnchorPoint_1, value); + } + + double get anchorPointZ { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_anchorPointZ1) + : _lib._objc_msgSend_40(_id, _lib._sel_anchorPointZ1); + } + + set anchorPointZ(double value) { + return _lib._objc_msgSend_121(_id, _lib._sel_setAnchorPointZ_1, value); + } + + void getTransform(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_122_stret(stret, _id, _lib._sel_transform1) + : stret.ref = _lib._objc_msgSend_122(_id, _lib._sel_transform1); + } + + set transform(CATransform3D value) { + return _lib._objc_msgSend_123(_id, _lib._sel_setTransform_1, value); + } + + void affineTransform(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_124_stret(stret, _id, _lib._sel_affineTransform1) + : stret.ref = _lib._objc_msgSend_124(_id, _lib._sel_affineTransform1); + } + + void setAffineTransform_(CGAffineTransform m) { + _lib._objc_msgSend_125(_id, _lib._sel_setAffineTransform_1, m); + } + + void getFrame(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_117_stret(stret, _id, _lib._sel_frame1) + : stret.ref = _lib._objc_msgSend_117(_id, _lib._sel_frame1); + } + + set frame(CGRect value) { + return _lib._objc_msgSend_118(_id, _lib._sel_setFrame_1, value); + } + + bool get hidden { + return _lib._objc_msgSend_12(_id, _lib._sel_isHidden1); + } + + set hidden(bool value) { + return _lib._objc_msgSend_102(_id, _lib._sel_setHidden_1, value); + } + + bool get doubleSided { + return _lib._objc_msgSend_12(_id, _lib._sel_isDoubleSided1); + } + + set doubleSided(bool value) { + return _lib._objc_msgSend_102(_id, _lib._sel_setDoubleSided_1, value); + } + + bool get geometryFlipped { + return _lib._objc_msgSend_12(_id, _lib._sel_isGeometryFlipped1); + } + + set geometryFlipped(bool value) { + return _lib._objc_msgSend_102(_id, _lib._sel_setGeometryFlipped_1, value); + } + + bool contentsAreFlipped() { + return _lib._objc_msgSend_12(_id, _lib._sel_contentsAreFlipped1); + } + + CALayer? get superlayer { + final _ret = _lib._objc_msgSend_126(_id, _lib._sel_superlayer1); + return _ret.address == 0 + ? null + : CALayer._(_ret, _lib, retain: true, release: true); + } + + void removeFromSuperlayer() { + _lib._objc_msgSend_1(_id, _lib._sel_removeFromSuperlayer1); + } + + NSObject? get sublayers { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_sublayers1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + set sublayers(NSObject? value) { + return _lib._objc_msgSend_17( + _id, _lib._sel_setSublayers_1, value?._id ?? ffi.nullptr); + } + + void addSublayer_(CALayer layer) { + _lib._objc_msgSend_127(_id, _lib._sel_addSublayer_1, layer._id); + } + + void insertSublayer_atIndex_(CALayer layer, int idx) { + _lib._objc_msgSend_128( + _id, _lib._sel_insertSublayer_atIndex_1, layer._id, idx); + } + + void insertSublayer_below_(CALayer layer, CALayer? sibling) { + _lib._objc_msgSend_129(_id, _lib._sel_insertSublayer_below_1, layer._id, + sibling?._id ?? ffi.nullptr); + } + + void insertSublayer_above_(CALayer layer, CALayer? sibling) { + _lib._objc_msgSend_129(_id, _lib._sel_insertSublayer_above_1, layer._id, + sibling?._id ?? ffi.nullptr); + } + + void replaceSublayer_with_(CALayer oldLayer, CALayer newLayer) { + _lib._objc_msgSend_130( + _id, _lib._sel_replaceSublayer_with_1, oldLayer._id, newLayer._id); + } + + void getSublayerTransform(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_122_stret(stret, _id, _lib._sel_sublayerTransform1) + : stret.ref = _lib._objc_msgSend_122(_id, _lib._sel_sublayerTransform1); + } + + set sublayerTransform(CATransform3D value) { + return _lib._objc_msgSend_123(_id, _lib._sel_setSublayerTransform_1, value); + } + + CALayer? get mask { + final _ret = _lib._objc_msgSend_126(_id, _lib._sel_mask1); + return _ret.address == 0 + ? null + : CALayer._(_ret, _lib, retain: true, release: true); + } + + set mask(CALayer? value) { + return _lib._objc_msgSend_131( + _id, _lib._sel_setMask_1, value?._id ?? ffi.nullptr); + } + + bool get masksToBounds { + return _lib._objc_msgSend_12(_id, _lib._sel_masksToBounds1); + } + + set masksToBounds(bool value) { + return _lib._objc_msgSend_102(_id, _lib._sel_setMasksToBounds_1, value); + } + + void convertPoint_fromLayer_( + ffi.Pointer stret, CGPoint p, CALayer? l) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_132_stret(stret, _id, + _lib._sel_convertPoint_fromLayer_1, p, l?._id ?? ffi.nullptr) + : stret.ref = _lib._objc_msgSend_132( + _id, _lib._sel_convertPoint_fromLayer_1, p, l?._id ?? ffi.nullptr); + } + + void convertPoint_toLayer_( + ffi.Pointer stret, CGPoint p, CALayer? l) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_132_stret(stret, _id, + _lib._sel_convertPoint_toLayer_1, p, l?._id ?? ffi.nullptr) + : stret.ref = _lib._objc_msgSend_132( + _id, _lib._sel_convertPoint_toLayer_1, p, l?._id ?? ffi.nullptr); + } + + void convertRect_fromLayer_(ffi.Pointer stret, CGRect r, CALayer? l) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_133_stret(stret, _id, + _lib._sel_convertRect_fromLayer_1, r, l?._id ?? ffi.nullptr) + : stret.ref = _lib._objc_msgSend_133( + _id, _lib._sel_convertRect_fromLayer_1, r, l?._id ?? ffi.nullptr); + } + + void convertRect_toLayer_(ffi.Pointer stret, CGRect r, CALayer? l) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_133_stret(stret, _id, + _lib._sel_convertRect_toLayer_1, r, l?._id ?? ffi.nullptr) + : stret.ref = _lib._objc_msgSend_133( + _id, _lib._sel_convertRect_toLayer_1, r, l?._id ?? ffi.nullptr); + } + + double convertTime_fromLayer_(double t, CALayer? l) { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_134_fpret( + _id, _lib._sel_convertTime_fromLayer_1, t, l?._id ?? ffi.nullptr) + : _lib._objc_msgSend_134( + _id, _lib._sel_convertTime_fromLayer_1, t, l?._id ?? ffi.nullptr); + } + + double convertTime_toLayer_(double t, CALayer? l) { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_134_fpret( + _id, _lib._sel_convertTime_toLayer_1, t, l?._id ?? ffi.nullptr) + : _lib._objc_msgSend_134( + _id, _lib._sel_convertTime_toLayer_1, t, l?._id ?? ffi.nullptr); + } + + CALayer? hitTest_(CGPoint p) { + final _ret = _lib._objc_msgSend_135(_id, _lib._sel_hitTest_1, p); + return _ret.address == 0 + ? null + : CALayer._(_ret, _lib, retain: true, release: true); + } + + bool containsPoint_(CGPoint p) { + return _lib._objc_msgSend_136(_id, _lib._sel_containsPoint_1, p); + } + + NSObject? get contents { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_contents1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + set contents(NSObject? value) { + return _lib._objc_msgSend_17( + _id, _lib._sel_setContents_1, value?._id ?? ffi.nullptr); + } + + void getContentsRect(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_117_stret(stret, _id, _lib._sel_contentsRect1) + : stret.ref = _lib._objc_msgSend_117(_id, _lib._sel_contentsRect1); + } + + set contentsRect(CGRect value) { + return _lib._objc_msgSend_118(_id, _lib._sel_setContentsRect_1, value); + } + + NSString get contentsGravity { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_contentsGravity1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + set contentsGravity(NSString value) { + return _lib._objc_msgSend_93( + _id, _lib._sel_setContentsGravity_1, value._id); + } + + double get contentsScale { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_contentsScale1) + : _lib._objc_msgSend_40(_id, _lib._sel_contentsScale1); + } + + set contentsScale(double value) { + return _lib._objc_msgSend_121(_id, _lib._sel_setContentsScale_1, value); + } + + void getContentsCenter(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_117_stret(stret, _id, _lib._sel_contentsCenter1) + : stret.ref = _lib._objc_msgSend_117(_id, _lib._sel_contentsCenter1); + } + + set contentsCenter(CGRect value) { + return _lib._objc_msgSend_118(_id, _lib._sel_setContentsCenter_1, value); + } + + NSString get contentsFormat { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_contentsFormat1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + set contentsFormat(NSString value) { + return _lib._objc_msgSend_93(_id, _lib._sel_setContentsFormat_1, value._id); + } + + bool get wantsExtendedDynamicRangeContent { + return _lib._objc_msgSend_12( + _id, _lib._sel_wantsExtendedDynamicRangeContent1); + } + + set wantsExtendedDynamicRangeContent(bool value) { + return _lib._objc_msgSend_102( + _id, _lib._sel_setWantsExtendedDynamicRangeContent_1, value); + } + + NSString get minificationFilter { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_minificationFilter1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + set minificationFilter(NSString value) { + return _lib._objc_msgSend_93( + _id, _lib._sel_setMinificationFilter_1, value._id); + } + + NSString get magnificationFilter { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_magnificationFilter1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + set magnificationFilter(NSString value) { + return _lib._objc_msgSend_93( + _id, _lib._sel_setMagnificationFilter_1, value._id); + } + + double get minificationFilterBias { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_77_fpret(_id, _lib._sel_minificationFilterBias1) + : _lib._objc_msgSend_77(_id, _lib._sel_minificationFilterBias1); + } + + set minificationFilterBias(double value) { + return _lib._objc_msgSend_137( + _id, _lib._sel_setMinificationFilterBias_1, value); + } + + bool get opaque { + return _lib._objc_msgSend_12(_id, _lib._sel_isOpaque1); + } + + set opaque(bool value) { + return _lib._objc_msgSend_102(_id, _lib._sel_setOpaque_1, value); + } + + void display() { + _lib._objc_msgSend_1(_id, _lib._sel_display1); + } + + void setNeedsDisplay() { + _lib._objc_msgSend_1(_id, _lib._sel_setNeedsDisplay1); + } + + void setNeedsDisplayInRect_(CGRect r) { + _lib._objc_msgSend_138(_id, _lib._sel_setNeedsDisplayInRect_1, r); + } + + bool needsDisplay() { + return _lib._objc_msgSend_12(_id, _lib._sel_needsDisplay1); + } + + void displayIfNeeded() { + _lib._objc_msgSend_1(_id, _lib._sel_displayIfNeeded1); + } + + bool get needsDisplayOnBoundsChange { + return _lib._objc_msgSend_12(_id, _lib._sel_needsDisplayOnBoundsChange1); + } + + set needsDisplayOnBoundsChange(bool value) { + return _lib._objc_msgSend_102( + _id, _lib._sel_setNeedsDisplayOnBoundsChange_1, value); + } + + bool get drawsAsynchronously { + return _lib._objc_msgSend_12(_id, _lib._sel_drawsAsynchronously1); + } + + set drawsAsynchronously(bool value) { + return _lib._objc_msgSend_102( + _id, _lib._sel_setDrawsAsynchronously_1, value); + } + + void drawInContext_(ffi.Pointer ctx) { + _lib._objc_msgSend_139(_id, _lib._sel_drawInContext_1, ctx); + } + + void renderInContext_(ffi.Pointer ctx) { + _lib._objc_msgSend_139(_id, _lib._sel_renderInContext_1, ctx); + } + + int get edgeAntialiasingMask { + return _lib._objc_msgSend_140(_id, _lib._sel_edgeAntialiasingMask1); + } + + set edgeAntialiasingMask(int value) { + return _lib._objc_msgSend_141( + _id, _lib._sel_setEdgeAntialiasingMask_1, value); + } + + bool get allowsEdgeAntialiasing { + return _lib._objc_msgSend_12(_id, _lib._sel_allowsEdgeAntialiasing1); + } + + set allowsEdgeAntialiasing(bool value) { + return _lib._objc_msgSend_102( + _id, _lib._sel_setAllowsEdgeAntialiasing_1, value); + } + + ffi.Pointer get backgroundColor { + return _lib._objc_msgSend_142(_id, _lib._sel_backgroundColor1); + } + + set backgroundColor(ffi.Pointer value) { + return _lib._objc_msgSend_143(_id, _lib._sel_setBackgroundColor_1, value); + } + + double get cornerRadius { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_cornerRadius1) + : _lib._objc_msgSend_40(_id, _lib._sel_cornerRadius1); + } + + set cornerRadius(double value) { + return _lib._objc_msgSend_121(_id, _lib._sel_setCornerRadius_1, value); + } + + int get maskedCorners { + return _lib._objc_msgSend_144(_id, _lib._sel_maskedCorners1); + } + + set maskedCorners(int value) { + return _lib._objc_msgSend_145(_id, _lib._sel_setMaskedCorners_1, value); + } + + NSString get cornerCurve { + final _ret = _lib._objc_msgSend_36(_id, _lib._sel_cornerCurve1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + set cornerCurve(NSString value) { + return _lib._objc_msgSend_93(_id, _lib._sel_setCornerCurve_1, value._id); + } + + static double cornerCurveExpansionFactor_(UIKit _lib, NSString curve) { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_146_fpret(_lib._class_CALayer1, + _lib._sel_cornerCurveExpansionFactor_1, curve._id) + : _lib._objc_msgSend_146(_lib._class_CALayer1, + _lib._sel_cornerCurveExpansionFactor_1, curve._id); + } + + double get borderWidth { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_borderWidth1) + : _lib._objc_msgSend_40(_id, _lib._sel_borderWidth1); + } + + set borderWidth(double value) { + return _lib._objc_msgSend_121(_id, _lib._sel_setBorderWidth_1, value); + } + + ffi.Pointer get borderColor { + return _lib._objc_msgSend_142(_id, _lib._sel_borderColor1); + } + + set borderColor(ffi.Pointer value) { + return _lib._objc_msgSend_143(_id, _lib._sel_setBorderColor_1, value); + } + + double get opacity { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_77_fpret(_id, _lib._sel_opacity1) + : _lib._objc_msgSend_77(_id, _lib._sel_opacity1); + } + + set opacity(double value) { + return _lib._objc_msgSend_137(_id, _lib._sel_setOpacity_1, value); + } + + bool get allowsGroupOpacity { + return _lib._objc_msgSend_12(_id, _lib._sel_allowsGroupOpacity1); + } + + set allowsGroupOpacity(bool value) { + return _lib._objc_msgSend_102( + _id, _lib._sel_setAllowsGroupOpacity_1, value); + } + + NSObject? get compositingFilter { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_compositingFilter1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + set compositingFilter(NSObject? value) { + return _lib._objc_msgSend_17( + _id, _lib._sel_setCompositingFilter_1, value?._id ?? ffi.nullptr); + } + + NSArray? get filters { + final _ret = _lib._objc_msgSend_149(_id, _lib._sel_filters1); + return _ret.address == 0 + ? null + : NSArray._(_ret, _lib, retain: true, release: true); + } + + set filters(NSArray? value) { + return _lib._objc_msgSend_150( + _id, _lib._sel_setFilters_1, value?._id ?? ffi.nullptr); + } + + NSArray? get backgroundFilters { + final _ret = _lib._objc_msgSend_149(_id, _lib._sel_backgroundFilters1); + return _ret.address == 0 + ? null + : NSArray._(_ret, _lib, retain: true, release: true); + } + + set backgroundFilters(NSArray? value) { + return _lib._objc_msgSend_150( + _id, _lib._sel_setBackgroundFilters_1, value?._id ?? ffi.nullptr); + } + + bool get shouldRasterize { + return _lib._objc_msgSend_12(_id, _lib._sel_shouldRasterize1); + } + + set shouldRasterize(bool value) { + return _lib._objc_msgSend_102(_id, _lib._sel_setShouldRasterize_1, value); + } + + double get rasterizationScale { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_rasterizationScale1) + : _lib._objc_msgSend_40(_id, _lib._sel_rasterizationScale1); + } + + set rasterizationScale(double value) { + return _lib._objc_msgSend_121( + _id, _lib._sel_setRasterizationScale_1, value); + } + + ffi.Pointer get shadowColor { + return _lib._objc_msgSend_142(_id, _lib._sel_shadowColor1); + } + + set shadowColor(ffi.Pointer value) { + return _lib._objc_msgSend_143(_id, _lib._sel_setShadowColor_1, value); + } + + double get shadowOpacity { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_77_fpret(_id, _lib._sel_shadowOpacity1) + : _lib._objc_msgSend_77(_id, _lib._sel_shadowOpacity1); + } + + set shadowOpacity(double value) { + return _lib._objc_msgSend_137(_id, _lib._sel_setShadowOpacity_1, value); + } + + void getShadowOffset(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_151_stret(stret, _id, _lib._sel_shadowOffset1) + : stret.ref = _lib._objc_msgSend_151(_id, _lib._sel_shadowOffset1); + } + + set shadowOffset(CGSize value) { + return _lib._objc_msgSend_152(_id, _lib._sel_setShadowOffset_1, value); + } + + double get shadowRadius { + return _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_shadowRadius1) + : _lib._objc_msgSend_40(_id, _lib._sel_shadowRadius1); + } + + set shadowRadius(double value) { + return _lib._objc_msgSend_121(_id, _lib._sel_setShadowRadius_1, value); + } + + ffi.Pointer get shadowPath { + return _lib._objc_msgSend_153(_id, _lib._sel_shadowPath1); + } + + set shadowPath(ffi.Pointer value) { + return _lib._objc_msgSend_154(_id, _lib._sel_setShadowPath_1, value); + } + + void preferredFrameSize(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_151_stret( + stret, _id, _lib._sel_preferredFrameSize1) + : stret.ref = + _lib._objc_msgSend_151(_id, _lib._sel_preferredFrameSize1); + } + + void setNeedsLayout() { + _lib._objc_msgSend_1(_id, _lib._sel_setNeedsLayout1); + } + + bool needsLayout() { + return _lib._objc_msgSend_12(_id, _lib._sel_needsLayout1); + } + + void layoutIfNeeded() { + _lib._objc_msgSend_1(_id, _lib._sel_layoutIfNeeded1); + } + + void layoutSublayers() { + _lib._objc_msgSend_1(_id, _lib._sel_layoutSublayers1); + } + + static NSObject? defaultActionForKey_(UIKit _lib, NSString event) { + final _ret = _lib._objc_msgSend_115( + _lib._class_CALayer1, _lib._sel_defaultActionForKey_1, event._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + NSObject? actionForKey_(NSString event) { + final _ret = + _lib._objc_msgSend_115(_id, _lib._sel_actionForKey_1, event._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + NSObject? get actions { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_actions1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + set actions(NSObject? value) { + return _lib._objc_msgSend_17( + _id, _lib._sel_setActions_1, value?._id ?? ffi.nullptr); + } + + void addAnimation_forKey_(CAAnimation anim, NSString? key) { + _lib._objc_msgSend_162(_id, _lib._sel_addAnimation_forKey_1, anim._id, + key?._id ?? ffi.nullptr); + } + + void removeAllAnimations() { + _lib._objc_msgSend_1(_id, _lib._sel_removeAllAnimations1); + } + + void removeAnimationForKey_(NSString key) { + _lib._objc_msgSend_109(_id, _lib._sel_removeAnimationForKey_1, key._id); + } + + NSArray? animationKeys() { + final _ret = _lib._objc_msgSend_149(_id, _lib._sel_animationKeys1); + return _ret.address == 0 + ? null + : NSArray._(_ret, _lib, retain: true, release: true); + } + + CAAnimation? animationForKey_(NSString key) { + final _ret = + _lib._objc_msgSend_163(_id, _lib._sel_animationForKey_1, key._id); + return _ret.address == 0 + ? null + : CAAnimation._(_ret, _lib, retain: true, release: true); + } + + NSString? get name { + final _ret = _lib._objc_msgSend_90(_id, _lib._sel_name1); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + set name(NSString? value) { + return _lib._objc_msgSend_91( + _id, _lib._sel_setName_1, value?._id ?? ffi.nullptr); + } + + NSObject? get delegate { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_delegate1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + set delegate(NSObject? value) { + return _lib._objc_msgSend_17( + _id, _lib._sel_setDelegate_1, value?._id ?? ffi.nullptr); + } + + NSDictionary? get style { + final _ret = _lib._objc_msgSend_166(_id, _lib._sel_style1); + return _ret.address == 0 + ? null + : NSDictionary._(_ret, _lib, retain: true, release: true); + } + + set style(NSDictionary? value) { + return _lib._objc_msgSend_167( + _id, _lib._sel_setStyle_1, value?._id ?? ffi.nullptr); + } + + static CALayer new1(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_CALayer1, _lib._sel_new1); + return CALayer._(_ret, _lib, retain: false, release: true); + } + + static CALayer allocWithZone_(UIKit _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_CALayer1, _lib._sel_allocWithZone_1, zone); + return CALayer._(_ret, _lib, retain: false, release: true); + } + + static CALayer alloc(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_CALayer1, _lib._sel_alloc1); + return CALayer._(_ret, _lib, retain: false, release: true); + } +} + +final class CATransform3D extends ffi.Struct { + @ffi.Double() + external double m11; + + @ffi.Double() + external double m12; + + @ffi.Double() + external double m13; + + @ffi.Double() + external double m14; + + @ffi.Double() + external double m21; + + @ffi.Double() + external double m22; + + @ffi.Double() + external double m23; + + @ffi.Double() + external double m24; + + @ffi.Double() + external double m31; + + @ffi.Double() + external double m32; + + @ffi.Double() + external double m33; + + @ffi.Double() + external double m34; + + @ffi.Double() + external double m41; + + @ffi.Double() + external double m42; + + @ffi.Double() + external double m43; + + @ffi.Double() + external double m44; +} + +final class CGAffineTransform extends ffi.Struct { + @ffi.Double() + external double a; + + @ffi.Double() + external double b; + + @ffi.Double() + external double c; + + @ffi.Double() + external double d; + + @ffi.Double() + external double tx; + + @ffi.Double() + external double ty; +} + +final class CGContext extends ffi.Opaque {} + +abstract class CAEdgeAntialiasingMask { + static const int kCALayerLeftEdge = 1; + static const int kCALayerRightEdge = 2; + static const int kCALayerBottomEdge = 4; + static const int kCALayerTopEdge = 8; +} + +final class CGColor extends ffi.Opaque {} + +abstract class CACornerMask { + static const int kCALayerMinXMinYCorner = 1; + static const int kCALayerMaxXMinYCorner = 2; + static const int kCALayerMinXMaxYCorner = 4; + static const int kCALayerMaxXMaxYCorner = 8; +} + +class NSArray extends NSObject { + NSArray._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSArray] that points to the same underlying object as [other]. + static NSArray castFrom(T other) { + return NSArray._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSArray] that wraps the given raw object pointer. + static NSArray castFromPointer(UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSArray._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSArray]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSArray1); + } + + int get count { + return _lib._objc_msgSend_10(_id, _lib._sel_count1); + } + + NSObject objectAtIndex_(int index) { + final _ret = _lib._objc_msgSend_147(_id, _lib._sel_objectAtIndex_1, index); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + @override + NSArray init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSArray._(_ret, _lib, retain: true, release: true); + } + + NSArray initWithObjects_count_( + ffi.Pointer> objects, int cnt) { + final _ret = _lib._objc_msgSend_148( + _id, _lib._sel_initWithObjects_count_1, objects, cnt); + return NSArray._(_ret, _lib, retain: true, release: true); + } + + NSArray? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : NSArray._(_ret, _lib, retain: true, release: true); + } + + static NSArray new1(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSArray1, _lib._sel_new1); + return NSArray._(_ret, _lib, retain: false, release: true); + } + + static NSArray allocWithZone_(UIKit _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSArray1, _lib._sel_allocWithZone_1, zone); + return NSArray._(_ret, _lib, retain: false, release: true); + } + + static NSArray alloc(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSArray1, _lib._sel_alloc1); + return NSArray._(_ret, _lib, retain: false, release: true); + } +} + +final class CGPath extends ffi.Opaque {} + +class CAAnimation extends NSObject { + CAAnimation._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [CAAnimation] that points to the same underlying object as [other]. + static CAAnimation castFrom(T other) { + return CAAnimation._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [CAAnimation] that wraps the given raw object pointer. + static CAAnimation castFromPointer(UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return CAAnimation._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [CAAnimation]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_CAAnimation1); + } + + static CAAnimation animation(UIKit _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_CAAnimation1, _lib._sel_animation1); + return CAAnimation._(_ret, _lib, retain: true, release: true); + } + + static NSObject? defaultValueForKey_(UIKit _lib, NSString key) { + final _ret = _lib._objc_msgSend_115( + _lib._class_CAAnimation1, _lib._sel_defaultValueForKey_1, key._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + bool shouldArchiveValueForKey_(NSString key) { + return _lib._objc_msgSend_116( + _id, _lib._sel_shouldArchiveValueForKey_1, key._id); + } + + CAMediaTimingFunction? get timingFunction { + final _ret = _lib._objc_msgSend_158(_id, _lib._sel_timingFunction1); + return _ret.address == 0 + ? null + : CAMediaTimingFunction._(_ret, _lib, retain: true, release: true); + } + + set timingFunction(CAMediaTimingFunction? value) { + return _lib._objc_msgSend_159( + _id, _lib._sel_setTimingFunction_1, value?._id ?? ffi.nullptr); + } + + NSObject? get delegate { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_delegate1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + set delegate(NSObject? value) { + return _lib._objc_msgSend_17( + _id, _lib._sel_setDelegate_1, value?._id ?? ffi.nullptr); + } + + bool get removedOnCompletion { + return _lib._objc_msgSend_12(_id, _lib._sel_isRemovedOnCompletion1); + } + + set removedOnCompletion(bool value) { + return _lib._objc_msgSend_102( + _id, _lib._sel_setRemovedOnCompletion_1, value); + } + + void getPreferredFrameRateRange(ffi.Pointer stret) { + _lib._objc_msgSend_useVariants1 + ? _lib._objc_msgSend_160_stret( + stret, _id, _lib._sel_preferredFrameRateRange1) + : stret.ref = + _lib._objc_msgSend_160(_id, _lib._sel_preferredFrameRateRange1); + } + + set preferredFrameRateRange(CAFrameRateRange value) { + return _lib._objc_msgSend_161( + _id, _lib._sel_setPreferredFrameRateRange_1, value); + } + + @override + CAAnimation init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return CAAnimation._(_ret, _lib, retain: true, release: true); + } + + static CAAnimation new1(UIKit _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_CAAnimation1, _lib._sel_new1); + return CAAnimation._(_ret, _lib, retain: false, release: true); + } + + static CAAnimation allocWithZone_(UIKit _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_CAAnimation1, _lib._sel_allocWithZone_1, zone); + return CAAnimation._(_ret, _lib, retain: false, release: true); + } + + static CAAnimation alloc(UIKit _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_CAAnimation1, _lib._sel_alloc1); + return CAAnimation._(_ret, _lib, retain: false, release: true); + } +} + +class CAMediaTimingFunction extends NSObject { + CAMediaTimingFunction._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [CAMediaTimingFunction] that points to the same underlying object as [other]. + static CAMediaTimingFunction castFrom(T other) { + return CAMediaTimingFunction._(other._id, other._lib, + retain: true, release: true); + } + + /// Returns a [CAMediaTimingFunction] that wraps the given raw object pointer. + static CAMediaTimingFunction castFromPointer( + UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return CAMediaTimingFunction._(other, lib, + retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [CAMediaTimingFunction]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_CAMediaTimingFunction1); + } + + static CAMediaTimingFunction functionWithName_(UIKit _lib, NSString name) { + final _ret = _lib._objc_msgSend_155(_lib._class_CAMediaTimingFunction1, + _lib._sel_functionWithName_1, name._id); + return CAMediaTimingFunction._(_ret, _lib, retain: true, release: true); + } + + static CAMediaTimingFunction functionWithControlPoints____( + UIKit _lib, double c1x, double c1y, double c2x, double c2y) { + final _ret = _lib._objc_msgSend_156(_lib._class_CAMediaTimingFunction1, + _lib._sel_functionWithControlPoints____1, c1x, c1y, c2x, c2y); + return CAMediaTimingFunction._(_ret, _lib, retain: true, release: true); + } + + CAMediaTimingFunction initWithControlPoints____( + double c1x, double c1y, double c2x, double c2y) { + final _ret = _lib._objc_msgSend_156( + _id, _lib._sel_initWithControlPoints____1, c1x, c1y, c2x, c2y); + return CAMediaTimingFunction._(_ret, _lib, retain: true, release: true); + } + + void getControlPointAtIndex_values_(int idx, ffi.Pointer ptr) { + _lib._objc_msgSend_157( + _id, _lib._sel_getControlPointAtIndex_values_1, idx, ptr); + } + + @override + CAMediaTimingFunction init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return CAMediaTimingFunction._(_ret, _lib, retain: true, release: true); + } + + static CAMediaTimingFunction new1(UIKit _lib) { + final _ret = _lib._objc_msgSend_2( + _lib._class_CAMediaTimingFunction1, _lib._sel_new1); + return CAMediaTimingFunction._(_ret, _lib, retain: false, release: true); + } + + static CAMediaTimingFunction allocWithZone_( + UIKit _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_CAMediaTimingFunction1, _lib._sel_allocWithZone_1, zone); + return CAMediaTimingFunction._(_ret, _lib, retain: false, release: true); + } + + static CAMediaTimingFunction alloc(UIKit _lib) { + final _ret = _lib._objc_msgSend_2( + _lib._class_CAMediaTimingFunction1, _lib._sel_alloc1); + return CAMediaTimingFunction._(_ret, _lib, retain: false, release: true); + } +} + +final class CAFrameRateRange extends ffi.Struct { + @ffi.Float() + external double minimum; + + @ffi.Float() + external double maximum; + + @ffi.Float() + external double preferred; +} + +class NSDictionary extends NSObject { + NSDictionary._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSDictionary] that points to the same underlying object as [other]. + static NSDictionary castFrom(T other) { + return NSDictionary._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSDictionary] that wraps the given raw object pointer. + static NSDictionary castFromPointer(UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSDictionary._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSDictionary]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSDictionary1); + } + + int get count { + return _lib._objc_msgSend_10(_id, _lib._sel_count1); + } + + NSObject? objectForKey_(NSObject aKey) { + final _ret = + _lib._objc_msgSend_164(_id, _lib._sel_objectForKey_1, aKey._id); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + NSObject keyEnumerator() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_keyEnumerator1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + @override + NSDictionary init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSDictionary._(_ret, _lib, retain: true, release: true); + } + + NSDictionary initWithObjects_forKeys_count_( + ffi.Pointer> objects, + ffi.Pointer> keys, + int cnt) { + final _ret = _lib._objc_msgSend_165( + _id, _lib._sel_initWithObjects_forKeys_count_1, objects, keys, cnt); + return NSDictionary._(_ret, _lib, retain: true, release: true); + } + + NSDictionary? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : NSDictionary._(_ret, _lib, retain: true, release: true); + } + + static NSDictionary new1(UIKit _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSDictionary1, _lib._sel_new1); + return NSDictionary._(_ret, _lib, retain: false, release: true); + } + + static NSDictionary allocWithZone_( + UIKit _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSDictionary1, _lib._sel_allocWithZone_1, zone); + return NSDictionary._(_ret, _lib, retain: false, release: true); + } + + static NSDictionary alloc(UIKit _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSDictionary1, _lib._sel_alloc1); + return NSDictionary._(_ret, _lib, retain: false, release: true); + } +} + +class UIFocusEffect extends _ObjCWrapper { + UIFocusEffect._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [UIFocusEffect] that points to the same underlying object as [other]. + static UIFocusEffect castFrom(T other) { + return UIFocusEffect._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [UIFocusEffect] that wraps the given raw object pointer. + static UIFocusEffect castFromPointer(UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return UIFocusEffect._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [UIFocusEffect]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_UIFocusEffect1); + } +} + +abstract class UISemanticContentAttribute { + static const int UISemanticContentAttributeUnspecified = 0; + static const int UISemanticContentAttributePlayback = 1; + static const int UISemanticContentAttributeSpatial = 2; + static const int UISemanticContentAttributeForceLeftToRight = 3; + static const int UISemanticContentAttributeForceRightToLeft = 4; +} + +abstract class UIUserInterfaceLayoutDirection { + static const int UIUserInterfaceLayoutDirectionLeftToRight = 0; + static const int UIUserInterfaceLayoutDirectionRightToLeft = 1; +} + +class UIWindowScene extends _ObjCWrapper { + UIWindowScene._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [UIWindowScene] that points to the same underlying object as [other]. + static UIWindowScene castFrom(T other) { + return UIWindowScene._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [UIWindowScene] that wraps the given raw object pointer. + static UIWindowScene castFromPointer(UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return UIWindowScene._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [UIWindowScene]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_UIWindowScene1); + } +} + +class UIScreen extends _ObjCWrapper { + UIScreen._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [UIScreen] that points to the same underlying object as [other]. + static UIScreen castFrom(T other) { + return UIScreen._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [UIScreen] that wraps the given raw object pointer. + static UIScreen castFromPointer(UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return UIScreen._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [UIScreen]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_UIScreen1); + } +} + +class UIViewController extends _ObjCWrapper { + UIViewController._(ffi.Pointer id, UIKit lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [UIViewController] that points to the same underlying object as [other]. + static UIViewController castFrom(T other) { + return UIViewController._(other._id, other._lib, + retain: true, release: true); + } + + /// Returns a [UIViewController] that wraps the given raw object pointer. + static UIViewController castFromPointer( + UIKit lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return UIViewController._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [UIViewController]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_UIViewController1); + } +} diff --git a/packages/celest_auth/pubspec.yaml b/packages/celest_auth/pubspec.yaml new file mode 100644 index 00000000..27532bd8 --- /dev/null +++ b/packages/celest_auth/pubspec.yaml @@ -0,0 +1,39 @@ +name: celest_auth +description: The Auth runtime and client library for Celest, the Flutter cloud platform. +version: 0.3.0 +homepage: https://celest.dev +repository: https://github.com/celest-dev/celest/tree/main/packages/celest_auth + +environment: + sdk: ^3.3.0 + +dependencies: + async: ^2.11.0 + built_collection: ^5.1.1 + built_value: ^8.9.1 + celest_core: ^0.2.0 + chunked_stream: ^1.4.2 + ffi: ^2.1.2 + jni: ^0.7.2 + logging: ^1.2.0 + meta: ^1.9.0 + os_detect: ^2.0.1 + path: ^1.9.0 + shelf: ^1.4.1 + shelf_router: ^1.1.4 + web: ^0.5.0 + +dev_dependencies: + build_runner: ^2.4.8 + built_value_generator: ^8.9.1 + checks: ^0.3.0 + ffigen: ^11.0.0 + jnigen: ^0.7.0 + lints: ^3.0.0 + test: ^1.25.1 + +flutter: + plugin: + platforms: + android: + ffiPlugin: true diff --git a/packages/celest_auth/test/client/passkeys/passkey_client_web_test.dart b/packages/celest_auth/test/client/passkeys/passkey_client_web_test.dart new file mode 100644 index 00000000..8ff27146 --- /dev/null +++ b/packages/celest_auth/test/client/passkeys/passkey_client_web_test.dart @@ -0,0 +1,32 @@ +@TestOn('browser') +library; + +import 'dart:convert'; + +import 'package:celest_auth/src/client/passkeys/passkey_client.web.dart'; +import 'package:celest_auth/src/client/passkeys/passkey_models.dart'; +import 'package:test/test.dart'; + +void main() { + group('PasskeyClient', () { + group('register', () { + test('can register a new passkey', () async { + final client = PasskeyClientWeb(); + final registrationResponse = await client.register( + PasskeyRegistrationOptions( + rpName: 'Celest', + rpId: 'localhost', + userId: 'test', + userName: 'alice', + ), + ); + print('Got response: $registrationResponse'); + print( + 'Got response JSON: ${_prettyJson(registrationResponse.toJson())}', + ); + }); + }); + }); +} + +String _prettyJson(Object? o) => const JsonEncoder.withIndent(' ').convert(o); diff --git a/packages/celest_core/lib/src/util/globals.dart b/packages/celest_core/lib/src/util/globals.dart index f6c99938..a2a7cfc5 100644 --- a/packages/celest_core/lib/src/util/globals.dart +++ b/packages/celest_core/lib/src/util/globals.dart @@ -14,5 +14,8 @@ const bool kProfileMode = bool.fromEnvironment('dart.vm.profile'); /// other compilation targets. const bool kIsWeb = identical(0, 0.0); +/// Whether running in a Dart native environment (i.e. the VM). +const bool kIsDartNative = !kIsWeb && !kIsFlutter; + /// Whether running in Flutter (as opposed to Dart-only). const bool kIsFlutter = bool.fromEnvironment('dart.library.ui'); From 5d400a4595db8f2c54ee27f72aae944c3249e8a2 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Sat, 2 Mar 2024 16:46:34 -0800 Subject: [PATCH 02/33] Create Auth protocol --- packages/celest_auth/dart_test.yaml | 5 + .../lib/src/client/auth_client.android.dart | 4 +- .../lib/src/client/auth_client.dart | 12 +- .../lib/src/client/auth_client.darwin.dart | 4 +- .../lib/src/client/auth_client.native.dart | 4 +- .../lib/src/client/auth_client.web.dart | 4 +- .../src/client/auth_client_platform.vm.dart | 15 +- .../src/client/auth_client_platform.web.dart | 11 +- .../passkeys/passkey_client.android.dart | 16 +- .../src/client/passkeys/passkey_client.dart | 15 +- .../passkeys/passkey_client.darwin.dart | 10 +- .../client/passkeys/passkey_client.web.dart | 93 ++--- .../passkeys/passkey_client_platform.vm.dart | 13 +- .../passkeys/passkey_client_platform.web.dart | 11 +- .../passkeys/passkey_client_web_test.dart | 32 -- packages/celest_core/lib/celest_core.dart | 4 + .../lib/src/auth/auth_protocol.dart | 23 ++ .../lib/src/auth/passkey_types.dart} | 320 +++++++++++++++--- .../lib/src/util}/base64_raw_url.dart | 0 19 files changed, 418 insertions(+), 178 deletions(-) create mode 100644 packages/celest_auth/dart_test.yaml delete mode 100644 packages/celest_auth/test/client/passkeys/passkey_client_web_test.dart create mode 100644 packages/celest_core/lib/src/auth/auth_protocol.dart rename packages/{celest_auth/lib/src/client/passkeys/passkey_models.dart => celest_core/lib/src/auth/passkey_types.dart} (64%) rename packages/{celest_auth/lib/src/client => celest_core/lib/src/util}/base64_raw_url.dart (100%) diff --git a/packages/celest_auth/dart_test.yaml b/packages/celest_auth/dart_test.yaml new file mode 100644 index 00000000..82ba5990 --- /dev/null +++ b/packages/celest_auth/dart_test.yaml @@ -0,0 +1,5 @@ +override_platforms: + firefox: + settings: + # Workaround for: https://github.com/dart-lang/test/issues/2194 + executable: /Applications/Firefox.app/Contents/MacOS/firefox diff --git a/packages/celest_auth/lib/src/client/auth_client.android.dart b/packages/celest_auth/lib/src/client/auth_client.android.dart index 28aa725b..db07e57f 100644 --- a/packages/celest_auth/lib/src/client/auth_client.android.dart +++ b/packages/celest_auth/lib/src/client/auth_client.android.dart @@ -9,7 +9,9 @@ import 'package:jni/jni.dart'; import 'package:logging/logging.dart'; final class AuthClientAndroid extends AuthClientPlatform { - AuthClientAndroid() : super.base() { + AuthClientAndroid({ + required super.protocol, + }) : super.base() { Jni.initDLApi(); _celestAuth.init(_applicationContext); } diff --git a/packages/celest_auth/lib/src/client/auth_client.dart b/packages/celest_auth/lib/src/client/auth_client.dart index 2753a290..c82a39d8 100644 --- a/packages/celest_auth/lib/src/client/auth_client.dart +++ b/packages/celest_auth/lib/src/client/auth_client.dart @@ -1,10 +1,18 @@ import 'package:celest_auth/src/client/auth_client_platform.vm.dart' if (dart.library.js_interop) 'package:celest_auth/src/client/auth_client_platform.web.dart'; +import 'package:celest_core/celest_core.dart'; import 'package:meta/meta.dart'; abstract base class AuthClient { - factory AuthClient() = AuthClientPlatform; + factory AuthClient({ + required AuthProtocol protocol, + }) = AuthClientPlatform; @protected - AuthClient.base(); + AuthClient.base({ + required this.protocol, + }); + + @protected + final AuthProtocol protocol; } diff --git a/packages/celest_auth/lib/src/client/auth_client.darwin.dart b/packages/celest_auth/lib/src/client/auth_client.darwin.dart index 7db56298..b106b544 100644 --- a/packages/celest_auth/lib/src/client/auth_client.darwin.dart +++ b/packages/celest_auth/lib/src/client/auth_client.darwin.dart @@ -6,7 +6,9 @@ import 'package:celest_auth/src/client/auth_client_platform.vm.dart'; import 'package:celest_auth/src/platform/darwin/authentication_services.ffi.dart'; final class AuthClientDarwin extends AuthClientPlatform { - AuthClientDarwin() : super.base(); + AuthClientDarwin({ + required super.protocol, + }) : super.base(); final _authenticationServices = AuthenticationServices(DynamicLibrary.process()); diff --git a/packages/celest_auth/lib/src/client/auth_client.native.dart b/packages/celest_auth/lib/src/client/auth_client.native.dart index 8d5aaad6..dc67327d 100644 --- a/packages/celest_auth/lib/src/client/auth_client.native.dart +++ b/packages/celest_auth/lib/src/client/auth_client.native.dart @@ -3,7 +3,9 @@ import 'dart:io'; import 'package:celest_auth/src/client/auth_client_platform.vm.dart'; final class AuthClientNative extends AuthClientPlatform { - AuthClientNative() : super.base(); + AuthClientNative({ + required super.protocol, + }) : super.base(); // /// Launches the given URL. // Future _launchUrl(String url) async { diff --git a/packages/celest_auth/lib/src/client/auth_client.web.dart b/packages/celest_auth/lib/src/client/auth_client.web.dart index 7c57d58f..f20c559f 100644 --- a/packages/celest_auth/lib/src/client/auth_client.web.dart +++ b/packages/celest_auth/lib/src/client/auth_client.web.dart @@ -3,7 +3,9 @@ import 'package:path/path.dart'; import 'package:web/web.dart'; final class AuthClientWeb extends AuthClientPlatform { - AuthClientWeb() : super.base(); + AuthClientWeb({ + required super.protocol, + }) : super.base(); String get _baseUrl { final baseElement = document.querySelector('base') as HTMLBaseElement?; diff --git a/packages/celest_auth/lib/src/client/auth_client_platform.vm.dart b/packages/celest_auth/lib/src/client/auth_client_platform.vm.dart index b80fca1f..621a61fa 100644 --- a/packages/celest_auth/lib/src/client/auth_client_platform.vm.dart +++ b/packages/celest_auth/lib/src/client/auth_client_platform.vm.dart @@ -2,21 +2,24 @@ import 'package:celest_auth/src/client/auth_client.android.dart'; import 'package:celest_auth/src/client/auth_client.dart'; import 'package:celest_auth/src/client/auth_client.darwin.dart'; import 'package:celest_auth/src/client/auth_client.native.dart'; +import 'package:celest_core/celest_core.dart'; // ignore: implementation_imports import 'package:celest_core/src/util/globals.dart'; import 'package:meta/meta.dart'; import 'package:os_detect/os_detect.dart' as os; abstract base class AuthClientPlatform extends AuthClient { - factory AuthClientPlatform() { + factory AuthClientPlatform({ + required AuthProtocol protocol, + }) { if (kIsDartNative) { - return AuthClientNative(); + return AuthClientNative(protocol: protocol); } if (os.isIOS || os.isMacOS) { - return AuthClientDarwin(); + return AuthClientDarwin(protocol: protocol); } if (os.isAndroid) { - return AuthClientAndroid(); + return AuthClientAndroid(protocol: protocol); } throw UnsupportedError( 'The current platform is not supported: ${os.operatingSystem}', @@ -24,5 +27,7 @@ abstract base class AuthClientPlatform extends AuthClient { } @protected - AuthClientPlatform.base() : super.base(); + AuthClientPlatform.base({ + required super.protocol, + }) : super.base(); } diff --git a/packages/celest_auth/lib/src/client/auth_client_platform.web.dart b/packages/celest_auth/lib/src/client/auth_client_platform.web.dart index 1901343a..2a14abd2 100644 --- a/packages/celest_auth/lib/src/client/auth_client_platform.web.dart +++ b/packages/celest_auth/lib/src/client/auth_client_platform.web.dart @@ -1,14 +1,17 @@ import 'package:celest_auth/src/client/auth_client.dart'; import 'package:celest_auth/src/client/auth_client.web.dart'; +import 'package:celest_core/celest_core.dart'; // ignore: implementation_imports import 'package:celest_core/src/util/globals.dart'; import 'package:meta/meta.dart'; import 'package:os_detect/os_detect.dart' as os; abstract base class AuthClientPlatform extends AuthClient { - factory AuthClientPlatform() { + factory AuthClientPlatform({ + required AuthProtocol protocol, + }) { if (kIsWeb) { - return AuthClientWeb(); + return AuthClientWeb(protocol: protocol); } throw UnsupportedError( 'The current platform is not supported: ${os.operatingSystem}', @@ -16,5 +19,7 @@ abstract base class AuthClientPlatform extends AuthClient { } @protected - AuthClientPlatform.base() : super.base(); + AuthClientPlatform.base({ + required super.protocol, + }) : super.base(); } diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_client.android.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_client.android.dart index 2e1d6a4f..c13a168c 100644 --- a/packages/celest_auth/lib/src/client/passkeys/passkey_client.android.dart +++ b/packages/celest_auth/lib/src/client/passkeys/passkey_client.android.dart @@ -2,14 +2,16 @@ import 'dart:async'; import 'dart:convert'; import 'package:celest_auth/src/client/passkeys/passkey_client_platform.vm.dart'; -import 'package:celest_auth/src/client/passkeys/passkey_models.dart'; import 'package:celest_auth/src/platform/android/jni_bindings.ffi.dart' hide Exception, Uri; import 'package:celest_auth/src/platform/android/jni_helpers.dart'; +import 'package:celest_core/celest_core.dart'; import 'package:jni/jni.dart'; final class PasskeyClientAndroid extends PasskeyClientPlatform { - PasskeyClientAndroid() : super.base(); + PasskeyClientAndroid({ + required super.protocol, + }) : super.base(); late final Activity _mainActivity = Activity.fromRef(Jni.getCurrentActivity()); @@ -50,15 +52,16 @@ final class PasskeyClientAndroid extends PasskeyClientPlatform { @override Future register( - PasskeyRegistrationOptions options, + PasskeyRegistrationRequest request, ) async { - final request = CreatePublicKeyCredentialRequest.new7( + final options = await protocol.requestRegistration(request: request); + final jRequest = CreatePublicKeyCredentialRequest.new7( jsonEncode(options.toJson()).toJString(), ); final responseCallback = Completer(); _credentialManager.createCredentialAsync( _mainActivityContext, - request, + jRequest, CancellationSignal(), _threadPool, CredentialManagerCallback authenticate( PasskeyAuthenticationRequest request, ) async { + final options = await protocol.requestAuthentication(request: request); final jRequest = GetCredentialRequest_Builder() .addCredentialOption( GetPublicKeyCredentialOption.new3( - jsonEncode(request.toJson()).toJString(), + jsonEncode(options.toJson()).toJString(), ), ) .build(); diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_client.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_client.dart index e25cb476..a22081c2 100644 --- a/packages/celest_auth/lib/src/client/passkeys/passkey_client.dart +++ b/packages/celest_auth/lib/src/client/passkeys/passkey_client.dart @@ -1,17 +1,24 @@ import 'package:celest_auth/src/client/passkeys/passkey_client_platform.vm.dart' if (dart.library.js_interop) 'package:celest_auth/src/client/passkeys/passkey_client_platform.web.dart'; -import 'package:celest_auth/src/client/passkeys/passkey_models.dart'; +import 'package:celest_core/celest_core.dart'; import 'package:meta/meta.dart'; abstract base class PasskeyClient { - factory PasskeyClient() = PasskeyClientPlatform; + factory PasskeyClient({ + required PasskeyProtocol protocol, + }) = PasskeyClientPlatform; @protected - PasskeyClient.base(); + PasskeyClient.base({ + required this.protocol, + }); + + @protected + final PasskeyProtocol protocol; Future get isSupported; Future register( - PasskeyRegistrationOptions options, + PasskeyRegistrationRequest request, ); Future authenticate( PasskeyAuthenticationRequest request, diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_client.darwin.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_client.darwin.dart index 70f05efc..1232a64b 100644 --- a/packages/celest_auth/lib/src/client/passkeys/passkey_client.darwin.dart +++ b/packages/celest_auth/lib/src/client/passkeys/passkey_client.darwin.dart @@ -1,16 +1,18 @@ import 'package:celest_auth/src/client/passkeys/passkey_client_platform.vm.dart'; -import 'package:celest_auth/src/client/passkeys/passkey_models.dart'; +import 'package:celest_core/celest_core.dart'; final class PasskeyClientDarwin extends PasskeyClientPlatform { - PasskeyClientDarwin() : super.base(); + PasskeyClientDarwin({ + required super.protocol, + }) : super.base(); @override Future get isSupported => throw UnimplementedError(); @override Future register( - PasskeyRegistrationOptions options, - ) { + PasskeyRegistrationRequest request, + ) async { throw UnimplementedError(); } diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_client.web.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_client.web.dart index eb01216c..49a7972e 100644 --- a/packages/celest_auth/lib/src/client/passkeys/passkey_client.web.dart +++ b/packages/celest_auth/lib/src/client/passkeys/passkey_client.web.dart @@ -5,15 +5,19 @@ import 'dart:typed_data'; import 'package:celest_auth/src/client/passkeys/passkey_client_platform.web.dart'; import 'package:celest_auth/src/client/passkeys/passkey_exception.dart'; -import 'package:celest_auth/src/client/passkeys/passkey_models.dart'; +import 'package:celest_core/celest_core.dart'; import 'package:web/web.dart' hide COSEAlgorithmIdentifier, AuthenticatorTransport, - AuthenticatorAttachment; + AuthenticatorAttachment, + UserVerificationRequirement, + ResidentKeyRequirement; final class PasskeyClientWeb extends PasskeyClientPlatform { - PasskeyClientWeb() : super.base(); + PasskeyClientWeb({ + required super.protocol, + }) : super.base(); @override Future get isSupported async { @@ -21,53 +25,29 @@ final class PasskeyClientWeb extends PasskeyClientPlatform { if (!publicKeyCredential.typeofEquals('function')) { return false; } + // TODO(dnys1): Check conditional mediation for autofill support. + // https://web.dev/articles/passkey-registration#feature_detection return PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() .toDart .then((value) => value.toDart); } - static Uint8List _getRandomValues(int size) { - final values = Uint8List(size); - window.crypto.getRandomValues(values.toJS); - return values; - } - @override Future register( - PasskeyRegistrationOptions options, + PasskeyRegistrationRequest request, ) async { if (!await isSupported) { throw const PasskeyException( message: 'Passkeys are not supported in this environment', ); } + final options = await protocol.requestRegistration(request: request); final credential = await window.navigator.credentials .create( CredentialCreationOptions( - publicKey: PublicKeyCredentialCreationOptions( - challenge: - (options.challenge ?? _getRandomValues(32)).buffer.toJS, - rp: PublicKeyCredentialRpEntity( - id: options.rpId, - )..name = options.rpName, - user: PublicKeyCredentialUserEntity( - id: utf8.encode(options.userId).buffer.toJS, - displayName: options.userDisplayName ?? '', - )..name = options.userName, - // This Relying Party will accept either an ES256 or RS256 - // credential, but prefers an ES256 credential. - pubKeyCredParams: [ - for (final algId in COSEAlgorithmIdentifier.defaultSupported) - PublicKeyCredentialParameters( - type: 'public-key', - alg: algId, - ), - ].toJS, - authenticatorSelection: AuthenticatorSelectionCriteria( - // Try to use UV if possible. This is also the default. - userVerification: 'preferred', - ), - timeout: const Duration(minutes: 5).inMilliseconds, + publicKey: PublicKeyCredential.parseCreationOptionsFromJSON( + options.toJson().jsify() + as PublicKeyCredentialCreationOptionsJSON, ), ), ) @@ -110,29 +90,12 @@ final class PasskeyClientWeb extends PasskeyClientPlatform { message: 'Passkeys are not supported in this environment', ); } + final options = await protocol.requestAuthentication(request: request); final credential = await window.navigator.credentials .get( CredentialRequestOptions( - publicKey: PublicKeyCredentialRequestOptions( - challenge: request.challenge.buffer.toJS, - rpId: request.rpId, - allowCredentials: - (request.allowCredentials ?? const []) - .map( - (credential) => PublicKeyCredentialDescriptor( - id: credential.id.buffer.toJS, - type: 'public-key', - transports: (credential.transports ?? - const []) - .map((transport) => transport.toJS) - .toList() - .toJS, - ), - ) - .toList() - .toJS, - userVerification: request.userVerification, - timeout: const Duration(minutes: 5).inMilliseconds, + publicKey: PublicKeyCredential.parseRequestOptionsFromJSON( + options.toJson().jsify() as PublicKeyCredentialRequestOptionsJSON, ), ), ) @@ -168,54 +131,42 @@ final class PasskeyClientWeb extends PasskeyClientPlatform { } extension on AuthenticatorAttestationResponse { - @JS('getTransports') - external JSArray _getTransports(); - List? get transports { // Continue to play it safe with `getTransports()` for now, even when L3 // types say it's required if (!getProperty('getTransports'.toJS).typeofEquals('function')) { return null; } - final transports = _getTransports(); + final transports = getTransports(); return transports.toDart.cast(); } - @JS('getPublicKeyAlgorithm') - external COSEAlgorithmIdentifier _getPublicKeyAlgorithm(); - COSEAlgorithmIdentifier? get publicKeyAlgorithm { // L3 says this is required, but browser and webview support are still // not guaranteed. if (!getProperty('getPublicKeyAlgorithm'.toJS).typeofEquals('function')) { return null; } - return _getPublicKeyAlgorithm(); + return getPublicKeyAlgorithm() as COSEAlgorithmIdentifier; } - @JS('getPublicKey') - external JSArrayBuffer _getPublicKey(); - Uint8List? get publicKey { // L3 says this is required, but browser and webview support are still // not guaranteed. if (!getProperty('getPublicKey'.toJS).typeofEquals('function')) { return null; } - final publicKey = _getPublicKey(); - return publicKey.toDart.asUint8List(); + final publicKey = getPublicKey(); + return publicKey?.toDart.asUint8List(); } - @JS('getAuthenticatorData') - external JSArrayBuffer _getAuthenticatorData(); - Uint8List? get authenticatorData { // L3 says this is required, but browser and webview support are still // not guaranteed. if (!getProperty('getAuthenticatorData'.toJS).typeofEquals('function')) { return null; } - final authenticatorData = _getAuthenticatorData(); + final authenticatorData = getAuthenticatorData(); return authenticatorData.toDart.asUint8List(); } } diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_client_platform.vm.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_client_platform.vm.dart index 54fd6835..15697ab5 100644 --- a/packages/celest_auth/lib/src/client/passkeys/passkey_client_platform.vm.dart +++ b/packages/celest_auth/lib/src/client/passkeys/passkey_client_platform.vm.dart @@ -1,19 +1,22 @@ import 'package:celest_auth/src/client/passkeys/passkey_client.android.dart'; import 'package:celest_auth/src/client/passkeys/passkey_client.dart'; import 'package:celest_auth/src/client/passkeys/passkey_client.darwin.dart'; +import 'package:celest_core/celest_core.dart'; // ignore: implementation_imports import 'package:celest_core/src/util/globals.dart'; import 'package:meta/meta.dart'; import 'package:os_detect/os_detect.dart' as os; abstract base class PasskeyClientPlatform extends PasskeyClient { - factory PasskeyClientPlatform() { + factory PasskeyClientPlatform({ + required PasskeyProtocol protocol, + }) { if (kIsFlutter) { if (os.isIOS || os.isMacOS) { - return PasskeyClientDarwin(); + return PasskeyClientDarwin(protocol: protocol); } if (os.isAndroid) { - return PasskeyClientAndroid(); + return PasskeyClientAndroid(protocol: protocol); } } throw UnsupportedError( @@ -22,5 +25,7 @@ abstract base class PasskeyClientPlatform extends PasskeyClient { } @protected - PasskeyClientPlatform.base() : super.base(); + PasskeyClientPlatform.base({ + required super.protocol, + }) : super.base(); } diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_client_platform.web.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_client_platform.web.dart index 67da2c28..c585e71a 100644 --- a/packages/celest_auth/lib/src/client/passkeys/passkey_client_platform.web.dart +++ b/packages/celest_auth/lib/src/client/passkeys/passkey_client_platform.web.dart @@ -1,14 +1,17 @@ import 'package:celest_auth/src/client/passkeys/passkey_client.dart'; import 'package:celest_auth/src/client/passkeys/passkey_client.web.dart'; +import 'package:celest_core/celest_core.dart'; // ignore: implementation_imports import 'package:celest_core/src/util/globals.dart'; import 'package:meta/meta.dart'; import 'package:os_detect/os_detect.dart' as os; abstract base class PasskeyClientPlatform extends PasskeyClient { - factory PasskeyClientPlatform() { + factory PasskeyClientPlatform({ + required PasskeyProtocol protocol, + }) { if (kIsWeb) { - return PasskeyClientWeb(); + return PasskeyClientWeb(protocol: protocol); } throw UnsupportedError( 'The current platform is not supported: ${os.operatingSystem}', @@ -16,5 +19,7 @@ abstract base class PasskeyClientPlatform extends PasskeyClient { } @protected - PasskeyClientPlatform.base() : super.base(); + PasskeyClientPlatform.base({ + required super.protocol, + }) : super.base(); } diff --git a/packages/celest_auth/test/client/passkeys/passkey_client_web_test.dart b/packages/celest_auth/test/client/passkeys/passkey_client_web_test.dart deleted file mode 100644 index 8ff27146..00000000 --- a/packages/celest_auth/test/client/passkeys/passkey_client_web_test.dart +++ /dev/null @@ -1,32 +0,0 @@ -@TestOn('browser') -library; - -import 'dart:convert'; - -import 'package:celest_auth/src/client/passkeys/passkey_client.web.dart'; -import 'package:celest_auth/src/client/passkeys/passkey_models.dart'; -import 'package:test/test.dart'; - -void main() { - group('PasskeyClient', () { - group('register', () { - test('can register a new passkey', () async { - final client = PasskeyClientWeb(); - final registrationResponse = await client.register( - PasskeyRegistrationOptions( - rpName: 'Celest', - rpId: 'localhost', - userId: 'test', - userName: 'alice', - ), - ); - print('Got response: $registrationResponse'); - print( - 'Got response JSON: ${_prettyJson(registrationResponse.toJson())}', - ); - }); - }); - }); -} - -String _prettyJson(Object? o) => const JsonEncoder.withIndent(' ').convert(o); diff --git a/packages/celest_core/lib/celest_core.dart b/packages/celest_core/lib/celest_core.dart index cb69a98f..f8f4d967 100644 --- a/packages/celest_core/lib/celest_core.dart +++ b/packages/celest_core/lib/celest_core.dart @@ -1,6 +1,10 @@ /// Celest code shared between the client and the cloud. library; +/// Auth +export 'src/auth/auth_protocol.dart'; +export 'src/auth/passkey_types.dart'; + /// Exceptions export 'src/exception/celest_exception.dart'; export 'src/exception/cloud_exception.dart'; diff --git a/packages/celest_core/lib/src/auth/auth_protocol.dart b/packages/celest_core/lib/src/auth/auth_protocol.dart new file mode 100644 index 00000000..72a2ad9d --- /dev/null +++ b/packages/celest_core/lib/src/auth/auth_protocol.dart @@ -0,0 +1,23 @@ +import 'package:celest_core/celest_core.dart'; + +abstract interface class AuthProtocol { + PasskeyProtocol get passkeys; +} + +abstract interface class PasskeyProtocol { + Future requestRegistration({ + required PasskeyRegistrationRequest request, + }); + + Future verifyRegistration({ + required PasskeyRegistrationResponse registration, + }); + + Future requestAuthentication({ + required PasskeyAuthenticationRequest request, + }); + + Future verifyAuthentication({ + required PasskeyAuthenticationResponse authentication, + }); +} diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_models.dart b/packages/celest_core/lib/src/auth/passkey_types.dart similarity index 64% rename from packages/celest_auth/lib/src/client/passkeys/passkey_models.dart rename to packages/celest_core/lib/src/auth/passkey_types.dart index 12118529..3b1ecfe2 100644 --- a/packages/celest_auth/lib/src/client/passkeys/passkey_models.dart +++ b/packages/celest_core/lib/src/auth/passkey_types.dart @@ -1,7 +1,7 @@ import 'dart:convert'; import 'dart:typed_data'; -import 'package:celest_auth/src/client/base64_raw_url.dart'; +import 'package:celest_core/src/util/base64_raw_url.dart'; /// A simple test to determine if a hostname is a properly-formatted domain name /// @@ -13,19 +13,73 @@ bool _isValidDomain(String hostname) { /// From: https://www.oreilly.com/library/view/regular-expressions-cookbook/9781449327453/ch08s15.html final _validDomain = RegExp(r'^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$'); +final class PasskeyRegistrationRequest { + const PasskeyRegistrationRequest({ + required this.username, + String? displayName, + this.authenticatorSelection, + }) : displayName = displayName ?? ''; + + factory PasskeyRegistrationRequest.fromJson(Map json) { + if (json + case { + 'username': final String username, + 'displayName': final String displayName, + }) { + return PasskeyRegistrationRequest( + username: username, + displayName: displayName, + authenticatorSelection: json['authenticatorSelection'] != null + ? AuthenticatorSelectionCriteria.fromJson( + json['authenticatorSelection'] as Map, + ) + : null, + ); + } + throw FormatException('Invalid registration request: $json'); + } + + final String username; + final String displayName; + final AuthenticatorSelectionCriteria? authenticatorSelection; + + Map toJson() => { + 'username': username, + 'displayName': displayName, + if (authenticatorSelection case final authenticatorSelection?) + 'authenticatorSelection': authenticatorSelection.toJson(), + }; + + @override + String toString() { + final buffer = StringBuffer() + ..writeln('PasskeyRegistrationRequest(') + ..writeln(' username: $username,') + ..writeln(' displayName: $displayName,'); + if (authenticatorSelection case final authenticatorSelection?) { + buffer.writeln(' authenticatorSelection: $authenticatorSelection,'); + } + buffer.write(')'); + return buffer.toString(); + } +} + final class PasskeyRegistrationOptions { PasskeyRegistrationOptions({ + required this.challenge, required this.rpName, required this.rpId, required this.userId, required this.userName, - this.userDisplayName, - this.challenge, + String? userDisplayName, this.timeout = const Duration(minutes: 5), - }) : assert( + this.authenticatorSelection, + this.publicKeyCredentialParameters, + }) : assert( _isValidDomain(rpId), 'Invalid rpId (must be a valid domain): $rpId', - ); + ), + userDisplayName = userDisplayName ?? ''; factory PasskeyRegistrationOptions.fromJson(Map json) { if (json @@ -34,22 +88,30 @@ final class PasskeyRegistrationOptions { 'name': final String rpName, 'id': final String rpId, }, + 'challenge': final String challenge, 'user': { - 'id': final String userId, - 'name': final String userName, - } && - final user, + 'id': final String userId, + 'name': final String userName, + 'displayName': final String userDisplayName, + }, }) { return PasskeyRegistrationOptions( rpName: rpName, rpId: rpId, userId: userId, userName: userName, - userDisplayName: user['displayName'] as String?, - challenge: json['challenge'] != null - ? base64RawUrl.decode(json['challenge'] as String) - : null, + userDisplayName: userDisplayName, + challenge: base64RawUrl.decode(challenge), timeout: Duration(milliseconds: (json['timeout'] as num).toInt()), + authenticatorSelection: json['authenticatorSelection'] != null + ? AuthenticatorSelectionCriteria.fromJson( + json['authenticatorSelection'] as Map, + ) + : null, + publicKeyCredentialParameters: (json['pubKeyCredParams'] as List?) + ?.cast>() + .map(PublicKeyCredentialParameter.fromJson) + .toList(), ); } throw FormatException('Invalid registration options: $json'); @@ -59,9 +121,11 @@ final class PasskeyRegistrationOptions { final String rpId; final String userId; final String userName; - final String? userDisplayName; - final Uint8List? challenge; + final String userDisplayName; + final Uint8List challenge; final Duration timeout; + final AuthenticatorSelectionCriteria? authenticatorSelection; + final List? publicKeyCredentialParameters; Map toJson() => { 'rp': { @@ -71,11 +135,16 @@ final class PasskeyRegistrationOptions { 'user': { 'id': userId, 'name': userName, - if (userDisplayName != null) 'displayName': userDisplayName, + 'displayName': userDisplayName, }, - if (challenge case final challenge?) - 'challenge': base64RawUrl.encode(challenge), + 'challenge': base64RawUrl.encode(challenge), 'timeout': timeout.inMilliseconds, + if (authenticatorSelection case final authenticatorSelection?) + 'authenticatorSelection': authenticatorSelection.toJson(), + if (publicKeyCredentialParameters + case final publicKeyCredentialParameters?) + 'pubKeyCredParams': + publicKeyCredentialParameters.map((el) => el.toJson()).toList(), }; @override @@ -85,16 +154,22 @@ final class PasskeyRegistrationOptions { ..writeln(' rpName: $rpName,') ..writeln(' rpId: $rpId,') ..writeln(' userId: $userId,') - ..writeln(' userName: $userName,'); - if (userDisplayName != null) { - buffer.writeln(' userDisplayName: $userDisplayName,'); + ..writeln(' userName: $userName,') + ..writeln(' userDisplayName: $userDisplayName,') + ..writeln(' challenge: ${base64RawUrl.encode(challenge)},') + ..writeln(' timeout: $timeout,'); + if (authenticatorSelection case final authenticatorSelection?) { + buffer.writeln(' authenticatorSelection: $authenticatorSelection,'); } - if (challenge != null) { - buffer.writeln(' challenge: ${base64RawUrl.encode(challenge!)},'); + if (publicKeyCredentialParameters + case final publicKeyCredentialParameters?) { + buffer.writeln(' publicKeyCredentialParameters: ['); + for (final el in publicKeyCredentialParameters) { + buffer.writeln(' $el,'); + } + buffer.writeln(' ],'); } - buffer - ..writeln(' timeout: $timeout,') - ..write(')'); + buffer.write(')'); return buffer.toString(); } } @@ -152,7 +227,10 @@ final class PasskeyRegistrationResponse { throw FormatException('Invalid registration response: $json'); } + /// A base64url-encoded string representing the credential ID. final String id; + + /// The credential ID in its raw binary form. final Uint8List rawId; String get type => 'public-key'; final PasskeyClientData clientData; @@ -161,6 +239,9 @@ final class PasskeyRegistrationResponse { final COSEAlgorithmIdentifier? publicKeyAlgorithm; final Uint8List? publicKey; final Uint8List? authenticatorData; + + /// This will be set to `platform` when the credential is created on a + /// passkey-capable device. final AuthenticatorAttachment? authenticatorAttachment; Map toJson() => { @@ -219,6 +300,118 @@ final class PasskeyRegistrationResponse { } } +final class PublicKeyCredentialParameter { + const PublicKeyCredentialParameter({ + required this.algorithm, + }); + + factory PublicKeyCredentialParameter.fromJson(Map json) { + if (json + case { + 'type': 'public-key', + 'alg': final int algorithm, + }) { + return PublicKeyCredentialParameter( + algorithm: COSEAlgorithmIdentifier._(algorithm), + ); + } + throw FormatException('Invalid credential parameter: $json'); + } + + String get type => 'public-key'; + final COSEAlgorithmIdentifier algorithm; + + Map toJson() => { + 'type': type, + 'alg': algorithm, + }; + + @override + String toString() { + final buffer = StringBuffer() + ..write('PasskeyCredentialParameter(') + ..write('type: $type, ') + ..write('algorithm: $algorithm') + ..write(')'); + return buffer.toString(); + } +} + +final class AuthenticatorSelectionCriteria { + const AuthenticatorSelectionCriteria({ + this.authenticatorAttachment, + this.residentKey, + bool? requireResidentKey, + UserVerificationRequirement? userVerification, + }) : requireResidentKey = requireResidentKey ?? false, + userVerification = + userVerification ?? UserVerificationRequirement.preferred; + + const AuthenticatorSelectionCriteria.passkey() + : + // Try to use UV if possible. + // + // Why not required: https://passkeys.dev/docs/use-cases/bootstrapping/#a-note-about-user-verification + userVerification = UserVerificationRequirement.required, + + // "platform" indicates that the RP wants a platform authenticator + // (an authenticator embedded to the platform device) which will + // not prompt to insert e.g. a USB security key. The user has a + // simpler option to create a passkey. + authenticatorAttachment = AuthenticatorAttachment.platform, + + // A discoverable credential (resident key) stores user + // information to the passkey and lets users select the account + // upon authentication. + residentKey = ResidentKeyRequirement.required, + + // This property is retained for backward compatibility from + // WebAuthn Level 1, an older version of the specification. Set + // this to true if residentKey is 'required', otherwise set it + // to false. + requireResidentKey = true; + + factory AuthenticatorSelectionCriteria.fromJson(Map json) { + return AuthenticatorSelectionCriteria( + authenticatorAttachment: + json['authenticatorAttachment'] as AuthenticatorAttachment?, + requireResidentKey: json['requireResidentKey'] as bool?, + residentKey: json['residentKey'] as ResidentKeyRequirement?, + userVerification: + json['userVerification'] as UserVerificationRequirement?, + ); + } + + final AuthenticatorAttachment? authenticatorAttachment; + final ResidentKeyRequirement? residentKey; + final bool requireResidentKey; + final UserVerificationRequirement userVerification; + + Map toJson() => { + if (authenticatorAttachment != null) + 'authenticatorAttachment': authenticatorAttachment, + if (residentKey != null) 'residentKey': residentKey, + 'requireResidentKey': requireResidentKey, + 'userVerification': userVerification, + }; + + @override + String toString() { + final buffer = StringBuffer()..write('AuthenticatorSelectionCriteria('); + if (authenticatorAttachment != null) { + buffer.write('authenticatorAttachment: $authenticatorAttachment, '); + } + if (residentKey != null) { + buffer.write('residentKey: $residentKey, '); + } + buffer + ..write('requireResidentKey: $requireResidentKey, ') + ..write('userVerification: $userVerification') + ..write(')'); + return buffer.toString(); + } +} + /// The client data returned by the authenticator during registration and /// authentication. /// @@ -333,7 +526,7 @@ final class PasskeyClientDataTokenBinding { final class PasskeyDescriptor { const PasskeyDescriptor({ required this.id, - this.transports, + this.transports = const [], }); factory PasskeyDescriptor.fromJson(Map json) { @@ -343,51 +536,93 @@ final class PasskeyDescriptor { }) { return PasskeyDescriptor( id: base64RawUrl.decode(id), - transports: (json['transports'] as List?)?.cast(), + transports: (json['transports'] as List?)?.cast() ?? const [], ); } throw FormatException('Invalid passkey descriptor: $json'); } final Uint8List id; - final List? transports; + final List transports; Map toJson() => { 'id': base64RawUrl.encode(id), - if (transports != null) 'transports': transports, + 'transports': transports, }; @override String toString() => 'PasskeyDescriptor(' 'id: ${base64RawUrl.encode(id)}, ' - 'transports: ${transports?.join(', ')})'; + 'transports: ${transports.join(', ')})'; } final class PasskeyAuthenticationRequest { - PasskeyAuthenticationRequest({ + const PasskeyAuthenticationRequest({ + required this.username, + UserVerificationRequirement? userVerification, + }) : userVerification = + userVerification ?? UserVerificationRequirement.preferred; + + factory PasskeyAuthenticationRequest.fromJson(Map json) { + return PasskeyAuthenticationRequest( + username: json['username'] as String, + userVerification: + json['userVerification'] as UserVerificationRequirement?, + ); + } + + final String username; + final UserVerificationRequirement userVerification; + + Map toJson() => { + 'username': username, + 'userVerification': userVerification, + }; + + @override + String toString() { + final buffer = StringBuffer() + ..writeln('PasskeyAuthenticationRequest(') + ..writeln(' username: $username,') + ..writeln(' userVerification: $userVerification,') + ..write(')'); + return buffer.toString(); + } +} + +final class PasskeyAuthenticationOptions { + PasskeyAuthenticationOptions({ required this.rpId, required this.challenge, this.timeout = const Duration(minutes: 5), - this.allowCredentials, + List? allowCredentials, UserVerificationRequirement? userVerification, }) : assert( _isValidDomain(rpId), 'Invalid rpId (must be a valid domain): $rpId', ), + allowCredentials = allowCredentials ?? const [], userVerification = userVerification ?? UserVerificationRequirement.preferred; - factory PasskeyAuthenticationRequest.fromJson(Map json) { + factory PasskeyAuthenticationOptions.fromJson(Map json) { if (json case { 'rpId': final String rpId, 'challenge': final String challenge, 'timeout': final int timeout, + 'allowCredentials': final List allowCredentials, }) { - return PasskeyAuthenticationRequest( + return PasskeyAuthenticationOptions( rpId: rpId, challenge: base64RawUrl.decode(challenge), timeout: Duration(milliseconds: timeout), + allowCredentials: allowCredentials + .cast>() + .map(PasskeyDescriptor.fromJson) + .toList(), + userVerification: + json['userVerification'] as UserVerificationRequirement?, ); } throw FormatException('Invalid authentication request: $json'); @@ -396,16 +631,14 @@ final class PasskeyAuthenticationRequest { final String rpId; final Uint8List challenge; final Duration timeout; - final List? allowCredentials; + final List allowCredentials; final UserVerificationRequirement userVerification; Map toJson() => { 'rpId': rpId, 'challenge': base64RawUrl.encode(challenge), 'timeout': timeout.inMilliseconds, - if (allowCredentials case final allowCredentials?) - 'allowCredentials': - allowCredentials.map((el) => el.toJson()).toList(), + 'allowCredentials': allowCredentials.map((el) => el.toJson()).toList(), 'userVerification': userVerification, }; @@ -416,7 +649,7 @@ final class PasskeyAuthenticationRequest { ..writeln(' rpId: $rpId,') ..writeln(' challenge: ${base64RawUrl.encode(challenge)},') ..writeln(' timeout: $timeout,') - ..writeln(' allowCredentials: ${allowCredentials?.join(', ')},') + ..writeln(' allowCredentials: ${allowCredentials.join(', ')},') ..writeln(' userVerification: $userVerification,') ..write(')'); return buffer.toString(); @@ -608,3 +841,10 @@ extension type const UserVerificationRequirement._(String requirement) static const preferred = UserVerificationRequirement._('preferred'); static const required = UserVerificationRequirement._('required'); } + +extension type const ResidentKeyRequirement._(String requirement) + implements String { + static const discouraged = ResidentKeyRequirement._('discouraged'); + static const preferred = ResidentKeyRequirement._('preferred'); + static const required = ResidentKeyRequirement._('required'); +} diff --git a/packages/celest_auth/lib/src/client/base64_raw_url.dart b/packages/celest_core/lib/src/util/base64_raw_url.dart similarity index 100% rename from packages/celest_auth/lib/src/client/base64_raw_url.dart rename to packages/celest_core/lib/src/util/base64_raw_url.dart From 05924daf7dfe5c20ce61bb64980fd12fe85ede4a Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Sun, 3 Mar 2024 19:10:19 -0800 Subject: [PATCH 03/33] Continue passkey work --- packages/celest_auth/Makefile | 17 - .../darwin/Classes/CelestAuth.swift | 351 +++ .../celest_auth/darwin/celest_auth.podspec | 27 + packages/celest_auth/example/ios/Podfile.lock | 23 + .../ios/Runner.xcodeproj/project.pbxproj | 116 + .../contents.xcworkspacedata | 3 + .../example/ios/Runner/Runner.entitlements | 10 + packages/celest_auth/example/lib/main.dart | 83 +- .../celest_auth/example/macos/Podfile.lock | 23 + .../macos/Runner.xcodeproj/project.pbxproj | 103 +- .../contents.xcworkspacedata | 3 + .../macos/Runner/DebugProfile.entitlements | 6 + .../example/macos/Runner/Release.entitlements | 8 + packages/celest_auth/example/pubspec.yaml | 1 + packages/celest_auth/ffigen.darwin.yaml | 34 + packages/celest_auth/ffigen.uikit.yaml | 2 +- packages/celest_auth/generate.sh | 24 + packages/celest_auth/lib/celest_auth.dart | 4 +- .../src/client/auth_client_platform.vm.dart | 33 - ...ndroid.dart => auth_platform.android.dart} | 6 +- .../{auth_client.dart => auth_platform.dart} | 12 +- ....darwin.dart => auth_platform.darwin.dart} | 6 +- ....native.dart => auth_platform.native.dart} | 6 +- ...client.web.dart => auth_platform.web.dart} | 6 +- .../lib/src/client/auth_platform_impl.vm.dart | 33 + ...m.web.dart => auth_platform_impl.web.dart} | 12 +- .../passkeys/passkey_client.darwin.dart | 25 - .../passkeys/passkey_client_platform.vm.dart | 31 - ...oid.dart => passkey_platform.android.dart} | 6 +- ...skey_client.dart => passkey_platform.dart} | 12 +- .../passkeys/passkey_platform.darwin.dart | 113 + ...ent.web.dart => passkey_platform.web.dart} | 46 +- .../passkeys/passkey_platform_impl.vm.dart | 27 + ...eb.dart => passkey_platform_impl.web.dart} | 12 +- .../darwin/authentication_services.yaml | 30 +- .../src/platform/darwin/celest_auth.ffi.dart | 2120 +++++++++++++++++ .../lib/src/platform/darwin/foundation.yaml | 14 +- packages/celest_auth/pubspec.yaml | 6 + packages/celest_core/lib/celest_core.dart | 2 + .../celest_core/lib/src/auth/auth_client.dart | 97 + .../lib/src/auth/auth_protocol.dart | 2 + .../lib/src/auth}/passkey_exception.dart | 0 .../lib/src/auth/passkey_types.dart | 107 +- packages/celest_core/lib/src/auth/user.dart | 1 + .../lib/src/exception/cloud_exception.dart | 10 + packages/celest_core/pubspec.yaml | 1 + 46 files changed, 3372 insertions(+), 242 deletions(-) delete mode 100644 packages/celest_auth/Makefile create mode 100644 packages/celest_auth/darwin/Classes/CelestAuth.swift create mode 100644 packages/celest_auth/darwin/celest_auth.podspec create mode 100644 packages/celest_auth/example/ios/Podfile.lock create mode 100644 packages/celest_auth/example/ios/Runner/Runner.entitlements create mode 100644 packages/celest_auth/example/macos/Podfile.lock create mode 100644 packages/celest_auth/ffigen.darwin.yaml create mode 100755 packages/celest_auth/generate.sh delete mode 100644 packages/celest_auth/lib/src/client/auth_client_platform.vm.dart rename packages/celest_auth/lib/src/client/{auth_client.android.dart => auth_platform.android.dart} (96%) rename packages/celest_auth/lib/src/client/{auth_client.dart => auth_platform.dart} (57%) rename packages/celest_auth/lib/src/client/{auth_client.darwin.dart => auth_platform.darwin.dart} (93%) rename packages/celest_auth/lib/src/client/{auth_client.native.dart => auth_platform.native.dart} (94%) rename packages/celest_auth/lib/src/client/{auth_client.web.dart => auth_platform.web.dart} (76%) create mode 100644 packages/celest_auth/lib/src/client/auth_platform_impl.vm.dart rename packages/celest_auth/lib/src/client/{auth_client_platform.web.dart => auth_platform_impl.web.dart} (61%) delete mode 100644 packages/celest_auth/lib/src/client/passkeys/passkey_client.darwin.dart delete mode 100644 packages/celest_auth/lib/src/client/passkeys/passkey_client_platform.vm.dart rename packages/celest_auth/lib/src/client/passkeys/{passkey_client.android.dart => passkey_platform.android.dart} (97%) rename packages/celest_auth/lib/src/client/passkeys/{passkey_client.dart => passkey_platform.dart} (67%) create mode 100644 packages/celest_auth/lib/src/client/passkeys/passkey_platform.darwin.dart rename packages/celest_auth/lib/src/client/passkeys/{passkey_client.web.dart => passkey_platform.web.dart} (79%) create mode 100644 packages/celest_auth/lib/src/client/passkeys/passkey_platform_impl.vm.dart rename packages/celest_auth/lib/src/client/passkeys/{passkey_client_platform.web.dart => passkey_platform_impl.web.dart} (58%) create mode 100644 packages/celest_auth/lib/src/platform/darwin/celest_auth.ffi.dart create mode 100644 packages/celest_core/lib/src/auth/auth_client.dart rename packages/{celest_auth/lib/src/client/passkeys => celest_core/lib/src/auth}/passkey_exception.dart (100%) create mode 100644 packages/celest_core/lib/src/auth/user.dart diff --git a/packages/celest_auth/Makefile b/packages/celest_auth/Makefile deleted file mode 100644 index d7c51339..00000000 --- a/packages/celest_auth/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -FOUNDATION_SYMBOLS=lib/src/platform/darwin/foundation.yaml -FOUNDATION_URI=package:celest_auth/src/platform/darwin/foundation.ffi.dart - -ffi: - @echo "Generating FFI bindings..." - dart run ffigen --config=ffigen.foundation.yaml - @echo "Removing 'instancetype' from FFI bindings..." - @yq -i "del(.files.\"${FOUNDATION_URI}\".symbols.\"c:@T@instancetype\")" ${FOUNDATION_SYMBOLS} - dart run ffigen --config=ffigen.authentication_services.yaml - dart run ffigen --config=ffigen.uikit.yaml - - @echo "Generating JNI bindings..." - @pushd example - flutter pub get - flutter build apk - @popd - dart run jnigen --config=jnigen.yaml diff --git a/packages/celest_auth/darwin/Classes/CelestAuth.swift b/packages/celest_auth/darwin/Classes/CelestAuth.swift new file mode 100644 index 00000000..18b2554e --- /dev/null +++ b/packages/celest_auth/darwin/Classes/CelestAuth.swift @@ -0,0 +1,351 @@ +#if os(iOS) +import UIKit +#elseif os(macOS) +import AppKit +#else +#error("Unsupported OS") +#endif + +import AuthenticationServices + +public typealias OnSuccess = (UnsafePointer) -> Void +public typealias OnError = (CelestAuthErrorCode, UnsafePointer) -> Void + +@objc public enum CelestAuthErrorCode: Int, RawRepresentable { + case unknown = 0 + case unsupported = 1 + case serde = 2 +} + +@objc protocol CelestAuthProtocol: NSObjectProtocol { + /// Whether passkeys are supported on the current platform. + @objc var isPasskeysSupported: Bool { get } + + /// Sends a registration request to the platform authenticator and + /// completes with the registration response or an error. + @objc func register( + request: String, + onSuccess: @escaping OnSuccess, + onError: @escaping OnError + ) + + /// Sends an authentication request to the platform authenticator and + /// completes with the authentication response or an error. + @objc func authenticate( + request: String, + onSuccess: @escaping OnSuccess, + onError: @escaping OnError + ) +} + +@objc public class CelestAuth: NSObject, CelestAuthProtocol { + @objc public override init() { + if #available(iOS 15.0, macOS 12.0, *) { + self.impl = CelestAuthSupported() + } else { + self.impl = CelestAuthUnsupported() + } + } + + private let impl: CelestAuthProtocol + + @objc public var isPasskeysSupported: Bool { + impl.isPasskeysSupported + } + + @objc public func register(request: String, onSuccess: @escaping OnSuccess, onError: @escaping OnError) { + impl.register(request: request, onSuccess: onSuccess, onError: onError) + } + + @objc public func authenticate(request: String, onSuccess: @escaping OnSuccess, onError: @escaping OnError) { + impl.authenticate(request: request, onSuccess: onSuccess, onError: onError) + } + + @objc public func freePointer(_ ptr: UnsafePointer) { + ptr.deallocate() + } +} + +@available(iOS 15.0, macOS 12.0, *) +class CelestAuthSupported: NSObject, CelestAuthProtocol, ASAuthorizationControllerDelegate, ASAuthorizationControllerPresentationContextProviding { + + private var onSuccess: OnSuccess? + private var onError: OnError? + + var isPasskeysSupported: Bool { true } + + func register( + request: String, + onSuccess: @escaping OnSuccess, + onError: @escaping OnError + ) { + guard let data = request.data(using: .utf8), + let options = try? JSONDecoder().decode(PasskeyRequestOptions.self, from: data), + let challenge = Data(base64URLEncoded: options.challenge), + let userID = options.user.id.data(using: .utf8) + else { + onError(.serde, "Failed to deserialize registration request") + return + } + self.onSuccess = onSuccess + self.onError = onError + let platformProvider = ASAuthorizationPlatformPublicKeyCredentialProvider(relyingPartyIdentifier: options.rp.id) + let platformKeyRequest = platformProvider.createCredentialRegistrationRequest( + challenge: challenge, + name: options.user.name, + userID: userID + ) + let authController = ASAuthorizationController(authorizationRequests: [platformKeyRequest]) + authController.delegate = self + authController.presentationContextProvider = self + authController.performRequests() + } + + func authenticate( + request: String, + onSuccess: @escaping OnSuccess, + onError: @escaping OnError + ) { + guard let data = request.data(using: .utf8), + let options = try? JSONDecoder().decode(PasskeyAuthenticationOptions.self, from: data), + let challenge = Data(base64URLEncoded: options.challenge) + else { + onError(.serde, "Failed to deserialize authentication request") + return + } + self.onSuccess = onSuccess + self.onError = onError + let platformProvider = ASAuthorizationPlatformPublicKeyCredentialProvider(relyingPartyIdentifier: options.rpId) + let platformKeyRequest = platformProvider.createCredentialAssertionRequest(challenge: challenge) + let authController = ASAuthorizationController(authorizationRequests: [platformKeyRequest]) + authController.delegate = self + authController.presentationContextProvider = self + authController.performRequests() + } + + private func reset() { + self.onSuccess = nil + self.onError = nil + } + + private func complete(value: Data) { + onSuccess?(value.unsafePointer) + reset() + } + + private func complete(error: CelestAuthErrorCode, _ message: String) { + onError?(error, message.unsafePointer) + reset() + } + + private func complete(error: Error) { + onError?(.unknown, error.localizedDescription.unsafePointer) + reset() + } + + public func presentationAnchor(for controller: ASAuthorizationController) -> ASPresentationAnchor { + #if os(iOS) + ASPresentationAnchor() + #else + let windows = NSApplication.shared.windows + var presentationAnchor = windows.first + for window in windows { + if window.isKeyWindow { + presentationAnchor = window + } + } + return presentationAnchor ?? ASPresentationAnchor() + #endif + } + + public func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) { + if let credential = authorization.credential as? ASAuthorizationPlatformPublicKeyCredentialRegistration { + let response = PasskeyRegistration(credential: credential) + guard let responseJson = try? JSONEncoder().encode(response) else { + complete(error: .serde, "Failed to serialize registration response") + return + } + return complete(value: responseJson) + } else if let credential = authorization.credential as? ASAuthorizationPlatformPublicKeyCredentialAssertion { + let response = PasskeyAuthentication(credential: credential) + guard let responseJson = try? JSONEncoder().encode(response) else { + complete(error: .serde, "Failed to serialize authentication response") + return + } + return complete(value: responseJson) + } else { + complete(error: .unknown, "Unknown credential type: \(authorization.self)") + } + } + + public func authorizationController(controller: ASAuthorizationController, didCompleteWithError error: Error) { + complete(error: error) + } +} + +class CelestAuthUnsupported: NSObject, CelestAuthProtocol { + var isPasskeysSupported: Bool { false } + + func register(request: String, onSuccess: @escaping OnSuccess, onError: @escaping OnError) { + onError(.unsupported, "Unsupported platform".unsafePointer) + } + + func authenticate(request: String, onSuccess: @escaping OnSuccess, onError: @escaping OnError) { + onError(.unsupported, "Unsupported platform".unsafePointer) + } +} + +struct PasskeyRequestOptions: Codable { + let challenge: String + let rp: PasskeyRequestRp + let user: PasskeyRequestUser +} + +struct PasskeyRequestRp: Codable { + let name: String + let id: String +} + +struct PasskeyRequestUser: Codable { + let id: String + let name: String + let displayName: String +} + +struct PasskeyAuthenticationOptions: Codable { + let rpId: String + let challenge: String +} + +@available(iOS 15.0, macOS 12.0, *) +struct PasskeyRegistration: Codable { + init(credential: ASAuthorizationPlatformPublicKeyCredentialRegistration) { + let credentialID = credential.credentialID.base64URLEncodedString() + self.id = credentialID + self.rawId = credentialID + self.response = PasskeyRegistrationResponse( + clientDataJSON: credential.rawClientDataJSON.base64URLEncodedString(), + attestationObject: credential.rawAttestationObject?.base64URLEncodedString() + ) + if #available(iOS 16.6, macOS 13.5, *) { + switch credential.attachment { + case .platform: + self.authenticatorAttachment = "platform" + case .crossPlatform: + self.authenticatorAttachment = "cross-platform" + @unknown default: + self.authenticatorAttachment = "unknown" + } + } else { + self.authenticatorAttachment = nil + } + } + + let id: String + let rawId: String + var type = "public-key" + let response: PasskeyRegistrationResponse + let authenticatorAttachment: String? +} + +struct PasskeyRegistrationResponse: Codable { + let clientDataJSON: String + let attestationObject: String? +} + +@available(iOS 15.0, macOS 12.0, *) +struct PasskeyAuthentication: Codable { + init(credential: ASAuthorizationPlatformPublicKeyCredentialAssertion) { + let credentialID = credential.credentialID.base64URLEncodedString() + self.id = credentialID + self.rawId = credentialID + self.response = PasskeyAuthenticationResponse( + clientDataJSON: credential.rawClientDataJSON.base64URLEncodedString(), + authenticatorData: credential.rawAuthenticatorData.base64URLEncodedString(), + signature: credential.signature.base64URLEncodedString(), + userHandle: credential.userID.base64URLEncodedString() + ) + if #available(iOS 16.6, macOS 13.5, *) { + switch credential.attachment { + case .platform: + self.authenticatorAttachment = "platform" + case .crossPlatform: + self.authenticatorAttachment = "cross-platform" + @unknown default: + self.authenticatorAttachment = "unknown" + } + } else { + self.authenticatorAttachment = nil + } + } + + let id: String + let rawId: String + var type: String = "public-key" + let response: PasskeyAuthenticationResponse + let authenticatorAttachment: String? +} + +struct PasskeyAuthenticationResponse: Codable { + let clientDataJSON: String + let authenticatorData: String + let signature: String + let userHandle: String +} + +extension Data { + + /// Instantiates data by decoding a base64url string into base64 + /// + /// - Parameter string: A base64url encoded string + init?(base64URLEncoded string: String) { + self.init(base64Encoded: string.toggleBase64URLSafe(on: false)) + } + + /// Encodes the string into a base64url safe representation + /// + /// - Returns: A string that is base64 encoded but made safe for passing + /// in as a query parameter into a URL string + func base64URLEncodedString() -> String { + return self.base64EncodedString().toggleBase64URLSafe(on: true) + } + + + var unsafePointer: UnsafeMutablePointer { + let ptr = UnsafeMutablePointer.allocate(capacity: count + 1) + copyBytes(to: ptr, count: count) + return ptr + } + +} + +extension String { + + var unsafePointer: UnsafeMutablePointer { + data(using: .utf8)!.unsafePointer + } + + /// Encodes or decodes into a base64url safe representation + /// + /// - Parameter on: Whether or not the string should be made safe for URL strings + /// - Returns: if `on`, then a base64url string; if `off` then a base64 string + func toggleBase64URLSafe(on: Bool) -> String { + if on { + // Make base64 string safe for passing into URL query params + let base64url = self.replacingOccurrences(of: "/", with: "_") + .replacingOccurrences(of: "+", with: "-") + .replacingOccurrences(of: "=", with: "") + return base64url + } else { + // Return to base64 encoding + var base64 = self.replacingOccurrences(of: "_", with: "/") + .replacingOccurrences(of: "-", with: "+") + // Add any necessary padding with `=` + if base64.count % 4 != 0 { + base64.append(String(repeating: "=", count: 4 - base64.count % 4)) + } + return base64 + } + } + +} diff --git a/packages/celest_auth/darwin/celest_auth.podspec b/packages/celest_auth/darwin/celest_auth.podspec new file mode 100644 index 00000000..ffdd34b6 --- /dev/null +++ b/packages/celest_auth/darwin/celest_auth.podspec @@ -0,0 +1,27 @@ +# +# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html. +# Run `pod lib lint ffi_plugin.podspec` to validate before publishing. +# +Pod::Spec.new do |s| + s.name = 'celest_auth' + s.version = '0.0.1' + s.summary = 'Shared iOS/macOS platform code of Celest Auth.' + s.description = <<-DESC + Shared iOS/macOS platform code of Celest Auth. + DESC + s.homepage = 'https://celest.dev' + s.license = { :file => '../LICENSE' } + s.author = { 'Dillon Nys' => 'dillon@celest.dev' } + s.source = { :path => '.' } + s.source_files = 'Classes/**/*' + + s.ios.dependency 'Flutter' + s.osx.dependency 'FlutterMacOS' + s.ios.deployment_target = '11.0' + s.osx.deployment_target = '10.11' + + # Flutter.framework does not contain a i386 slice. + s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' } + s.module_name = 'celest_auth' + s.swift_version = '5.0' +end diff --git a/packages/celest_auth/example/ios/Podfile.lock b/packages/celest_auth/example/ios/Podfile.lock new file mode 100644 index 00000000..3550bbf8 --- /dev/null +++ b/packages/celest_auth/example/ios/Podfile.lock @@ -0,0 +1,23 @@ +PODS: + - celest_auth (0.0.1): + - Flutter + - FlutterMacOS + - Flutter (1.0.0) + +DEPENDENCIES: + - celest_auth (from `.symlinks/plugins/celest_auth/darwin`) + - Flutter (from `Flutter`) + +EXTERNAL SOURCES: + celest_auth: + :path: ".symlinks/plugins/celest_auth/darwin" + Flutter: + :path: Flutter + +SPEC CHECKSUMS: + celest_auth: 94a61a3de8684f0bb7459baba4d5e8b5b9780f72 + Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 + +PODFILE CHECKSUM: 819463e6a0290f5a72f145ba7cde16e8b6ef0796 + +COCOAPODS: 1.15.0 diff --git a/packages/celest_auth/example/ios/Runner.xcodeproj/project.pbxproj b/packages/celest_auth/example/ios/Runner.xcodeproj/project.pbxproj index 9663f5ac..6d73cf39 100644 --- a/packages/celest_auth/example/ios/Runner.xcodeproj/project.pbxproj +++ b/packages/celest_auth/example/ios/Runner.xcodeproj/project.pbxproj @@ -8,12 +8,14 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 28DB6D6E79B78B827EA52321 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA41D9D03F0845F56EED13E8 /* Pods_RunnerTests.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + D2DE32F25AF0169F89BEFB6D /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AC26DE6EFB87491B2A14E832 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,9 +44,13 @@ /* Begin PBXFileReference section */ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 16F2CF9C4003BEF4F1163958 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 1B826A9919327048F3017894 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 43B113F6AA4D863C070D780C /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 4A803A079E9B02D0656FF2F9 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; @@ -55,13 +61,27 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + AC1A9A7D92F4C66A94DF4502 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + AC26DE6EFB87491B2A14E832 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C0A1769B2B954E91009FD7F1 /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = ""; }; + EA41D9D03F0845F56EED13E8 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F39F6AAC7F27A00A2406F559 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + 87B3C14EA4C1D6344360B996 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 28DB6D6E79B78B827EA52321 /* Pods_RunnerTests.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D2DE32F25AF0169F89BEFB6D /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -76,6 +96,19 @@ path = RunnerTests; sourceTree = ""; }; + 55CD265E653F237C38D62A19 /* Pods */ = { + isa = PBXGroup; + children = ( + AC1A9A7D92F4C66A94DF4502 /* Pods-Runner.debug.xcconfig */, + 43B113F6AA4D863C070D780C /* Pods-Runner.release.xcconfig */, + F39F6AAC7F27A00A2406F559 /* Pods-Runner.profile.xcconfig */, + 16F2CF9C4003BEF4F1163958 /* Pods-RunnerTests.debug.xcconfig */, + 1B826A9919327048F3017894 /* Pods-RunnerTests.release.xcconfig */, + 4A803A079E9B02D0656FF2F9 /* Pods-RunnerTests.profile.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( @@ -94,6 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, + 55CD265E653F237C38D62A19 /* Pods */, + E94F0FFABF6E45393CFB6659 /* Frameworks */, ); sourceTree = ""; }; @@ -109,6 +144,7 @@ 97C146F01CF9000F007C117D /* Runner */ = { isa = PBXGroup; children = ( + C0A1769B2B954E91009FD7F1 /* Runner.entitlements */, 97C146FA1CF9000F007C117D /* Main.storyboard */, 97C146FD1CF9000F007C117D /* Assets.xcassets */, 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, @@ -121,6 +157,15 @@ path = Runner; sourceTree = ""; }; + E94F0FFABF6E45393CFB6659 /* Frameworks */ = { + isa = PBXGroup; + children = ( + AC26DE6EFB87491B2A14E832 /* Pods_Runner.framework */, + EA41D9D03F0845F56EED13E8 /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -128,8 +173,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( + FF50F668124EA2F2A5E0E44B /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, + 87B3C14EA4C1D6344360B996 /* Frameworks */, ); buildRules = ( ); @@ -145,12 +192,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( + 60271842E3BCBF6EC455752F /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + 233434462875656F03F245AF /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -222,6 +271,23 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 233434462875656F03F245AF /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -238,6 +304,28 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; + 60271842E3BCBF6EC455752F /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -253,6 +341,28 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; + FF50F668124EA2F2A5E0E44B /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -361,6 +471,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; DEVELOPMENT_TEAM = 3N6FCLHNUW; ENABLE_BITCODE = NO; @@ -379,6 +490,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 16F2CF9C4003BEF4F1163958 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -396,6 +508,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 1B826A9919327048F3017894 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -411,6 +524,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 4A803A079E9B02D0656FF2F9 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -541,6 +655,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; DEVELOPMENT_TEAM = 3N6FCLHNUW; ENABLE_BITCODE = NO; @@ -564,6 +679,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; DEVELOPMENT_TEAM = 3N6FCLHNUW; ENABLE_BITCODE = NO; diff --git a/packages/celest_auth/example/ios/Runner.xcworkspace/contents.xcworkspacedata b/packages/celest_auth/example/ios/Runner.xcworkspace/contents.xcworkspacedata index 1d526a16..21a3cc14 100644 --- a/packages/celest_auth/example/ios/Runner.xcworkspace/contents.xcworkspacedata +++ b/packages/celest_auth/example/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -4,4 +4,7 @@ + + diff --git a/packages/celest_auth/example/ios/Runner/Runner.entitlements b/packages/celest_auth/example/ios/Runner/Runner.entitlements new file mode 100644 index 00000000..328f4467 --- /dev/null +++ b/packages/celest_auth/example/ios/Runner/Runner.entitlements @@ -0,0 +1,10 @@ + + + + + com.apple.developer.associated-domains + + webcredentials:65b7-136-24-157-119.ngrok-free.app?mode=developer + + + diff --git a/packages/celest_auth/example/lib/main.dart b/packages/celest_auth/example/lib/main.dart index a7256585..e6345805 100644 --- a/packages/celest_auth/example/lib/main.dart +++ b/packages/celest_auth/example/lib/main.dart @@ -1,18 +1,95 @@ +import 'package:celest_auth/celest_auth.dart'; +import 'package:celest_core/celest_core.dart'; +import 'package:corks/corks.dart'; import 'package:flutter/material.dart'; +final authClient = AuthClient( + baseUri: Uri.http('localhost:8080'), +); +final passkeys = PasskeyPlatform(protocol: authClient.passkeys); + void main() { runApp(const MainApp()); } -class MainApp extends StatelessWidget { +class MainApp extends StatefulWidget { const MainApp({super.key}); + @override + State createState() => _MainAppState(); +} + +typedef User = ({ + String userId, + String email, +}); + +final class _State { + _State( + this.signingIn, { + this.user, + }); + + final bool signingIn; + final User? user; +} + +class _MainAppState extends State { + final _state = ValueNotifier(_State(false)); + + Future signInWithPasskey() async { + try { + _state.value = _State(true); + final response = await passkeys.register( + const PasskeyRegistrationRequest( + username: 'dillon@celest.dev', + ), + ); + await authClient.passkeys.verifyRegistration( + registration: response, + ); + final token = authClient.passkeys.token!; + print('Got token: $token'); + final cork = Cork.parse(token); + final bearer = (cork.bearer!.block as EntityBearer).entity; + final userId = bearer.uid.id; + final email = bearer.attributes['email']!.string; + print('User ID: $userId'); + print('Email: $email'); + _state.value = _State(false, user: ( + userId: userId, + email: email, + )); + } on Exception catch (e, st) { + print('Error: $e'); + print('Stacktrace: $st'); + _state.value = _State(false); + } + } + @override Widget build(BuildContext context) { - return const MaterialApp( + return MaterialApp( home: Scaffold( body: Center( - child: Text('Hello World!'), + child: ValueListenableBuilder( + valueListenable: _state, + builder: (context, state, child) { + return Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text('Currently signed in: ${state.user?.email}'), + const SizedBox(height: 16), + TextButton( + onPressed: !state.signingIn && state.user == null + ? signInWithPasskey + : null, + child: const Text('Sign in with Passkey'), + ), + ], + ); + }, + ), ), ), ); diff --git a/packages/celest_auth/example/macos/Podfile.lock b/packages/celest_auth/example/macos/Podfile.lock new file mode 100644 index 00000000..6772ce4f --- /dev/null +++ b/packages/celest_auth/example/macos/Podfile.lock @@ -0,0 +1,23 @@ +PODS: + - celest_auth (0.0.1): + - Flutter + - FlutterMacOS + - FlutterMacOS (1.0.0) + +DEPENDENCIES: + - celest_auth (from `Flutter/ephemeral/.symlinks/plugins/celest_auth/darwin`) + - FlutterMacOS (from `Flutter/ephemeral`) + +EXTERNAL SOURCES: + celest_auth: + :path: Flutter/ephemeral/.symlinks/plugins/celest_auth/darwin + FlutterMacOS: + :path: Flutter/ephemeral + +SPEC CHECKSUMS: + celest_auth: 94a61a3de8684f0bb7459baba4d5e8b5b9780f72 + FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 + +PODFILE CHECKSUM: 236401fc2c932af29a9fcf0e97baeeb2d750d367 + +COCOAPODS: 1.15.0 diff --git a/packages/celest_auth/example/macos/Runner.xcodeproj/project.pbxproj b/packages/celest_auth/example/macos/Runner.xcodeproj/project.pbxproj index 2bb55215..3bd0033f 100644 --- a/packages/celest_auth/example/macos/Runner.xcodeproj/project.pbxproj +++ b/packages/celest_auth/example/macos/Runner.xcodeproj/project.pbxproj @@ -27,6 +27,8 @@ 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; + 406DE7CE9B74754E1048117A /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5803BE715FD01790F514D3B9 /* Pods_Runner.framework */; }; + 40F7B19533D9D558AF09AF85 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC3EDB190A40F413F8563C7F /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -60,11 +62,12 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 13EEB93C8B0869792FED80FB /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; - 33CC10ED2044A3C60003C045 /* celest_auth_example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "celest_auth_example.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 33CC10ED2044A3C60003C045 /* celest_auth_example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = celest_auth_example.app; sourceTree = BUILT_PRODUCTS_DIR; }; 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; @@ -76,8 +79,15 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; + 398CD059A3C0B954CBC57916 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 459449A0413987CB865132A7 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 5803BE715FD01790F514D3B9 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; + 97D8D099AFFAEF9E5C5B4A95 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + B5D7353413FE372DB380FDD9 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + F030AA16F188F4B6F4ECDC34 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + FC3EDB190A40F413F8563C7F /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -85,6 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 40F7B19533D9D558AF09AF85 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -92,6 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 406DE7CE9B74754E1048117A /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -125,6 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, + 5A21AB31001C2D938B38C254 /* Pods */, ); sourceTree = ""; }; @@ -172,9 +185,24 @@ path = Runner; sourceTree = ""; }; + 5A21AB31001C2D938B38C254 /* Pods */ = { + isa = PBXGroup; + children = ( + 398CD059A3C0B954CBC57916 /* Pods-Runner.debug.xcconfig */, + F030AA16F188F4B6F4ECDC34 /* Pods-Runner.release.xcconfig */, + B5D7353413FE372DB380FDD9 /* Pods-Runner.profile.xcconfig */, + 13EEB93C8B0869792FED80FB /* Pods-RunnerTests.debug.xcconfig */, + 459449A0413987CB865132A7 /* Pods-RunnerTests.release.xcconfig */, + 97D8D099AFFAEF9E5C5B4A95 /* Pods-RunnerTests.profile.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( + 5803BE715FD01790F514D3B9 /* Pods_Runner.framework */, + FC3EDB190A40F413F8563C7F /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -186,6 +214,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( + 6D1F9FA5468921BA1FAA5966 /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -204,11 +233,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( + 041A10BE767685543E2C5776 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, + 82A83F3EA03936B423761E5A /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -291,6 +322,28 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 041A10BE767685543E2C5776 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -329,6 +382,45 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; + 6D1F9FA5468921BA1FAA5966 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 82A83F3EA03936B423761E5A /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -380,6 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 13EEB93C8B0869792FED80FB /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -394,6 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 459449A0413987CB865132A7 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -408,6 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 97D8D099AFFAEF9E5C5B4A95 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -476,8 +571,10 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 3N6FCLHNUW; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -608,8 +705,10 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 3N6FCLHNUW; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -628,8 +727,10 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 3N6FCLHNUW; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", diff --git a/packages/celest_auth/example/macos/Runner.xcworkspace/contents.xcworkspacedata b/packages/celest_auth/example/macos/Runner.xcworkspace/contents.xcworkspacedata index 1d526a16..21a3cc14 100644 --- a/packages/celest_auth/example/macos/Runner.xcworkspace/contents.xcworkspacedata +++ b/packages/celest_auth/example/macos/Runner.xcworkspace/contents.xcworkspacedata @@ -4,4 +4,7 @@ + + diff --git a/packages/celest_auth/example/macos/Runner/DebugProfile.entitlements b/packages/celest_auth/example/macos/Runner/DebugProfile.entitlements index dddb8a30..4fe45f71 100644 --- a/packages/celest_auth/example/macos/Runner/DebugProfile.entitlements +++ b/packages/celest_auth/example/macos/Runner/DebugProfile.entitlements @@ -2,10 +2,16 @@ + com.apple.developer.associated-domains + + webcredentials:65b7-136-24-157-119.ngrok-free.app?mode=developer + com.apple.security.app-sandbox com.apple.security.cs.allow-jit + com.apple.security.network.client + com.apple.security.network.server diff --git a/packages/celest_auth/example/macos/Runner/Release.entitlements b/packages/celest_auth/example/macos/Runner/Release.entitlements index 852fa1a4..6e10687a 100644 --- a/packages/celest_auth/example/macos/Runner/Release.entitlements +++ b/packages/celest_auth/example/macos/Runner/Release.entitlements @@ -2,7 +2,15 @@ + com.apple.developer.associated-domains + + webcredentials:65b7-136-24-157-119.ngrok-free.app?mode=developer + com.apple.security.app-sandbox + com.apple.security.network.client + + com.apple.security.network.server + diff --git a/packages/celest_auth/example/pubspec.yaml b/packages/celest_auth/example/pubspec.yaml index 7e50db91..dbee3da9 100644 --- a/packages/celest_auth/example/pubspec.yaml +++ b/packages/celest_auth/example/pubspec.yaml @@ -9,6 +9,7 @@ environment: dependencies: celest: ^0.2.0 celest_auth: ^0.3.0 + celest_core: ^0.2.0 flutter: sdk: flutter diff --git a/packages/celest_auth/ffigen.darwin.yaml b/packages/celest_auth/ffigen.darwin.yaml new file mode 100644 index 00000000..bfbe03e8 --- /dev/null +++ b/packages/celest_auth/ffigen.darwin.yaml @@ -0,0 +1,34 @@ +name: CelestAuthDarwin +description: | + Bindings for CelestAuth on iOS/macOS. + + Regenerate bindings with `dart run ffigen --config=ffigen.darwin.yaml`. +language: "objc" +output: + bindings: "lib/src/platform/darwin/celest_auth.ffi.dart" +headers: + entry-points: + - "example/build/macos/Build/Products/Release/celest_auth/celest_auth.framework/Headers/celest_auth-Swift.h" + include-directives: + - "example/build/macos/Build/Products/Release/celest_auth/celest_auth.framework/Headers/celest_auth-Swift.h" + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h" +import: + symbol-files: + - "package:celest_auth/src/platform/darwin/foundation.yaml" +preamble: | + // ignore_for_file: type=lint + // ignore_for_file: return_of_invalid_type + // ignore_for_file: unnecessary_non_null_assertion +comments: + style: any + length: full + +compiler-opts-automatic: + macos: + include-c-standard-library: true +exclude-all-by-default: true +objc-interfaces: + include: + - CelestAuth + module: + CelestAuth: celest_auth diff --git a/packages/celest_auth/ffigen.uikit.yaml b/packages/celest_auth/ffigen.uikit.yaml index 2ca59c30..272e3160 100644 --- a/packages/celest_auth/ffigen.uikit.yaml +++ b/packages/celest_auth/ffigen.uikit.yaml @@ -32,7 +32,7 @@ comments: compiler-opts-automatic: macos: - include-c-standard-library: false + include-c-standard-library: true exclude-all-by-default: true objc-interfaces: include: diff --git a/packages/celest_auth/generate.sh b/packages/celest_auth/generate.sh new file mode 100755 index 00000000..d1853c67 --- /dev/null +++ b/packages/celest_auth/generate.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +set -euo pipefail + +FOUNDATION_SYMBOLS=lib/src/platform/darwin/foundation.yaml +FOUNDATION_URI=package:celest_auth/src/platform/darwin/foundation.ffi.dart + +echo "Building example app..." +pushd example +flutter pub get +flutter build apk +flutter build macos +popd + +echo "Generating FFI bindings..." +dart run ffigen --config=ffigen.foundation.yaml +echo "Removing 'instancetype' from FFI bindings..." +yq -i "del(.files.\"${FOUNDATION_URI}\".symbols.\"c:@T@instancetype\")" ${FOUNDATION_SYMBOLS} +dart run ffigen --config=ffigen.authentication_services.yaml +dart run ffigen --config=ffigen.uikit.yaml +dart run ffigen --config=ffigen.darwin.yaml + +echo "Generating JNI bindings..." +dart run jnigen --config=jnigen.yaml diff --git a/packages/celest_auth/lib/celest_auth.dart b/packages/celest_auth/lib/celest_auth.dart index 09374ea4..77d9b395 100644 --- a/packages/celest_auth/lib/celest_auth.dart +++ b/packages/celest_auth/lib/celest_auth.dart @@ -1,4 +1,4 @@ library; -export 'src/client/auth_client.dart'; -export 'src/client/passkeys/passkey_client.dart'; +export 'src/client/auth_platform.dart'; +export 'src/client/passkeys/passkey_platform.dart'; diff --git a/packages/celest_auth/lib/src/client/auth_client_platform.vm.dart b/packages/celest_auth/lib/src/client/auth_client_platform.vm.dart deleted file mode 100644 index 621a61fa..00000000 --- a/packages/celest_auth/lib/src/client/auth_client_platform.vm.dart +++ /dev/null @@ -1,33 +0,0 @@ -import 'package:celest_auth/src/client/auth_client.android.dart'; -import 'package:celest_auth/src/client/auth_client.dart'; -import 'package:celest_auth/src/client/auth_client.darwin.dart'; -import 'package:celest_auth/src/client/auth_client.native.dart'; -import 'package:celest_core/celest_core.dart'; -// ignore: implementation_imports -import 'package:celest_core/src/util/globals.dart'; -import 'package:meta/meta.dart'; -import 'package:os_detect/os_detect.dart' as os; - -abstract base class AuthClientPlatform extends AuthClient { - factory AuthClientPlatform({ - required AuthProtocol protocol, - }) { - if (kIsDartNative) { - return AuthClientNative(protocol: protocol); - } - if (os.isIOS || os.isMacOS) { - return AuthClientDarwin(protocol: protocol); - } - if (os.isAndroid) { - return AuthClientAndroid(protocol: protocol); - } - throw UnsupportedError( - 'The current platform is not supported: ${os.operatingSystem}', - ); - } - - @protected - AuthClientPlatform.base({ - required super.protocol, - }) : super.base(); -} diff --git a/packages/celest_auth/lib/src/client/auth_client.android.dart b/packages/celest_auth/lib/src/client/auth_platform.android.dart similarity index 96% rename from packages/celest_auth/lib/src/client/auth_client.android.dart rename to packages/celest_auth/lib/src/client/auth_platform.android.dart index db07e57f..ba593514 100644 --- a/packages/celest_auth/lib/src/client/auth_client.android.dart +++ b/packages/celest_auth/lib/src/client/auth_platform.android.dart @@ -1,6 +1,6 @@ import 'dart:async'; -import 'package:celest_auth/src/client/auth_client_platform.vm.dart'; +import 'package:celest_auth/src/client/auth_platform_impl.vm.dart'; import 'package:celest_auth/src/platform/android/jni_bindings.ffi.dart' as android show Uri; import 'package:celest_auth/src/platform/android/jni_bindings.ffi.dart' @@ -8,8 +8,8 @@ import 'package:celest_auth/src/platform/android/jni_bindings.ffi.dart' import 'package:jni/jni.dart'; import 'package:logging/logging.dart'; -final class AuthClientAndroid extends AuthClientPlatform { - AuthClientAndroid({ +final class AuthPlatformAndroid extends AuthPlatformImpl { + AuthPlatformAndroid({ required super.protocol, }) : super.base() { Jni.initDLApi(); diff --git a/packages/celest_auth/lib/src/client/auth_client.dart b/packages/celest_auth/lib/src/client/auth_platform.dart similarity index 57% rename from packages/celest_auth/lib/src/client/auth_client.dart rename to packages/celest_auth/lib/src/client/auth_platform.dart index c82a39d8..375cf2fa 100644 --- a/packages/celest_auth/lib/src/client/auth_client.dart +++ b/packages/celest_auth/lib/src/client/auth_platform.dart @@ -1,15 +1,15 @@ -import 'package:celest_auth/src/client/auth_client_platform.vm.dart' - if (dart.library.js_interop) 'package:celest_auth/src/client/auth_client_platform.web.dart'; +import 'package:celest_auth/src/client/auth_platform_impl.vm.dart' + if (dart.library.js_interop) 'package:celest_auth/src/client/auth_platform_impl.web.dart'; import 'package:celest_core/celest_core.dart'; import 'package:meta/meta.dart'; -abstract base class AuthClient { - factory AuthClient({ +abstract base class AuthPlatform { + factory AuthPlatform({ required AuthProtocol protocol, - }) = AuthClientPlatform; + }) = AuthPlatformImpl; @protected - AuthClient.base({ + AuthPlatform.base({ required this.protocol, }); diff --git a/packages/celest_auth/lib/src/client/auth_client.darwin.dart b/packages/celest_auth/lib/src/client/auth_platform.darwin.dart similarity index 93% rename from packages/celest_auth/lib/src/client/auth_client.darwin.dart rename to packages/celest_auth/lib/src/client/auth_platform.darwin.dart index b106b544..479aabaf 100644 --- a/packages/celest_auth/lib/src/client/auth_client.darwin.dart +++ b/packages/celest_auth/lib/src/client/auth_platform.darwin.dart @@ -2,11 +2,11 @@ import 'dart:async'; import 'dart:ffi'; import 'dart:io'; -import 'package:celest_auth/src/client/auth_client_platform.vm.dart'; +import 'package:celest_auth/src/client/auth_platform_impl.vm.dart'; import 'package:celest_auth/src/platform/darwin/authentication_services.ffi.dart'; -final class AuthClientDarwin extends AuthClientPlatform { - AuthClientDarwin({ +final class AuthPlatformDarwin extends AuthPlatformImpl { + AuthPlatformDarwin({ required super.protocol, }) : super.base(); diff --git a/packages/celest_auth/lib/src/client/auth_client.native.dart b/packages/celest_auth/lib/src/client/auth_platform.native.dart similarity index 94% rename from packages/celest_auth/lib/src/client/auth_client.native.dart rename to packages/celest_auth/lib/src/client/auth_platform.native.dart index dc67327d..0a929090 100644 --- a/packages/celest_auth/lib/src/client/auth_client.native.dart +++ b/packages/celest_auth/lib/src/client/auth_platform.native.dart @@ -1,9 +1,9 @@ import 'dart:io'; -import 'package:celest_auth/src/client/auth_client_platform.vm.dart'; +import 'package:celest_auth/src/client/auth_platform_impl.vm.dart'; -final class AuthClientNative extends AuthClientPlatform { - AuthClientNative({ +final class AuthPlatformNative extends AuthPlatformImpl { + AuthPlatformNative({ required super.protocol, }) : super.base(); diff --git a/packages/celest_auth/lib/src/client/auth_client.web.dart b/packages/celest_auth/lib/src/client/auth_platform.web.dart similarity index 76% rename from packages/celest_auth/lib/src/client/auth_client.web.dart rename to packages/celest_auth/lib/src/client/auth_platform.web.dart index f20c559f..7455432d 100644 --- a/packages/celest_auth/lib/src/client/auth_client.web.dart +++ b/packages/celest_auth/lib/src/client/auth_platform.web.dart @@ -1,9 +1,9 @@ -import 'package:celest_auth/src/client/auth_client_platform.web.dart'; +import 'package:celest_auth/src/client/auth_platform_impl.web.dart'; import 'package:path/path.dart'; import 'package:web/web.dart'; -final class AuthClientWeb extends AuthClientPlatform { - AuthClientWeb({ +final class AuthPlatformWeb extends AuthPlatformImpl { + AuthPlatformWeb({ required super.protocol, }) : super.base(); diff --git a/packages/celest_auth/lib/src/client/auth_platform_impl.vm.dart b/packages/celest_auth/lib/src/client/auth_platform_impl.vm.dart new file mode 100644 index 00000000..e2a19a17 --- /dev/null +++ b/packages/celest_auth/lib/src/client/auth_platform_impl.vm.dart @@ -0,0 +1,33 @@ +import 'package:celest_auth/src/client/auth_platform.android.dart'; +import 'package:celest_auth/src/client/auth_platform.dart'; +import 'package:celest_auth/src/client/auth_platform.darwin.dart'; +import 'package:celest_auth/src/client/auth_platform.native.dart'; +import 'package:celest_core/celest_core.dart'; +// ignore: implementation_imports +import 'package:celest_core/src/util/globals.dart'; +import 'package:meta/meta.dart'; +import 'package:os_detect/os_detect.dart' as os; + +abstract base class AuthPlatformImpl extends AuthPlatform { + factory AuthPlatformImpl({ + required AuthProtocol protocol, + }) { + if (kIsDartNative) { + return AuthPlatformNative(protocol: protocol); + } + if (os.isIOS || os.isMacOS) { + return AuthPlatformDarwin(protocol: protocol); + } + if (os.isAndroid) { + return AuthPlatformAndroid(protocol: protocol); + } + throw UnsupportedError( + 'The current platform is not supported: ${os.operatingSystem}', + ); + } + + @protected + AuthPlatformImpl.base({ + required super.protocol, + }) : super.base(); +} diff --git a/packages/celest_auth/lib/src/client/auth_client_platform.web.dart b/packages/celest_auth/lib/src/client/auth_platform_impl.web.dart similarity index 61% rename from packages/celest_auth/lib/src/client/auth_client_platform.web.dart rename to packages/celest_auth/lib/src/client/auth_platform_impl.web.dart index 2a14abd2..8e37e44b 100644 --- a/packages/celest_auth/lib/src/client/auth_client_platform.web.dart +++ b/packages/celest_auth/lib/src/client/auth_platform_impl.web.dart @@ -1,17 +1,17 @@ -import 'package:celest_auth/src/client/auth_client.dart'; -import 'package:celest_auth/src/client/auth_client.web.dart'; +import 'package:celest_auth/src/client/auth_platform.dart'; +import 'package:celest_auth/src/client/auth_platform.web.dart'; import 'package:celest_core/celest_core.dart'; // ignore: implementation_imports import 'package:celest_core/src/util/globals.dart'; import 'package:meta/meta.dart'; import 'package:os_detect/os_detect.dart' as os; -abstract base class AuthClientPlatform extends AuthClient { - factory AuthClientPlatform({ +abstract base class AuthPlatformImpl extends AuthPlatform { + factory AuthPlatformImpl({ required AuthProtocol protocol, }) { if (kIsWeb) { - return AuthClientWeb(protocol: protocol); + return AuthPlatformWeb(protocol: protocol); } throw UnsupportedError( 'The current platform is not supported: ${os.operatingSystem}', @@ -19,7 +19,7 @@ abstract base class AuthClientPlatform extends AuthClient { } @protected - AuthClientPlatform.base({ + AuthPlatformImpl.base({ required super.protocol, }) : super.base(); } diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_client.darwin.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_client.darwin.dart deleted file mode 100644 index 1232a64b..00000000 --- a/packages/celest_auth/lib/src/client/passkeys/passkey_client.darwin.dart +++ /dev/null @@ -1,25 +0,0 @@ -import 'package:celest_auth/src/client/passkeys/passkey_client_platform.vm.dart'; -import 'package:celest_core/celest_core.dart'; - -final class PasskeyClientDarwin extends PasskeyClientPlatform { - PasskeyClientDarwin({ - required super.protocol, - }) : super.base(); - - @override - Future get isSupported => throw UnimplementedError(); - - @override - Future register( - PasskeyRegistrationRequest request, - ) async { - throw UnimplementedError(); - } - - @override - Future authenticate( - PasskeyAuthenticationRequest request, - ) { - throw UnimplementedError(); - } -} diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_client_platform.vm.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_client_platform.vm.dart deleted file mode 100644 index 15697ab5..00000000 --- a/packages/celest_auth/lib/src/client/passkeys/passkey_client_platform.vm.dart +++ /dev/null @@ -1,31 +0,0 @@ -import 'package:celest_auth/src/client/passkeys/passkey_client.android.dart'; -import 'package:celest_auth/src/client/passkeys/passkey_client.dart'; -import 'package:celest_auth/src/client/passkeys/passkey_client.darwin.dart'; -import 'package:celest_core/celest_core.dart'; -// ignore: implementation_imports -import 'package:celest_core/src/util/globals.dart'; -import 'package:meta/meta.dart'; -import 'package:os_detect/os_detect.dart' as os; - -abstract base class PasskeyClientPlatform extends PasskeyClient { - factory PasskeyClientPlatform({ - required PasskeyProtocol protocol, - }) { - if (kIsFlutter) { - if (os.isIOS || os.isMacOS) { - return PasskeyClientDarwin(protocol: protocol); - } - if (os.isAndroid) { - return PasskeyClientAndroid(protocol: protocol); - } - } - throw UnsupportedError( - 'The current platform is not supported: ${os.operatingSystem}', - ); - } - - @protected - PasskeyClientPlatform.base({ - required super.protocol, - }) : super.base(); -} diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_client.android.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_platform.android.dart similarity index 97% rename from packages/celest_auth/lib/src/client/passkeys/passkey_client.android.dart rename to packages/celest_auth/lib/src/client/passkeys/passkey_platform.android.dart index c13a168c..4a8da748 100644 --- a/packages/celest_auth/lib/src/client/passkeys/passkey_client.android.dart +++ b/packages/celest_auth/lib/src/client/passkeys/passkey_platform.android.dart @@ -1,15 +1,15 @@ import 'dart:async'; import 'dart:convert'; -import 'package:celest_auth/src/client/passkeys/passkey_client_platform.vm.dart'; +import 'package:celest_auth/src/client/passkeys/passkey_platform_impl.vm.dart'; import 'package:celest_auth/src/platform/android/jni_bindings.ffi.dart' hide Exception, Uri; import 'package:celest_auth/src/platform/android/jni_helpers.dart'; import 'package:celest_core/celest_core.dart'; import 'package:jni/jni.dart'; -final class PasskeyClientAndroid extends PasskeyClientPlatform { - PasskeyClientAndroid({ +final class PasskeyPlatformAndroid extends PasskeyPlatformImpl { + PasskeyPlatformAndroid({ required super.protocol, }) : super.base(); diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_client.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_platform.dart similarity index 67% rename from packages/celest_auth/lib/src/client/passkeys/passkey_client.dart rename to packages/celest_auth/lib/src/client/passkeys/passkey_platform.dart index a22081c2..63e0f5ae 100644 --- a/packages/celest_auth/lib/src/client/passkeys/passkey_client.dart +++ b/packages/celest_auth/lib/src/client/passkeys/passkey_platform.dart @@ -1,15 +1,15 @@ -import 'package:celest_auth/src/client/passkeys/passkey_client_platform.vm.dart' - if (dart.library.js_interop) 'package:celest_auth/src/client/passkeys/passkey_client_platform.web.dart'; +import 'package:celest_auth/src/client/passkeys/passkey_platform_impl.vm.dart' + if (dart.library.js_interop) 'package:celest_auth/src/client/passkeys/passkey_platform_impl.web.dart'; import 'package:celest_core/celest_core.dart'; import 'package:meta/meta.dart'; -abstract base class PasskeyClient { - factory PasskeyClient({ +abstract base class PasskeyPlatform { + factory PasskeyPlatform({ required PasskeyProtocol protocol, - }) = PasskeyClientPlatform; + }) = PasskeyPlatformImpl; @protected - PasskeyClient.base({ + PasskeyPlatform.base({ required this.protocol, }); diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_platform.darwin.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_platform.darwin.dart new file mode 100644 index 00000000..83da0523 --- /dev/null +++ b/packages/celest_auth/lib/src/client/passkeys/passkey_platform.darwin.dart @@ -0,0 +1,113 @@ +import 'dart:async'; +import 'dart:convert'; +import 'dart:ffi'; + +import 'package:celest_auth/src/client/passkeys/passkey_platform_impl.vm.dart'; +import 'package:celest_auth/src/platform/darwin/celest_auth.ffi.dart'; +import 'package:celest_core/celest_core.dart'; +// ignore: implementation_imports +import 'package:celest_core/src/util/globals.dart'; +import 'package:ffi/ffi.dart'; + +final class PasskeyPlatformDarwin extends PasskeyPlatformImpl { + PasskeyPlatformDarwin({ + required super.protocol, + }) : super.base(); + + late final _platform = CelestAuthDarwin(DynamicLibrary.process()); + late final _celestAuth = CelestAuth.new1(_platform); + + @override + Future get isSupported async { + return kIsFlutter && _celestAuth.isPasskeysSupported; + } + + @override + Future register( + PasskeyRegistrationRequest request, + ) async { + if (!await isSupported) { + throw const PasskeyException( + message: 'Passkeys are not supported in this environment', + ); + } + final options = await protocol.requestRegistration(request: request); + + final completer = Completer(); + final onSuccess = ObjCBlock_ffiVoid_Uint8.listener(_platform, (json) { + if (json == nullptr) { + return completer.completeError(StateError('Bad ptr')); + } + final response = PasskeyRegistrationResponse.fromJson( + jsonDecode(json.cast().toDartString()) as Map, + ); + completer.complete(response); + _celestAuth.freePointer_(json); + }); + final onError = ObjCBlock_ffiVoid_CelestAuthErrorCode_Uint8.listener( + _platform, + (code, error) { + if (error == nullptr) { + return completer.completeError(StateError('Bad pointer')); + } + completer.completeError( + PasskeyException(message: error.cast().toDartString()), + ); + _celestAuth.freePointer_(error); + }, + ); + _celestAuth.registerWithRequest_onSuccess_onError_( + jsonEncode(options.toJson()).toNSString(_platform), + onSuccess, + onError, + ); + + // Await here so the blocks are not GC'd before they are called. + final response = await completer.future; + return response; + } + + @override + Future authenticate( + PasskeyAuthenticationRequest request, + ) async { + if (!await isSupported) { + throw const PasskeyException( + message: 'Passkeys are not supported in this environment', + ); + } + final options = await protocol.requestAuthentication(request: request); + final completer = Completer(); + final onSuccess = ObjCBlock_ffiVoid_Uint8.listener(_platform, (json) { + if (json == nullptr) { + return completer.completeError(StateError('Bad ptr')); + } + final response = PasskeyAuthenticationResponse.fromJson( + jsonDecode(json.cast().toDartString()) as Map, + ); + completer.complete(response); + _celestAuth.freePointer_(json); + }); + final onError = ObjCBlock_ffiVoid_CelestAuthErrorCode_Uint8.listener( + _platform, + (code, error) { + if (error == nullptr) { + return completer.completeError(StateError('Bad pointer')); + } + completer.completeError( + PasskeyException(message: error.cast().toString()), + ); + _celestAuth.freePointer_(error); + }, + ); + _celestAuth.authenticateWithRequest_onSuccess_onError_( + jsonEncode(options.toJson()).toNSString(_platform), + onSuccess, + onError, + ); + + // Await here so the blocks are not GC'd before they are called. + final response = await completer.future; + return response; + } +} diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_client.web.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_platform.web.dart similarity index 79% rename from packages/celest_auth/lib/src/client/passkeys/passkey_client.web.dart rename to packages/celest_auth/lib/src/client/passkeys/passkey_platform.web.dart index 49a7972e..74b5fe44 100644 --- a/packages/celest_auth/lib/src/client/passkeys/passkey_client.web.dart +++ b/packages/celest_auth/lib/src/client/passkeys/passkey_platform.web.dart @@ -3,9 +3,9 @@ import 'dart:js_interop'; import 'dart:js_interop_unsafe'; import 'dart:typed_data'; -import 'package:celest_auth/src/client/passkeys/passkey_client_platform.web.dart'; -import 'package:celest_auth/src/client/passkeys/passkey_exception.dart'; -import 'package:celest_core/celest_core.dart'; +import 'package:celest_auth/src/client/passkeys/passkey_platform_impl.web.dart'; +import 'package:celest_core/celest_core.dart' + hide AuthenticatorSelectionCriteria; import 'package:web/web.dart' hide COSEAlgorithmIdentifier, @@ -14,8 +14,8 @@ import 'package:web/web.dart' UserVerificationRequirement, ResidentKeyRequirement; -final class PasskeyClientWeb extends PasskeyClientPlatform { - PasskeyClientWeb({ +final class PasskeyPlatformWeb extends PasskeyPlatformImpl { + PasskeyPlatformWeb({ required super.protocol, }) : super.base(); @@ -45,9 +45,33 @@ final class PasskeyClientWeb extends PasskeyClientPlatform { final credential = await window.navigator.credentials .create( CredentialCreationOptions( - publicKey: PublicKeyCredential.parseCreationOptionsFromJSON( - options.toJson().jsify() - as PublicKeyCredentialCreationOptionsJSON, + publicKey: PublicKeyCredentialCreationOptions( + challenge: options.challenge.buffer.toJS, + pubKeyCredParams: [ + for (final param in options.publicKeyCredentialParameters) + PublicKeyCredentialParameters( + alg: param.algorithm, + type: 'public-key', + ), + ].toJS, + rp: PublicKeyCredentialRpEntity( + id: options.rpId, + )..name = options.rpName, + user: PublicKeyCredentialUserEntity( + id: utf8.encode(options.userId).buffer.toJS, + displayName: options.userDisplayName, + )..name = options.userName, + attestation: 'none', + authenticatorSelection: AuthenticatorSelectionCriteria( + authenticatorAttachment: + options.authenticatorSelection.authenticatorAttachment!, + requireResidentKey: + options.authenticatorSelection.requireResidentKey, + residentKey: options.authenticatorSelection.residentKey!, + userVerification: + options.authenticatorSelection.userVerification, + ), + timeout: options.timeout.inMilliseconds, ), ), ) @@ -66,11 +90,7 @@ final class PasskeyClientWeb extends PasskeyClientPlatform { return PasskeyRegistrationResponse( id: credential.id, rawId: credential.rawId.toDart.asUint8List(), - clientData: PasskeyClientData.fromJson( - jsonDecode( - utf8.decode(response.clientDataJSON.toDart.asUint8List()), - ) as Map, - ), + clientDataJson: response.clientDataJSON.toDart.asUint8List(), attestationObject: response.attestationObject.toDart.asUint8List(), transports: response.transports, publicKeyAlgorithm: response.publicKeyAlgorithm, diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_platform_impl.vm.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_platform_impl.vm.dart new file mode 100644 index 00000000..6630b960 --- /dev/null +++ b/packages/celest_auth/lib/src/client/passkeys/passkey_platform_impl.vm.dart @@ -0,0 +1,27 @@ +import 'package:celest_auth/src/client/passkeys/passkey_platform.android.dart'; +import 'package:celest_auth/src/client/passkeys/passkey_platform.dart'; +import 'package:celest_auth/src/client/passkeys/passkey_platform.darwin.dart'; +import 'package:celest_core/celest_core.dart'; +import 'package:meta/meta.dart'; +import 'package:os_detect/os_detect.dart' as os; + +abstract base class PasskeyPlatformImpl extends PasskeyPlatform { + factory PasskeyPlatformImpl({ + required PasskeyProtocol protocol, + }) { + if (os.isIOS || os.isMacOS) { + return PasskeyPlatformDarwin(protocol: protocol); + } + if (os.isAndroid) { + return PasskeyPlatformAndroid(protocol: protocol); + } + throw UnsupportedError( + 'The current platform is not supported: ${os.operatingSystem}', + ); + } + + @protected + PasskeyPlatformImpl.base({ + required super.protocol, + }) : super.base(); +} diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_client_platform.web.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_platform_impl.web.dart similarity index 58% rename from packages/celest_auth/lib/src/client/passkeys/passkey_client_platform.web.dart rename to packages/celest_auth/lib/src/client/passkeys/passkey_platform_impl.web.dart index c585e71a..bb834280 100644 --- a/packages/celest_auth/lib/src/client/passkeys/passkey_client_platform.web.dart +++ b/packages/celest_auth/lib/src/client/passkeys/passkey_platform_impl.web.dart @@ -1,17 +1,17 @@ -import 'package:celest_auth/src/client/passkeys/passkey_client.dart'; -import 'package:celest_auth/src/client/passkeys/passkey_client.web.dart'; +import 'package:celest_auth/src/client/passkeys/passkey_platform.dart'; +import 'package:celest_auth/src/client/passkeys/passkey_platform.web.dart'; import 'package:celest_core/celest_core.dart'; // ignore: implementation_imports import 'package:celest_core/src/util/globals.dart'; import 'package:meta/meta.dart'; import 'package:os_detect/os_detect.dart' as os; -abstract base class PasskeyClientPlatform extends PasskeyClient { - factory PasskeyClientPlatform({ +abstract base class PasskeyPlatformImpl extends PasskeyPlatform { + factory PasskeyPlatformImpl({ required PasskeyProtocol protocol, }) { if (kIsWeb) { - return PasskeyClientWeb(protocol: protocol); + return PasskeyPlatformWeb(protocol: protocol); } throw UnsupportedError( 'The current platform is not supported: ${os.operatingSystem}', @@ -19,7 +19,7 @@ abstract base class PasskeyClientPlatform extends PasskeyClient { } @protected - PasskeyClientPlatform.base({ + PasskeyPlatformImpl.base({ required super.protocol, }) : super.base(); } diff --git a/packages/celest_auth/lib/src/platform/darwin/authentication_services.yaml b/packages/celest_auth/lib/src/platform/darwin/authentication_services.yaml index 225d4dfa..30090c89 100644 --- a/packages/celest_auth/lib/src/platform/darwin/authentication_services.yaml +++ b/packages/celest_auth/lib/src/platform/darwin/authentication_services.yaml @@ -342,25 +342,25 @@ files: name: NSWindowTabGroup c:objc(cs)Protocol: name: Protocol - "objcBlock: 8ol47u? 8ol47u": - name: ObjCBlock_NSEvent_NSEvent - "objcBlock: divyil": + "objcBlock: 9pebjx": name: ObjCBlock_ffiVoid - "objcBlock: divyil 4m4hs3? 5clcv7?": - name: ObjCBlock_ffiVoid_NSURL_NSError - "objcBlock: divyil 5clcv7?": - name: ObjCBlock_ffiVoid_NSError - "objcBlock: divyil 684z1l": + "objcBlock: 9pebjx 1ybxrl": name: ObjCBlock_ffiVoid_ffiLong - "objcBlock: divyil 7xwwls aopvxr bool bool*": + "objcBlock: 9pebjx 4h1qi5 bool*": + name: ObjCBlock_ffiVoid_NSWindow_bool + "objcBlock: 9pebjx 4zw819? em34eq?": + name: ObjCBlock_ffiVoid_NSURL_NSError + "objcBlock: 9pebjx a2pk9j h5yc50 bool bool*": name: ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool - "objcBlock: divyil 8ol47u": + "objcBlock: 9pebjx em34eq?": + name: ObjCBlock_ffiVoid_NSError + "objcBlock: 9pebjx ep7r3p": name: ObjCBlock_ffiVoid_NSEvent - "objcBlock: divyil 8ol47u? bool*": + "objcBlock: 9pebjx ep7r3p? bool*": name: ObjCBlock_ffiVoid_NSEvent_bool - "objcBlock: divyil dce4iq bool*": - name: ObjCBlock_ffiVoid_NSWindow_bool - "objcBlock: divyil gkgg5n* bool*": + "objcBlock: 9pebjx eruvzs* bool*": name: ObjCBlock_ffiVoid_ObjCObject_bool - "objcBlock: gkgg5n*? 5clcv7 7op1mv": + "objcBlock: ep7r3p? ep7r3p": + name: ObjCBlock_NSEvent_NSEvent + "objcBlock: eruvzs*? em34eq 1xwvun": name: ObjCBlock_ObjCObject_NSError_NSString diff --git a/packages/celest_auth/lib/src/platform/darwin/celest_auth.ffi.dart b/packages/celest_auth/lib/src/platform/darwin/celest_auth.ffi.dart new file mode 100644 index 00000000..3e20fff2 --- /dev/null +++ b/packages/celest_auth/lib/src/platform/darwin/celest_auth.ffi.dart @@ -0,0 +1,2120 @@ +// ignore_for_file: type=lint +// ignore_for_file: return_of_invalid_type +// ignore_for_file: unnecessary_non_null_assertion + +// AUTO GENERATED FILE, DO NOT EDIT. +// +// Generated by `package:ffigen`. +import 'dart:ffi' as ffi; +import 'package:ffi/ffi.dart' as pkg_ffi; +import 'package:celest_auth/src/platform/darwin/foundation.ffi.dart' as imp1; + +/// Bindings for CelestAuth on iOS/macOS. +/// +/// Regenerate bindings with `dart run ffigen --config=ffigen.darwin.yaml`. +/// +class CelestAuthDarwin { + /// Holds the symbol lookup function. + final ffi.Pointer Function(String symbolName) + _lookup; + + /// The symbols are looked up in [dynamicLibrary]. + CelestAuthDarwin(ffi.DynamicLibrary dynamicLibrary) + : _lookup = dynamicLibrary.lookup; + + /// The symbols are looked up with [lookup]. + CelestAuthDarwin.fromLookup( + ffi.Pointer Function(String symbolName) + lookup) + : _lookup = lookup; + + ffi.Pointer _registerName1(String name) { + final cstr = name.toNativeUtf8(); + final sel = _sel_registerName(cstr.cast()); + pkg_ffi.calloc.free(cstr); + return sel; + } + + ffi.Pointer _sel_registerName( + ffi.Pointer str, + ) { + return __sel_registerName( + str, + ); + } + + late final __sel_registerNamePtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('sel_registerName'); + late final __sel_registerName = __sel_registerNamePtr + .asFunction Function(ffi.Pointer)>(); + + ffi.Pointer _getClass1(String name) { + final cstr = name.toNativeUtf8(); + final clazz = _objc_getClass(cstr.cast()); + pkg_ffi.calloc.free(cstr); + if (clazz == ffi.nullptr) { + throw Exception('Failed to load Objective-C class: $name'); + } + return clazz; + } + + ffi.Pointer _objc_getClass( + ffi.Pointer str, + ) { + return __objc_getClass( + str, + ); + } + + late final __objc_getClassPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('objc_getClass'); + late final __objc_getClass = __objc_getClassPtr + .asFunction Function(ffi.Pointer)>(); + + ffi.Pointer _objc_retain( + ffi.Pointer value, + ) { + return __objc_retain( + value, + ); + } + + late final __objc_retainPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('objc_retain'); + late final __objc_retain = __objc_retainPtr + .asFunction Function(ffi.Pointer)>(); + + void _objc_release( + ffi.Pointer value, + ) { + return __objc_release( + value, + ); + } + + late final __objc_releasePtr = + _lookup)>>( + 'objc_release'); + late final __objc_release = + __objc_releasePtr.asFunction)>(); + + late final _objc_releaseFinalizer2 = + ffi.NativeFinalizer(__objc_releasePtr.cast()); + late final _class_CelestAuth1 = _getClass1("celest_auth.CelestAuth"); + bool _objc_msgSend_0( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer clazz, + ) { + return __objc_msgSend_0( + obj, + sel, + clazz, + ); + } + + late final __objc_msgSend_0Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_0 = __objc_msgSend_0Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_isKindOfClass_1 = _registerName1("isKindOfClass:"); + late final _class_NSObject1 = _getClass1("NSObject"); + late final _sel_load1 = _registerName1("load"); + void _objc_msgSend_1( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_1( + obj, + sel, + ); + } + + late final __objc_msgSend_1Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_1 = __objc_msgSend_1Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_initialize1 = _registerName1("initialize"); + late final _sel_init1 = _registerName1("init"); + instancetype _objc_msgSend_2( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_2( + obj, + sel, + ); + } + + late final __objc_msgSend_2Ptr = _lookup< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_2 = __objc_msgSend_2Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_new1 = _registerName1("new"); + late final _sel_allocWithZone_1 = _registerName1("allocWithZone:"); + instancetype _objc_msgSend_3( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer zone, + ) { + return __objc_msgSend_3( + obj, + sel, + zone, + ); + } + + late final __objc_msgSend_3Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_3 = __objc_msgSend_3Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_alloc1 = _registerName1("alloc"); + late final _sel_dealloc1 = _registerName1("dealloc"); + late final _sel_finalize1 = _registerName1("finalize"); + late final _sel_copy1 = _registerName1("copy"); + late final _sel_mutableCopy1 = _registerName1("mutableCopy"); + late final _sel_copyWithZone_1 = _registerName1("copyWithZone:"); + late final _sel_mutableCopyWithZone_1 = + _registerName1("mutableCopyWithZone:"); + late final _sel_instancesRespondToSelector_1 = + _registerName1("instancesRespondToSelector:"); + bool _objc_msgSend_4( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aSelector, + ) { + return __objc_msgSend_4( + obj, + sel, + aSelector, + ); + } + + late final __objc_msgSend_4Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_4 = __objc_msgSend_4Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _class_Protocol1 = _getClass1("Protocol"); + late final _sel_conformsToProtocol_1 = _registerName1("conformsToProtocol:"); + bool _objc_msgSend_5( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer protocol, + ) { + return __objc_msgSend_5( + obj, + sel, + protocol, + ); + } + + late final __objc_msgSend_5Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_5 = __objc_msgSend_5Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_methodForSelector_1 = _registerName1("methodForSelector:"); + ffi.Pointer> _objc_msgSend_6( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aSelector, + ) { + return __objc_msgSend_6( + obj, + sel, + aSelector, + ); + } + + late final __objc_msgSend_6Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer> Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_6 = __objc_msgSend_6Ptr.asFunction< + ffi.Pointer> Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_instanceMethodForSelector_1 = + _registerName1("instanceMethodForSelector:"); + late final _sel_doesNotRecognizeSelector_1 = + _registerName1("doesNotRecognizeSelector:"); + void _objc_msgSend_7( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aSelector, + ) { + return __objc_msgSend_7( + obj, + sel, + aSelector, + ); + } + + late final __objc_msgSend_7Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_7 = __objc_msgSend_7Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_forwardingTargetForSelector_1 = + _registerName1("forwardingTargetForSelector:"); + ffi.Pointer _objc_msgSend_8( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aSelector, + ) { + return __objc_msgSend_8( + obj, + sel, + aSelector, + ); + } + + late final __objc_msgSend_8Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_8 = __objc_msgSend_8Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _class_NSInvocation1 = _getClass1("NSInvocation"); + late final _class_NSMethodSignature1 = _getClass1("NSMethodSignature"); + late final _sel_signatureWithObjCTypes_1 = + _registerName1("signatureWithObjCTypes:"); + ffi.Pointer _objc_msgSend_9( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer types, + ) { + return __objc_msgSend_9( + obj, + sel, + types, + ); + } + + late final __objc_msgSend_9Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_9 = __objc_msgSend_9Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_numberOfArguments1 = _registerName1("numberOfArguments"); + int _objc_msgSend_10( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_10( + obj, + sel, + ); + } + + late final __objc_msgSend_10Ptr = _lookup< + ffi.NativeFunction< + ffi.UnsignedLong Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_10 = __objc_msgSend_10Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_getArgumentTypeAtIndex_1 = + _registerName1("getArgumentTypeAtIndex:"); + ffi.Pointer _objc_msgSend_11( + ffi.Pointer obj, + ffi.Pointer sel, + int idx, + ) { + return __objc_msgSend_11( + obj, + sel, + idx, + ); + } + + late final __objc_msgSend_11Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_11 = __objc_msgSend_11Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_frameLength1 = _registerName1("frameLength"); + late final _sel_isOneway1 = _registerName1("isOneway"); + bool _objc_msgSend_12( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_12( + obj, + sel, + ); + } + + late final __objc_msgSend_12Ptr = _lookup< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_12 = __objc_msgSend_12Ptr.asFunction< + bool Function(ffi.Pointer, ffi.Pointer)>(); + + late final _sel_methodReturnType1 = _registerName1("methodReturnType"); + ffi.Pointer _objc_msgSend_13( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_13( + obj, + sel, + ); + } + + late final __objc_msgSend_13Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_13 = __objc_msgSend_13Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_methodReturnLength1 = _registerName1("methodReturnLength"); + late final _sel_invocationWithMethodSignature_1 = + _registerName1("invocationWithMethodSignature:"); + ffi.Pointer _objc_msgSend_14( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer sig, + ) { + return __objc_msgSend_14( + obj, + sel, + sig, + ); + } + + late final __objc_msgSend_14Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_14 = __objc_msgSend_14Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_methodSignature1 = _registerName1("methodSignature"); + ffi.Pointer _objc_msgSend_15( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_15( + obj, + sel, + ); + } + + late final __objc_msgSend_15Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_15 = __objc_msgSend_15Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_retainArguments1 = _registerName1("retainArguments"); + late final _sel_argumentsRetained1 = _registerName1("argumentsRetained"); + late final _sel_target1 = _registerName1("target"); + ffi.Pointer _objc_msgSend_16( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_16( + obj, + sel, + ); + } + + late final __objc_msgSend_16Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_16 = __objc_msgSend_16Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setTarget_1 = _registerName1("setTarget:"); + void _objc_msgSend_17( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_17( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_17Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_17 = __objc_msgSend_17Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_selector1 = _registerName1("selector"); + ffi.Pointer _objc_msgSend_18( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_18( + obj, + sel, + ); + } + + late final __objc_msgSend_18Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_18 = __objc_msgSend_18Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_setSelector_1 = _registerName1("setSelector:"); + void _objc_msgSend_19( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer value, + ) { + return __objc_msgSend_19( + obj, + sel, + value, + ); + } + + late final __objc_msgSend_19Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_19 = __objc_msgSend_19Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_getReturnValue_1 = _registerName1("getReturnValue:"); + void _objc_msgSend_20( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer retLoc, + ) { + return __objc_msgSend_20( + obj, + sel, + retLoc, + ); + } + + late final __objc_msgSend_20Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_20 = __objc_msgSend_20Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_setReturnValue_1 = _registerName1("setReturnValue:"); + late final _sel_getArgument_atIndex_1 = + _registerName1("getArgument:atIndex:"); + void _objc_msgSend_21( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer argumentLocation, + int idx, + ) { + return __objc_msgSend_21( + obj, + sel, + argumentLocation, + idx, + ); + } + + late final __objc_msgSend_21Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Long)>>('objc_msgSend'); + late final __objc_msgSend_21 = __objc_msgSend_21Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, int)>(); + + late final _sel_setArgument_atIndex_1 = + _registerName1("setArgument:atIndex:"); + late final _sel_invoke1 = _registerName1("invoke"); + late final _sel_invokeWithTarget_1 = _registerName1("invokeWithTarget:"); + void _objc_msgSend_22( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer target, + ) { + return __objc_msgSend_22( + obj, + sel, + target, + ); + } + + late final __objc_msgSend_22Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_22 = __objc_msgSend_22Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_invokeUsingIMP_1 = _registerName1("invokeUsingIMP:"); + void _objc_msgSend_23( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer> imp, + ) { + return __objc_msgSend_23( + obj, + sel, + imp, + ); + } + + late final __objc_msgSend_23Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer>)>>( + 'objc_msgSend'); + late final __objc_msgSend_23 = __objc_msgSend_23Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer>)>(); + + late final _sel_forwardInvocation_1 = _registerName1("forwardInvocation:"); + void _objc_msgSend_24( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer anInvocation, + ) { + return __objc_msgSend_24( + obj, + sel, + anInvocation, + ); + } + + late final __objc_msgSend_24Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_24 = __objc_msgSend_24Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_methodSignatureForSelector_1 = + _registerName1("methodSignatureForSelector:"); + ffi.Pointer _objc_msgSend_25( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer aSelector, + ) { + return __objc_msgSend_25( + obj, + sel, + aSelector, + ); + } + + late final __objc_msgSend_25Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_25 = __objc_msgSend_25Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_instanceMethodSignatureForSelector_1 = + _registerName1("instanceMethodSignatureForSelector:"); + late final _sel_allowsWeakReference1 = _registerName1("allowsWeakReference"); + late final _sel_retainWeakReference1 = _registerName1("retainWeakReference"); + late final _sel_isSubclassOfClass_1 = _registerName1("isSubclassOfClass:"); + late final _sel_resolveClassMethod_1 = _registerName1("resolveClassMethod:"); + late final _sel_resolveInstanceMethod_1 = + _registerName1("resolveInstanceMethod:"); + late final _sel_hash1 = _registerName1("hash"); + late final _sel_superclass1 = _registerName1("superclass"); + late final _sel_class1 = _registerName1("class"); + late final _class_NSString1 = _getClass1("NSString"); + late final _sel_length1 = _registerName1("length"); + late final _sel_characterAtIndex_1 = _registerName1("characterAtIndex:"); + int _objc_msgSend_26( + ffi.Pointer obj, + ffi.Pointer sel, + int index, + ) { + return __objc_msgSend_26( + obj, + sel, + index, + ); + } + + late final __objc_msgSend_26Ptr = _lookup< + ffi.NativeFunction< + ffi.UnsignedShort Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_26 = __objc_msgSend_26Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, int)>(); + + late final _class_NSCoder1 = _getClass1("NSCoder"); + late final _sel_encodeValueOfObjCType_at_1 = + _registerName1("encodeValueOfObjCType:at:"); + void _objc_msgSend_27( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer type, + ffi.Pointer addr, + ) { + return __objc_msgSend_27( + obj, + sel, + type, + addr, + ); + } + + late final __objc_msgSend_27Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_27 = __objc_msgSend_27Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + + late final _class_NSData1 = _getClass1("NSData"); + late final _sel_bytes1 = _registerName1("bytes"); + ffi.Pointer _objc_msgSend_28( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_28( + obj, + sel, + ); + } + + late final __objc_msgSend_28Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_28 = __objc_msgSend_28Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_encodeDataObject_1 = _registerName1("encodeDataObject:"); + void _objc_msgSend_29( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer data, + ) { + return __objc_msgSend_29( + obj, + sel, + data, + ); + } + + late final __objc_msgSend_29Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_29 = __objc_msgSend_29Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_decodeDataObject1 = _registerName1("decodeDataObject"); + ffi.Pointer _objc_msgSend_30( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_30( + obj, + sel, + ); + } + + late final __objc_msgSend_30Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_30 = __objc_msgSend_30Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_decodeValueOfObjCType_at_size_1 = + _registerName1("decodeValueOfObjCType:at:size:"); + void _objc_msgSend_31( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer type, + ffi.Pointer data, + int size, + ) { + return __objc_msgSend_31( + obj, + sel, + type, + data, + size, + ); + } + + late final __objc_msgSend_31Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong)>>('objc_msgSend'); + late final __objc_msgSend_31 = __objc_msgSend_31Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_versionForClassName_1 = + _registerName1("versionForClassName:"); + int _objc_msgSend_32( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer className, + ) { + return __objc_msgSend_32( + obj, + sel, + className, + ); + } + + late final __objc_msgSend_32Ptr = _lookup< + ffi.NativeFunction< + ffi.Long Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_32 = __objc_msgSend_32Ptr.asFunction< + int Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_initWithCoder_1 = _registerName1("initWithCoder:"); + instancetype _objc_msgSend_33( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer coder, + ) { + return __objc_msgSend_33( + obj, + sel, + coder, + ); + } + + late final __objc_msgSend_33Ptr = _lookup< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_33 = __objc_msgSend_33Ptr.asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); + + late final _sel_stringWithCharacters_length_1 = + _registerName1("stringWithCharacters:length:"); + ffi.Pointer _objc_msgSend_34( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer characters, + int length, + ) { + return __objc_msgSend_34( + obj, + sel, + characters, + length, + ); + } + + late final __objc_msgSend_34Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedInt)>>('objc_msgSend'); + late final __objc_msgSend_34 = __objc_msgSend_34Ptr.asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_dataUsingEncoding_1 = _registerName1("dataUsingEncoding:"); + ffi.Pointer _objc_msgSend_35( + ffi.Pointer obj, + ffi.Pointer sel, + int encoding, + ) { + return __objc_msgSend_35( + obj, + sel, + encoding, + ); + } + + late final __objc_msgSend_35Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedInt)>>('objc_msgSend'); + late final __objc_msgSend_35 = __objc_msgSend_35Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer, int)>(); + + late final _sel_description1 = _registerName1("description"); + ffi.Pointer _objc_msgSend_36( + ffi.Pointer obj, + ffi.Pointer sel, + ) { + return __objc_msgSend_36( + obj, + sel, + ); + } + + late final __objc_msgSend_36Ptr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_36 = __objc_msgSend_36Ptr.asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); + + late final _sel_debugDescription1 = _registerName1("debugDescription"); + late final _sel_isPasskeysSupported1 = _registerName1("isPasskeysSupported"); + ffi.Pointer<_ObjCBlockDesc> _newBlockDesc1() { + final d = + pkg_ffi.calloc.allocate<_ObjCBlockDesc>(ffi.sizeOf<_ObjCBlockDesc>()); + d.ref.reserved = 0; + d.ref.size = ffi.sizeOf<_ObjCBlock>(); + d.ref.copy_helper = ffi.nullptr; + d.ref.dispose_helper = ffi.nullptr; + d.ref.signature = ffi.nullptr; + return d; + } + + late final _objc_block_desc1 = _newBlockDesc1(); + late final _objc_concrete_global_block1 = + _lookup('_NSConcreteGlobalBlock'); + ffi.Pointer<_ObjCBlock> _newBlock1( + ffi.Pointer invoke, ffi.Pointer target) { + final b = pkg_ffi.calloc.allocate<_ObjCBlock>(ffi.sizeOf<_ObjCBlock>()); + b.ref.isa = _objc_concrete_global_block1; + b.ref.flags = 0; + b.ref.reserved = 0; + b.ref.invoke = invoke; + b.ref.target = target; + b.ref.descriptor = _objc_block_desc1; + final copy = _Block_copy(b.cast()).cast<_ObjCBlock>(); + pkg_ffi.calloc.free(b); + return copy; + } + + ffi.Pointer _Block_copy( + ffi.Pointer value, + ) { + return __Block_copy( + value, + ); + } + + late final __Block_copyPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer)>>('_Block_copy'); + late final __Block_copy = __Block_copyPtr + .asFunction Function(ffi.Pointer)>(); + + void _Block_release( + ffi.Pointer value, + ) { + return __Block_release( + value, + ); + } + + late final __Block_releasePtr = + _lookup)>>( + '_Block_release'); + late final __Block_release = + __Block_releasePtr.asFunction)>(); + + late final _objc_releaseFinalizer11 = + ffi.NativeFinalizer(__Block_releasePtr.cast()); + late final _sel_registerWithRequest_onSuccess_onError_1 = + _registerName1("registerWithRequest:onSuccess:onError:"); + void _objc_msgSend_37( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer request, + ffi.Pointer<_ObjCBlock> onSuccess, + ffi.Pointer<_ObjCBlock> onError, + ) { + return __objc_msgSend_37( + obj, + sel, + request, + onSuccess, + onError, + ); + } + + late final __objc_msgSend_37Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer<_ObjCBlock>, + ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); + late final __objc_msgSend_37 = __objc_msgSend_37Ptr.asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer<_ObjCBlock>, + ffi.Pointer<_ObjCBlock>)>(); + + late final _sel_authenticateWithRequest_onSuccess_onError_1 = + _registerName1("authenticateWithRequest:onSuccess:onError:"); + late final _sel_freePointer_1 = _registerName1("freePointer:"); + void _objc_msgSend_38( + ffi.Pointer obj, + ffi.Pointer sel, + ffi.Pointer ptr, + ) { + return __objc_msgSend_38( + obj, + sel, + ptr, + ); + } + + late final __objc_msgSend_38Ptr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>('objc_msgSend'); + late final __objc_msgSend_38 = __objc_msgSend_38Ptr.asFunction< + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer)>(); +} + +class _ObjCWrapper implements ffi.Finalizable { + final ffi.Pointer _id; + final CelestAuthDarwin _lib; + bool _pendingRelease; + + _ObjCWrapper._(this._id, this._lib, + {bool retain = false, bool release = false}) + : _pendingRelease = release { + if (retain) { + _lib._objc_retain(_id.cast()); + } + if (release) { + _lib._objc_releaseFinalizer2.attach(this, _id.cast(), detach: this); + } + } + + /// Releases the reference to the underlying ObjC object held by this wrapper. + /// Throws a StateError if this wrapper doesn't currently hold a reference. + void release() { + if (_pendingRelease) { + _pendingRelease = false; + _lib._objc_release(_id.cast()); + _lib._objc_releaseFinalizer2.detach(this); + } else { + throw StateError( + 'Released an ObjC object that was unowned or already released.'); + } + } + + @override + bool operator ==(Object other) { + return other is _ObjCWrapper && _id == other._id; + } + + @override + int get hashCode => _id.hashCode; + + /// Return a pointer to this object. + ffi.Pointer get pointer => _id; + + ffi.Pointer _retainAndReturnId() { + _lib._objc_retain(_id.cast()); + return _id; + } +} + +class CelestAuth extends NSObject { + CelestAuth._(ffi.Pointer id, CelestAuthDarwin lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [CelestAuth] that points to the same underlying object as [other]. + static CelestAuth castFrom(T other) { + return CelestAuth._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [CelestAuth] that wraps the given raw object pointer. + static CelestAuth castFromPointer( + CelestAuthDarwin lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return CelestAuth._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [CelestAuth]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_CelestAuth1); + } + + @override + CelestAuth init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return CelestAuth._(_ret, _lib, retain: true, release: true); + } + + bool get isPasskeysSupported { + return _lib._objc_msgSend_12(_id, _lib._sel_isPasskeysSupported1); + } + + void registerWithRequest_onSuccess_onError_( + NSString request, + ObjCBlock_ffiVoid_Uint8 onSuccess, + ObjCBlock_ffiVoid_CelestAuthErrorCode_Uint8 onError) { + _lib._objc_msgSend_37( + _id, + _lib._sel_registerWithRequest_onSuccess_onError_1, + request._id, + onSuccess._id, + onError._id); + } + + void authenticateWithRequest_onSuccess_onError_( + NSString request, + ObjCBlock_ffiVoid_Uint8 onSuccess, + ObjCBlock_ffiVoid_CelestAuthErrorCode_Uint8 onError) { + _lib._objc_msgSend_37( + _id, + _lib._sel_authenticateWithRequest_onSuccess_onError_1, + request._id, + onSuccess._id, + onError._id); + } + + void freePointer_(ffi.Pointer ptr) { + _lib._objc_msgSend_38(_id, _lib._sel_freePointer_1, ptr); + } + + static CelestAuth new1(CelestAuthDarwin _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_CelestAuth1, _lib._sel_new1); + return CelestAuth._(_ret, _lib, retain: false, release: true); + } + + static CelestAuth allocWithZone_( + CelestAuthDarwin _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_CelestAuth1, _lib._sel_allocWithZone_1, zone); + return CelestAuth._(_ret, _lib, retain: false, release: true); + } + + static CelestAuth alloc(CelestAuthDarwin _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_CelestAuth1, _lib._sel_alloc1); + return CelestAuth._(_ret, _lib, retain: false, release: true); + } +} + +final class ObjCSel extends ffi.Opaque {} + +final class ObjCObject extends ffi.Opaque {} + +class NSObject extends _ObjCWrapper { + NSObject._(ffi.Pointer id, CelestAuthDarwin lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSObject] that points to the same underlying object as [other]. + static NSObject castFrom(T other) { + return NSObject._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSObject] that wraps the given raw object pointer. + static NSObject castFromPointer( + CelestAuthDarwin lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSObject._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSObject]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSObject1); + } + + static void load(CelestAuthDarwin _lib) { + _lib._objc_msgSend_1(_lib._class_NSObject1, _lib._sel_load1); + } + + static void initialize(CelestAuthDarwin _lib) { + _lib._objc_msgSend_1(_lib._class_NSObject1, _lib._sel_initialize1); + } + + NSObject init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSObject new1(CelestAuthDarwin _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_new1); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + static NSObject allocWithZone_( + CelestAuthDarwin _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSObject1, _lib._sel_allocWithZone_1, zone); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + static NSObject alloc(CelestAuthDarwin _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_alloc1); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + void dealloc() { + _lib._objc_msgSend_1(_id, _lib._sel_dealloc1); + } + + void finalize() { + _lib._objc_msgSend_1(_id, _lib._sel_finalize1); + } + + NSObject copy() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_copy1); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + NSObject mutableCopy() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_mutableCopy1); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + static NSObject copyWithZone_( + CelestAuthDarwin _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSObject1, _lib._sel_copyWithZone_1, zone); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + static NSObject mutableCopyWithZone_( + CelestAuthDarwin _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSObject1, _lib._sel_mutableCopyWithZone_1, zone); + return NSObject._(_ret, _lib, retain: false, release: true); + } + + static bool instancesRespondToSelector_( + CelestAuthDarwin _lib, ffi.Pointer aSelector) { + return _lib._objc_msgSend_4(_lib._class_NSObject1, + _lib._sel_instancesRespondToSelector_1, aSelector); + } + + static bool conformsToProtocol_(CelestAuthDarwin _lib, Protocol protocol) { + return _lib._objc_msgSend_5( + _lib._class_NSObject1, _lib._sel_conformsToProtocol_1, protocol._id); + } + + ffi.Pointer> methodForSelector_( + ffi.Pointer aSelector) { + return _lib._objc_msgSend_6(_id, _lib._sel_methodForSelector_1, aSelector); + } + + static ffi.Pointer> + instanceMethodForSelector_( + CelestAuthDarwin _lib, ffi.Pointer aSelector) { + return _lib._objc_msgSend_6(_lib._class_NSObject1, + _lib._sel_instanceMethodForSelector_1, aSelector); + } + + void doesNotRecognizeSelector_(ffi.Pointer aSelector) { + _lib._objc_msgSend_7(_id, _lib._sel_doesNotRecognizeSelector_1, aSelector); + } + + NSObject forwardingTargetForSelector_(ffi.Pointer aSelector) { + final _ret = _lib._objc_msgSend_8( + _id, _lib._sel_forwardingTargetForSelector_1, aSelector); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + void forwardInvocation_(NSInvocation anInvocation) { + _lib._objc_msgSend_24(_id, _lib._sel_forwardInvocation_1, anInvocation._id); + } + + NSMethodSignature methodSignatureForSelector_( + ffi.Pointer aSelector) { + final _ret = _lib._objc_msgSend_25( + _id, _lib._sel_methodSignatureForSelector_1, aSelector); + return NSMethodSignature._(_ret, _lib, retain: true, release: true); + } + + static NSMethodSignature instanceMethodSignatureForSelector_( + CelestAuthDarwin _lib, ffi.Pointer aSelector) { + final _ret = _lib._objc_msgSend_25(_lib._class_NSObject1, + _lib._sel_instanceMethodSignatureForSelector_1, aSelector); + return NSMethodSignature._(_ret, _lib, retain: true, release: true); + } + + bool allowsWeakReference() { + return _lib._objc_msgSend_12(_id, _lib._sel_allowsWeakReference1); + } + + bool retainWeakReference() { + return _lib._objc_msgSend_12(_id, _lib._sel_retainWeakReference1); + } + + static bool isSubclassOfClass_(CelestAuthDarwin _lib, NSObject aClass) { + return _lib._objc_msgSend_0( + _lib._class_NSObject1, _lib._sel_isSubclassOfClass_1, aClass._id); + } + + static bool resolveClassMethod_( + CelestAuthDarwin _lib, ffi.Pointer sel) { + return _lib._objc_msgSend_4( + _lib._class_NSObject1, _lib._sel_resolveClassMethod_1, sel); + } + + static bool resolveInstanceMethod_( + CelestAuthDarwin _lib, ffi.Pointer sel) { + return _lib._objc_msgSend_4( + _lib._class_NSObject1, _lib._sel_resolveInstanceMethod_1, sel); + } + + static int hash(CelestAuthDarwin _lib) { + return _lib._objc_msgSend_10(_lib._class_NSObject1, _lib._sel_hash1); + } + + static NSObject superclass(CelestAuthDarwin _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_superclass1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSObject class1(CelestAuthDarwin _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_class1); + return NSObject._(_ret, _lib, retain: true, release: true); + } + + static NSString description(CelestAuthDarwin _lib) { + final _ret = + _lib._objc_msgSend_36(_lib._class_NSObject1, _lib._sel_description1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + static NSString debugDescription(CelestAuthDarwin _lib) { + final _ret = _lib._objc_msgSend_36( + _lib._class_NSObject1, _lib._sel_debugDescription1); + return NSString._(_ret, _lib, retain: true, release: true); + } +} + +typedef instancetype = ffi.Pointer; +typedef Dartinstancetype = NSObject; + +class Protocol extends _ObjCWrapper { + Protocol._(ffi.Pointer id, CelestAuthDarwin lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [Protocol] that points to the same underlying object as [other]. + static Protocol castFrom(T other) { + return Protocol._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [Protocol] that wraps the given raw object pointer. + static Protocol castFromPointer( + CelestAuthDarwin lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return Protocol._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [Protocol]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_Protocol1); + } +} + +class NSInvocation extends NSObject { + NSInvocation._(ffi.Pointer id, CelestAuthDarwin lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSInvocation] that points to the same underlying object as [other]. + static NSInvocation castFrom(T other) { + return NSInvocation._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSInvocation] that wraps the given raw object pointer. + static NSInvocation castFromPointer( + CelestAuthDarwin lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSInvocation._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSInvocation]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSInvocation1); + } + + static NSInvocation invocationWithMethodSignature_( + CelestAuthDarwin _lib, NSMethodSignature sig) { + final _ret = _lib._objc_msgSend_14(_lib._class_NSInvocation1, + _lib._sel_invocationWithMethodSignature_1, sig._id); + return NSInvocation._(_ret, _lib, retain: true, release: true); + } + + NSMethodSignature get methodSignature { + final _ret = _lib._objc_msgSend_15(_id, _lib._sel_methodSignature1); + return NSMethodSignature._(_ret, _lib, retain: true, release: true); + } + + void retainArguments() { + _lib._objc_msgSend_1(_id, _lib._sel_retainArguments1); + } + + bool get argumentsRetained { + return _lib._objc_msgSend_12(_id, _lib._sel_argumentsRetained1); + } + + NSObject? get target { + final _ret = _lib._objc_msgSend_16(_id, _lib._sel_target1); + return _ret.address == 0 + ? null + : NSObject._(_ret, _lib, retain: true, release: true); + } + + set target(NSObject? value) { + return _lib._objc_msgSend_17( + _id, _lib._sel_setTarget_1, value?._id ?? ffi.nullptr); + } + + ffi.Pointer get selector { + return _lib._objc_msgSend_18(_id, _lib._sel_selector1); + } + + set selector(ffi.Pointer value) { + return _lib._objc_msgSend_19(_id, _lib._sel_setSelector_1, value); + } + + void getReturnValue_(ffi.Pointer retLoc) { + _lib._objc_msgSend_20(_id, _lib._sel_getReturnValue_1, retLoc); + } + + void setReturnValue_(ffi.Pointer retLoc) { + _lib._objc_msgSend_20(_id, _lib._sel_setReturnValue_1, retLoc); + } + + void getArgument_atIndex_(ffi.Pointer argumentLocation, int idx) { + _lib._objc_msgSend_21( + _id, _lib._sel_getArgument_atIndex_1, argumentLocation, idx); + } + + void setArgument_atIndex_(ffi.Pointer argumentLocation, int idx) { + _lib._objc_msgSend_21( + _id, _lib._sel_setArgument_atIndex_1, argumentLocation, idx); + } + + void invoke() { + _lib._objc_msgSend_1(_id, _lib._sel_invoke1); + } + + void invokeWithTarget_(NSObject target) { + _lib._objc_msgSend_22(_id, _lib._sel_invokeWithTarget_1, target._id); + } + + void invokeUsingIMP_( + ffi.Pointer> imp) { + _lib._objc_msgSend_23(_id, _lib._sel_invokeUsingIMP_1, imp); + } + + @override + NSInvocation init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSInvocation._(_ret, _lib, retain: true, release: true); + } + + static NSInvocation new1(CelestAuthDarwin _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSInvocation1, _lib._sel_new1); + return NSInvocation._(_ret, _lib, retain: false, release: true); + } + + static NSInvocation allocWithZone_( + CelestAuthDarwin _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSInvocation1, _lib._sel_allocWithZone_1, zone); + return NSInvocation._(_ret, _lib, retain: false, release: true); + } + + static NSInvocation alloc(CelestAuthDarwin _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSInvocation1, _lib._sel_alloc1); + return NSInvocation._(_ret, _lib, retain: false, release: true); + } +} + +class NSMethodSignature extends NSObject { + NSMethodSignature._(ffi.Pointer id, CelestAuthDarwin lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSMethodSignature] that points to the same underlying object as [other]. + static NSMethodSignature castFrom(T other) { + return NSMethodSignature._(other._id, other._lib, + retain: true, release: true); + } + + /// Returns a [NSMethodSignature] that wraps the given raw object pointer. + static NSMethodSignature castFromPointer( + CelestAuthDarwin lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSMethodSignature._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSMethodSignature]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, + obj._lib._class_NSMethodSignature1); + } + + static NSMethodSignature? signatureWithObjCTypes_( + CelestAuthDarwin _lib, ffi.Pointer types) { + final _ret = _lib._objc_msgSend_9(_lib._class_NSMethodSignature1, + _lib._sel_signatureWithObjCTypes_1, types); + return _ret.address == 0 + ? null + : NSMethodSignature._(_ret, _lib, retain: true, release: true); + } + + int get numberOfArguments { + return _lib._objc_msgSend_10(_id, _lib._sel_numberOfArguments1); + } + + ffi.Pointer getArgumentTypeAtIndex_(int idx) { + return _lib._objc_msgSend_11(_id, _lib._sel_getArgumentTypeAtIndex_1, idx); + } + + int get frameLength { + return _lib._objc_msgSend_10(_id, _lib._sel_frameLength1); + } + + bool isOneway() { + return _lib._objc_msgSend_12(_id, _lib._sel_isOneway1); + } + + ffi.Pointer get methodReturnType { + return _lib._objc_msgSend_13(_id, _lib._sel_methodReturnType1); + } + + int get methodReturnLength { + return _lib._objc_msgSend_10(_id, _lib._sel_methodReturnLength1); + } + + @override + NSMethodSignature init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSMethodSignature._(_ret, _lib, retain: true, release: true); + } + + static NSMethodSignature new1(CelestAuthDarwin _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSMethodSignature1, _lib._sel_new1); + return NSMethodSignature._(_ret, _lib, retain: false, release: true); + } + + static NSMethodSignature allocWithZone_( + CelestAuthDarwin _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSMethodSignature1, _lib._sel_allocWithZone_1, zone); + return NSMethodSignature._(_ret, _lib, retain: false, release: true); + } + + static NSMethodSignature alloc(CelestAuthDarwin _lib) { + final _ret = + _lib._objc_msgSend_2(_lib._class_NSMethodSignature1, _lib._sel_alloc1); + return NSMethodSignature._(_ret, _lib, retain: false, release: true); + } +} + +class NSString extends NSObject { + NSString._(ffi.Pointer id, CelestAuthDarwin lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSString] that points to the same underlying object as [other]. + static NSString castFrom(T other) { + return NSString._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSString] that wraps the given raw object pointer. + static NSString castFromPointer( + CelestAuthDarwin lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSString._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSString]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSString1); + } + + factory NSString(CelestAuthDarwin _lib, String str) { + final cstr = str.toNativeUtf16(); + final nsstr = stringWithCharacters_length_(_lib, cstr.cast(), str.length); + pkg_ffi.calloc.free(cstr); + return nsstr; + } + + @override + String toString() { + final data = + dataUsingEncoding_(0x94000100 /* NSUTF16LittleEndianStringEncoding */); + return data!.bytes.cast().toDartString(length: length); + } + + int get length { + return _lib._objc_msgSend_10(_id, _lib._sel_length1); + } + + int characterAtIndex_(int index) { + return _lib._objc_msgSend_26(_id, _lib._sel_characterAtIndex_1, index); + } + + @override + NSString init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSString? initWithCoder_(NSCoder coder) { + final _ret = + _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); + return _ret.address == 0 + ? null + : NSString._(_ret, _lib, retain: true, release: true); + } + + static NSString stringWithCharacters_length_( + CelestAuthDarwin _lib, ffi.Pointer characters, int length) { + final _ret = _lib._objc_msgSend_34(_lib._class_NSString1, + _lib._sel_stringWithCharacters_length_1, characters, length); + return NSString._(_ret, _lib, retain: true, release: true); + } + + NSData dataUsingEncoding_(int encoding) { + final _ret = + _lib._objc_msgSend_35(_id, _lib._sel_dataUsingEncoding_1, encoding); + return NSData._(_ret, _lib, retain: true, release: true); + } + + static NSString new1(CelestAuthDarwin _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSString1, _lib._sel_new1); + return NSString._(_ret, _lib, retain: false, release: true); + } + + static NSString allocWithZone_( + CelestAuthDarwin _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSString1, _lib._sel_allocWithZone_1, zone); + return NSString._(_ret, _lib, retain: false, release: true); + } + + static NSString alloc(CelestAuthDarwin _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSString1, _lib._sel_alloc1); + return NSString._(_ret, _lib, retain: false, release: true); + } +} + +extension StringToNSString on String { + NSString toNSString(CelestAuthDarwin lib) => NSString(lib, this); +} + +class NSCoder extends NSObject { + NSCoder._(ffi.Pointer id, CelestAuthDarwin lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSCoder] that points to the same underlying object as [other]. + static NSCoder castFrom(T other) { + return NSCoder._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSCoder] that wraps the given raw object pointer. + static NSCoder castFromPointer( + CelestAuthDarwin lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSCoder._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSCoder]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSCoder1); + } + + void encodeValueOfObjCType_at_( + ffi.Pointer type, ffi.Pointer addr) { + _lib._objc_msgSend_27( + _id, _lib._sel_encodeValueOfObjCType_at_1, type, addr); + } + + void encodeDataObject_(NSData data) { + _lib._objc_msgSend_29(_id, _lib._sel_encodeDataObject_1, data._id); + } + + NSData? decodeDataObject() { + final _ret = _lib._objc_msgSend_30(_id, _lib._sel_decodeDataObject1); + return _ret.address == 0 + ? null + : NSData._(_ret, _lib, retain: true, release: true); + } + + void decodeValueOfObjCType_at_size_( + ffi.Pointer type, ffi.Pointer data, int size) { + _lib._objc_msgSend_31( + _id, _lib._sel_decodeValueOfObjCType_at_size_1, type, data, size); + } + + int versionForClassName_(NSString className) { + return _lib._objc_msgSend_32( + _id, _lib._sel_versionForClassName_1, className._id); + } + + @override + NSCoder init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSCoder._(_ret, _lib, retain: true, release: true); + } + + static NSCoder new1(CelestAuthDarwin _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSCoder1, _lib._sel_new1); + return NSCoder._(_ret, _lib, retain: false, release: true); + } + + static NSCoder allocWithZone_( + CelestAuthDarwin _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSCoder1, _lib._sel_allocWithZone_1, zone); + return NSCoder._(_ret, _lib, retain: false, release: true); + } + + static NSCoder alloc(CelestAuthDarwin _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSCoder1, _lib._sel_alloc1); + return NSCoder._(_ret, _lib, retain: false, release: true); + } +} + +class NSData extends NSObject { + NSData._(ffi.Pointer id, CelestAuthDarwin lib, + {bool retain = false, bool release = false}) + : super._(id, lib, retain: retain, release: release); + + /// Returns a [NSData] that points to the same underlying object as [other]. + static NSData castFrom(T other) { + return NSData._(other._id, other._lib, retain: true, release: true); + } + + /// Returns a [NSData] that wraps the given raw object pointer. + static NSData castFromPointer( + CelestAuthDarwin lib, ffi.Pointer other, + {bool retain = false, bool release = false}) { + return NSData._(other, lib, retain: retain, release: release); + } + + /// Returns whether [obj] is an instance of [NSData]. + static bool isInstance(_ObjCWrapper obj) { + return obj._lib._objc_msgSend_0( + obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSData1); + } + + int get length { + return _lib._objc_msgSend_10(_id, _lib._sel_length1); + } + + ffi.Pointer get bytes { + return _lib._objc_msgSend_28(_id, _lib._sel_bytes1); + } + + @override + NSData init() { + final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); + return NSData._(_ret, _lib, retain: true, release: true); + } + + static NSData new1(CelestAuthDarwin _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSData1, _lib._sel_new1); + return NSData._(_ret, _lib, retain: false, release: true); + } + + static NSData allocWithZone_( + CelestAuthDarwin _lib, ffi.Pointer zone) { + final _ret = _lib._objc_msgSend_3( + _lib._class_NSData1, _lib._sel_allocWithZone_1, zone); + return NSData._(_ret, _lib, retain: false, release: true); + } + + static NSData alloc(CelestAuthDarwin _lib) { + final _ret = _lib._objc_msgSend_2(_lib._class_NSData1, _lib._sel_alloc1); + return NSData._(_ret, _lib, retain: false, release: true); + } +} + +class _ObjCBlockBase implements ffi.Finalizable { + final ffi.Pointer<_ObjCBlock> _id; + final CelestAuthDarwin _lib; + bool _pendingRelease; + + _ObjCBlockBase._(this._id, this._lib, + {bool retain = false, bool release = false}) + : _pendingRelease = release { + if (retain) { + _lib._Block_copy(_id.cast()); + } + if (release) { + _lib._objc_releaseFinalizer11.attach(this, _id.cast(), detach: this); + } + } + + /// Releases the reference to the underlying ObjC block held by this wrapper. + /// Throws a StateError if this wrapper doesn't currently hold a reference. + void release() { + if (_pendingRelease) { + _pendingRelease = false; + _lib._Block_release(_id.cast()); + _lib._objc_releaseFinalizer11.detach(this); + } else { + throw StateError( + 'Released an ObjC block that was unowned or already released.'); + } + } + + @override + bool operator ==(Object other) { + return other is _ObjCBlockBase && _id == other._id; + } + + @override + int get hashCode => _id.hashCode; + + /// Return a pointer to this object. + ffi.Pointer<_ObjCBlock> get pointer => _id; + + ffi.Pointer<_ObjCBlock> _retainAndReturnId() { + _lib._Block_copy(_id.cast()); + return _id; + } +} + +void _ObjCBlock_ffiVoid_Uint8_fnPtrTrampoline( + ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0) => + block.ref.target + .cast< + ffi + .NativeFunction arg0)>>() + .asFunction)>()(arg0); +final _ObjCBlock_ffiVoid_Uint8_closureRegistry = + )>{}; +int _ObjCBlock_ffiVoid_Uint8_closureRegistryIndex = 0; +ffi.Pointer _ObjCBlock_ffiVoid_Uint8_registerClosure( + void Function(ffi.Pointer) fn) { + final id = ++_ObjCBlock_ffiVoid_Uint8_closureRegistryIndex; + _ObjCBlock_ffiVoid_Uint8_closureRegistry[id] = fn; + return ffi.Pointer.fromAddress(id); +} + +void _ObjCBlock_ffiVoid_Uint8_closureTrampoline( + ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0) => + _ObjCBlock_ffiVoid_Uint8_closureRegistry[block.ref.target.address]!(arg0); + +class ObjCBlock_ffiVoid_Uint8 extends _ObjCBlockBase { + ObjCBlock_ffiVoid_Uint8._(ffi.Pointer<_ObjCBlock> id, CelestAuthDarwin lib, + {bool retain = false, bool release = true}) + : super._(id, lib, retain: retain, release: release); + + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_Uint8.fromFunctionPointer( + CelestAuthDarwin lib, + ffi.Pointer< + ffi + .NativeFunction arg0)>> + ptr) + : this._( + lib._newBlock1( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_Uint8_fnPtrTrampoline) + .cast(), + ptr.cast()), + lib); + static ffi.Pointer? _cFuncTrampoline; + + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_Uint8.fromFunction( + CelestAuthDarwin lib, void Function(ffi.Pointer) fn) + : this._( + lib._newBlock1( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_Uint8_closureTrampoline) + .cast(), + _ObjCBlock_ffiVoid_Uint8_registerClosure( + (ffi.Pointer arg0) => fn(arg0))), + lib); + static ffi.Pointer? _dartFuncTrampoline; + + /// Creates a listener block from a Dart function. + /// + /// This is based on FFI's NativeCallable.listener, and has the same + /// capabilities and limitations. This block can be invoked from any thread, + /// but only supports void functions, and is not run synchronously. See + /// NativeCallable.listener for more details. + /// + /// Note that unlike the default behavior of NativeCallable.listener, listener + /// blocks do not keep the isolate alive. + ObjCBlock_ffiVoid_Uint8.listener( + CelestAuthDarwin lib, void Function(ffi.Pointer) fn) + : this._( + lib._newBlock1( + (_dartFuncListenerTrampoline ??= ffi.NativeCallable< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, + ffi.Pointer)>.listener( + _ObjCBlock_ffiVoid_Uint8_closureTrampoline) + ..keepIsolateAlive = false) + .nativeFunction + .cast(), + _ObjCBlock_ffiVoid_Uint8_registerClosure( + (ffi.Pointer arg0) => fn(arg0))), + lib); + static ffi.NativeCallable< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer)>? + _dartFuncListenerTrampoline; + + void call(ffi.Pointer arg0) => _id.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock> block, + ffi.Pointer arg0)>>() + .asFunction< + void Function( + ffi.Pointer<_ObjCBlock>, ffi.Pointer)>()(_id, arg0); +} + +final class _ObjCBlockDesc extends ffi.Struct { + @ffi.UnsignedLong() + external int reserved; + + @ffi.UnsignedLong() + external int size; + + external ffi.Pointer copy_helper; + + external ffi.Pointer dispose_helper; + + external ffi.Pointer signature; +} + +final class _ObjCBlock extends ffi.Struct { + external ffi.Pointer isa; + + @ffi.Int() + external int flags; + + @ffi.Int() + external int reserved; + + external ffi.Pointer invoke; + + external ffi.Pointer<_ObjCBlockDesc> descriptor; + + external ffi.Pointer target; +} + +void _ObjCBlock_ffiVoid_CelestAuthErrorCode_Uint8_fnPtrTrampoline( + ffi.Pointer<_ObjCBlock> block, int arg0, ffi.Pointer arg1) => + block.ref.target + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Int32 arg0, ffi.Pointer arg1)>>() + .asFunction)>()(arg0, arg1); +final _ObjCBlock_ffiVoid_CelestAuthErrorCode_Uint8_closureRegistry = + )>{}; +int _ObjCBlock_ffiVoid_CelestAuthErrorCode_Uint8_closureRegistryIndex = 0; +ffi.Pointer + _ObjCBlock_ffiVoid_CelestAuthErrorCode_Uint8_registerClosure( + void Function(int, ffi.Pointer) fn) { + final id = + ++_ObjCBlock_ffiVoid_CelestAuthErrorCode_Uint8_closureRegistryIndex; + _ObjCBlock_ffiVoid_CelestAuthErrorCode_Uint8_closureRegistry[id] = fn; + return ffi.Pointer.fromAddress(id); +} + +void _ObjCBlock_ffiVoid_CelestAuthErrorCode_Uint8_closureTrampoline( + ffi.Pointer<_ObjCBlock> block, int arg0, ffi.Pointer arg1) => + _ObjCBlock_ffiVoid_CelestAuthErrorCode_Uint8_closureRegistry[ + block.ref.target.address]!(arg0, arg1); + +class ObjCBlock_ffiVoid_CelestAuthErrorCode_Uint8 extends _ObjCBlockBase { + ObjCBlock_ffiVoid_CelestAuthErrorCode_Uint8._( + ffi.Pointer<_ObjCBlock> id, CelestAuthDarwin lib, + {bool retain = false, bool release = true}) + : super._(id, lib, retain: retain, release: release); + + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_CelestAuthErrorCode_Uint8.fromFunctionPointer( + CelestAuthDarwin lib, + ffi.Pointer< + ffi.NativeFunction< + ffi.Void Function( + ffi.Int32 arg0, ffi.Pointer arg1)>> + ptr) + : this._( + lib._newBlock1( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, + ffi.Int32, ffi.Pointer)>( + _ObjCBlock_ffiVoid_CelestAuthErrorCode_Uint8_fnPtrTrampoline) + .cast(), + ptr.cast()), + lib); + static ffi.Pointer? _cFuncTrampoline; + + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_CelestAuthErrorCode_Uint8.fromFunction( + CelestAuthDarwin lib, void Function(int, ffi.Pointer) fn) + : this._( + lib._newBlock1( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, + ffi.Int32, ffi.Pointer)>( + _ObjCBlock_ffiVoid_CelestAuthErrorCode_Uint8_closureTrampoline) + .cast(), + _ObjCBlock_ffiVoid_CelestAuthErrorCode_Uint8_registerClosure( + (int arg0, ffi.Pointer arg1) => fn(arg0, arg1))), + lib); + static ffi.Pointer? _dartFuncTrampoline; + + /// Creates a listener block from a Dart function. + /// + /// This is based on FFI's NativeCallable.listener, and has the same + /// capabilities and limitations. This block can be invoked from any thread, + /// but only supports void functions, and is not run synchronously. See + /// NativeCallable.listener for more details. + /// + /// Note that unlike the default behavior of NativeCallable.listener, listener + /// blocks do not keep the isolate alive. + ObjCBlock_ffiVoid_CelestAuthErrorCode_Uint8.listener( + CelestAuthDarwin lib, void Function(int, ffi.Pointer) fn) + : this._( + lib._newBlock1( + (_dartFuncListenerTrampoline ??= ffi.NativeCallable< + ffi.Void Function(ffi.Pointer<_ObjCBlock>, + ffi.Int32, ffi.Pointer)>.listener( + _ObjCBlock_ffiVoid_CelestAuthErrorCode_Uint8_closureTrampoline) + ..keepIsolateAlive = false) + .nativeFunction + .cast(), + _ObjCBlock_ffiVoid_CelestAuthErrorCode_Uint8_registerClosure( + (int arg0, ffi.Pointer arg1) => fn(arg0, arg1))), + lib); + static ffi.NativeCallable< + ffi.Void Function( + ffi.Pointer<_ObjCBlock>, ffi.Int32, ffi.Pointer)>? + _dartFuncListenerTrampoline; + + void call(int arg0, ffi.Pointer arg1) => _id.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer<_ObjCBlock> block, ffi.Int32 arg0, + ffi.Pointer arg1)>>() + .asFunction< + void Function(ffi.Pointer<_ObjCBlock>, int, + ffi.Pointer)>()(_id, arg0, arg1); +} + +abstract class CelestAuthErrorCode { + static const int CelestAuthErrorCodeUnknown = 0; + static const int CelestAuthErrorCodeUnsupported = 1; + static const int CelestAuthErrorCodeSerde = 2; +} diff --git a/packages/celest_auth/lib/src/platform/darwin/foundation.yaml b/packages/celest_auth/lib/src/platform/darwin/foundation.yaml index 1ed2416a..d9d065a0 100644 --- a/packages/celest_auth/lib/src/platform/darwin/foundation.yaml +++ b/packages/celest_auth/lib/src/platform/darwin/foundation.yaml @@ -68,13 +68,13 @@ files: name: NSValue c:objc(cs)Protocol: name: Protocol - "objcBlock: 1wxmkb 1wxmkb* 4cylau": - name: ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong - "objcBlock: 1wxmkb 71xoam bool*": + "objcBlock: 6jqrbq*? 4okcll 7e5sfs": + name: ObjCBlock_ObjCObject_NSError_NSString + "objcBlock: 837566 7e5sfs bool*": name: ObjCBlock_ffiVoid_NSString_bool - "objcBlock: 1wxmkb 71xoam? fju8rp fju8rp bool*": + "objcBlock: 837566 7e5sfs? 6vbbr9 6vbbr9 bool*": name: ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool - "objcBlock: 1wxmkb fk756t* 4cylau": + "objcBlock: 837566 837566* 9z3bt8": + name: ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong + "objcBlock: 837566 9ufx6z* 9z3bt8": name: ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong - "objcBlock: 3e9m14*? 37mnn9 71xoam": - name: ObjCBlock_ObjCObject_NSError_NSString diff --git a/packages/celest_auth/pubspec.yaml b/packages/celest_auth/pubspec.yaml index 27532bd8..542f5cb5 100644 --- a/packages/celest_auth/pubspec.yaml +++ b/packages/celest_auth/pubspec.yaml @@ -37,3 +37,9 @@ flutter: platforms: android: ffiPlugin: true + ios: + ffiPlugin: true + sharedDarwinSource: true + macos: + ffiPlugin: true + sharedDarwinSource: true diff --git a/packages/celest_core/lib/celest_core.dart b/packages/celest_core/lib/celest_core.dart index f8f4d967..93d91421 100644 --- a/packages/celest_core/lib/celest_core.dart +++ b/packages/celest_core/lib/celest_core.dart @@ -2,7 +2,9 @@ library; /// Auth +export 'src/auth/auth_client.dart'; export 'src/auth/auth_protocol.dart'; +export 'src/auth/passkey_exception.dart'; export 'src/auth/passkey_types.dart'; /// Exceptions diff --git a/packages/celest_core/lib/src/auth/auth_client.dart b/packages/celest_core/lib/src/auth/auth_client.dart new file mode 100644 index 00000000..9e0e3828 --- /dev/null +++ b/packages/celest_core/lib/src/auth/auth_client.dart @@ -0,0 +1,97 @@ +import 'dart:convert'; + +import 'package:celest_core/celest_core.dart'; +import 'package:http/http.dart' as http; + +final class AuthClient implements AuthProtocol { + AuthClient({ + required this.baseUri, + http.Client? httpClient, + }) : _client = httpClient ?? http.Client(); + + final http.Client _client; + final Uri baseUri; + + @override + late final PasskeyClient passkeys = PasskeyClient( + baseUri: baseUri, + httpClient: _client, + ); +} + +final class PasskeyClient implements PasskeyProtocol { + PasskeyClient({ + required this.baseUri, + http.Client? httpClient, + }) : _client = httpClient ?? http.Client(); + + final http.Client _client; + final Uri baseUri; + + String? token; + + Future> _send( + String path, + Map json, + ) async { + final uri = baseUri.resolve(path); + final resp = await _client.post( + uri, + body: jsonEncode(json), + headers: { + 'content-type': 'application/json', + if (token case final token?) 'authorization': 'Bearer $token', + }, + ); + if (resp.statusCode != 200) { + throw http.ClientException( + '${resp.statusCode}: ${resp.body}', + uri, + ); + } + final body = jsonDecode(resp.body) as Map; + if (body['cork'] case final String cork) { + token = cork; + } + return body; + } + + @override + Future requestRegistration({ + required PasskeyRegistrationRequest request, + }) async { + final response = await _send('/_auth/passkeys/register', request.toJson()); + return PasskeyRegistrationOptions.fromJson(response); + } + + @override + Future verifyRegistration({ + required PasskeyRegistrationResponse registration, + }) async { + await _send( + '/_auth/passkeys/register/verify', + registration.toJson(), + ); + } + + @override + Future requestAuthentication({ + required PasskeyAuthenticationRequest request, + }) async { + final response = await _send( + '/_auth/passkeys/authenticate', + request.toJson(), + ); + return PasskeyAuthenticationOptions.fromJson(response); + } + + @override + Future verifyAuthentication({ + required PasskeyAuthenticationResponse authentication, + }) async { + await _send( + '/_auth/passkeys/authenticate/verify', + authentication.toJson(), + ); + } +} diff --git a/packages/celest_core/lib/src/auth/auth_protocol.dart b/packages/celest_core/lib/src/auth/auth_protocol.dart index 72a2ad9d..1a771c2b 100644 --- a/packages/celest_core/lib/src/auth/auth_protocol.dart +++ b/packages/celest_core/lib/src/auth/auth_protocol.dart @@ -9,6 +9,7 @@ abstract interface class PasskeyProtocol { required PasskeyRegistrationRequest request, }); + /// Verifies the registration response and returns the user auth token. Future verifyRegistration({ required PasskeyRegistrationResponse registration, }); @@ -17,6 +18,7 @@ abstract interface class PasskeyProtocol { required PasskeyAuthenticationRequest request, }); + /// Verifies the authentication response and returns the user auth token. Future verifyAuthentication({ required PasskeyAuthenticationResponse authentication, }); diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_exception.dart b/packages/celest_core/lib/src/auth/passkey_exception.dart similarity index 100% rename from packages/celest_auth/lib/src/client/passkeys/passkey_exception.dart rename to packages/celest_core/lib/src/auth/passkey_exception.dart diff --git a/packages/celest_core/lib/src/auth/passkey_types.dart b/packages/celest_core/lib/src/auth/passkey_types.dart index 3b1ecfe2..571b05b7 100644 --- a/packages/celest_core/lib/src/auth/passkey_types.dart +++ b/packages/celest_core/lib/src/auth/passkey_types.dart @@ -31,7 +31,8 @@ final class PasskeyRegistrationRequest { displayName: displayName, authenticatorSelection: json['authenticatorSelection'] != null ? AuthenticatorSelectionCriteria.fromJson( - json['authenticatorSelection'] as Map, + (json['authenticatorSelection'] as Map) + .cast(), ) : null, ); @@ -73,8 +74,9 @@ final class PasskeyRegistrationOptions { required this.userName, String? userDisplayName, this.timeout = const Duration(minutes: 5), - this.authenticatorSelection, - this.publicKeyCredentialParameters, + this.authenticatorSelection = + const AuthenticatorSelectionCriteria.passkey(), + this.publicKeyCredentialParameters = const [], }) : assert( _isValidDomain(rpId), 'Invalid rpId (must be a valid domain): $rpId', @@ -105,12 +107,14 @@ final class PasskeyRegistrationOptions { timeout: Duration(milliseconds: (json['timeout'] as num).toInt()), authenticatorSelection: json['authenticatorSelection'] != null ? AuthenticatorSelectionCriteria.fromJson( - json['authenticatorSelection'] as Map, + (json['authenticatorSelection'] as Map) + .cast(), ) - : null, - publicKeyCredentialParameters: (json['pubKeyCredParams'] as List?) - ?.cast>() - .map(PublicKeyCredentialParameter.fromJson) + : const AuthenticatorSelectionCriteria.passkey(), + publicKeyCredentialParameters: (json['pubKeyCredParams'] as List? ?? + const []) + .cast>() + .map((json) => PublicKeyCredentialParameter.fromJson(json.cast())) .toList(), ); } @@ -124,8 +128,8 @@ final class PasskeyRegistrationOptions { final String userDisplayName; final Uint8List challenge; final Duration timeout; - final AuthenticatorSelectionCriteria? authenticatorSelection; - final List? publicKeyCredentialParameters; + final AuthenticatorSelectionCriteria authenticatorSelection; + final List publicKeyCredentialParameters; Map toJson() => { 'rp': { @@ -139,12 +143,9 @@ final class PasskeyRegistrationOptions { }, 'challenge': base64RawUrl.encode(challenge), 'timeout': timeout.inMilliseconds, - if (authenticatorSelection case final authenticatorSelection?) - 'authenticatorSelection': authenticatorSelection.toJson(), - if (publicKeyCredentialParameters - case final publicKeyCredentialParameters?) - 'pubKeyCredParams': - publicKeyCredentialParameters.map((el) => el.toJson()).toList(), + 'authenticatorSelection': authenticatorSelection.toJson(), + 'pubKeyCredParams': + publicKeyCredentialParameters.map((el) => el.toJson()).toList(), }; @override @@ -158,11 +159,11 @@ final class PasskeyRegistrationOptions { ..writeln(' userDisplayName: $userDisplayName,') ..writeln(' challenge: ${base64RawUrl.encode(challenge)},') ..writeln(' timeout: $timeout,'); - if (authenticatorSelection case final authenticatorSelection?) { + if (authenticatorSelection case final authenticatorSelection) { buffer.writeln(' authenticatorSelection: $authenticatorSelection,'); } if (publicKeyCredentialParameters - case final publicKeyCredentialParameters?) { + case final publicKeyCredentialParameters) { buffer.writeln(' publicKeyCredentialParameters: ['); for (final el in publicKeyCredentialParameters) { buffer.writeln(' $el,'); @@ -178,7 +179,7 @@ final class PasskeyRegistrationResponse { const PasskeyRegistrationResponse({ required this.id, required this.rawId, - required this.clientData, + required this.clientDataJson, required this.attestationObject, this.transports, this.publicKeyAlgorithm, @@ -202,13 +203,9 @@ final class PasskeyRegistrationResponse { return PasskeyRegistrationResponse( id: id, rawId: base64RawUrl.decode(rawId), - clientData: PasskeyClientData.fromJson( - jsonDecode( - utf8.decode(base64RawUrl.decode(clientDataJson)), - ) as Map, - ), + clientDataJson: base64RawUrl.decode(clientDataJson), attestationObject: base64RawUrl.decode(attestationObject), - transports: response['transports'] as List?, + transports: (response['transports'] as List?)?.cast(), publicKeyAlgorithm: response['publicKeyAlgorithm'] != null ? COSEAlgorithmIdentifier._( response['publicKeyAlgorithm'] as int, @@ -233,7 +230,7 @@ final class PasskeyRegistrationResponse { /// The credential ID in its raw binary form. final Uint8List rawId; String get type => 'public-key'; - final PasskeyClientData clientData; + final Uint8List clientDataJson; final Uint8List attestationObject; final List? transports; final COSEAlgorithmIdentifier? publicKeyAlgorithm; @@ -249,11 +246,7 @@ final class PasskeyRegistrationResponse { 'rawId': base64RawUrl.encode(rawId), 'type': type, 'response': { - 'clientDataJSON': base64RawUrl.encode( - utf8.encode( - jsonEncode(clientData.toJson()), - ), - ), + 'clientDataJSON': base64RawUrl.encode(clientDataJson), 'attestationObject': base64RawUrl.encode(attestationObject), if (transports != null) 'transports': transports, if (publicKeyAlgorithm != null) @@ -272,20 +265,7 @@ final class PasskeyRegistrationResponse { ..writeln('PasskeyRegistrationResponse(') ..writeln(' id: $id,') ..writeln(' rawId: $rawId,') - ..writeln(' clientData: PasskeyClientData(') - ..writeln(' challenge: ${base64RawUrl.encode(clientData.challenge)},') - ..writeln(' crossOrigin: ${clientData.crossOrigin},') - ..writeln(' origin: ${clientData.origin},') - ..writeln(' type: ${clientData.type},'); - if (clientData.tokenBinding case final tokenBinding?) { - buffer - ..writeln(' tokenBinding: PasskeyClientDataTokenBinding(') - ..writeln(' id: ${base64RawUrl.encode(tokenBinding.id)},') - ..writeln(' status: ${tokenBinding.status},') - ..writeln(' ),'); - } - buffer - ..writeln(' ),') + ..writeln(' clientDataJson: ${utf8.decode(clientDataJson)},') ..writeln( ' attestationObject: ${base64RawUrl.encode(attestationObject)},') ..writeln(' transports: ${transports?.join(', ')},') @@ -439,7 +419,7 @@ final class PasskeyClientData { type: type, tokenBinding: json['tokenBinding'] != null ? PasskeyClientDataTokenBinding.fromJson( - json['tokenBinding'] as Map, + (json['tokenBinding'] as Map).cast(), ) : null, ); @@ -535,24 +515,24 @@ final class PasskeyDescriptor { 'id': final String id, }) { return PasskeyDescriptor( - id: base64RawUrl.decode(id), - transports: (json['transports'] as List?)?.cast() ?? const [], + id: id, + transports: (json['transports'] as List?)?.cast() ?? const [], ); } throw FormatException('Invalid passkey descriptor: $json'); } - final Uint8List id; + final String id; final List transports; Map toJson() => { - 'id': base64RawUrl.encode(id), + 'id': id, 'transports': transports, }; @override String toString() => 'PasskeyDescriptor(' - 'id: ${base64RawUrl.encode(id)}, ' + 'id: $id, ' 'transports: ${transports.join(', ')})'; } @@ -762,16 +742,33 @@ final class PasskeyAuthenticationResponse { /// See: /// - https://w3c.github.io/webauthn/#sctn-alg-identifier /// - https://www.iana.org/assignments/cose/cose.xhtml#algorithms -extension type const COSEAlgorithmIdentifier._(int algId) implements int { - static const List defaultSupported = [ +extension type const COSEAlgorithmIdentifier._(int _) implements int { + factory COSEAlgorithmIdentifier(int algId) { + if (!values.contains(algId)) { + throw ArgumentError.value( + algId, + 'algId', + 'Unsupported COSE algorithm identifier.', + ); + } + return COSEAlgorithmIdentifier._(algId); + } + + static const List prioritized = [ // In first position to encourage authenticators to use this over ES256 edDsa, es256, + es512, + rsaPss256, + rsaPss384, + rsaPss512, rs256, + rs384, + rs512, + rsSha1, // ignore: deprecated_member_use_from_same_package ]; - static const List prioritized = [ - // In first position to encourage authenticators to use this over ES256 + static const List values = [ edDsa, es256, es512, diff --git a/packages/celest_core/lib/src/auth/user.dart b/packages/celest_core/lib/src/auth/user.dart new file mode 100644 index 00000000..1e8fb1d4 --- /dev/null +++ b/packages/celest_core/lib/src/auth/user.dart @@ -0,0 +1 @@ +final class User {} diff --git a/packages/celest_core/lib/src/exception/cloud_exception.dart b/packages/celest_core/lib/src/exception/cloud_exception.dart index 6f3d7ebd..19f5998c 100644 --- a/packages/celest_core/lib/src/exception/cloud_exception.dart +++ b/packages/celest_core/lib/src/exception/cloud_exception.dart @@ -20,6 +20,16 @@ class BadRequestException implements CloudException { String toString() => 'BadRequestException: $message'; } +final class UnauthorizedException implements CloudException { + const UnauthorizedException([this.message = 'Unauthorized']); + + @override + final String message; + + @override + String toString() => 'UnauthorizedException: $message'; +} + /// {@template celest_core.exception.internal_server_exception} /// An exception thrown by a Cloud Function when an unrecoverable internal error /// occurs. diff --git a/packages/celest_core/pubspec.yaml b/packages/celest_core/pubspec.yaml index a6bb16a4..9e4b011a 100644 --- a/packages/celest_core/pubspec.yaml +++ b/packages/celest_core/pubspec.yaml @@ -9,6 +9,7 @@ environment: dependencies: collection: ^1.18.0 + http: ">=0.13.0 <2.0.0" meta: ^1.10.0 dev_dependencies: From 072078c8a29aa52f0374a1b47a3c65a3c7730df8 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Sun, 3 Mar 2024 19:10:42 -0800 Subject: [PATCH 04/33] Move cedar_common/corks to main repo --- packages/cedar_common/.gitignore | 7 + packages/cedar_common/CHANGELOG.md | 3 + packages/cedar_common/README.md | 5 + packages/cedar_common/analysis_options.yaml | 30 + packages/cedar_common/lib/cedar_common.dart | 13 + .../lib/src/ast/cedar_entity.dart | 32 + .../lib/src/ast/cedar_entity_id.dart | 64 + .../cedar_common/lib/src/ast/cedar_node.dart | 3 + .../lib/src/ast/cedar_schema.dart | 498 +++ .../lib/src/policy/cedar_policy.dart | 368 ++ .../lib/src/policy/cedar_policy.g.dart | 652 +++ .../lib/src/policy/cedar_policy_set.dart | 20 + .../lib/src/policy/json_expr.dart | 1155 +++++ packages/cedar_common/lib/src/util.dart | 8 + packages/cedar_common/pubspec.yaml | 16 + packages/celest_auth/example/pubspec.yaml | 4 + packages/celest_auth/pubspec.yaml | 2 + packages/corks/.gitignore | 7 + packages/corks/CHANGELOG.md | 3 + packages/corks/README.md | 39 + packages/corks/analysis_options.yaml | 12 + packages/corks/lib/corks.dart | 4 + packages/corks/lib/corks_proto.dart | 28 + packages/corks/lib/src/cork.dart | 247 ++ .../corks/lib/src/interop/proto_interop.dart | 586 +++ packages/corks/lib/src/interop/to_proto.dart | 5 + .../lib/src/proto/cedar/v3/context.pb.dart | 64 + .../src/proto/cedar/v3/context.pbenum.dart | 11 + .../src/proto/cedar/v3/context.pbjson.dart | 40 + .../src/proto/cedar/v3/context.pbserver.dart | 14 + .../lib/src/proto/cedar/v3/entity.pb.dart | 89 + .../lib/src/proto/cedar/v3/entity.pbenum.dart | 11 + .../lib/src/proto/cedar/v3/entity.pbjson.dart | 44 + .../src/proto/cedar/v3/entity.pbserver.dart | 14 + .../lib/src/proto/cedar/v3/entity_id.pb.dart | 82 + .../src/proto/cedar/v3/entity_id.pbenum.dart | 11 + .../src/proto/cedar/v3/entity_id.pbjson.dart | 28 + .../proto/cedar/v3/entity_id.pbserver.dart | 14 + .../corks/lib/src/proto/cedar/v3/expr.pb.dart | 2428 +++++++++++ .../lib/src/proto/cedar/v3/expr.pbenum.dart | 55 + .../lib/src/proto/cedar/v3/expr.pbjson.dart | 583 +++ .../lib/src/proto/cedar/v3/expr.pbserver.dart | 14 + .../lib/src/proto/cedar/v3/policy.pb.dart | 452 ++ .../lib/src/proto/cedar/v3/policy.pbenum.dart | 72 + .../lib/src/proto/cedar/v3/policy.pbjson.dart | 178 + .../src/proto/cedar/v3/policy.pbserver.dart | 14 + .../lib/src/proto/cedar/v3/value.pb.dart | 394 ++ .../lib/src/proto/cedar/v3/value.pbenum.dart | 11 + .../lib/src/proto/cedar/v3/value.pbjson.dart | 104 + .../src/proto/cedar/v3/value.pbserver.dart | 14 + .../corks/lib/src/proto/corks/v1/cork.pb.dart | 281 ++ .../lib/src/proto/corks/v1/cork.pbenum.dart | 11 + .../lib/src/proto/corks/v1/cork.pbjson.dart | 71 + .../lib/src/proto/corks/v1/cork.pbserver.dart | 14 + .../lib/src/proto/dart/dart_options.pb.dart | 178 + .../src/proto/dart/dart_options.pbenum.dart | 11 + .../src/proto/dart/dart_options.pbjson.dart | 43 + .../src/proto/dart/dart_options.pbserver.dart | 14 + .../lib/src/proto/google/protobuf/any.pb.dart | 208 + .../src/proto/google/protobuf/any.pbenum.dart | 11 + .../src/proto/google/protobuf/any.pbjson.dart | 28 + .../proto/google/protobuf/any.pbserver.dart | 14 + .../proto/google/protobuf/descriptor.pb.dart | 3767 +++++++++++++++++ .../google/protobuf/descriptor.pbenum.dart | 377 ++ .../google/protobuf/descriptor.pbjson.dart | 1004 +++++ .../google/protobuf/descriptor.pbserver.dart | 14 + .../proto/google/protobuf/duration.pb.dart | 151 + .../google/protobuf/duration.pbenum.dart | 11 + .../google/protobuf/duration.pbjson.dart | 29 + .../google/protobuf/duration.pbserver.dart | 14 + .../src/proto/google/protobuf/plugin.pb.dart | 449 ++ .../proto/google/protobuf/plugin.pbenum.dart | 33 + .../proto/google/protobuf/plugin.pbjson.dart | 93 + .../google/protobuf/plugin.pbserver.dart | 14 + .../proto/google/protobuf/timestamp.pb.dart | 188 + .../google/protobuf/timestamp.pbenum.dart | 11 + .../google/protobuf/timestamp.pbjson.dart | 29 + .../google/protobuf/timestamp.pbserver.dart | 14 + packages/corks/lib/src/signer.dart | 79 + packages/corks/proto/buf.gen.yaml | 6 + packages/corks/proto/buf.yaml | 10 + packages/corks/proto/cedar/v3/context.proto | 9 + packages/corks/proto/cedar/v3/entity.proto | 12 + packages/corks/proto/cedar/v3/entity_id.proto | 8 + packages/corks/proto/cedar/v3/expr.proto | 193 + packages/corks/proto/cedar/v3/policy.proto | 59 + packages/corks/proto/cedar/v3/value.proto | 34 + packages/corks/proto/corks/v1/cork.proto | 28 + packages/corks/proto/dart/dart_options.proto | 77 + .../corks/proto/google/protobuf/README.md | 3 + .../corks/proto/google/protobuf/any.proto | 162 + .../proto/google/protobuf/descriptor.proto | 1248 ++++++ .../proto/google/protobuf/duration.proto | 115 + .../corks/proto/google/protobuf/plugin.proto | 182 + .../proto/google/protobuf/timestamp.proto | 144 + packages/corks/pubspec.yaml | 19 + packages/corks/test/cedar_test_todo.dart | 34 + packages/corks/test/cork_test.dart | 76 + 98 files changed, 18132 insertions(+) create mode 100644 packages/cedar_common/.gitignore create mode 100644 packages/cedar_common/CHANGELOG.md create mode 100644 packages/cedar_common/README.md create mode 100644 packages/cedar_common/analysis_options.yaml create mode 100644 packages/cedar_common/lib/cedar_common.dart create mode 100644 packages/cedar_common/lib/src/ast/cedar_entity.dart create mode 100644 packages/cedar_common/lib/src/ast/cedar_entity_id.dart create mode 100644 packages/cedar_common/lib/src/ast/cedar_node.dart create mode 100644 packages/cedar_common/lib/src/ast/cedar_schema.dart create mode 100644 packages/cedar_common/lib/src/policy/cedar_policy.dart create mode 100644 packages/cedar_common/lib/src/policy/cedar_policy.g.dart create mode 100644 packages/cedar_common/lib/src/policy/cedar_policy_set.dart create mode 100644 packages/cedar_common/lib/src/policy/json_expr.dart create mode 100644 packages/cedar_common/lib/src/util.dart create mode 100644 packages/cedar_common/pubspec.yaml create mode 100644 packages/corks/.gitignore create mode 100644 packages/corks/CHANGELOG.md create mode 100644 packages/corks/README.md create mode 100644 packages/corks/analysis_options.yaml create mode 100644 packages/corks/lib/corks.dart create mode 100644 packages/corks/lib/corks_proto.dart create mode 100644 packages/corks/lib/src/cork.dart create mode 100644 packages/corks/lib/src/interop/proto_interop.dart create mode 100644 packages/corks/lib/src/interop/to_proto.dart create mode 100644 packages/corks/lib/src/proto/cedar/v3/context.pb.dart create mode 100644 packages/corks/lib/src/proto/cedar/v3/context.pbenum.dart create mode 100644 packages/corks/lib/src/proto/cedar/v3/context.pbjson.dart create mode 100644 packages/corks/lib/src/proto/cedar/v3/context.pbserver.dart create mode 100644 packages/corks/lib/src/proto/cedar/v3/entity.pb.dart create mode 100644 packages/corks/lib/src/proto/cedar/v3/entity.pbenum.dart create mode 100644 packages/corks/lib/src/proto/cedar/v3/entity.pbjson.dart create mode 100644 packages/corks/lib/src/proto/cedar/v3/entity.pbserver.dart create mode 100644 packages/corks/lib/src/proto/cedar/v3/entity_id.pb.dart create mode 100644 packages/corks/lib/src/proto/cedar/v3/entity_id.pbenum.dart create mode 100644 packages/corks/lib/src/proto/cedar/v3/entity_id.pbjson.dart create mode 100644 packages/corks/lib/src/proto/cedar/v3/entity_id.pbserver.dart create mode 100644 packages/corks/lib/src/proto/cedar/v3/expr.pb.dart create mode 100644 packages/corks/lib/src/proto/cedar/v3/expr.pbenum.dart create mode 100644 packages/corks/lib/src/proto/cedar/v3/expr.pbjson.dart create mode 100644 packages/corks/lib/src/proto/cedar/v3/expr.pbserver.dart create mode 100644 packages/corks/lib/src/proto/cedar/v3/policy.pb.dart create mode 100644 packages/corks/lib/src/proto/cedar/v3/policy.pbenum.dart create mode 100644 packages/corks/lib/src/proto/cedar/v3/policy.pbjson.dart create mode 100644 packages/corks/lib/src/proto/cedar/v3/policy.pbserver.dart create mode 100644 packages/corks/lib/src/proto/cedar/v3/value.pb.dart create mode 100644 packages/corks/lib/src/proto/cedar/v3/value.pbenum.dart create mode 100644 packages/corks/lib/src/proto/cedar/v3/value.pbjson.dart create mode 100644 packages/corks/lib/src/proto/cedar/v3/value.pbserver.dart create mode 100644 packages/corks/lib/src/proto/corks/v1/cork.pb.dart create mode 100644 packages/corks/lib/src/proto/corks/v1/cork.pbenum.dart create mode 100644 packages/corks/lib/src/proto/corks/v1/cork.pbjson.dart create mode 100644 packages/corks/lib/src/proto/corks/v1/cork.pbserver.dart create mode 100644 packages/corks/lib/src/proto/dart/dart_options.pb.dart create mode 100644 packages/corks/lib/src/proto/dart/dart_options.pbenum.dart create mode 100644 packages/corks/lib/src/proto/dart/dart_options.pbjson.dart create mode 100644 packages/corks/lib/src/proto/dart/dart_options.pbserver.dart create mode 100644 packages/corks/lib/src/proto/google/protobuf/any.pb.dart create mode 100644 packages/corks/lib/src/proto/google/protobuf/any.pbenum.dart create mode 100644 packages/corks/lib/src/proto/google/protobuf/any.pbjson.dart create mode 100644 packages/corks/lib/src/proto/google/protobuf/any.pbserver.dart create mode 100644 packages/corks/lib/src/proto/google/protobuf/descriptor.pb.dart create mode 100644 packages/corks/lib/src/proto/google/protobuf/descriptor.pbenum.dart create mode 100644 packages/corks/lib/src/proto/google/protobuf/descriptor.pbjson.dart create mode 100644 packages/corks/lib/src/proto/google/protobuf/descriptor.pbserver.dart create mode 100644 packages/corks/lib/src/proto/google/protobuf/duration.pb.dart create mode 100644 packages/corks/lib/src/proto/google/protobuf/duration.pbenum.dart create mode 100644 packages/corks/lib/src/proto/google/protobuf/duration.pbjson.dart create mode 100644 packages/corks/lib/src/proto/google/protobuf/duration.pbserver.dart create mode 100644 packages/corks/lib/src/proto/google/protobuf/plugin.pb.dart create mode 100644 packages/corks/lib/src/proto/google/protobuf/plugin.pbenum.dart create mode 100644 packages/corks/lib/src/proto/google/protobuf/plugin.pbjson.dart create mode 100644 packages/corks/lib/src/proto/google/protobuf/plugin.pbserver.dart create mode 100644 packages/corks/lib/src/proto/google/protobuf/timestamp.pb.dart create mode 100644 packages/corks/lib/src/proto/google/protobuf/timestamp.pbenum.dart create mode 100644 packages/corks/lib/src/proto/google/protobuf/timestamp.pbjson.dart create mode 100644 packages/corks/lib/src/proto/google/protobuf/timestamp.pbserver.dart create mode 100644 packages/corks/lib/src/signer.dart create mode 100644 packages/corks/proto/buf.gen.yaml create mode 100644 packages/corks/proto/buf.yaml create mode 100644 packages/corks/proto/cedar/v3/context.proto create mode 100644 packages/corks/proto/cedar/v3/entity.proto create mode 100644 packages/corks/proto/cedar/v3/entity_id.proto create mode 100644 packages/corks/proto/cedar/v3/expr.proto create mode 100644 packages/corks/proto/cedar/v3/policy.proto create mode 100644 packages/corks/proto/cedar/v3/value.proto create mode 100644 packages/corks/proto/corks/v1/cork.proto create mode 100644 packages/corks/proto/dart/dart_options.proto create mode 100644 packages/corks/proto/google/protobuf/README.md create mode 100644 packages/corks/proto/google/protobuf/any.proto create mode 100644 packages/corks/proto/google/protobuf/descriptor.proto create mode 100644 packages/corks/proto/google/protobuf/duration.proto create mode 100644 packages/corks/proto/google/protobuf/plugin.proto create mode 100644 packages/corks/proto/google/protobuf/timestamp.proto create mode 100644 packages/corks/pubspec.yaml create mode 100644 packages/corks/test/cedar_test_todo.dart create mode 100644 packages/corks/test/cork_test.dart diff --git a/packages/cedar_common/.gitignore b/packages/cedar_common/.gitignore new file mode 100644 index 00000000..3cceda55 --- /dev/null +++ b/packages/cedar_common/.gitignore @@ -0,0 +1,7 @@ +# https://dart.dev/guides/libraries/private-files +# Created by `dart pub` +.dart_tool/ + +# Avoid committing pubspec.lock for library packages; see +# https://dart.dev/guides/libraries/private-files#pubspeclock. +pubspec.lock diff --git a/packages/cedar_common/CHANGELOG.md b/packages/cedar_common/CHANGELOG.md new file mode 100644 index 00000000..a0712a79 --- /dev/null +++ b/packages/cedar_common/CHANGELOG.md @@ -0,0 +1,3 @@ +## 0.1.0 + +- Initial version. diff --git a/packages/cedar_common/README.md b/packages/cedar_common/README.md new file mode 100644 index 00000000..01adc99a --- /dev/null +++ b/packages/cedar_common/README.md @@ -0,0 +1,5 @@ +# cedar_common + +Base types and utilities of the Cedar language in Dart. + +This is separate from `package:cedar_dart` so that the types can be used without bundling the native assets of `package:cedar_dart`. diff --git a/packages/cedar_common/analysis_options.yaml b/packages/cedar_common/analysis_options.yaml new file mode 100644 index 00000000..dee8927a --- /dev/null +++ b/packages/cedar_common/analysis_options.yaml @@ -0,0 +1,30 @@ +# This file configures the static analysis results for your project (errors, +# warnings, and lints). +# +# This enables the 'recommended' set of lints from `package:lints`. +# This set helps identify many issues that may lead to problems when running +# or consuming Dart code, and enforces writing Dart using a single, idiomatic +# style and format. +# +# If you want a smaller set of lints you can change this to specify +# 'package:lints/core.yaml'. These are just the most critical lints +# (the recommended set includes the core lints). +# The core lints are also what is used by pub.dev for scoring packages. + +include: package:lints/recommended.yaml + +# Uncomment the following section to specify additional rules. + +# linter: +# rules: +# - camel_case_types + +# analyzer: +# exclude: +# - path/to/excluded/files/** + +# For more information about the core and recommended set of lints, see +# https://dart.dev/go/core-lints + +# For additional information about configuring this file, see +# https://dart.dev/guides/language/analysis-options diff --git a/packages/cedar_common/lib/cedar_common.dart b/packages/cedar_common/lib/cedar_common.dart new file mode 100644 index 00000000..51efc702 --- /dev/null +++ b/packages/cedar_common/lib/cedar_common.dart @@ -0,0 +1,13 @@ +/// Base types and utilities of the Cedar language in Dart. +/// +/// This is separate from `package:cedar_dart` so that the types can be used +/// without bundling the native assets of `package:cedar_dart`. +library; + +export 'src/ast/cedar_entity.dart'; +export 'src/ast/cedar_entity_id.dart'; +export 'src/ast/cedar_node.dart'; +export 'src/ast/cedar_schema.dart'; +export 'src/policy/cedar_policy.dart'; +export 'src/policy/cedar_policy_set.dart'; +export 'src/policy/json_expr.dart'; diff --git a/packages/cedar_common/lib/src/ast/cedar_entity.dart b/packages/cedar_common/lib/src/ast/cedar_entity.dart new file mode 100644 index 00000000..66d01a25 --- /dev/null +++ b/packages/cedar_common/lib/src/ast/cedar_entity.dart @@ -0,0 +1,32 @@ +import 'package:cedar_common/src/ast/cedar_entity_id.dart'; +import 'package:cedar_common/src/ast/cedar_node.dart'; +import 'package:cedar_common/src/policy/json_expr.dart'; + +final class CedarEntity implements CedarNode { + const CedarEntity({ + required this.id, + this.parents = const [], + this.attributes = const {}, + }); + + factory CedarEntity.fromJson(Map json) => CedarEntity( + id: CedarEntityId.fromJson(json['uid'] as Map), + parents: (json['parents'] as List) + .map((e) => CedarEntityId.fromJson(e as Map)) + .toList(), + attributes: (json['attrs'] as Map) + .cast() + .map((key, value) => MapEntry(key, CedarValueJson.fromJson(value))), + ); + + final CedarEntityId id; + final List parents; + final Map attributes; + + @override + Map toJson() => { + 'uid': id.toJson(), + 'parents': parents.map((e) => e.toJson()).toList(), + 'attrs': attributes.map((key, value) => MapEntry(key, value.toJson())), + }; +} diff --git a/packages/cedar_common/lib/src/ast/cedar_entity_id.dart b/packages/cedar_common/lib/src/ast/cedar_entity_id.dart new file mode 100644 index 00000000..6bc04b17 --- /dev/null +++ b/packages/cedar_common/lib/src/ast/cedar_entity_id.dart @@ -0,0 +1,64 @@ +import 'package:cedar_common/src/ast/cedar_node.dart'; + +final class CedarEntityId implements CedarNode { + const CedarEntityId(this.type, this.id); + + factory CedarEntityId.fromJson(Map json) { + switch (json) { + case {'type': final String type, 'id': final String id} || + {'__entity': {'type': final String type, 'id': final String id}}: + return CedarEntityId(type, id); + default: + throw FormatException('Invalid entity ID JSON: $json'); + } + } + + final String type; + final String id; + + /// Returns a normalized version of this entity ID. + /// + /// Cedar prohibits whitespace in entity IDs, so this method removes all + /// whitespace from the [type] and [id]. + /// + /// See [RFC 9](https://github.com/cedar-policy/rfcs/blob/main/text/0009-disallow-whitespace-in-entityuid.md) + /// for more information. + CedarEntityId get normalized => CedarEntityId( + type, + String.fromCharCodes( + id.runes.expand((char) { + return switch (char) { + 0 => '\\0'.codeUnits, + 0x9 => '\\t'.codeUnits, + 0xa => '\\n'.codeUnits, + 0xd => '\\r'.codeUnits, + 0x22 => '\\"'.codeUnits, + 0x27 => "\\'".codeUnits, + < 0x20 || + 0x7f || // Delete + 0x96 || // Non-breaking space + > 0xffff => + '\\u{${char.toRadixString(16)}}'.codeUnits, + _ => [char], + }; + }), + ), + ); + + @override + bool operator ==(Object other) => + identical(this, other) || + other is CedarEntityId && type == other.type && id == other.id; + + @override + int get hashCode => Object.hash(type, id); + + @override + String toString() => '$type::"$id"'; + + @override + Map toJson() => { + 'type': type, + 'id': id, + }; +} diff --git a/packages/cedar_common/lib/src/ast/cedar_node.dart b/packages/cedar_common/lib/src/ast/cedar_node.dart new file mode 100644 index 00000000..e9a01122 --- /dev/null +++ b/packages/cedar_common/lib/src/ast/cedar_node.dart @@ -0,0 +1,3 @@ +abstract interface class CedarNode { + Map toJson(); +} diff --git a/packages/cedar_common/lib/src/ast/cedar_schema.dart b/packages/cedar_common/lib/src/ast/cedar_schema.dart new file mode 100644 index 00000000..3aae0845 --- /dev/null +++ b/packages/cedar_common/lib/src/ast/cedar_schema.dart @@ -0,0 +1,498 @@ +import 'package:cedar_common/src/ast/cedar_entity_id.dart'; +import 'package:cedar_common/src/ast/cedar_node.dart'; +import 'package:cedar_common/src/util.dart'; + +final class CedarSchema implements CedarNode { + CedarSchema({ + Map? namespaces, + }) : _namespaces = namespaces ?? {}; + + final Map _namespaces; + + factory CedarSchema.fromJson(Map json) { + return CedarSchema( + namespaces: json.map( + (name, json) => MapEntry( + name, + CedarNamespace.fromJson(json as Map), + ), + ), + ); + } + + CedarNamespace? getNamespace(String name) { + return _namespaces[name]; + } + + void updateNamespace( + String name, CedarNamespace Function(CedarNamespace) updates) { + _namespaces.update( + name, + (value) => updates(value), + ifAbsent: () => updates(CedarNamespace()), + ); + } + + @override + Map toJson() => _namespaces.map( + (name, namespace) => MapEntry(name, namespace.toJson()), + ); +} + +final class CedarNamespace implements CedarNode { + CedarNamespace({ + Map? entityTypes, + Map? actionTypes, + Map? commonTypes, + }) : _entityTypes = entityTypes, + _actionTypes = actionTypes, + _commonTypes = commonTypes; + + factory CedarNamespace.fromJson(Map json) { + return CedarNamespace( + entityTypes: (json['entityTypes'] as Map?) + ?.cast() + .map( + (name, json) => MapEntry( + name, + CedarEntitySchema.fromJson( + (json as Map).cast()), + ), + ), + actionTypes: (json['actions'] as Map?) + ?.cast() + .map( + (name, json) => MapEntry( + name, + CedarActionSchema.fromJson( + (json as Map).cast()), + ), + ), + commonTypes: (json['commonTypes'] as Map?) + ?.cast() + .map( + (name, json) => MapEntry( + name, + CedarType.fromJson((json as Map).cast()), + ), + ), + ); + } + + Map? _entityTypes; + Map? _actionTypes; + Map? _commonTypes; + + void addEntitySchema(String name, CedarEntitySchema entityType) { + (_entityTypes ??= {}).update( + name, + (value) => throw StateError('Entity type "$name" already exists'), + ifAbsent: () => entityType, + ); + } + + void addActionSchema(String name, CedarActionSchema actionType) { + (_actionTypes ??= {}).update( + name, + (value) => throw StateError('Action type "$name" already exists'), + ifAbsent: () => actionType, + ); + } + + void addCommonType(String name, CedarTypeDefinition type) { + (_commonTypes ??= {}).update( + name, + (value) => throw StateError('Common type "$name" already exists'), + ifAbsent: () => type, + ); + } + + @override + Map toJson() => { + if (_entityTypes != null) + 'entityTypes': _entityTypes!.map( + (name, entityType) => MapEntry(name, entityType.toJson()), + ), + if (_actionTypes != null) + 'actions': _actionTypes!.map( + (name, actionType) => MapEntry(name, actionType.toJson()), + ), + if (_commonTypes != null) + 'commonTypes': _commonTypes!.map( + (name, type) => MapEntry(name, type.toJson()), + ), + }; +} + +final class CedarEntitySchema implements CedarNode { + const CedarEntitySchema({ + this.memberOfTypes, + this.shape, + }); + + factory CedarEntitySchema.fromJson(Map json) { + return CedarEntitySchema( + memberOfTypes: + (json['memberOfTypes'] as List?)?.cast().toList(), + shape: (json['shape'] as Map?)?.let(CedarType.fromJson), + ); + } + + final List? memberOfTypes; + final CedarType? shape; + + @override + Map toJson() => { + if (memberOfTypes != null) 'memberOfTypes': memberOfTypes, + if (shape != null) 'shape': shape!.toJson(), + }; +} + +sealed class CedarType implements CedarNode { + factory CedarType.fromJson(Map json) { + switch (json) { + case {'type': 'Boolean'}: + return CedarBooleanType( + required: json['required'] as bool?, + ); + case {'type': 'String'}: + return CedarStringType( + required: json['required'] as bool?, + ); + case {'type': 'Long'}: + return CedarLongType( + required: json['required'] as bool?, + ); + case {'type': 'Set'}: + return CedarSetType( + elementType: CedarType.fromJson( + json['element'] as Map, + ), + required: json['required'] as bool?, + ); + case {'type': 'Record'}: + return CedarRecordType( + attributes: (json['attributes'] as Map) + .cast() + .map( + (name, json) => MapEntry( + name, + CedarType.fromJson(json as Map), + ), + ), + required: json['required'] as bool?, + additionalAttributes: json['additionalAttributes'] as bool?, + ); + case {'type': 'Entity'}: + return CedarEntityType( + entityName: json['name'] as String, + required: json['required'] as bool?, + ); + case {'type': 'Extension', 'name': 'ipaddr'}: + return CedarIpAddressType( + required: json['required'] as bool?, + ); + case {'type': 'Extension', 'name': 'decimal'}: + return CedarDecimalType( + required: json['required'] as bool?, + ); + case {'type': final String type}: + if (json.keys.length > 1) { + throw ArgumentError.value(json, 'json', 'Invalid Cedar type'); + } + return CedarTypeReference(type: type); + default: + throw ArgumentError.value(json, 'json', 'Invalid Cedar type'); + } + } + + const factory CedarType.boolean({ + bool required, + }) = CedarBooleanType; + + const factory CedarType.string({ + bool required, + }) = CedarStringType; + + const factory CedarType.long({ + bool required, + }) = CedarLongType; + + const factory CedarType.set({ + required CedarType elementType, + bool required, + }) = CedarSetType; + + const factory CedarType.record({ + required Map attributes, + bool required, + }) = CedarRecordType; + + const factory CedarType.entity({ + required String entityName, + bool required, + }) = CedarEntityType; + + const factory CedarType.ipAddress({ + bool required, + }) = CedarIpAddressType; + + const factory CedarType.decimal({ + bool required, + }) = CedarDecimalType; + + const factory CedarType.reference({ + required String type, + }) = CedarTypeReference; +} + +final class CedarTypeReference implements CedarType { + const CedarTypeReference({ + required this.type, + }); + + factory CedarTypeReference.fromJson(Map json) { + return CedarTypeReference(type: json['type'] as String); + } + + final String type; + + @override + Map toJson() => { + 'type': type, + }; +} + +sealed class CedarTypeDefinition implements CedarType { + const CedarTypeDefinition({ + this.required, + }); + + /// Whether a value of this type is required. + /// + /// Defaults to `true`. + final bool? required; + + const factory CedarTypeDefinition.boolean({ + bool required, + }) = CedarBooleanType; + + const factory CedarTypeDefinition.string({ + bool required, + }) = CedarStringType; + + const factory CedarTypeDefinition.long({ + bool required, + }) = CedarLongType; + + const factory CedarTypeDefinition.set({ + required CedarType elementType, + bool required, + }) = CedarSetType; + + const factory CedarTypeDefinition.record({ + required Map attributes, + bool required, + }) = CedarRecordType; + + const factory CedarTypeDefinition.entity({ + required String entityName, + bool required, + }) = CedarEntityType; + + const factory CedarTypeDefinition.ipAddress({ + bool required, + }) = CedarIpAddressType; + + const factory CedarTypeDefinition.decimal({ + bool required, + }) = CedarDecimalType; +} + +final class CedarBooleanType extends CedarTypeDefinition { + const CedarBooleanType({ + super.required, + }); + + @override + Map toJson() => { + 'type': 'Boolean', + if (required != null) 'required': required, + }; +} + +final class CedarStringType extends CedarTypeDefinition { + const CedarStringType({ + super.required, + }); + + @override + Map toJson() => { + 'type': 'String', + if (required != null) 'required': required, + }; +} + +final class CedarLongType extends CedarTypeDefinition { + const CedarLongType({ + super.required, + }); + + @override + Map toJson() => { + 'type': 'Long', + if (required != null) 'required': required, + }; +} + +final class CedarSetType extends CedarTypeDefinition { + const CedarSetType({ + required this.elementType, + super.required, + }); + + /// The type of the elements in the set. + final CedarType elementType; + + @override + Map toJson() => { + 'type': 'Set', + if (required != null) 'required': required, + 'element': elementType.toJson(), + }; +} + +final class CedarRecordType extends CedarTypeDefinition { + const CedarRecordType({ + required this.attributes, + super.required, + this.additionalAttributes, + }); + + final Map attributes; + // TODO: What is this used for? + final bool? additionalAttributes; + + @override + Map toJson() => { + 'type': 'Record', + if (required != null) 'required': required, + 'attributes': attributes.map( + (name, type) => MapEntry(name, type.toJson()), + ), + if (additionalAttributes != null) + 'additionalAttributes': additionalAttributes, + }; +} + +final class CedarEntityType extends CedarTypeDefinition { + const CedarEntityType({ + required this.entityName, + super.required, + }); + + /// The namespaced name of the entity type. + final String entityName; + + @override + Map toJson() => { + 'type': 'Entity', + if (required != null) 'required': required, + 'name': entityName, + }; +} + +final class CedarIpAddressType extends CedarTypeDefinition { + const CedarIpAddressType({ + super.required, + }); + + @override + Map toJson() => { + 'type': 'Extension', + if (required != null) 'required': required, + 'name': 'ipaddr', + }; +} + +final class CedarDecimalType extends CedarTypeDefinition { + const CedarDecimalType({ + super.required, + }); + + @override + Map toJson() => { + 'type': 'Extension', + if (required != null) 'required': required, + 'name': 'decimal', + }; +} + +final class CedarActionSchema implements CedarNode { + const CedarActionSchema({ + this.memberOf, + required this.appliesTo, + }); + + factory CedarActionSchema.fromJson(Map json) { + return CedarActionSchema( + memberOf: (json['memberOf'] as List?) + ?.map((json) => CedarEntityId.fromJson(json as Map)) + .toList(), + appliesTo: switch (json['appliesTo']) { + null => null, + final Map json => CedarActionAppliesTo.fromJson( + json.cast(), + ), + _ => throw ArgumentError.value( + json, + 'json', + 'Invalid Cedar action schema', + ), + }, + ); + } + + final List? memberOf; + final CedarActionAppliesTo? appliesTo; + + @override + Map toJson() => { + 'memberOf': memberOf?.map((e) => e.toJson()).toList(), + 'appliesTo': appliesTo?.toJson(), + }; +} + +final class CedarActionAppliesTo implements CedarNode { + const CedarActionAppliesTo({ + this.principalTypes, + this.resourceTypes, + this.contextType, + }); + + factory CedarActionAppliesTo.fromJson(Map json) { + return CedarActionAppliesTo( + principalTypes: (json['principalTypes'] as List?)?.cast(), + resourceTypes: (json['resourceTypes'] as List?)?.cast(), + contextType: json['context'] == null + ? null + : CedarType.fromJson( + (json['context'] as Map).cast(), + ), + ); + } + + final List? principalTypes; + final List? resourceTypes; + + /// Must be a [CedarRecordType] or a [CedarTypeReference] to a + /// [CedarRecordType]. + final CedarType? contextType; + + @override + Map toJson() => { + 'principalTypes': principalTypes, + 'resourceTypes': resourceTypes, + if (contextType != null) 'context': contextType!.toJson(), + }; +} diff --git a/packages/cedar_common/lib/src/policy/cedar_policy.dart b/packages/cedar_common/lib/src/policy/cedar_policy.dart new file mode 100644 index 00000000..9606d916 --- /dev/null +++ b/packages/cedar_common/lib/src/policy/cedar_policy.dart @@ -0,0 +1,368 @@ +/// Provides builders and serializers for Cedar policies which conform to the +/// official JSON format: https://docs.cedarpolicy.com/policies/json-format.html. +library; + +import 'package:built_collection/built_collection.dart'; +import 'package:built_value/built_value.dart'; +import 'package:cedar_common/cedar_common.dart'; + +part 'cedar_policy.g.dart'; + +enum CedarPolicyEffect { + permit, + forbid; + + factory CedarPolicyEffect.fromJson(String json) => values.byName(json); + + String toJson() => name; +} + +enum CedarPolicyOp { + all('All'), + equals('=='), + in$('in'), + is$('is'); + + const CedarPolicyOp(this.name); + + factory CedarPolicyOp.fromJson(String json) => values.firstWhere( + (op) => op.name == json, + orElse: () => throw ArgumentError.value( + json, + 'json', + 'Invalid CedarPolicyOp. Expected one of: ${values.map((v) => v.name).join(', ')}', + ), + ); + + final String name; + + String toJson() => name; +} + +enum CedarPolicyConditionKind { + when, + unless; + + factory CedarPolicyConditionKind.fromJson(String json) => values.byName(json); + + String toJson() => name; +} + +abstract class CedarPolicy implements Built { + factory CedarPolicy({ + String? id, + required CedarPolicyEffect effect, + required CedarPolicyPrincipal principal, + required CedarPolicyAction action, + required CedarPolicyResource resource, + required List conditions, + Map? annotations, + }) { + return _$CedarPolicy._( + id: id, + effect: effect, + principal: principal, + action: action, + resource: resource, + conditions: conditions.build(), + annotations: annotations?.build(), + ); + } + + factory CedarPolicy.build([ + void Function(CedarPolicyBuilder) updates, + ]) = _$CedarPolicy; + CedarPolicy._(); + + /// An optional name to uniquely identify the policy when performing + /// authorization checks later. + @BuiltValueField(serialize: false) + String? get id; + + CedarPolicyEffect get effect; + CedarPolicyPrincipal get principal; + CedarPolicyAction get action; + CedarPolicyResource get resource; + BuiltList get conditions; + BuiltMap? get annotations; + + Map toJson() => { + 'effect': effect.toJson(), + 'principal': principal.toJson(), + 'action': action.toJson(), + 'resource': resource.toJson(), + 'conditions': conditions.map((c) => c.toJson()).toList(), + if (annotations != null) 'annotations': annotations!.toMap(), + }; + + factory CedarPolicy.fromJson(Map json) { + return CedarPolicy( + effect: CedarPolicyEffect.fromJson(json['effect'] as String), + principal: CedarPolicyPrincipal.fromJson( + json['principal'] as Map, + ), + action: CedarPolicyAction.fromJson( + json['action'] as Map, + ), + resource: CedarPolicyResource.fromJson( + json['resource'] as Map, + ), + conditions: (json['conditions'] as List) + .map((c) => CedarPolicyCondition.fromJson(c as Map)) + .toList(), + annotations: (json['annotations'] as Map?)?.cast(), + ); + } +} + +abstract class CedarPolicyPrincipal + implements Built { + factory CedarPolicyPrincipal({ + required CedarPolicyOp op, + CedarEntityId? entity, + String? entityType, + }) { + return CedarPolicyPrincipal.build( + (b) => b + ..op = op + ..entity = entity + ..entityType = entityType, + ); + } + + factory CedarPolicyPrincipal.build([ + void Function(CedarPolicyPrincipalBuilder) updates, + ]) = _$CedarPolicyPrincipal; + CedarPolicyPrincipal._(); + + @BuiltValueHook(finalizeBuilder: true) + static void _validate(CedarPolicyPrincipalBuilder policy) { + switch (policy.op) { + case CedarPolicyOp.all: + _expectAbsent('entity', policy.entity); + _expectAbsent('entityType', policy.entityType); + case CedarPolicyOp.equals: + _expectPresent('entity', policy.entity); + _expectAbsent('entityType', policy.entityType); + case CedarPolicyOp.in$: + _expectPresent('entity', policy.entity); + _expectAbsent('entityType', policy.entityType); + case CedarPolicyOp.is$: + _expectPresent('entityType', policy.entityType); + _expectAbsent('entity', policy.entity); + default: + throw ArgumentError.value(policy.op, 'op', 'Invalid op for principal'); + } + } + + CedarPolicyOp get op; + CedarEntityId? get entity; + + @BuiltValueField(wireName: 'entity_type') + String? get entityType; + + Map toJson() => { + 'op': op.toJson(), + if (entity != null) 'entity': entity!.toJson(), + if (entityType != null) 'entity_type': entityType, + }; + + factory CedarPolicyPrincipal.fromJson(Map json) { + return CedarPolicyPrincipal( + op: CedarPolicyOp.fromJson(json['op'] as String), + entity: json['entity'] == null + ? null + : CedarEntityId.fromJson(json['entity'] as Map), + entityType: json['entity_type'] as String?, + ); + } +} + +abstract class CedarPolicyAction + implements Built { + factory CedarPolicyAction({ + required CedarPolicyOp op, + CedarEntityId? entity, + List? entities, + }) { + return CedarPolicyAction.build((b) { + b + ..op = op + ..entity = entity; + if (entities != null) { + b.entities.addAll(entities); + } + }); + } + + factory CedarPolicyAction.build([ + void Function(CedarPolicyActionBuilder) updates, + ]) = _$CedarPolicyAction; + CedarPolicyAction._(); + + @BuiltValueHook(finalizeBuilder: true) + static void _validate(CedarPolicyActionBuilder policy) { + void expectNoEntities() { + if (policy._entities case final entities? when entities.isNotEmpty) { + throw ArgumentError.value( + policy._entities, + 'entities', + 'Should be empty', + ); + } + } + + switch (policy.op) { + case CedarPolicyOp.all: + _expectAbsent('entity', policy.entity); + expectNoEntities(); + case CedarPolicyOp.equals: + _expectPresent('entity', policy.entity); + expectNoEntities(); + case CedarPolicyOp.in$: + if (policy.entity != null) { + expectNoEntities(); + } else if (policy._entities != null) { + _expectAbsent('entity', policy.entity); + } else { + throw ArgumentError( + 'Either entity or entities must be specified', + ); + } + case CedarPolicyOp.is$: + default: + throw ArgumentError.value(policy.op, 'op', 'Invalid op for action'); + } + } + + CedarPolicyOp get op; + CedarEntityId? get entity; + BuiltList? get entities; + + Map toJson() => { + 'op': op.toJson(), + if (entity != null) 'entity': entity!.toJson(), + if (entities != null && op == CedarPolicyOp.in$) + 'entities': entities!.map((e) => e.toJson()).toList(), + }; + + static CedarPolicyAction fromJson(Map json) { + return CedarPolicyAction( + op: CedarPolicyOp.fromJson(json['op'] as String), + entity: json['entity'] == null + ? null + : CedarEntityId.fromJson(json['entity'] as Map), + entities: (json['entities'] as List?) + ?.map((e) => CedarEntityId.fromJson(e as Map)) + .toList(), + ); + } +} + +abstract class CedarPolicyResource + implements Built { + factory CedarPolicyResource({ + required CedarPolicyOp op, + CedarEntityId? entity, + String? entityType, + }) { + return CedarPolicyResource.build((b) { + b + ..op = op + ..entity = entity + ..entityType = entityType; + }); + } + + factory CedarPolicyResource.build([ + void Function(CedarPolicyResourceBuilder) updates, + ]) = _$CedarPolicyResource; + CedarPolicyResource._(); + + @BuiltValueHook(finalizeBuilder: true) + static void _validate(CedarPolicyResourceBuilder policy) { + switch (policy.op) { + case CedarPolicyOp.all: + _expectAbsent('entity', policy.entity); + _expectAbsent('entityType', policy.entityType); + case CedarPolicyOp.equals: + _expectPresent('entity', policy.entity); + _expectAbsent('entityType', policy.entityType); + case CedarPolicyOp.in$: + _expectPresent('entity', policy.entity); + _expectAbsent('entityType', policy.entityType); + case CedarPolicyOp.is$: + _expectPresent('entityType', policy.entityType); + _expectAbsent('entity', policy.entity); + default: + throw ArgumentError.value(policy.op, 'op', 'Invalid op for resource'); + } + } + + CedarPolicyOp get op; + CedarEntityId? get entity; + + @BuiltValueField(wireName: 'entity_type') + String? get entityType; + + Map toJson() => { + 'op': op.toJson(), + if (entity != null) 'entity': entity!.toJson(), + if (entityType != null) 'entity_type': entityType, + }; + + factory CedarPolicyResource.fromJson(Map json) { + return CedarPolicyResource( + op: CedarPolicyOp.fromJson(json['op'] as String), + entity: json['entity'] == null + ? null + : CedarEntityId.fromJson(json['entity'] as Map), + entityType: json['entity_type'] as String?, + ); + } +} + +abstract class CedarPolicyCondition + implements Built { + factory CedarPolicyCondition({ + required CedarPolicyConditionKind kind, + required JsonExpr body, + }) { + return _$CedarPolicyCondition._(kind: kind, body: body); + } + + factory CedarPolicyCondition.build([ + void Function(CedarPolicyConditionBuilder) updates, + ]) = _$CedarPolicyCondition; + CedarPolicyCondition._(); + + CedarPolicyConditionKind get kind; + JsonExpr get body; + + Map toJson() => { + 'kind': kind.toJson(), + 'body': body.toJson(), + }; + + factory CedarPolicyCondition.fromJson(Map json) => + CedarPolicyCondition( + kind: CedarPolicyConditionKind.fromJson(json['kind'] as String), + body: JsonExpr.fromJson(json['body'] as Map), + ); +} + +void _expectPresent(String name, Object? value) { + if (value == null) { + throw ArgumentError.notNull(name); + } +} + +void _expectAbsent(String name, Object? value) { + if (value != null) { + throw ArgumentError.value( + value, + name, + 'Should be absent', + ); + } +} diff --git a/packages/cedar_common/lib/src/policy/cedar_policy.g.dart b/packages/cedar_common/lib/src/policy/cedar_policy.g.dart new file mode 100644 index 00000000..d284a7df --- /dev/null +++ b/packages/cedar_common/lib/src/policy/cedar_policy.g.dart @@ -0,0 +1,652 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'cedar_policy.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +class _$CedarPolicy extends CedarPolicy { + @override + final String? id; + @override + final CedarPolicyEffect effect; + @override + final CedarPolicyPrincipal principal; + @override + final CedarPolicyAction action; + @override + final CedarPolicyResource resource; + @override + final BuiltList conditions; + @override + final BuiltMap? annotations; + + factory _$CedarPolicy([void Function(CedarPolicyBuilder)? updates]) => + (new CedarPolicyBuilder()..update(updates))._build(); + + _$CedarPolicy._( + {this.id, + required this.effect, + required this.principal, + required this.action, + required this.resource, + required this.conditions, + this.annotations}) + : super._() { + BuiltValueNullFieldError.checkNotNull(effect, r'CedarPolicy', 'effect'); + BuiltValueNullFieldError.checkNotNull( + principal, r'CedarPolicy', 'principal'); + BuiltValueNullFieldError.checkNotNull(action, r'CedarPolicy', 'action'); + BuiltValueNullFieldError.checkNotNull(resource, r'CedarPolicy', 'resource'); + BuiltValueNullFieldError.checkNotNull( + conditions, r'CedarPolicy', 'conditions'); + } + + @override + CedarPolicy rebuild(void Function(CedarPolicyBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + CedarPolicyBuilder toBuilder() => new CedarPolicyBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is CedarPolicy && + id == other.id && + effect == other.effect && + principal == other.principal && + action == other.action && + resource == other.resource && + conditions == other.conditions && + annotations == other.annotations; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, id.hashCode); + _$hash = $jc(_$hash, effect.hashCode); + _$hash = $jc(_$hash, principal.hashCode); + _$hash = $jc(_$hash, action.hashCode); + _$hash = $jc(_$hash, resource.hashCode); + _$hash = $jc(_$hash, conditions.hashCode); + _$hash = $jc(_$hash, annotations.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } + + @override + String toString() { + return (newBuiltValueToStringHelper(r'CedarPolicy') + ..add('id', id) + ..add('effect', effect) + ..add('principal', principal) + ..add('action', action) + ..add('resource', resource) + ..add('conditions', conditions) + ..add('annotations', annotations)) + .toString(); + } +} + +class CedarPolicyBuilder implements Builder { + _$CedarPolicy? _$v; + + String? _id; + String? get id => _$this._id; + set id(String? id) => _$this._id = id; + + CedarPolicyEffect? _effect; + CedarPolicyEffect? get effect => _$this._effect; + set effect(CedarPolicyEffect? effect) => _$this._effect = effect; + + CedarPolicyPrincipalBuilder? _principal; + CedarPolicyPrincipalBuilder get principal => + _$this._principal ??= new CedarPolicyPrincipalBuilder(); + set principal(CedarPolicyPrincipalBuilder? principal) => + _$this._principal = principal; + + CedarPolicyActionBuilder? _action; + CedarPolicyActionBuilder get action => + _$this._action ??= new CedarPolicyActionBuilder(); + set action(CedarPolicyActionBuilder? action) => _$this._action = action; + + CedarPolicyResourceBuilder? _resource; + CedarPolicyResourceBuilder get resource => + _$this._resource ??= new CedarPolicyResourceBuilder(); + set resource(CedarPolicyResourceBuilder? resource) => + _$this._resource = resource; + + ListBuilder? _conditions; + ListBuilder get conditions => + _$this._conditions ??= new ListBuilder(); + set conditions(ListBuilder? conditions) => + _$this._conditions = conditions; + + MapBuilder? _annotations; + MapBuilder get annotations => + _$this._annotations ??= new MapBuilder(); + set annotations(MapBuilder? annotations) => + _$this._annotations = annotations; + + CedarPolicyBuilder(); + + CedarPolicyBuilder get _$this { + final $v = _$v; + if ($v != null) { + _id = $v.id; + _effect = $v.effect; + _principal = $v.principal.toBuilder(); + _action = $v.action.toBuilder(); + _resource = $v.resource.toBuilder(); + _conditions = $v.conditions.toBuilder(); + _annotations = $v.annotations?.toBuilder(); + _$v = null; + } + return this; + } + + @override + void replace(CedarPolicy other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$CedarPolicy; + } + + @override + void update(void Function(CedarPolicyBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + CedarPolicy build() => _build(); + + _$CedarPolicy _build() { + _$CedarPolicy _$result; + try { + _$result = _$v ?? + new _$CedarPolicy._( + id: id, + effect: BuiltValueNullFieldError.checkNotNull( + effect, r'CedarPolicy', 'effect'), + principal: principal.build(), + action: action.build(), + resource: resource.build(), + conditions: conditions.build(), + annotations: _annotations?.build()); + } catch (_) { + late String _$failedField; + try { + _$failedField = 'principal'; + principal.build(); + _$failedField = 'action'; + action.build(); + _$failedField = 'resource'; + resource.build(); + _$failedField = 'conditions'; + conditions.build(); + _$failedField = 'annotations'; + _annotations?.build(); + } catch (e) { + throw new BuiltValueNestedFieldError( + r'CedarPolicy', _$failedField, e.toString()); + } + rethrow; + } + replace(_$result); + return _$result; + } +} + +class _$CedarPolicyPrincipal extends CedarPolicyPrincipal { + @override + final CedarPolicyOp op; + @override + final CedarEntityId? entity; + @override + final String? entityType; + + factory _$CedarPolicyPrincipal( + [void Function(CedarPolicyPrincipalBuilder)? updates]) => + (new CedarPolicyPrincipalBuilder()..update(updates))._build(); + + _$CedarPolicyPrincipal._({required this.op, this.entity, this.entityType}) + : super._() { + BuiltValueNullFieldError.checkNotNull(op, r'CedarPolicyPrincipal', 'op'); + } + + @override + CedarPolicyPrincipal rebuild( + void Function(CedarPolicyPrincipalBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + CedarPolicyPrincipalBuilder toBuilder() => + new CedarPolicyPrincipalBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is CedarPolicyPrincipal && + op == other.op && + entity == other.entity && + entityType == other.entityType; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, op.hashCode); + _$hash = $jc(_$hash, entity.hashCode); + _$hash = $jc(_$hash, entityType.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } + + @override + String toString() { + return (newBuiltValueToStringHelper(r'CedarPolicyPrincipal') + ..add('op', op) + ..add('entity', entity) + ..add('entityType', entityType)) + .toString(); + } +} + +class CedarPolicyPrincipalBuilder + implements Builder { + _$CedarPolicyPrincipal? _$v; + + CedarPolicyOp? _op; + CedarPolicyOp? get op => _$this._op; + set op(CedarPolicyOp? op) => _$this._op = op; + + CedarEntityId? _entity; + CedarEntityId? get entity => _$this._entity; + set entity(CedarEntityId? entity) => _$this._entity = entity; + + String? _entityType; + String? get entityType => _$this._entityType; + set entityType(String? entityType) => _$this._entityType = entityType; + + CedarPolicyPrincipalBuilder(); + + CedarPolicyPrincipalBuilder get _$this { + final $v = _$v; + if ($v != null) { + _op = $v.op; + _entity = $v.entity; + _entityType = $v.entityType; + _$v = null; + } + return this; + } + + @override + void replace(CedarPolicyPrincipal other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$CedarPolicyPrincipal; + } + + @override + void update(void Function(CedarPolicyPrincipalBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + CedarPolicyPrincipal build() => _build(); + + _$CedarPolicyPrincipal _build() { + CedarPolicyPrincipal._validate(this); + final _$result = _$v ?? + new _$CedarPolicyPrincipal._( + op: BuiltValueNullFieldError.checkNotNull( + op, r'CedarPolicyPrincipal', 'op'), + entity: entity, + entityType: entityType); + replace(_$result); + return _$result; + } +} + +class _$CedarPolicyAction extends CedarPolicyAction { + @override + final CedarPolicyOp op; + @override + final CedarEntityId? entity; + @override + final BuiltList? entities; + + factory _$CedarPolicyAction( + [void Function(CedarPolicyActionBuilder)? updates]) => + (new CedarPolicyActionBuilder()..update(updates))._build(); + + _$CedarPolicyAction._({required this.op, this.entity, this.entities}) + : super._() { + BuiltValueNullFieldError.checkNotNull(op, r'CedarPolicyAction', 'op'); + } + + @override + CedarPolicyAction rebuild(void Function(CedarPolicyActionBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + CedarPolicyActionBuilder toBuilder() => + new CedarPolicyActionBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is CedarPolicyAction && + op == other.op && + entity == other.entity && + entities == other.entities; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, op.hashCode); + _$hash = $jc(_$hash, entity.hashCode); + _$hash = $jc(_$hash, entities.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } + + @override + String toString() { + return (newBuiltValueToStringHelper(r'CedarPolicyAction') + ..add('op', op) + ..add('entity', entity) + ..add('entities', entities)) + .toString(); + } +} + +class CedarPolicyActionBuilder + implements Builder { + _$CedarPolicyAction? _$v; + + CedarPolicyOp? _op; + CedarPolicyOp? get op => _$this._op; + set op(CedarPolicyOp? op) => _$this._op = op; + + CedarEntityId? _entity; + CedarEntityId? get entity => _$this._entity; + set entity(CedarEntityId? entity) => _$this._entity = entity; + + ListBuilder? _entities; + ListBuilder get entities => + _$this._entities ??= new ListBuilder(); + set entities(ListBuilder? entities) => + _$this._entities = entities; + + CedarPolicyActionBuilder(); + + CedarPolicyActionBuilder get _$this { + final $v = _$v; + if ($v != null) { + _op = $v.op; + _entity = $v.entity; + _entities = $v.entities?.toBuilder(); + _$v = null; + } + return this; + } + + @override + void replace(CedarPolicyAction other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$CedarPolicyAction; + } + + @override + void update(void Function(CedarPolicyActionBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + CedarPolicyAction build() => _build(); + + _$CedarPolicyAction _build() { + CedarPolicyAction._validate(this); + _$CedarPolicyAction _$result; + try { + _$result = _$v ?? + new _$CedarPolicyAction._( + op: BuiltValueNullFieldError.checkNotNull( + op, r'CedarPolicyAction', 'op'), + entity: entity, + entities: _entities?.build()); + } catch (_) { + late String _$failedField; + try { + _$failedField = 'entities'; + _entities?.build(); + } catch (e) { + throw new BuiltValueNestedFieldError( + r'CedarPolicyAction', _$failedField, e.toString()); + } + rethrow; + } + replace(_$result); + return _$result; + } +} + +class _$CedarPolicyResource extends CedarPolicyResource { + @override + final CedarPolicyOp op; + @override + final CedarEntityId? entity; + @override + final String? entityType; + + factory _$CedarPolicyResource( + [void Function(CedarPolicyResourceBuilder)? updates]) => + (new CedarPolicyResourceBuilder()..update(updates))._build(); + + _$CedarPolicyResource._({required this.op, this.entity, this.entityType}) + : super._() { + BuiltValueNullFieldError.checkNotNull(op, r'CedarPolicyResource', 'op'); + } + + @override + CedarPolicyResource rebuild( + void Function(CedarPolicyResourceBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + CedarPolicyResourceBuilder toBuilder() => + new CedarPolicyResourceBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is CedarPolicyResource && + op == other.op && + entity == other.entity && + entityType == other.entityType; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, op.hashCode); + _$hash = $jc(_$hash, entity.hashCode); + _$hash = $jc(_$hash, entityType.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } + + @override + String toString() { + return (newBuiltValueToStringHelper(r'CedarPolicyResource') + ..add('op', op) + ..add('entity', entity) + ..add('entityType', entityType)) + .toString(); + } +} + +class CedarPolicyResourceBuilder + implements Builder { + _$CedarPolicyResource? _$v; + + CedarPolicyOp? _op; + CedarPolicyOp? get op => _$this._op; + set op(CedarPolicyOp? op) => _$this._op = op; + + CedarEntityId? _entity; + CedarEntityId? get entity => _$this._entity; + set entity(CedarEntityId? entity) => _$this._entity = entity; + + String? _entityType; + String? get entityType => _$this._entityType; + set entityType(String? entityType) => _$this._entityType = entityType; + + CedarPolicyResourceBuilder(); + + CedarPolicyResourceBuilder get _$this { + final $v = _$v; + if ($v != null) { + _op = $v.op; + _entity = $v.entity; + _entityType = $v.entityType; + _$v = null; + } + return this; + } + + @override + void replace(CedarPolicyResource other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$CedarPolicyResource; + } + + @override + void update(void Function(CedarPolicyResourceBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + CedarPolicyResource build() => _build(); + + _$CedarPolicyResource _build() { + CedarPolicyResource._validate(this); + final _$result = _$v ?? + new _$CedarPolicyResource._( + op: BuiltValueNullFieldError.checkNotNull( + op, r'CedarPolicyResource', 'op'), + entity: entity, + entityType: entityType); + replace(_$result); + return _$result; + } +} + +class _$CedarPolicyCondition extends CedarPolicyCondition { + @override + final CedarPolicyConditionKind kind; + @override + final JsonExpr body; + + factory _$CedarPolicyCondition( + [void Function(CedarPolicyConditionBuilder)? updates]) => + (new CedarPolicyConditionBuilder()..update(updates))._build(); + + _$CedarPolicyCondition._({required this.kind, required this.body}) + : super._() { + BuiltValueNullFieldError.checkNotNull( + kind, r'CedarPolicyCondition', 'kind'); + BuiltValueNullFieldError.checkNotNull( + body, r'CedarPolicyCondition', 'body'); + } + + @override + CedarPolicyCondition rebuild( + void Function(CedarPolicyConditionBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + CedarPolicyConditionBuilder toBuilder() => + new CedarPolicyConditionBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is CedarPolicyCondition && + kind == other.kind && + body == other.body; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, kind.hashCode); + _$hash = $jc(_$hash, body.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } + + @override + String toString() { + return (newBuiltValueToStringHelper(r'CedarPolicyCondition') + ..add('kind', kind) + ..add('body', body)) + .toString(); + } +} + +class CedarPolicyConditionBuilder + implements Builder { + _$CedarPolicyCondition? _$v; + + CedarPolicyConditionKind? _kind; + CedarPolicyConditionKind? get kind => _$this._kind; + set kind(CedarPolicyConditionKind? kind) => _$this._kind = kind; + + JsonExpr? _body; + JsonExpr? get body => _$this._body; + set body(JsonExpr? body) => _$this._body = body; + + CedarPolicyConditionBuilder(); + + CedarPolicyConditionBuilder get _$this { + final $v = _$v; + if ($v != null) { + _kind = $v.kind; + _body = $v.body; + _$v = null; + } + return this; + } + + @override + void replace(CedarPolicyCondition other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$CedarPolicyCondition; + } + + @override + void update(void Function(CedarPolicyConditionBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + CedarPolicyCondition build() => _build(); + + _$CedarPolicyCondition _build() { + final _$result = _$v ?? + new _$CedarPolicyCondition._( + kind: BuiltValueNullFieldError.checkNotNull( + kind, r'CedarPolicyCondition', 'kind'), + body: BuiltValueNullFieldError.checkNotNull( + body, r'CedarPolicyCondition', 'body')); + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/packages/cedar_common/lib/src/policy/cedar_policy_set.dart b/packages/cedar_common/lib/src/policy/cedar_policy_set.dart new file mode 100644 index 00000000..698fce5b --- /dev/null +++ b/packages/cedar_common/lib/src/policy/cedar_policy_set.dart @@ -0,0 +1,20 @@ +import 'package:cedar_common/cedar_common.dart'; + +final class CedarPolicySet { + const CedarPolicySet({ + this.policies = const {}, + }); + + factory CedarPolicySet.fromJson(Map json) { + return CedarPolicySet( + policies: { + for (final MapEntry(key: id, value: json) in json.entries) + id: CedarPolicy.fromJson(json as Map) + .rebuild((p) => p..id ??= id), + }, + ); + } + + final Map policies; + // TODO(dnys1): Templates +} diff --git a/packages/cedar_common/lib/src/policy/json_expr.dart b/packages/cedar_common/lib/src/policy/json_expr.dart new file mode 100644 index 00000000..2a43cb09 --- /dev/null +++ b/packages/cedar_common/lib/src/policy/json_expr.dart @@ -0,0 +1,1155 @@ +import 'dart:convert'; + +import 'package:cedar_common/src/ast/cedar_entity_id.dart'; +import 'package:collection/collection.dart'; +import 'package:meta/meta.dart'; + +sealed class JsonExprOp { + factory JsonExprOp.fromJson(String json) => switch (json) { + 'Value' => JsonExprOpCode.value, + 'Var' => JsonExprOpCode.variable, + 'Slot' => JsonExprOpCode.slot, + 'Unknown' => JsonExprOpCode.unknown, + '!' => JsonExprOpCode.not, + 'neg' => JsonExprOpCode.neg, + '==' => JsonExprOpCode.equals, + '!=' => JsonExprOpCode.notEquals, + 'in' => JsonExprOpCode.in$, + '<' => JsonExprOpCode.lessThan, + '<=' => JsonExprOpCode.lessThanOrEquals, + '>' => JsonExprOpCode.greaterThan, + '>=' => JsonExprOpCode.greaterThanOrEquals, + '&&' => JsonExprOpCode.and, + '||' => JsonExprOpCode.or, + '+' => JsonExprOpCode.plus, + '-' => JsonExprOpCode.minus, + '*' => JsonExprOpCode.times, + 'contains' => JsonExprOpCode.contains, + 'containsAll' => JsonExprOpCode.containsAll, + 'containsAny' => JsonExprOpCode.containsAny, + '.' => JsonExprOpCode.getAttribute, + 'has' => JsonExprOpCode.hasAttribute, + 'like' => JsonExprOpCode.like, + 'is' => JsonExprOpCode.is$, + 'if-then-else' => JsonExprOpCode.ifThenElse, + 'Set' => JsonExprOpCode.set, + 'Record' => JsonExprOpCode.record, + _ => JsonExprOpFunc(json), + }; + + String toJson(); +} + +final class JsonExprOpFunc implements JsonExprOp { + const JsonExprOpFunc(this.name); + + final String name; + + @override + String toJson() => name; + + @override + bool operator ==(Object other) => + identical(this, other) || other is JsonExprOpFunc && name == other.name; + + @override + int get hashCode => name.hashCode; +} + +enum JsonExprOpCode implements JsonExprOp { + value, + variable, + slot, + unknown, + not, + neg, + equals, + notEquals, + in$, + lessThan, + lessThanOrEquals, + greaterThan, + greaterThanOrEquals, + and, + or, + plus, + minus, + times, + contains, + containsAll, + containsAny, + getAttribute, + hasAttribute, + like, + is$, + ifThenElse, + set, + record; + + @override + String toJson() => switch (this) { + value => 'Value', + variable => 'Var', + slot => 'Slot', + unknown => 'Unknown', + not => '!', + neg => 'neg', + equals => '==', + notEquals => '!=', + in$ => 'in', + lessThan => '<', + lessThanOrEquals => '<=', + greaterThan => '>', + greaterThanOrEquals => '>=', + and => '&&', + or => '||', + plus => '+', + minus => '-', + times => '*', + contains => 'contains', + containsAll => 'containsAll', + containsAny => 'containsAny', + getAttribute => '.', + hasAttribute => 'has', + like => 'like', + is$ => 'is', + ifThenElse => 'if-then-else', + set => 'Set', + record => 'Record', + }; +} + +sealed class JsonExpr { + const JsonExpr(); + + factory JsonExpr.fromJson(Map json) { + if (json.keys.length != 1) { + throw FormatException('Expected exactly one key in JSON expression'); + } + final MapEntry(:key, :value) = json.entries.first; + final op = JsonExprOp.fromJson(key); + return switch (op) { + JsonExprOpCode.value => JsonExprValue.fromJson(value), + JsonExprOpCode.variable => JsonExprVariable.fromJson(value as String), + JsonExprOpCode.slot => JsonExprSlot.fromJson(value as String), + JsonExprOpCode.unknown => + JsonExprUnknown.fromJson(value as Map), + JsonExprOpCode.not => JsonExprNot.fromJson(value as Map), + JsonExprOpCode.neg => JsonExprNeg.fromJson(value as Map), + JsonExprOpCode.equals => + JsonExprEquals.fromJson(value as Map), + JsonExprOpCode.notEquals => + JsonExprNotEquals.fromJson(value as Map), + JsonExprOpCode.in$ => JsonExprIn.fromJson(value as Map), + JsonExprOpCode.lessThan => + JsonExprLessThan.fromJson(value as Map), + JsonExprOpCode.lessThanOrEquals => + JsonExprLessThanOrEquals.fromJson(value as Map), + JsonExprOpCode.greaterThan => + JsonExprGreaterThan.fromJson(value as Map), + JsonExprOpCode.greaterThanOrEquals => + JsonExprGreaterThanOrEquals.fromJson(value as Map), + JsonExprOpCode.and => JsonExprAnd.fromJson(value as Map), + JsonExprOpCode.or => JsonExprOr.fromJson(value as Map), + JsonExprOpCode.plus => + JsonExprPlus.fromJson(value as Map), + JsonExprOpCode.minus => + JsonExprMinus.fromJson(value as Map), + JsonExprOpCode.times => + JsonExprTimes.fromJson(value as Map), + JsonExprOpCode.contains => + JsonExprContains.fromJson(value as Map), + JsonExprOpCode.containsAll => + JsonExprContainsAll.fromJson(value as Map), + JsonExprOpCode.containsAny => + JsonExprContainsAny.fromJson(value as Map), + JsonExprOpCode.getAttribute => + JsonExprGetAttribute.fromJson(value as Map), + JsonExprOpCode.hasAttribute => + JsonExprHasAttribute.fromJson(value as Map), + JsonExprOpCode.like => + JsonExprLike.fromJson(value as Map), + JsonExprOpCode.is$ => JsonExprIs.fromJson(value as Map), + JsonExprOpCode.ifThenElse => + JsonExprIfThenElse.fromJson(value as Map), + JsonExprOpCode.set => JsonExprSet.fromJson(value as List), + JsonExprOpCode.record => + JsonExprRecord.fromJson(value as Map), + final JsonExprOpFunc op => JsonExprFuncCall( + op, + (value as List) + .map((el) => JsonExpr.fromJson(el as Map)) + .toList(), + ), + }; + } + + const factory JsonExpr.value(CedarValueJson value) = JsonExprValue; + + const factory JsonExpr.variable(CedarVariable variable) = JsonExprVariable; + + const factory JsonExpr.slot(CedarSlotId slotId) = JsonExprSlot; + + const factory JsonExpr.unknown(String name) = JsonExprUnknown; + + const factory JsonExpr.not(JsonExpr arg) = JsonExprNot; + + const factory JsonExpr.neg(JsonExpr arg) = JsonExprNeg; + + const factory JsonExpr.equals(JsonExpr left, JsonExpr right) = JsonExprEquals; + + const factory JsonExpr.notEquals(JsonExpr left, JsonExpr right) = + JsonExprNotEquals; + + const factory JsonExpr.in$(JsonExpr left, JsonExpr right) = JsonExprIn; + + const factory JsonExpr.lessThan(JsonExpr left, JsonExpr right) = + JsonExprLessThan; + + const factory JsonExpr.lessThanOrEquals(JsonExpr left, JsonExpr right) = + JsonExprLessThanOrEquals; + + const factory JsonExpr.greaterThan(JsonExpr left, JsonExpr right) = + JsonExprGreaterThan; + + const factory JsonExpr.greaterThanOrEquals(JsonExpr left, JsonExpr right) = + JsonExprGreaterThanOrEquals; + + const factory JsonExpr.and(JsonExpr left, JsonExpr right) = JsonExprAnd; + + const factory JsonExpr.or(JsonExpr left, JsonExpr right) = JsonExprOr; + + const factory JsonExpr.plus(JsonExpr left, JsonExpr right) = JsonExprPlus; + + const factory JsonExpr.minus(JsonExpr left, JsonExpr right) = JsonExprMinus; + + const factory JsonExpr.times(JsonExpr left, JsonExpr right) = JsonExprTimes; + + const factory JsonExpr.contains(JsonExpr left, JsonExpr right) = + JsonExprContains; + + const factory JsonExpr.containsAll(JsonExpr left, JsonExpr right) = + JsonExprContainsAll; + + const factory JsonExpr.containsAny(JsonExpr left, JsonExpr right) = + JsonExprContainsAny; + + const factory JsonExpr.getAttribute(JsonExpr left, String attr) = + JsonExprGetAttribute; + + const factory JsonExpr.hasAttribute(JsonExpr left, String attr) = + JsonExprHasAttribute; + + const factory JsonExpr.like(JsonExpr left, String pattern) = JsonExprLike; + + const factory JsonExpr.is$(JsonExpr left, String entityType, + [JsonExpr? inExpr]) = JsonExprIs; + + const factory JsonExpr.ifThenElse({ + required JsonExpr cond, + required JsonExpr then, + required JsonExpr else$, + }) = JsonExprIfThenElse; + + const factory JsonExpr.set(List expressions) = JsonExprSet; + + const factory JsonExpr.record(Map attributes) = + JsonExprRecord; + + const factory JsonExpr.funcCall(JsonExprOpFunc fn, List args) = + JsonExprFuncCall; + + JsonExprOp get op; + + Object? valueToJson(); + + @nonVirtual + Map toJson() => { + op.toJson(): valueToJson(), + }; + + @override + String toString() => _prettyJson(toJson()); +} + +final class JsonExprFuncCall extends JsonExpr { + const JsonExprFuncCall(this.fn, this.args); + + final JsonExprOpFunc fn; + final List args; + + @override + JsonExprOpFunc get op => fn; + + @override + List> valueToJson() => + args.map((arg) => arg.toJson()).toList(); + + @override + bool operator ==(Object other) => + identical(this, other) || + other is JsonExprFuncCall && + op == other.op && + const ListEquality().equals(args, other.args); + + @override + int get hashCode => Object.hash(op, op, args); +} + +sealed class CedarValueJson { + const CedarValueJson(); + + factory CedarValueJson.fromJson(Object? json) { + return switch (json) { + {'__entity': _} => CedarValueEntity.fromJson(json), + {'__extn': _} => CedarValueExtension.fromJson(json), + final bool json => CedarValueBool.fromJson(json), + final num json => CedarValueLong.fromJson(json.toInt()), + final String json => CedarValueString.fromJson(json), + final List json => CedarValueSet.fromJson(json), + final Map json => CedarValueRecord.fromJson(json.cast()), + _ => throw FormatException('Invalid Cedar JSON value: $json'), + }; + } + + const factory CedarValueJson.entity(CedarEntityId entityId) = + CedarValueEntity; + + const factory CedarValueJson.extension(CedarExtensionInvocation extension) = + CedarValueExtension; + + const factory CedarValueJson.bool(bool value) = CedarValueBool; + + const factory CedarValueJson.long(int value) = CedarValueLong; + + const factory CedarValueJson.string(String value) = CedarValueString; + + const factory CedarValueJson.set(List elements) = + CedarValueSet; + + const factory CedarValueJson.record(Map attributes) = + CedarValueRecord; + + Object? toJson(); + + @override + String toString() => _prettyJson(toJson()); +} + +final class CedarValueEntity extends CedarValueJson { + const CedarValueEntity(this.entityId); + + factory CedarValueEntity.fromJson(Map json) { + return CedarValueEntity( + CedarEntityId.fromJson(json['__entity'] as Map), + ); + } + + final CedarEntityId entityId; + + @override + Map toJson() => { + '__entity': entityId.toJson(), + }; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is CedarValueEntity && entityId == other.entityId; + + @override + int get hashCode => entityId.hashCode; +} + +final class CedarValueExtension extends CedarValueJson { + const CedarValueExtension(this.extension); + + factory CedarValueExtension.fromJson(Map json) { + return CedarValueExtension( + CedarExtensionInvocation.fromJson(json['__extn'] as Map), + ); + } + + final CedarExtensionInvocation extension; + + @override + Map toJson() => { + '__extn': extension.toJson(), + }; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is CedarValueExtension && extension == other.extension; + + @override + int get hashCode => extension.hashCode; +} + +final class CedarExtensionInvocation { + const CedarExtensionInvocation({ + required this.fn, + required this.arg, + }); + + factory CedarExtensionInvocation.fromJson(Map json) { + return CedarExtensionInvocation( + fn: json['fn'] as String, + arg: CedarValueJson.fromJson(json['arg']), + ); + } + + final String fn; + final CedarValueJson arg; + + Map toJson() => { + 'fn': fn, + 'arg': arg.toJson(), + }; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is CedarExtensionInvocation && fn == other.fn && arg == other.arg; + + @override + int get hashCode => Object.hash(fn, arg); +} + +final class CedarValueBool extends CedarValueJson { + const CedarValueBool(this.value); + + factory CedarValueBool.fromJson(bool json) { + return CedarValueBool(json); + } + + final bool value; + + @override + bool toJson() => value; + + @override + bool operator ==(Object other) => + identical(this, other) || other is CedarValueBool && value == other.value; + + @override + int get hashCode => value.hashCode; +} + +final class CedarValueLong extends CedarValueJson { + const CedarValueLong(this.value); + + factory CedarValueLong.fromJson(int json) { + return CedarValueLong(json); + } + + final int value; + + @override + int toJson() => value; + + @override + bool operator ==(Object other) => + identical(this, other) || other is CedarValueLong && value == other.value; + + @override + int get hashCode => value.hashCode; +} + +final class CedarValueString extends CedarValueJson { + const CedarValueString(this.value); + + factory CedarValueString.fromJson(String json) { + return CedarValueString(json); + } + + final String value; + + @override + String toJson() => value; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is CedarValueString && value == other.value; + + @override + int get hashCode => value.hashCode; +} + +final class CedarValueSet extends CedarValueJson { + const CedarValueSet(this.elements); + + factory CedarValueSet.fromJson(List json) { + return CedarValueSet([ + for (final element in json) CedarValueJson.fromJson(element), + ]); + } + + final List elements; + + @override + List toJson() => [ + for (final element in elements) element.toJson(), + ]; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is CedarValueSet && + const UnorderedIterableEquality().equals(elements, other.elements); + + @override + int get hashCode => Object.hashAllUnordered(elements); +} + +final class CedarValueRecord extends CedarValueJson { + const CedarValueRecord(this.attributes); + + factory CedarValueRecord.fromJson(Map json) { + return CedarValueRecord({ + for (final entry in json.entries) + entry.key: CedarValueJson.fromJson(entry.value) + }); + } + + final Map attributes; + + @override + Map toJson() => { + for (final entry in attributes.entries) entry.key: entry.value.toJson(), + }; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is CedarValueRecord && + const MapEquality().equals(attributes, other.attributes); + + @override + int get hashCode => const MapEquality().hash(attributes); +} + +final class JsonExprValue extends JsonExpr { + const JsonExprValue(this.value); + + factory JsonExprValue.fromJson(Object? json) { + return JsonExprValue(CedarValueJson.fromJson(json)); + } + + final CedarValueJson value; + + @override + JsonExprOpCode get op => JsonExprOpCode.value; + + @override + Object? valueToJson() => value.toJson(); + + @override + bool operator ==(Object other) => + identical(this, other) || other is JsonExprValue && value == other.value; + + @override + int get hashCode => Object.hash(op, value); +} + +enum CedarVariable { principal, action, resource, context } + +final class JsonExprVariable extends JsonExpr { + const JsonExprVariable(this.variable); + + factory JsonExprVariable.fromJson(String json) { + return JsonExprVariable(CedarVariable.values.byName(json)); + } + + final CedarVariable variable; + + @override + JsonExprOpCode get op => JsonExprOpCode.variable; + + @override + String valueToJson() => variable.name; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is JsonExprVariable && variable == other.variable; + + @override + int get hashCode => Object.hash(op, variable); +} + +enum CedarSlotId { principal, resource } + +final class JsonExprSlot extends JsonExpr { + const JsonExprSlot(this.slotId); + + factory JsonExprSlot.fromJson(String json) { + return JsonExprSlot(CedarSlotId.values.byName(json.substring(1))); + } + + final CedarSlotId slotId; + + @override + JsonExprOpCode get op => JsonExprOpCode.slot; + + @override + String valueToJson() => '?${slotId.name}'; + + @override + bool operator ==(Object other) => + identical(this, other) || other is JsonExprSlot && slotId == other.slotId; + + @override + int get hashCode => Object.hash(op, slotId); +} + +final class JsonExprUnknown extends JsonExpr { + const JsonExprUnknown(this.name); + + factory JsonExprUnknown.fromJson(Map json) { + return JsonExprUnknown(json['name'] as String); + } + + final String name; + + @override + JsonExprOpCode get op => JsonExprOpCode.unknown; + + @override + Map valueToJson() => { + 'name': name, + }; + + @override + bool operator ==(Object other) => + identical(this, other) || other is JsonExprUnknown && name == other.name; + + @override + int get hashCode => Object.hash(op, name); +} + +final class JsonExprNot extends JsonExpr { + const JsonExprNot(this.arg); + + factory JsonExprNot.fromJson(Map json) { + return JsonExprNot( + JsonExpr.fromJson(json['arg'] as Map), + ); + } + + final JsonExpr arg; + + @override + JsonExprOpCode get op => JsonExprOpCode.not; + + @override + Map valueToJson() => { + 'arg': arg.toJson(), + }; + + @override + bool operator ==(Object other) => + identical(this, other) || other is JsonExprNot && arg == other.arg; + + @override + int get hashCode => Object.hash(op, arg); +} + +final class JsonExprNeg extends JsonExpr { + const JsonExprNeg(this.arg); + + factory JsonExprNeg.fromJson(Map json) { + return JsonExprNeg( + JsonExpr.fromJson(json['arg'] as Map), + ); + } + + final JsonExpr arg; + + @override + JsonExprOpCode get op => JsonExprOpCode.neg; + + @override + Map valueToJson() => { + 'arg': arg.toJson(), + }; + + @override + bool operator ==(Object other) => + identical(this, other) || other is JsonExprNeg && arg == other.arg; + + @override + int get hashCode => Object.hash(op, arg); +} + +sealed class JsonBinaryExpr extends JsonExpr { + const JsonBinaryExpr(this.left, this.right); + + final JsonExpr left; + final JsonExpr right; + + @nonVirtual + @override + Map valueToJson() => { + 'left': left.toJson(), + 'right': right.toJson(), + }; + + @override + bool operator ==(Object other) => + identical(this, other) && + other is JsonBinaryExpr && + op == other.op && + left == other.left && + right == other.right; + + @override + int get hashCode => Object.hash(op, left, right); +} + +final class JsonExprEquals extends JsonBinaryExpr { + const JsonExprEquals(super.left, super.right); + + factory JsonExprEquals.fromJson(Map json) { + return JsonExprEquals( + JsonExpr.fromJson(json['left'] as Map), + JsonExpr.fromJson(json['right'] as Map), + ); + } + + @override + JsonExprOpCode get op => JsonExprOpCode.equals; +} + +final class JsonExprNotEquals extends JsonBinaryExpr { + const JsonExprNotEquals(super.left, super.right); + + factory JsonExprNotEquals.fromJson(Map json) { + return JsonExprNotEquals( + JsonExpr.fromJson(json['left'] as Map), + JsonExpr.fromJson(json['right'] as Map), + ); + } + + @override + JsonExprOpCode get op => JsonExprOpCode.notEquals; +} + +final class JsonExprIn extends JsonBinaryExpr { + const JsonExprIn(super.left, super.right); + + factory JsonExprIn.fromJson(Map json) { + return JsonExprIn( + JsonExpr.fromJson(json['left'] as Map), + JsonExpr.fromJson(json['right'] as Map), + ); + } + + @override + JsonExprOpCode get op => JsonExprOpCode.in$; +} + +final class JsonExprLessThan extends JsonBinaryExpr { + const JsonExprLessThan(super.left, super.right); + + factory JsonExprLessThan.fromJson(Map json) { + return JsonExprLessThan( + JsonExpr.fromJson(json['left'] as Map), + JsonExpr.fromJson(json['right'] as Map), + ); + } + + @override + JsonExprOpCode get op => JsonExprOpCode.lessThan; +} + +final class JsonExprLessThanOrEquals extends JsonBinaryExpr { + const JsonExprLessThanOrEquals(super.left, super.right); + + factory JsonExprLessThanOrEquals.fromJson(Map json) { + return JsonExprLessThanOrEquals( + JsonExpr.fromJson(json['left'] as Map), + JsonExpr.fromJson(json['right'] as Map), + ); + } + + @override + JsonExprOpCode get op => JsonExprOpCode.lessThanOrEquals; +} + +final class JsonExprGreaterThan extends JsonBinaryExpr { + const JsonExprGreaterThan(super.left, super.right); + + factory JsonExprGreaterThan.fromJson(Map json) { + return JsonExprGreaterThan( + JsonExpr.fromJson(json['left'] as Map), + JsonExpr.fromJson(json['right'] as Map), + ); + } + + @override + JsonExprOpCode get op => JsonExprOpCode.greaterThan; +} + +final class JsonExprGreaterThanOrEquals extends JsonBinaryExpr { + const JsonExprGreaterThanOrEquals(super.left, super.right); + + factory JsonExprGreaterThanOrEquals.fromJson(Map json) { + return JsonExprGreaterThanOrEquals( + JsonExpr.fromJson(json['left'] as Map), + JsonExpr.fromJson(json['right'] as Map), + ); + } + + @override + JsonExprOpCode get op => JsonExprOpCode.greaterThanOrEquals; +} + +final class JsonExprAnd extends JsonBinaryExpr { + const JsonExprAnd(super.left, super.right); + + factory JsonExprAnd.fromJson(Map json) { + return JsonExprAnd( + JsonExpr.fromJson(json['left'] as Map), + JsonExpr.fromJson(json['right'] as Map), + ); + } + + @override + JsonExprOpCode get op => JsonExprOpCode.and; +} + +final class JsonExprOr extends JsonBinaryExpr { + const JsonExprOr(super.left, super.right); + + factory JsonExprOr.fromJson(Map json) { + return JsonExprOr( + JsonExpr.fromJson(json['left'] as Map), + JsonExpr.fromJson(json['right'] as Map), + ); + } + + @override + JsonExprOpCode get op => JsonExprOpCode.or; +} + +final class JsonExprPlus extends JsonBinaryExpr { + const JsonExprPlus(super.left, super.right); + + factory JsonExprPlus.fromJson(Map json) { + return JsonExprPlus( + JsonExpr.fromJson(json['left'] as Map), + JsonExpr.fromJson(json['right'] as Map), + ); + } + + @override + JsonExprOpCode get op => JsonExprOpCode.plus; +} + +final class JsonExprMinus extends JsonBinaryExpr { + const JsonExprMinus(super.left, super.right); + + factory JsonExprMinus.fromJson(Map json) { + return JsonExprMinus( + JsonExpr.fromJson(json['left'] as Map), + JsonExpr.fromJson(json['right'] as Map), + ); + } + + @override + JsonExprOpCode get op => JsonExprOpCode.minus; +} + +final class JsonExprTimes extends JsonBinaryExpr { + const JsonExprTimes(super.left, super.right); + + factory JsonExprTimes.fromJson(Map json) { + return JsonExprTimes( + JsonExpr.fromJson(json['left'] as Map), + JsonExpr.fromJson(json['right'] as Map), + ); + } + + @override + JsonExprOpCode get op => JsonExprOpCode.times; +} + +final class JsonExprContains extends JsonBinaryExpr { + const JsonExprContains(super.left, super.right); + + factory JsonExprContains.fromJson(Map json) { + return JsonExprContains( + JsonExpr.fromJson(json['left'] as Map), + JsonExpr.fromJson(json['right'] as Map), + ); + } + + @override + JsonExprOpCode get op => JsonExprOpCode.contains; +} + +final class JsonExprContainsAll extends JsonBinaryExpr { + const JsonExprContainsAll(super.left, super.right); + + factory JsonExprContainsAll.fromJson(Map json) { + return JsonExprContainsAll( + JsonExpr.fromJson(json['left'] as Map), + JsonExpr.fromJson(json['right'] as Map), + ); + } + + @override + JsonExprOpCode get op => JsonExprOpCode.containsAll; +} + +final class JsonExprContainsAny extends JsonBinaryExpr { + const JsonExprContainsAny(super.left, super.right); + + factory JsonExprContainsAny.fromJson(Map json) { + return JsonExprContainsAny( + JsonExpr.fromJson(json['left'] as Map), + JsonExpr.fromJson(json['right'] as Map), + ); + } + + @override + JsonExprOpCode get op => JsonExprOpCode.containsAny; +} + +final class JsonExprGetAttribute extends JsonExpr { + const JsonExprGetAttribute(this.left, this.attr); + + factory JsonExprGetAttribute.fromJson(Map json) { + return JsonExprGetAttribute( + JsonExpr.fromJson(json['left'] as Map), + json['attr'] as String, + ); + } + + final JsonExpr left; + final String attr; + + @override + JsonExprOpCode get op => JsonExprOpCode.getAttribute; + + @override + Map valueToJson() => { + 'left': left.toJson(), + 'attr': attr, + }; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is JsonExprGetAttribute && left == other.left && attr == other.attr; + + @override + int get hashCode => Object.hash(op, left, attr); +} + +final class JsonExprHasAttribute extends JsonExpr { + const JsonExprHasAttribute(this.left, this.attr); + + factory JsonExprHasAttribute.fromJson(Map json) { + return JsonExprHasAttribute( + JsonExpr.fromJson(json['left'] as Map), + json['attr'] as String, + ); + } + + final JsonExpr left; + final String attr; + + @override + JsonExprOpCode get op => JsonExprOpCode.hasAttribute; + + @override + Map valueToJson() => { + 'left': left.toJson(), + 'attr': attr, + }; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is JsonExprHasAttribute && left == other.left && attr == other.attr; + + @override + int get hashCode => Object.hash(op, left, attr); +} + +final class JsonExprLike extends JsonExpr { + const JsonExprLike(this.left, this.pattern); + + factory JsonExprLike.fromJson(Map json) { + return JsonExprLike( + JsonExpr.fromJson(json['left'] as Map), + json['pattern'] as String, + ); + } + + final JsonExpr left; + final String pattern; + + @override + JsonExprOpCode get op => JsonExprOpCode.like; + + @override + Map valueToJson() => { + 'left': left.toJson(), + 'pattern': pattern, + }; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is JsonExprLike && left == other.left && pattern == other.pattern; + + @override + int get hashCode => Object.hash(op, left, pattern); +} + +final class JsonExprIs extends JsonExpr { + const JsonExprIs(this.left, this.entityType, [this.inExpr]); + + factory JsonExprIs.fromJson(Map json) { + return JsonExprIs( + JsonExpr.fromJson(json['left'] as Map), + json['entity_type'] as String, + json['in'] != null + ? JsonExpr.fromJson(json['in'] as Map) + : null, + ); + } + + final JsonExpr left; + final String entityType; + final JsonExpr? inExpr; + + @override + JsonExprOpCode get op => JsonExprOpCode.is$; + + @override + Map valueToJson() => { + 'left': left.toJson(), + 'entity_type': entityType, + if (inExpr case final inExpr?) 'in': inExpr.toJson(), + }; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is JsonExprIs && + left == other.left && + entityType == other.entityType && + inExpr == other.inExpr; + + @override + int get hashCode => Object.hash(op, left, entityType, inExpr); +} + +final class JsonExprIfThenElse extends JsonExpr { + const JsonExprIfThenElse({ + required this.cond, + required this.then, + required this.else$, + }); + + factory JsonExprIfThenElse.fromJson(Map json) { + return JsonExprIfThenElse( + cond: JsonExpr.fromJson(json['if'] as Map), + then: JsonExpr.fromJson(json['then'] as Map), + else$: JsonExpr.fromJson(json['else'] as Map), + ); + } + + final JsonExpr cond; + final JsonExpr then; + final JsonExpr else$; + + @override + JsonExprOpCode get op => JsonExprOpCode.ifThenElse; + + @override + Map valueToJson() => { + 'if': cond.toJson(), + 'then': then.toJson(), + 'else': else$.toJson(), + }; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is JsonExprIfThenElse && + cond == other.cond && + then == other.then && + else$ == other.else$; + + @override + int get hashCode => Object.hash(op, cond, then, else$); +} + +final class JsonExprSet extends JsonExpr { + const JsonExprSet(this.expressions); + + factory JsonExprSet.fromJson(List json) { + return JsonExprSet([ + for (final expression in json) + JsonExpr.fromJson(expression as Map) + ]); + } + + final List expressions; + + @override + JsonExprOpCode get op => JsonExprOpCode.set; + + @override + List valueToJson() => [ + for (final expression in expressions) expression.toJson(), + ]; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is JsonExprSet && + const UnorderedIterableEquality() + .equals(expressions, other.expressions); + + @override + int get hashCode => Object.hashAllUnordered(expressions); +} + +final class JsonExprRecord extends JsonExpr { + const JsonExprRecord(this.attributes); + + factory JsonExprRecord.fromJson(Map json) { + return JsonExprRecord({ + for (final entry in json.entries) + entry.key: JsonExpr.fromJson(entry.value as Map) + }); + } + + final Map attributes; + + @override + JsonExprOpCode get op => JsonExprOpCode.record; + + @override + Map valueToJson() => { + for (final entry in attributes.entries) entry.key: entry.value.toJson(), + }; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is JsonExprRecord && + const MapEquality().equals(attributes, other.attributes); + + @override + int get hashCode => const MapEquality().hash(attributes); +} + +String _prettyJson(Object? o) => const JsonEncoder.withIndent(' ').convert(o); diff --git a/packages/cedar_common/lib/src/util.dart b/packages/cedar_common/lib/src/util.dart new file mode 100644 index 00000000..15b5740d --- /dev/null +++ b/packages/cedar_common/lib/src/util.dart @@ -0,0 +1,8 @@ +extension Let on T? { + R? let(R Function(T) f) { + if (this case final this_?) { + return f(this_); + } + return null; + } +} diff --git a/packages/cedar_common/pubspec.yaml b/packages/cedar_common/pubspec.yaml new file mode 100644 index 00000000..72a22802 --- /dev/null +++ b/packages/cedar_common/pubspec.yaml @@ -0,0 +1,16 @@ +name: cedar_common +description: Base types and utilities of the Cedar language in Dart. +version: 0.1.0 + +environment: + sdk: ^3.3.0 + +dependencies: + built_collection: ^5.1.1 + built_value: ^8.9.1 + +dev_dependencies: + build_runner: ^2.4.8 + built_value_generator: ^8.9.1 + lints: ^3.0.0 + test: ^1.24.0 diff --git a/packages/celest_auth/example/pubspec.yaml b/packages/celest_auth/example/pubspec.yaml index dbee3da9..2befa7ac 100644 --- a/packages/celest_auth/example/pubspec.yaml +++ b/packages/celest_auth/example/pubspec.yaml @@ -14,12 +14,16 @@ dependencies: sdk: flutter dependency_overrides: + cedar_common: + path: ../../cedar_common celest: path: ../../celest celest_auth: path: ../ celest_core: path: ../../celest_core + corks: + path: ../../corks dev_dependencies: flutter_test: diff --git a/packages/celest_auth/pubspec.yaml b/packages/celest_auth/pubspec.yaml index 542f5cb5..1894668c 100644 --- a/packages/celest_auth/pubspec.yaml +++ b/packages/celest_auth/pubspec.yaml @@ -11,8 +11,10 @@ dependencies: async: ^2.11.0 built_collection: ^5.1.1 built_value: ^8.9.1 + cedar_common: ^0.1.0 celest_core: ^0.2.0 chunked_stream: ^1.4.2 + corks: ^0.1.0 ffi: ^2.1.2 jni: ^0.7.2 logging: ^1.2.0 diff --git a/packages/corks/.gitignore b/packages/corks/.gitignore new file mode 100644 index 00000000..3cceda55 --- /dev/null +++ b/packages/corks/.gitignore @@ -0,0 +1,7 @@ +# https://dart.dev/guides/libraries/private-files +# Created by `dart pub` +.dart_tool/ + +# Avoid committing pubspec.lock for library packages; see +# https://dart.dev/guides/libraries/private-files#pubspeclock. +pubspec.lock diff --git a/packages/corks/CHANGELOG.md b/packages/corks/CHANGELOG.md new file mode 100644 index 00000000..a0712a79 --- /dev/null +++ b/packages/corks/CHANGELOG.md @@ -0,0 +1,3 @@ +## 0.1.0 + +- Initial version. diff --git a/packages/corks/README.md b/packages/corks/README.md new file mode 100644 index 00000000..8b55e735 --- /dev/null +++ b/packages/corks/README.md @@ -0,0 +1,39 @@ + + +TODO: Put a short description of the package here that helps potential users +know whether this package might be useful for them. + +## Features + +TODO: List what your package can do. Maybe include images, gifs, or videos. + +## Getting started + +TODO: List prerequisites and provide or point to information on how to +start using the package. + +## Usage + +TODO: Include short and useful examples for package users. Add longer examples +to `/example` folder. + +```dart +const like = 'sample'; +``` + +## Additional information + +TODO: Tell users more about the package: where to find more information, how to +contribute to the package, how to file issues, what response they can expect +from the package authors, and more. diff --git a/packages/corks/analysis_options.yaml b/packages/corks/analysis_options.yaml new file mode 100644 index 00000000..8ea0c328 --- /dev/null +++ b/packages/corks/analysis_options.yaml @@ -0,0 +1,12 @@ +include: package:lints/recommended.yaml + +analyzer: + exclude: + - "**/*.g.dart" + - "**/*.pb.dart" + - "**/*.pbenum.dart" + - "**/*.pbjson.dart" + - "**/*.pbserver.dart" + errors: + implementation_imports: ignore + public_member_api_docs: ignore diff --git a/packages/corks/lib/corks.dart b/packages/corks/lib/corks.dart new file mode 100644 index 00000000..3984c999 --- /dev/null +++ b/packages/corks/lib/corks.dart @@ -0,0 +1,4 @@ +library; + +export 'src/cork.dart'; +export 'src/signer.dart'; diff --git a/packages/corks/lib/corks_proto.dart b/packages/corks/lib/corks_proto.dart new file mode 100644 index 00000000..732b6ab8 --- /dev/null +++ b/packages/corks/lib/corks_proto.dart @@ -0,0 +1,28 @@ +export 'src/proto/cedar/v3/context.pb.dart'; +export 'src/proto/cedar/v3/context.pbenum.dart'; +export 'src/proto/cedar/v3/context.pbjson.dart'; +export 'src/proto/cedar/v3/context.pbserver.dart'; +export 'src/proto/cedar/v3/entity.pb.dart'; +export 'src/proto/cedar/v3/entity.pbenum.dart'; +export 'src/proto/cedar/v3/entity.pbjson.dart'; +export 'src/proto/cedar/v3/entity.pbserver.dart'; +export 'src/proto/cedar/v3/entity_id.pb.dart'; +export 'src/proto/cedar/v3/entity_id.pbenum.dart'; +export 'src/proto/cedar/v3/entity_id.pbjson.dart'; +export 'src/proto/cedar/v3/entity_id.pbserver.dart'; +export 'src/proto/cedar/v3/expr.pb.dart'; +export 'src/proto/cedar/v3/expr.pbenum.dart'; +export 'src/proto/cedar/v3/expr.pbjson.dart'; +export 'src/proto/cedar/v3/expr.pbserver.dart'; +export 'src/proto/cedar/v3/policy.pb.dart'; +export 'src/proto/cedar/v3/policy.pbenum.dart'; +export 'src/proto/cedar/v3/policy.pbjson.dart'; +export 'src/proto/cedar/v3/policy.pbserver.dart'; +export 'src/proto/cedar/v3/value.pb.dart'; +export 'src/proto/cedar/v3/value.pbenum.dart'; +export 'src/proto/cedar/v3/value.pbjson.dart'; +export 'src/proto/cedar/v3/value.pbserver.dart'; +export 'src/proto/corks/v1/cork.pb.dart'; +export 'src/proto/corks/v1/cork.pbenum.dart'; +export 'src/proto/corks/v1/cork.pbjson.dart'; +export 'src/proto/corks/v1/cork.pbserver.dart'; diff --git a/packages/corks/lib/src/cork.dart b/packages/corks/lib/src/cork.dart new file mode 100644 index 00000000..ff954773 --- /dev/null +++ b/packages/corks/lib/src/cork.dart @@ -0,0 +1,247 @@ +import 'dart:async'; +import 'dart:collection'; +import 'dart:convert'; +import 'dart:math'; +import 'dart:typed_data'; + +import 'package:cedar_common/cedar_common.dart' as cedar; +import 'package:corks/src/interop/proto_interop.dart'; +import 'package:corks/src/interop/to_proto.dart'; +import 'package:corks/src/proto/cedar/v3/entity.pb.dart' as proto; +import 'package:corks/src/proto/cedar/v3/policy.pb.dart' as proto; +import 'package:corks/src/proto/corks/v1/cork.pb.dart' as proto; +import 'package:corks/src/signer.dart'; +import 'package:crypto/crypto.dart'; +import 'package:meta/meta.dart'; + +@immutable +final class Cork { + const Cork._({ + required this.id, + required this.keyId, + this.bearer, + required List caveats, + required this.signature, + }) : _caveats = caveats; + + factory Cork.parse(String base64) => Cork.decode(base64Url.decode(base64)); + + factory Cork.decode(Uint8List bytes) { + final message = proto.Cork.fromBuffer(bytes); + return Cork.fromProto(message); + } + + factory Cork.fromProto(proto.Cork proto) => Cork._( + id: Uint8List.fromList(proto.id), + keyId: Uint8List.fromList(proto.keyId), + bearer: proto.hasBearer() ? SignedBearer.fromProto(proto.bearer) : null, + caveats: [ + for (final caveat in proto.caveats) SignedCaveat.fromProto(caveat), + ], + signature: Uint8List.fromList(proto.signature), + ); + + static CorkBuilder builder({ + Uint8List? id, + required Uint8List keyId, + Bearer? bearer, + }) => + CorkBuilder( + id: id, + keyId: keyId, + bearer: bearer, + ); + + final Uint8List id; + final Uint8List keyId; + final SignedBearer? bearer; + final List _caveats; + List get caveats => UnmodifiableListView(_caveats); + final Uint8List signature; + + proto.Cork toProto() => proto.Cork( + id: id, + keyId: keyId, + bearer: bearer?.toProto(), + caveats: _caveats.map((caveat) => caveat.toProto()), + signature: signature, + ); + + Uint8List encode() => toProto().writeToBuffer(); + + Future verify(Signer signer) async { + await signer.sign(SignableBytes(id)); + + if (bearer case final bearer?) { + await signer.sign(bearer.block); + } + for (final caveat in _caveats) { + await signer.sign(caveat.block); + } + return Digest(await signer.close()) == Digest(signature); + } + + @override + String toString() => base64Url.encode(encode()); +} + +final class CorkBuilder { + factory CorkBuilder({ + Uint8List? id, + required Uint8List keyId, + Bearer? bearer, + }) { + if (id == null) { + const nonceSize = 32; + id = Uint8List(nonceSize); + for (var i = 0; i < nonceSize; i++) { + id[i] = _secureRandom.nextInt(256); + } + } + return CorkBuilder._(id, keyId, bearer); + } + + CorkBuilder._( + this._id, + this._keyId, + this._bearer, + ); + + static final _secureRandom = Random.secure(); + + final Uint8List _id; + final Uint8List _keyId; + final Bearer? _bearer; + final List _caveats = []; + + void addPolicyCaveat(cedar.CedarPolicy policy) => + _caveats.add(_PolicyCaveat(policy: policy.toProto())); + + Future build(Signer signer) async { + await signer.sign(SignableBytes(_id)); + + SignedBearer? signedBearer; + if (_bearer case final bearer?) { + signedBearer = await signer.sign(bearer); + } + final signedCaveats = []; + for (final caveat in _caveats) { + signedCaveats.add(await signer.sign(caveat)); + } + return Cork._( + id: _id, + keyId: _keyId, + bearer: signedBearer, + caveats: signedCaveats, + signature: await signer.close(), + ); + } +} + +@immutable +sealed class Bearer implements Signable { + const Bearer(); + + factory Bearer.entity({ + required cedar.CedarEntity entity, + }) => + EntityBearer(entity: entity.toProto()); + + factory Bearer.entityId({ + required cedar.CedarEntityId entityId, + }) => + EntityBearer(entity: proto.Entity(uid: entityId.toProto())); +} + +final class EntityBearer extends Bearer { + const EntityBearer({ + required this.entity, + }); + + final proto.Entity entity; + + @override + Uint8List encode() => entity.writeToBuffer(); + + @override + SignedBearer signed(Uint8List signature) => SignedBearer( + block: this, + signature: signature, + ); +} + +final class SignedBearer implements Signed, ToProto { + const SignedBearer({ + required this.block, + required this.signature, + }); + + factory SignedBearer.fromProto(proto.Bearer proto) => SignedBearer( + block: EntityBearer(entity: proto.entity), + signature: Uint8List.fromList(proto.signature), + ); + + @override + final Bearer block; + + @override + final Uint8List signature; + + @override + proto.Bearer toProto() { + final message = proto.Bearer(signature: signature); + return switch (block) { + EntityBearer(:final entity) => message..entity = entity, + }; + } +} + +@immutable +sealed class Caveat implements Signable { + const Caveat(); +} + +final class _PolicyCaveat extends Caveat { + const _PolicyCaveat({ + required this.policy, + }); + + final proto.Policy policy; + + @override + SignedCaveat signed(Uint8List signature) => SignedCaveat( + block: this, + signature: signature, + ); + + @override + Uint8List encode() => policy.writeToBuffer(); +} + +final class SignedCaveat implements Signed, ToProto { + const SignedCaveat({ + required this.block, + required this.signature, + }); + + factory SignedCaveat.fromProto(proto.Caveat proto) => SignedCaveat( + block: _PolicyCaveat(policy: proto.policy), + signature: Uint8List.fromList(proto.signature), + ); + + @override + final Caveat block; + + @override + final Uint8List signature; + + @override + proto.Caveat toProto() { + final message = proto.Caveat( + signature: signature, + ); + return switch (block) { + _PolicyCaveat(:final policy) => message..policy = policy, + }; + } +} diff --git a/packages/corks/lib/src/interop/proto_interop.dart b/packages/corks/lib/src/interop/proto_interop.dart new file mode 100644 index 00000000..3dbd0a3e --- /dev/null +++ b/packages/corks/lib/src/interop/proto_interop.dart @@ -0,0 +1,586 @@ +@internal +library; + +import 'dart:typed_data'; + +import 'package:cedar_common/cedar_common.dart' as cedar; +import 'package:corks/src/proto/cedar/v3/entity.pb.dart'; +import 'package:corks/src/proto/cedar/v3/entity_id.pb.dart'; +import 'package:corks/src/proto/cedar/v3/expr.pb.dart'; +import 'package:corks/src/proto/cedar/v3/policy.pb.dart'; +import 'package:corks/src/proto/cedar/v3/value.pb.dart'; +import 'package:fixnum/fixnum.dart'; +import 'package:meta/meta.dart'; + +extension type CedarPolicy._(cedar.CedarPolicy _policy) + implements cedar.CedarPolicy { + factory CedarPolicy.fromProto(Policy policy) => + CedarPolicy._(policy.fromProto()); + + factory CedarPolicy.fromJson(Map json) => + CedarPolicy._(cedar.CedarPolicy.fromJson(json)); + + factory CedarPolicy.fromProtoBuffer(Uint8List buffer) => + CedarPolicy._(Policy.fromBuffer(buffer).fromProto()); + + factory CedarPolicy.fromProtoJson(Map json) => + CedarPolicy._((Policy.create()..mergeFromProto3Json(json)).fromProto()); + + Policy toProto() => _policy.toProto(); + + Map toProtoJson() => + toProto().toProto3Json() as Map; + + Uint8List toProtoBuffer() => toProto().writeToBuffer(); +} + +extension PolicyOpFromProto on PolicyOp { + cedar.CedarPolicyOp fromProto() => switch (this) { + PolicyOp.POLICY_OP_ALL => cedar.CedarPolicyOp.all, + PolicyOp.POLICY_OP_EQUALS => cedar.CedarPolicyOp.equals, + PolicyOp.POLICY_OP_IN => cedar.CedarPolicyOp.in$, + PolicyOp.POLICY_OP_IS => cedar.CedarPolicyOp.is$, + PolicyOp.POLICY_OP_UNSPECIFIED => throw ArgumentError( + 'PolicyOp.POLICY_OP_UNSPECIFIED is not a valid PolicyOp', + ), + _ => throw UnimplementedError(), + }; +} + +extension PolicyOpToProto on cedar.CedarPolicyOp { + PolicyOp toProto() => switch (this) { + cedar.CedarPolicyOp.all => PolicyOp.POLICY_OP_ALL, + cedar.CedarPolicyOp.equals => PolicyOp.POLICY_OP_EQUALS, + cedar.CedarPolicyOp.in$ => PolicyOp.POLICY_OP_IN, + cedar.CedarPolicyOp.is$ => PolicyOp.POLICY_OP_IS, + }; +} + +extension PolicyEffectFromProto on PolicyEffect { + cedar.CedarPolicyEffect fromProto() => switch (this) { + PolicyEffect.POLICY_EFFECT_FORBID => cedar.CedarPolicyEffect.forbid, + PolicyEffect.POLICY_EFFECT_PERMIT => cedar.CedarPolicyEffect.permit, + PolicyEffect.POLICY_EFFECT_UNSPECIFIED => throw ArgumentError( + 'PolicyEffect.POLICY_EFFECT_UNSPECIFIED is not a valid PolicyEffect', + ), + _ => throw UnimplementedError(), + }; +} + +extension PolicyEffectToProto on cedar.CedarPolicyEffect { + PolicyEffect toProto() => switch (this) { + cedar.CedarPolicyEffect.forbid => PolicyEffect.POLICY_EFFECT_FORBID, + cedar.CedarPolicyEffect.permit => PolicyEffect.POLICY_EFFECT_PERMIT, + }; +} + +extension PolicyConditionKindFromProto on PolicyConditionKind { + cedar.CedarPolicyConditionKind fromProto() => switch (this) { + PolicyConditionKind.POLICY_CONDITION_KIND_WHEN => + cedar.CedarPolicyConditionKind.when, + PolicyConditionKind.POLICY_CONDITION_KIND_UNLESS => + cedar.CedarPolicyConditionKind.unless, + PolicyConditionKind.POLICY_CONDITION_KIND_UNSPECIFIED => + throw ArgumentError( + 'PolicyConditionKind.POLICY_CONDITION_KIND_UNSPECIFIED is not a valid PolicyConditionKind', + ), + _ => throw UnimplementedError(), + }; +} + +extension PolicyConditionKindToProto on cedar.CedarPolicyConditionKind { + PolicyConditionKind toProto() => switch (this) { + cedar.CedarPolicyConditionKind.when => + PolicyConditionKind.POLICY_CONDITION_KIND_WHEN, + cedar.CedarPolicyConditionKind.unless => + PolicyConditionKind.POLICY_CONDITION_KIND_UNLESS, + }; +} + +extension PolicyFromProto on Policy { + cedar.CedarPolicy fromProto() => cedar.CedarPolicy( + id: hasId() ? id : null, + effect: effect.fromProto(), + principal: cedar.CedarPolicyPrincipal( + op: principal.op.fromProto(), + entity: principal.hasEntity() ? principal.entity.fromProto() : null, + entityType: principal.hasEntityType() ? principal.entityType : null, + ), + action: cedar.CedarPolicyAction( + op: action.op.fromProto(), + entity: action.hasEntity() ? action.entity.fromProto() : null, + entities: action.hasEntity() + ? null + : [ + for (final entity in action.entities) entity.fromProto(), + ], + ), + resource: cedar.CedarPolicyResource( + op: resource.op.fromProto(), + entity: resource.hasEntity() ? resource.entity.fromProto() : null, + entityType: resource.hasEntityType() ? resource.entityType : null, + ), + conditions: [ + for (final condition in conditions) condition.fromProto(), + ], + annotations: annotations.isNotEmpty ? annotations : null, + ); +} + +extension PolicyToProto on cedar.CedarPolicy { + Policy toProto() => Policy( + id: id, + effect: effect.toProto(), + principal: PolicyPrincipal( + op: principal.op.toProto(), + entity: principal.entity?.toProto(), + entityType: principal.entityType, + ), + action: PolicyAction( + op: action.op.toProto(), + entity: action.entity?.toProto(), + entities: action.entities == null + ? null + : [for (final entity in action.entities!) entity.toProto()], + ), + resource: PolicyResource( + op: resource.op.toProto(), + entity: resource.entity?.toProto(), + entityType: resource.entityType, + ), + conditions: [ + for (final condition in conditions) condition.toProto(), + ], + annotations: annotations?.toMap(), + ); +} + +extension PolicyConditionFromProto on PolicyCondition { + cedar.CedarPolicyCondition fromProto() => cedar.CedarPolicyCondition( + kind: kind.fromProto(), + body: body.fromProto(), + ); +} + +extension PolicyConditionToProto on cedar.CedarPolicyCondition { + PolicyCondition toProto() => PolicyCondition( + kind: kind.toProto(), + body: body.toProto(), + ); +} + +extension EntityIdFromProto on EntityId { + cedar.CedarEntityId fromProto() => cedar.CedarEntityId(type, id); +} + +extension EntityIdToProto on cedar.CedarEntityId { + EntityId toProto() => EntityId(type: type, id: id); +} + +extension EntityFromProto on Entity { + cedar.CedarEntity fromProto() => cedar.CedarEntity( + id: uid.fromProto(), + parents: [for (final parent in parents) parent.fromProto()], + attributes: attributes.map((k, v) => MapEntry(k, v.fromProto())), + ); +} + +extension EntityToProto on cedar.CedarEntity { + Entity toProto() => Entity( + uid: id.toProto(), + parents: [for (final parent in parents) parent.toProto()], + attributes: attributes.map((k, v) => MapEntry(k, v.toProto())), + ); +} + +extension type CedarExpr._(cedar.JsonExpr _expr) implements cedar.JsonExpr { + factory CedarExpr.fromProtoJson(Map json) { + final message = Expr.create()..mergeFromProto3Json(json); + return CedarExpr._(message.fromProto()); + } + + factory CedarExpr.fromProtoBuffer(Uint8List buffer) { + final message = Expr.fromBuffer(buffer); + return CedarExpr._(message.fromProto()); + } + + factory CedarExpr.fromJson(Map json) => + CedarExpr._(cedar.JsonExpr.fromJson(json)); + + Expr toProto() => _expr.toProto(); + + Map toProtoJson() => + toProto().toProto3Json() as Map; + + Uint8List toProtoBuffer() => toProto().writeToBuffer(); +} + +extension ValueFromProto on Value { + cedar.CedarValueJson fromProto() => switch (whichValue()) { + Value_Value.bool_3 => cedar.CedarValueJson.bool(bool_3), + Value_Value.entity => + cedar.CedarValueJson.entity(entity.uid.fromProto()), + Value_Value.extension_6 => cedar.CedarValueJson.extension( + cedar.CedarExtensionInvocation( + fn: extension_6.fn, + arg: extension_6.arg.fromProto(), + ), + ), + Value_Value.long => cedar.CedarValueJson.long(long.toInt()), + Value_Value.record => cedar.CedarValueJson.record( + record.values.map((key, value) => MapEntry(key, value.fromProto())), + ), + Value_Value.set => cedar.CedarValueJson.set([ + for (final value in set.values) value.fromProto(), + ]), + Value_Value.string => cedar.CedarValueJson.string(string), + Value_Value.notSet => throw ArgumentError.value( + whichValue(), + 'value', + 'An unset value is not allowed', + ), + }; +} + +extension ValueToProto on cedar.CedarValueJson { + Value toProto() => switch (this) { + cedar.CedarValueBool(:final value) => Value(bool_3: value), + cedar.CedarValueEntity(:final entityId) => + Value(entity: EntityValue(uid: entityId.toProto())), + cedar.CedarValueExtension(:final extension) => Value( + extension_6: ExtensionValue( + fn: extension.fn, + arg: extension.arg.toProto(), + ), + ), + cedar.CedarValueLong(:final value) => Value(long: Int64(value)), + cedar.CedarValueRecord(:final attributes) => Value( + record: RecordValue( + values: attributes + .map((key, value) => MapEntry(key, value.toProto())), + ), + ), + cedar.CedarValueSet(:final elements) => Value( + set: SetValue( + values: [for (final value in elements) value.toProto()], + ), + ), + cedar.CedarValueString(:final value) => Value(string: value), + }; +} + +extension ExprFromProto on Expr { + cedar.JsonExpr fromProto() => switch (whichExpr()) { + Expr_Expr.and => cedar.JsonExpr.and( + and.left.fromProto(), + and.right.fromProto(), + ), + Expr_Expr.contains => cedar.JsonExpr.contains( + contains.left.fromProto(), + contains.right.fromProto(), + ), + Expr_Expr.containsAll => cedar.JsonExpr.containsAll( + containsAll.left.fromProto(), + containsAll.right.fromProto(), + ), + Expr_Expr.containsAny => cedar.JsonExpr.containsAny( + containsAny.left.fromProto(), + containsAny.right.fromProto(), + ), + Expr_Expr.equals => cedar.JsonExpr.equals( + equals.left.fromProto(), + equals.right.fromProto(), + ), + Expr_Expr.funcCall => cedar.JsonExpr.funcCall( + cedar.JsonExprOpFunc(funcCall.fn), + [for (final arg in funcCall.args) arg.fromProto()], + ), + Expr_Expr.getAttribute => cedar.JsonExpr.getAttribute( + getAttribute.left.fromProto(), + getAttribute.attr, + ), + Expr_Expr.greaterThan => cedar.JsonExpr.greaterThan( + greaterThan.left.fromProto(), + greaterThan.right.fromProto(), + ), + Expr_Expr.greaterThanOrEquals => cedar.JsonExpr.greaterThanOrEquals( + greaterThanOrEquals.left.fromProto(), + greaterThanOrEquals.right.fromProto(), + ), + Expr_Expr.hasAttribute => cedar.JsonExpr.hasAttribute( + hasAttribute.left.fromProto(), + hasAttribute.attr, + ), + Expr_Expr.ifThenElse => cedar.JsonExpr.ifThenElse( + cond: ifThenElse.if_.fromProto(), + then: ifThenElse.then.fromProto(), + else$: ifThenElse.else_.fromProto(), + ), + Expr_Expr.in_ => cedar.JsonExpr.in$( + in_.left.fromProto(), + in_.right.fromProto(), + ), + Expr_Expr.is_ => cedar.JsonExpr.is$( + is_.left.fromProto(), + is_.entityType, + is_.hasIn_() ? is_.in_.fromProto() : null, + ), + Expr_Expr.lessThan => cedar.JsonExpr.lessThan( + lessThan.left.fromProto(), + lessThan.right.fromProto(), + ), + Expr_Expr.lessThanOrEquals => cedar.JsonExpr.lessThanOrEquals( + lessThanOrEquals.left.fromProto(), + lessThanOrEquals.right.fromProto(), + ), + Expr_Expr.like => cedar.JsonExpr.like( + like.left.fromProto(), + like.pattern, + ), + Expr_Expr.minus => cedar.JsonExpr.minus( + minus.left.fromProto(), + minus.right.fromProto(), + ), + Expr_Expr.neg => cedar.JsonExpr.neg(neg.expr.fromProto()), + Expr_Expr.not => cedar.JsonExpr.not(not.expr.fromProto()), + Expr_Expr.notEquals => cedar.JsonExpr.notEquals( + notEquals.left.fromProto(), + notEquals.right.fromProto(), + ), + Expr_Expr.or => cedar.JsonExpr.or( + or.left.fromProto(), + or.right.fromProto(), + ), + Expr_Expr.plus => cedar.JsonExpr.plus( + plus.left.fromProto(), + plus.right.fromProto(), + ), + Expr_Expr.record => cedar.JsonExpr.record( + record.attributes + .map((key, value) => MapEntry(key, value.fromProto())), + ), + Expr_Expr.set => cedar.JsonExpr.set([ + for (final value in set.expressions) value.fromProto(), + ]), + Expr_Expr.slot => cedar.JsonExpr.slot( + switch (slot.slotId) { + SlotId.SLOT_ID_PRINCIPAL => cedar.CedarSlotId.principal, + SlotId.SLOT_ID_RESOURCE => cedar.CedarSlotId.resource, + SlotId.SLOT_ID_UNSPECIFIED => throw ArgumentError.value( + slot.slotId, + 'slot', + 'SlotId.SLOT_ID_UNSPECIFIED is not allowed', + ), + _ => throw UnimplementedError(), + }, + ), + Expr_Expr.times => cedar.JsonExpr.times( + times.left.fromProto(), + times.right.fromProto(), + ), + Expr_Expr.unknown => cedar.JsonExpr.unknown(unknown.name), + Expr_Expr.value => cedar.JsonExpr.value(value.value.fromProto()), + Expr_Expr.var_ => cedar.JsonExpr.variable( + switch (var_.variable) { + Variable.VARIABLE_ACTION => cedar.CedarVariable.action, + Variable.VARIABLE_CONTEXT => cedar.CedarVariable.context, + Variable.VARIABLE_PRINCIPAL => cedar.CedarVariable.principal, + Variable.VARIABLE_RESOURCE => cedar.CedarVariable.resource, + Variable.VARIABLE_UNSPECIFIED => throw ArgumentError.value( + var_.variable, + 'var_2', + 'Variable.VARIABLE_UNSPECIFIED is not allowed', + ), + _ => throw UnimplementedError(), + }, + ), + Expr_Expr.notSet => throw ArgumentError.value( + whichExpr(), + 'expr', + 'An unset expression is not allowed', + ), + }; +} + +extension ExprToProto on cedar.JsonExpr { + Expr toProto() => switch (this) { + cedar.JsonExprAnd(:final left, :final right) => Expr( + and: ExprAnd( + left: left.toProto(), + right: right.toProto(), + ), + ), + cedar.JsonExprContains(:final left, :final right) => Expr( + contains: ExprContains( + left: left.toProto(), + right: right.toProto(), + ), + ), + cedar.JsonExprContainsAll(:final left, :final right) => Expr( + containsAll: ExprContainsAll( + left: left.toProto(), + right: right.toProto(), + ), + ), + cedar.JsonExprContainsAny(:final left, :final right) => Expr( + containsAny: ExprContainsAny( + left: left.toProto(), + right: right.toProto(), + ), + ), + cedar.JsonExprEquals(:final left, :final right) => Expr( + equals: ExprEquals( + left: left.toProto(), + right: right.toProto(), + ), + ), + cedar.JsonExprFuncCall(:final fn, :final args) => Expr( + funcCall: ExprFuncCall( + fn: fn.name, + args: [for (final arg in args) arg.toProto()], + ), + ), + cedar.JsonExprGetAttribute(:final left, :final attr) => Expr( + getAttribute: ExprGetAttribute( + left: left.toProto(), + attr: attr, + ), + ), + cedar.JsonExprGreaterThan(:final left, :final right) => Expr( + greaterThan: ExprGreaterThan( + left: left.toProto(), + right: right.toProto(), + ), + ), + cedar.JsonExprGreaterThanOrEquals(:final left, :final right) => Expr( + greaterThanOrEquals: ExprGreaterThanOrEquals( + left: left.toProto(), + right: right.toProto(), + ), + ), + cedar.JsonExprHasAttribute(:final left, :final attr) => Expr( + hasAttribute: ExprHasAttribute( + left: left.toProto(), + attr: attr, + ), + ), + cedar.JsonExprIfThenElse(:final cond, :final then, :final else$) => + Expr( + ifThenElse: ExprIfThenElse( + if_: cond.toProto(), + then: then.toProto(), + else_: else$.toProto(), + ), + ), + cedar.JsonExprIn(:final left, :final right) => Expr( + in_: ExprIn( + left: left.toProto(), + right: right.toProto(), + ), + ), + cedar.JsonExprIs(:final left, :final entityType, :final inExpr) => Expr( + is_: ExprIs( + left: left.toProto(), + entityType: entityType, + in_: inExpr?.toProto(), + ), + ), + cedar.JsonExprLessThan(:final left, :final right) => Expr( + lessThan: ExprLessThan( + left: left.toProto(), + right: right.toProto(), + ), + ), + cedar.JsonExprLessThanOrEquals(:final left, :final right) => Expr( + lessThanOrEquals: ExprLessThanOrEquals( + left: left.toProto(), + right: right.toProto(), + ), + ), + cedar.JsonExprLike(:final left, :final pattern) => Expr( + like: ExprLike( + left: left.toProto(), + pattern: pattern, + ), + ), + cedar.JsonExprMinus(:final left, :final right) => Expr( + minus: ExprMinus( + left: left.toProto(), + right: right.toProto(), + ), + ), + cedar.JsonExprNeg(:final arg) => Expr( + neg: ExprNeg( + expr: arg.toProto(), + ), + ), + cedar.JsonExprNot(:final arg) => Expr( + not: ExprNot( + expr: arg.toProto(), + ), + ), + cedar.JsonExprNotEquals(:final left, :final right) => Expr( + notEquals: ExprNotEquals( + left: left.toProto(), + right: right.toProto(), + ), + ), + cedar.JsonExprOr(:final left, :final right) => Expr( + or: ExprOr( + left: left.toProto(), + right: right.toProto(), + ), + ), + cedar.JsonExprPlus(:final left, :final right) => Expr( + plus: ExprPlus( + left: left.toProto(), + right: right.toProto(), + ), + ), + cedar.JsonExprRecord(:final attributes) => Expr( + record: ExprRecord( + attributes: attributes + .map((key, value) => MapEntry(key, value.toProto())), + ), + ), + cedar.JsonExprSet(:final expressions) => Expr( + set: ExprSet( + expressions: [for (final value in expressions) value.toProto()], + ), + ), + cedar.JsonExprSlot(:final slotId) => Expr( + slot: ExprSlot( + slotId: switch (slotId) { + cedar.CedarSlotId.principal => SlotId.SLOT_ID_PRINCIPAL, + cedar.CedarSlotId.resource => SlotId.SLOT_ID_RESOURCE, + }, + ), + ), + cedar.JsonExprTimes(:final left, :final right) => Expr( + times: ExprTimes( + left: left.toProto(), + right: right.toProto(), + ), + ), + cedar.JsonExprUnknown(:final name) => Expr( + unknown: ExprUnknown( + name: name, + ), + ), + cedar.JsonExprValue(:final value) => Expr( + value: ExprValue( + value: value.toProto(), + ), + ), + cedar.JsonExprVariable(:final variable) => Expr( + var_: ExprVar( + variable: switch (variable) { + cedar.CedarVariable.action => Variable.VARIABLE_ACTION, + cedar.CedarVariable.context => Variable.VARIABLE_CONTEXT, + cedar.CedarVariable.principal => Variable.VARIABLE_PRINCIPAL, + cedar.CedarVariable.resource => Variable.VARIABLE_RESOURCE, + }, + ), + ), + }; +} diff --git a/packages/corks/lib/src/interop/to_proto.dart b/packages/corks/lib/src/interop/to_proto.dart new file mode 100644 index 00000000..9cc8b7af --- /dev/null +++ b/packages/corks/lib/src/interop/to_proto.dart @@ -0,0 +1,5 @@ +import 'package:protobuf/protobuf.dart' as proto; + +abstract interface class ToProto { + M toProto(); +} diff --git a/packages/corks/lib/src/proto/cedar/v3/context.pb.dart b/packages/corks/lib/src/proto/cedar/v3/context.pb.dart new file mode 100644 index 00000000..30a958f6 --- /dev/null +++ b/packages/corks/lib/src/proto/cedar/v3/context.pb.dart @@ -0,0 +1,64 @@ +// +// Generated code. Do not modify. +// source: cedar/v3/context.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'value.pb.dart' as $1; + +class Context extends $pb.GeneratedMessage { + factory Context({ + $core.Map<$core.String, $1.Value>? values, + }) { + final $result = create(); + if (values != null) { + $result.values.addAll(values); + } + return $result; + } + Context._() : super(); + factory Context.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Context.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Context', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..m<$core.String, $1.Value>(1, _omitFieldNames ? '' : 'values', entryClassName: 'Context.ValuesEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OM, valueCreator: $1.Value.create, valueDefaultOrMaker: $1.Value.getDefault, packageName: const $pb.PackageName('cedar.v3')) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Context clone() => Context()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Context copyWith(void Function(Context) updates) => super.copyWith((message) => updates(message as Context)) as Context; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Context create() => Context._(); + Context createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Context getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Context? _defaultInstance; + + @$pb.TagNumber(1) + $core.Map<$core.String, $1.Value> get values => $_getMap(0); +} + + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/packages/corks/lib/src/proto/cedar/v3/context.pbenum.dart b/packages/corks/lib/src/proto/cedar/v3/context.pbenum.dart new file mode 100644 index 00000000..b9f8c102 --- /dev/null +++ b/packages/corks/lib/src/proto/cedar/v3/context.pbenum.dart @@ -0,0 +1,11 @@ +// +// Generated code. Do not modify. +// source: cedar/v3/context.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + diff --git a/packages/corks/lib/src/proto/cedar/v3/context.pbjson.dart b/packages/corks/lib/src/proto/cedar/v3/context.pbjson.dart new file mode 100644 index 00000000..a1fc81de --- /dev/null +++ b/packages/corks/lib/src/proto/cedar/v3/context.pbjson.dart @@ -0,0 +1,40 @@ +// +// Generated code. Do not modify. +// source: cedar/v3/context.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use contextDescriptor instead') +const Context$json = { + '1': 'Context', + '2': [ + {'1': 'values', '3': 1, '4': 3, '5': 11, '6': '.cedar.v3.Context.ValuesEntry', '10': 'values'}, + ], + '3': [Context_ValuesEntry$json], +}; + +@$core.Deprecated('Use contextDescriptor instead') +const Context_ValuesEntry$json = { + '1': 'ValuesEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Value', '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `Context`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List contextDescriptor = $convert.base64Decode( + 'CgdDb250ZXh0EjUKBnZhbHVlcxgBIAMoCzIdLmNlZGFyLnYzLkNvbnRleHQuVmFsdWVzRW50cn' + 'lSBnZhbHVlcxpKCgtWYWx1ZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIlCgV2YWx1ZRgCIAEo' + 'CzIPLmNlZGFyLnYzLlZhbHVlUgV2YWx1ZToCOAE='); + diff --git a/packages/corks/lib/src/proto/cedar/v3/context.pbserver.dart b/packages/corks/lib/src/proto/cedar/v3/context.pbserver.dart new file mode 100644 index 00000000..34032a02 --- /dev/null +++ b/packages/corks/lib/src/proto/cedar/v3/context.pbserver.dart @@ -0,0 +1,14 @@ +// +// Generated code. Do not modify. +// source: cedar/v3/context.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names +// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +export 'context.pb.dart'; + diff --git a/packages/corks/lib/src/proto/cedar/v3/entity.pb.dart b/packages/corks/lib/src/proto/cedar/v3/entity.pb.dart new file mode 100644 index 00000000..f75b7f32 --- /dev/null +++ b/packages/corks/lib/src/proto/cedar/v3/entity.pb.dart @@ -0,0 +1,89 @@ +// +// Generated code. Do not modify. +// source: cedar/v3/entity.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'entity_id.pb.dart' as $0; +import 'value.pb.dart' as $1; + +class Entity extends $pb.GeneratedMessage { + factory Entity({ + $0.EntityId? uid, + $core.Iterable<$0.EntityId>? parents, + $core.Map<$core.String, $1.Value>? attributes, + }) { + final $result = create(); + if (uid != null) { + $result.uid = uid; + } + if (parents != null) { + $result.parents.addAll(parents); + } + if (attributes != null) { + $result.attributes.addAll(attributes); + } + return $result; + } + Entity._() : super(); + factory Entity.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Entity.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Entity', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM<$0.EntityId>(1, _omitFieldNames ? '' : 'uid', subBuilder: $0.EntityId.create) + ..pc<$0.EntityId>(2, _omitFieldNames ? '' : 'parents', $pb.PbFieldType.PM, subBuilder: $0.EntityId.create) + ..m<$core.String, $1.Value>(3, _omitFieldNames ? '' : 'attributes', entryClassName: 'Entity.AttributesEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OM, valueCreator: $1.Value.create, valueDefaultOrMaker: $1.Value.getDefault, packageName: const $pb.PackageName('cedar.v3')) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Entity clone() => Entity()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Entity copyWith(void Function(Entity) updates) => super.copyWith((message) => updates(message as Entity)) as Entity; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Entity create() => Entity._(); + Entity createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Entity getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Entity? _defaultInstance; + + @$pb.TagNumber(1) + $0.EntityId get uid => $_getN(0); + @$pb.TagNumber(1) + set uid($0.EntityId v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasUid() => $_has(0); + @$pb.TagNumber(1) + void clearUid() => clearField(1); + @$pb.TagNumber(1) + $0.EntityId ensureUid() => $_ensure(0); + + @$pb.TagNumber(2) + $core.List<$0.EntityId> get parents => $_getList(1); + + @$pb.TagNumber(3) + $core.Map<$core.String, $1.Value> get attributes => $_getMap(2); +} + + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/packages/corks/lib/src/proto/cedar/v3/entity.pbenum.dart b/packages/corks/lib/src/proto/cedar/v3/entity.pbenum.dart new file mode 100644 index 00000000..da437543 --- /dev/null +++ b/packages/corks/lib/src/proto/cedar/v3/entity.pbenum.dart @@ -0,0 +1,11 @@ +// +// Generated code. Do not modify. +// source: cedar/v3/entity.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + diff --git a/packages/corks/lib/src/proto/cedar/v3/entity.pbjson.dart b/packages/corks/lib/src/proto/cedar/v3/entity.pbjson.dart new file mode 100644 index 00000000..3a463ed3 --- /dev/null +++ b/packages/corks/lib/src/proto/cedar/v3/entity.pbjson.dart @@ -0,0 +1,44 @@ +// +// Generated code. Do not modify. +// source: cedar/v3/entity.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use entityDescriptor instead') +const Entity$json = { + '1': 'Entity', + '2': [ + {'1': 'uid', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.EntityId', '10': 'uid'}, + {'1': 'parents', '3': 2, '4': 3, '5': 11, '6': '.cedar.v3.EntityId', '10': 'parents'}, + {'1': 'attributes', '3': 3, '4': 3, '5': 11, '6': '.cedar.v3.Entity.AttributesEntry', '10': 'attributes'}, + ], + '3': [Entity_AttributesEntry$json], +}; + +@$core.Deprecated('Use entityDescriptor instead') +const Entity_AttributesEntry$json = { + '1': 'AttributesEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Value', '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `Entity`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List entityDescriptor = $convert.base64Decode( + 'CgZFbnRpdHkSJAoDdWlkGAEgASgLMhIuY2VkYXIudjMuRW50aXR5SWRSA3VpZBIsCgdwYXJlbn' + 'RzGAIgAygLMhIuY2VkYXIudjMuRW50aXR5SWRSB3BhcmVudHMSQAoKYXR0cmlidXRlcxgDIAMo' + 'CzIgLmNlZGFyLnYzLkVudGl0eS5BdHRyaWJ1dGVzRW50cnlSCmF0dHJpYnV0ZXMaTgoPQXR0cm' + 'lidXRlc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiUKBXZhbHVlGAIgASgLMg8uY2VkYXIudjMu' + 'VmFsdWVSBXZhbHVlOgI4AQ=='); + diff --git a/packages/corks/lib/src/proto/cedar/v3/entity.pbserver.dart b/packages/corks/lib/src/proto/cedar/v3/entity.pbserver.dart new file mode 100644 index 00000000..b012dd63 --- /dev/null +++ b/packages/corks/lib/src/proto/cedar/v3/entity.pbserver.dart @@ -0,0 +1,14 @@ +// +// Generated code. Do not modify. +// source: cedar/v3/entity.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names +// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +export 'entity.pb.dart'; + diff --git a/packages/corks/lib/src/proto/cedar/v3/entity_id.pb.dart b/packages/corks/lib/src/proto/cedar/v3/entity_id.pb.dart new file mode 100644 index 00000000..af1db677 --- /dev/null +++ b/packages/corks/lib/src/proto/cedar/v3/entity_id.pb.dart @@ -0,0 +1,82 @@ +// +// Generated code. Do not modify. +// source: cedar/v3/entity_id.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +class EntityId extends $pb.GeneratedMessage { + factory EntityId({ + $core.String? type, + $core.String? id, + }) { + final $result = create(); + if (type != null) { + $result.type = type; + } + if (id != null) { + $result.id = id; + } + return $result; + } + EntityId._() : super(); + factory EntityId.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory EntityId.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'EntityId', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'type') + ..aOS(2, _omitFieldNames ? '' : 'id') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EntityId clone() => EntityId()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EntityId copyWith(void Function(EntityId) updates) => super.copyWith((message) => updates(message as EntityId)) as EntityId; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EntityId create() => EntityId._(); + EntityId createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EntityId getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static EntityId? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get type => $_getSZ(0); + @$pb.TagNumber(1) + set type($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasType() => $_has(0); + @$pb.TagNumber(1) + void clearType() => clearField(1); + + @$pb.TagNumber(2) + $core.String get id => $_getSZ(1); + @$pb.TagNumber(2) + set id($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasId() => $_has(1); + @$pb.TagNumber(2) + void clearId() => clearField(2); +} + + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/packages/corks/lib/src/proto/cedar/v3/entity_id.pbenum.dart b/packages/corks/lib/src/proto/cedar/v3/entity_id.pbenum.dart new file mode 100644 index 00000000..6c57285a --- /dev/null +++ b/packages/corks/lib/src/proto/cedar/v3/entity_id.pbenum.dart @@ -0,0 +1,11 @@ +// +// Generated code. Do not modify. +// source: cedar/v3/entity_id.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + diff --git a/packages/corks/lib/src/proto/cedar/v3/entity_id.pbjson.dart b/packages/corks/lib/src/proto/cedar/v3/entity_id.pbjson.dart new file mode 100644 index 00000000..73f0cd15 --- /dev/null +++ b/packages/corks/lib/src/proto/cedar/v3/entity_id.pbjson.dart @@ -0,0 +1,28 @@ +// +// Generated code. Do not modify. +// source: cedar/v3/entity_id.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use entityIdDescriptor instead') +const EntityId$json = { + '1': 'EntityId', + '2': [ + {'1': 'type', '3': 1, '4': 1, '5': 9, '10': 'type'}, + {'1': 'id', '3': 2, '4': 1, '5': 9, '10': 'id'}, + ], +}; + +/// Descriptor for `EntityId`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List entityIdDescriptor = $convert.base64Decode( + 'CghFbnRpdHlJZBISCgR0eXBlGAEgASgJUgR0eXBlEg4KAmlkGAIgASgJUgJpZA=='); + diff --git a/packages/corks/lib/src/proto/cedar/v3/entity_id.pbserver.dart b/packages/corks/lib/src/proto/cedar/v3/entity_id.pbserver.dart new file mode 100644 index 00000000..c6f0083f --- /dev/null +++ b/packages/corks/lib/src/proto/cedar/v3/entity_id.pbserver.dart @@ -0,0 +1,14 @@ +// +// Generated code. Do not modify. +// source: cedar/v3/entity_id.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names +// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +export 'entity_id.pb.dart'; + diff --git a/packages/corks/lib/src/proto/cedar/v3/expr.pb.dart b/packages/corks/lib/src/proto/cedar/v3/expr.pb.dart new file mode 100644 index 00000000..fa62bf65 --- /dev/null +++ b/packages/corks/lib/src/proto/cedar/v3/expr.pb.dart @@ -0,0 +1,2428 @@ +// +// Generated code. Do not modify. +// source: cedar/v3/expr.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'expr.pbenum.dart'; +import 'value.pb.dart' as $1; + +export 'expr.pbenum.dart'; + +enum Expr_Expr { + value, + var_, + slot, + unknown, + not, + neg, + equals, + notEquals, + in_, + lessThan, + lessThanOrEquals, + greaterThan, + greaterThanOrEquals, + and, + or, + plus, + minus, + times, + contains, + containsAll, + containsAny, + getAttribute, + hasAttribute, + like, + is_, + ifThenElse, + set, + record, + funcCall, + notSet +} + +class Expr extends $pb.GeneratedMessage { + factory Expr({ + ExprValue? value, + ExprVar? var_, + ExprSlot? slot, + ExprUnknown? unknown, + ExprNot? not, + ExprNeg? neg, + ExprEquals? equals, + ExprNotEquals? notEquals, + ExprIn? in_, + ExprLessThan? lessThan, + ExprLessThanOrEquals? lessThanOrEquals, + ExprGreaterThan? greaterThan, + ExprGreaterThanOrEquals? greaterThanOrEquals, + ExprAnd? and, + ExprOr? or, + ExprPlus? plus, + ExprMinus? minus, + ExprTimes? times, + ExprContains? contains, + ExprContainsAll? containsAll, + ExprContainsAny? containsAny, + ExprGetAttribute? getAttribute, + ExprHasAttribute? hasAttribute, + ExprLike? like, + ExprIs? is_, + ExprIfThenElse? ifThenElse, + ExprSet? set, + ExprRecord? record, + ExprFuncCall? funcCall, + }) { + final $result = create(); + if (value != null) { + $result.value = value; + } + if (var_ != null) { + $result.var_ = var_; + } + if (slot != null) { + $result.slot = slot; + } + if (unknown != null) { + $result.unknown = unknown; + } + if (not != null) { + $result.not = not; + } + if (neg != null) { + $result.neg = neg; + } + if (equals != null) { + $result.equals = equals; + } + if (notEquals != null) { + $result.notEquals = notEquals; + } + if (in_ != null) { + $result.in_ = in_; + } + if (lessThan != null) { + $result.lessThan = lessThan; + } + if (lessThanOrEquals != null) { + $result.lessThanOrEquals = lessThanOrEquals; + } + if (greaterThan != null) { + $result.greaterThan = greaterThan; + } + if (greaterThanOrEquals != null) { + $result.greaterThanOrEquals = greaterThanOrEquals; + } + if (and != null) { + $result.and = and; + } + if (or != null) { + $result.or = or; + } + if (plus != null) { + $result.plus = plus; + } + if (minus != null) { + $result.minus = minus; + } + if (times != null) { + $result.times = times; + } + if (contains != null) { + $result.contains = contains; + } + if (containsAll != null) { + $result.containsAll = containsAll; + } + if (containsAny != null) { + $result.containsAny = containsAny; + } + if (getAttribute != null) { + $result.getAttribute = getAttribute; + } + if (hasAttribute != null) { + $result.hasAttribute = hasAttribute; + } + if (like != null) { + $result.like = like; + } + if (is_ != null) { + $result.is_ = is_; + } + if (ifThenElse != null) { + $result.ifThenElse = ifThenElse; + } + if (set != null) { + $result.set = set; + } + if (record != null) { + $result.record = record; + } + if (funcCall != null) { + $result.funcCall = funcCall; + } + return $result; + } + Expr._() : super(); + factory Expr.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Expr.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Expr_Expr> _Expr_ExprByTag = { + 1 : Expr_Expr.value, + 2 : Expr_Expr.var_, + 3 : Expr_Expr.slot, + 4 : Expr_Expr.unknown, + 5 : Expr_Expr.not, + 6 : Expr_Expr.neg, + 7 : Expr_Expr.equals, + 8 : Expr_Expr.notEquals, + 9 : Expr_Expr.in_, + 10 : Expr_Expr.lessThan, + 11 : Expr_Expr.lessThanOrEquals, + 12 : Expr_Expr.greaterThan, + 13 : Expr_Expr.greaterThanOrEquals, + 14 : Expr_Expr.and, + 15 : Expr_Expr.or, + 16 : Expr_Expr.plus, + 17 : Expr_Expr.minus, + 18 : Expr_Expr.times, + 19 : Expr_Expr.contains, + 20 : Expr_Expr.containsAll, + 21 : Expr_Expr.containsAny, + 22 : Expr_Expr.getAttribute, + 23 : Expr_Expr.hasAttribute, + 24 : Expr_Expr.like, + 25 : Expr_Expr.is_, + 26 : Expr_Expr.ifThenElse, + 27 : Expr_Expr.set, + 28 : Expr_Expr.record, + 29 : Expr_Expr.funcCall, + 0 : Expr_Expr.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Expr', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..oo(0, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29]) + ..aOM(1, _omitFieldNames ? '' : 'value', subBuilder: ExprValue.create) + ..aOM(2, _omitFieldNames ? '' : 'var', subBuilder: ExprVar.create) + ..aOM(3, _omitFieldNames ? '' : 'slot', subBuilder: ExprSlot.create) + ..aOM(4, _omitFieldNames ? '' : 'unknown', subBuilder: ExprUnknown.create) + ..aOM(5, _omitFieldNames ? '' : 'not', subBuilder: ExprNot.create) + ..aOM(6, _omitFieldNames ? '' : 'neg', subBuilder: ExprNeg.create) + ..aOM(7, _omitFieldNames ? '' : 'equals', subBuilder: ExprEquals.create) + ..aOM(8, _omitFieldNames ? '' : 'notEquals', subBuilder: ExprNotEquals.create) + ..aOM(9, _omitFieldNames ? '' : 'in', subBuilder: ExprIn.create) + ..aOM(10, _omitFieldNames ? '' : 'lessThan', subBuilder: ExprLessThan.create) + ..aOM(11, _omitFieldNames ? '' : 'lessThanOrEquals', subBuilder: ExprLessThanOrEquals.create) + ..aOM(12, _omitFieldNames ? '' : 'greaterThan', subBuilder: ExprGreaterThan.create) + ..aOM(13, _omitFieldNames ? '' : 'greaterThanOrEquals', subBuilder: ExprGreaterThanOrEquals.create) + ..aOM(14, _omitFieldNames ? '' : 'and', subBuilder: ExprAnd.create) + ..aOM(15, _omitFieldNames ? '' : 'or', subBuilder: ExprOr.create) + ..aOM(16, _omitFieldNames ? '' : 'plus', subBuilder: ExprPlus.create) + ..aOM(17, _omitFieldNames ? '' : 'minus', subBuilder: ExprMinus.create) + ..aOM(18, _omitFieldNames ? '' : 'times', subBuilder: ExprTimes.create) + ..aOM(19, _omitFieldNames ? '' : 'contains', subBuilder: ExprContains.create) + ..aOM(20, _omitFieldNames ? '' : 'containsAll', subBuilder: ExprContainsAll.create) + ..aOM(21, _omitFieldNames ? '' : 'containsAny', subBuilder: ExprContainsAny.create) + ..aOM(22, _omitFieldNames ? '' : 'getAttribute', subBuilder: ExprGetAttribute.create) + ..aOM(23, _omitFieldNames ? '' : 'hasAttribute', subBuilder: ExprHasAttribute.create) + ..aOM(24, _omitFieldNames ? '' : 'like', subBuilder: ExprLike.create) + ..aOM(25, _omitFieldNames ? '' : 'is', subBuilder: ExprIs.create) + ..aOM(26, _omitFieldNames ? '' : 'ifThenElse', subBuilder: ExprIfThenElse.create) + ..aOM(27, _omitFieldNames ? '' : 'set', subBuilder: ExprSet.create) + ..aOM(28, _omitFieldNames ? '' : 'record', subBuilder: ExprRecord.create) + ..aOM(29, _omitFieldNames ? '' : 'funcCall', subBuilder: ExprFuncCall.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Expr clone() => Expr()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Expr copyWith(void Function(Expr) updates) => super.copyWith((message) => updates(message as Expr)) as Expr; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Expr create() => Expr._(); + Expr createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Expr getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Expr? _defaultInstance; + + Expr_Expr whichExpr() => _Expr_ExprByTag[$_whichOneof(0)]!; + void clearExpr() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + ExprValue get value => $_getN(0); + @$pb.TagNumber(1) + set value(ExprValue v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasValue() => $_has(0); + @$pb.TagNumber(1) + void clearValue() => clearField(1); + @$pb.TagNumber(1) + ExprValue ensureValue() => $_ensure(0); + + @$pb.TagNumber(2) + ExprVar get var_ => $_getN(1); + @$pb.TagNumber(2) + set var_(ExprVar v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasVar_() => $_has(1); + @$pb.TagNumber(2) + void clearVar_() => clearField(2); + @$pb.TagNumber(2) + ExprVar ensureVar_() => $_ensure(1); + + @$pb.TagNumber(3) + ExprSlot get slot => $_getN(2); + @$pb.TagNumber(3) + set slot(ExprSlot v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasSlot() => $_has(2); + @$pb.TagNumber(3) + void clearSlot() => clearField(3); + @$pb.TagNumber(3) + ExprSlot ensureSlot() => $_ensure(2); + + @$pb.TagNumber(4) + ExprUnknown get unknown => $_getN(3); + @$pb.TagNumber(4) + set unknown(ExprUnknown v) { setField(4, v); } + @$pb.TagNumber(4) + $core.bool hasUnknown() => $_has(3); + @$pb.TagNumber(4) + void clearUnknown() => clearField(4); + @$pb.TagNumber(4) + ExprUnknown ensureUnknown() => $_ensure(3); + + @$pb.TagNumber(5) + ExprNot get not => $_getN(4); + @$pb.TagNumber(5) + set not(ExprNot v) { setField(5, v); } + @$pb.TagNumber(5) + $core.bool hasNot() => $_has(4); + @$pb.TagNumber(5) + void clearNot() => clearField(5); + @$pb.TagNumber(5) + ExprNot ensureNot() => $_ensure(4); + + @$pb.TagNumber(6) + ExprNeg get neg => $_getN(5); + @$pb.TagNumber(6) + set neg(ExprNeg v) { setField(6, v); } + @$pb.TagNumber(6) + $core.bool hasNeg() => $_has(5); + @$pb.TagNumber(6) + void clearNeg() => clearField(6); + @$pb.TagNumber(6) + ExprNeg ensureNeg() => $_ensure(5); + + @$pb.TagNumber(7) + ExprEquals get equals => $_getN(6); + @$pb.TagNumber(7) + set equals(ExprEquals v) { setField(7, v); } + @$pb.TagNumber(7) + $core.bool hasEquals() => $_has(6); + @$pb.TagNumber(7) + void clearEquals() => clearField(7); + @$pb.TagNumber(7) + ExprEquals ensureEquals() => $_ensure(6); + + @$pb.TagNumber(8) + ExprNotEquals get notEquals => $_getN(7); + @$pb.TagNumber(8) + set notEquals(ExprNotEquals v) { setField(8, v); } + @$pb.TagNumber(8) + $core.bool hasNotEquals() => $_has(7); + @$pb.TagNumber(8) + void clearNotEquals() => clearField(8); + @$pb.TagNumber(8) + ExprNotEquals ensureNotEquals() => $_ensure(7); + + @$pb.TagNumber(9) + ExprIn get in_ => $_getN(8); + @$pb.TagNumber(9) + set in_(ExprIn v) { setField(9, v); } + @$pb.TagNumber(9) + $core.bool hasIn_() => $_has(8); + @$pb.TagNumber(9) + void clearIn_() => clearField(9); + @$pb.TagNumber(9) + ExprIn ensureIn_() => $_ensure(8); + + @$pb.TagNumber(10) + ExprLessThan get lessThan => $_getN(9); + @$pb.TagNumber(10) + set lessThan(ExprLessThan v) { setField(10, v); } + @$pb.TagNumber(10) + $core.bool hasLessThan() => $_has(9); + @$pb.TagNumber(10) + void clearLessThan() => clearField(10); + @$pb.TagNumber(10) + ExprLessThan ensureLessThan() => $_ensure(9); + + @$pb.TagNumber(11) + ExprLessThanOrEquals get lessThanOrEquals => $_getN(10); + @$pb.TagNumber(11) + set lessThanOrEquals(ExprLessThanOrEquals v) { setField(11, v); } + @$pb.TagNumber(11) + $core.bool hasLessThanOrEquals() => $_has(10); + @$pb.TagNumber(11) + void clearLessThanOrEquals() => clearField(11); + @$pb.TagNumber(11) + ExprLessThanOrEquals ensureLessThanOrEquals() => $_ensure(10); + + @$pb.TagNumber(12) + ExprGreaterThan get greaterThan => $_getN(11); + @$pb.TagNumber(12) + set greaterThan(ExprGreaterThan v) { setField(12, v); } + @$pb.TagNumber(12) + $core.bool hasGreaterThan() => $_has(11); + @$pb.TagNumber(12) + void clearGreaterThan() => clearField(12); + @$pb.TagNumber(12) + ExprGreaterThan ensureGreaterThan() => $_ensure(11); + + @$pb.TagNumber(13) + ExprGreaterThanOrEquals get greaterThanOrEquals => $_getN(12); + @$pb.TagNumber(13) + set greaterThanOrEquals(ExprGreaterThanOrEquals v) { setField(13, v); } + @$pb.TagNumber(13) + $core.bool hasGreaterThanOrEquals() => $_has(12); + @$pb.TagNumber(13) + void clearGreaterThanOrEquals() => clearField(13); + @$pb.TagNumber(13) + ExprGreaterThanOrEquals ensureGreaterThanOrEquals() => $_ensure(12); + + @$pb.TagNumber(14) + ExprAnd get and => $_getN(13); + @$pb.TagNumber(14) + set and(ExprAnd v) { setField(14, v); } + @$pb.TagNumber(14) + $core.bool hasAnd() => $_has(13); + @$pb.TagNumber(14) + void clearAnd() => clearField(14); + @$pb.TagNumber(14) + ExprAnd ensureAnd() => $_ensure(13); + + @$pb.TagNumber(15) + ExprOr get or => $_getN(14); + @$pb.TagNumber(15) + set or(ExprOr v) { setField(15, v); } + @$pb.TagNumber(15) + $core.bool hasOr() => $_has(14); + @$pb.TagNumber(15) + void clearOr() => clearField(15); + @$pb.TagNumber(15) + ExprOr ensureOr() => $_ensure(14); + + @$pb.TagNumber(16) + ExprPlus get plus => $_getN(15); + @$pb.TagNumber(16) + set plus(ExprPlus v) { setField(16, v); } + @$pb.TagNumber(16) + $core.bool hasPlus() => $_has(15); + @$pb.TagNumber(16) + void clearPlus() => clearField(16); + @$pb.TagNumber(16) + ExprPlus ensurePlus() => $_ensure(15); + + @$pb.TagNumber(17) + ExprMinus get minus => $_getN(16); + @$pb.TagNumber(17) + set minus(ExprMinus v) { setField(17, v); } + @$pb.TagNumber(17) + $core.bool hasMinus() => $_has(16); + @$pb.TagNumber(17) + void clearMinus() => clearField(17); + @$pb.TagNumber(17) + ExprMinus ensureMinus() => $_ensure(16); + + @$pb.TagNumber(18) + ExprTimes get times => $_getN(17); + @$pb.TagNumber(18) + set times(ExprTimes v) { setField(18, v); } + @$pb.TagNumber(18) + $core.bool hasTimes() => $_has(17); + @$pb.TagNumber(18) + void clearTimes() => clearField(18); + @$pb.TagNumber(18) + ExprTimes ensureTimes() => $_ensure(17); + + @$pb.TagNumber(19) + ExprContains get contains => $_getN(18); + @$pb.TagNumber(19) + set contains(ExprContains v) { setField(19, v); } + @$pb.TagNumber(19) + $core.bool hasContains() => $_has(18); + @$pb.TagNumber(19) + void clearContains() => clearField(19); + @$pb.TagNumber(19) + ExprContains ensureContains() => $_ensure(18); + + @$pb.TagNumber(20) + ExprContainsAll get containsAll => $_getN(19); + @$pb.TagNumber(20) + set containsAll(ExprContainsAll v) { setField(20, v); } + @$pb.TagNumber(20) + $core.bool hasContainsAll() => $_has(19); + @$pb.TagNumber(20) + void clearContainsAll() => clearField(20); + @$pb.TagNumber(20) + ExprContainsAll ensureContainsAll() => $_ensure(19); + + @$pb.TagNumber(21) + ExprContainsAny get containsAny => $_getN(20); + @$pb.TagNumber(21) + set containsAny(ExprContainsAny v) { setField(21, v); } + @$pb.TagNumber(21) + $core.bool hasContainsAny() => $_has(20); + @$pb.TagNumber(21) + void clearContainsAny() => clearField(21); + @$pb.TagNumber(21) + ExprContainsAny ensureContainsAny() => $_ensure(20); + + @$pb.TagNumber(22) + ExprGetAttribute get getAttribute => $_getN(21); + @$pb.TagNumber(22) + set getAttribute(ExprGetAttribute v) { setField(22, v); } + @$pb.TagNumber(22) + $core.bool hasGetAttribute() => $_has(21); + @$pb.TagNumber(22) + void clearGetAttribute() => clearField(22); + @$pb.TagNumber(22) + ExprGetAttribute ensureGetAttribute() => $_ensure(21); + + @$pb.TagNumber(23) + ExprHasAttribute get hasAttribute => $_getN(22); + @$pb.TagNumber(23) + set hasAttribute(ExprHasAttribute v) { setField(23, v); } + @$pb.TagNumber(23) + $core.bool hasHasAttribute() => $_has(22); + @$pb.TagNumber(23) + void clearHasAttribute() => clearField(23); + @$pb.TagNumber(23) + ExprHasAttribute ensureHasAttribute() => $_ensure(22); + + @$pb.TagNumber(24) + ExprLike get like => $_getN(23); + @$pb.TagNumber(24) + set like(ExprLike v) { setField(24, v); } + @$pb.TagNumber(24) + $core.bool hasLike() => $_has(23); + @$pb.TagNumber(24) + void clearLike() => clearField(24); + @$pb.TagNumber(24) + ExprLike ensureLike() => $_ensure(23); + + @$pb.TagNumber(25) + ExprIs get is_ => $_getN(24); + @$pb.TagNumber(25) + set is_(ExprIs v) { setField(25, v); } + @$pb.TagNumber(25) + $core.bool hasIs_() => $_has(24); + @$pb.TagNumber(25) + void clearIs_() => clearField(25); + @$pb.TagNumber(25) + ExprIs ensureIs_() => $_ensure(24); + + @$pb.TagNumber(26) + ExprIfThenElse get ifThenElse => $_getN(25); + @$pb.TagNumber(26) + set ifThenElse(ExprIfThenElse v) { setField(26, v); } + @$pb.TagNumber(26) + $core.bool hasIfThenElse() => $_has(25); + @$pb.TagNumber(26) + void clearIfThenElse() => clearField(26); + @$pb.TagNumber(26) + ExprIfThenElse ensureIfThenElse() => $_ensure(25); + + @$pb.TagNumber(27) + ExprSet get set => $_getN(26); + @$pb.TagNumber(27) + set set(ExprSet v) { setField(27, v); } + @$pb.TagNumber(27) + $core.bool hasSet() => $_has(26); + @$pb.TagNumber(27) + void clearSet() => clearField(27); + @$pb.TagNumber(27) + ExprSet ensureSet() => $_ensure(26); + + @$pb.TagNumber(28) + ExprRecord get record => $_getN(27); + @$pb.TagNumber(28) + set record(ExprRecord v) { setField(28, v); } + @$pb.TagNumber(28) + $core.bool hasRecord() => $_has(27); + @$pb.TagNumber(28) + void clearRecord() => clearField(28); + @$pb.TagNumber(28) + ExprRecord ensureRecord() => $_ensure(27); + + @$pb.TagNumber(29) + ExprFuncCall get funcCall => $_getN(28); + @$pb.TagNumber(29) + set funcCall(ExprFuncCall v) { setField(29, v); } + @$pb.TagNumber(29) + $core.bool hasFuncCall() => $_has(28); + @$pb.TagNumber(29) + void clearFuncCall() => clearField(29); + @$pb.TagNumber(29) + ExprFuncCall ensureFuncCall() => $_ensure(28); +} + +class ExprValue extends $pb.GeneratedMessage { + factory ExprValue({ + $1.Value? value, + }) { + final $result = create(); + if (value != null) { + $result.value = value; + } + return $result; + } + ExprValue._() : super(); + factory ExprValue.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprValue.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprValue', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM<$1.Value>(1, _omitFieldNames ? '' : 'value', subBuilder: $1.Value.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprValue clone() => ExprValue()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprValue copyWith(void Function(ExprValue) updates) => super.copyWith((message) => updates(message as ExprValue)) as ExprValue; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprValue create() => ExprValue._(); + ExprValue createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprValue getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprValue? _defaultInstance; + + @$pb.TagNumber(1) + $1.Value get value => $_getN(0); + @$pb.TagNumber(1) + set value($1.Value v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasValue() => $_has(0); + @$pb.TagNumber(1) + void clearValue() => clearField(1); + @$pb.TagNumber(1) + $1.Value ensureValue() => $_ensure(0); +} + +class ExprVar extends $pb.GeneratedMessage { + factory ExprVar({ + Variable? variable, + }) { + final $result = create(); + if (variable != null) { + $result.variable = variable; + } + return $result; + } + ExprVar._() : super(); + factory ExprVar.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprVar.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprVar', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..e(1, _omitFieldNames ? '' : 'variable', $pb.PbFieldType.OE, defaultOrMaker: Variable.VARIABLE_UNSPECIFIED, valueOf: Variable.valueOf, enumValues: Variable.values) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprVar clone() => ExprVar()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprVar copyWith(void Function(ExprVar) updates) => super.copyWith((message) => updates(message as ExprVar)) as ExprVar; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprVar create() => ExprVar._(); + ExprVar createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprVar getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprVar? _defaultInstance; + + @$pb.TagNumber(1) + Variable get variable => $_getN(0); + @$pb.TagNumber(1) + set variable(Variable v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasVariable() => $_has(0); + @$pb.TagNumber(1) + void clearVariable() => clearField(1); +} + +class ExprSlot extends $pb.GeneratedMessage { + factory ExprSlot({ + SlotId? slotId, + }) { + final $result = create(); + if (slotId != null) { + $result.slotId = slotId; + } + return $result; + } + ExprSlot._() : super(); + factory ExprSlot.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprSlot.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprSlot', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..e(1, _omitFieldNames ? '' : 'slotId', $pb.PbFieldType.OE, defaultOrMaker: SlotId.SLOT_ID_UNSPECIFIED, valueOf: SlotId.valueOf, enumValues: SlotId.values) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprSlot clone() => ExprSlot()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprSlot copyWith(void Function(ExprSlot) updates) => super.copyWith((message) => updates(message as ExprSlot)) as ExprSlot; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprSlot create() => ExprSlot._(); + ExprSlot createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprSlot getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprSlot? _defaultInstance; + + @$pb.TagNumber(1) + SlotId get slotId => $_getN(0); + @$pb.TagNumber(1) + set slotId(SlotId v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasSlotId() => $_has(0); + @$pb.TagNumber(1) + void clearSlotId() => clearField(1); +} + +class ExprUnknown extends $pb.GeneratedMessage { + factory ExprUnknown({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + ExprUnknown._() : super(); + factory ExprUnknown.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprUnknown.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprUnknown', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprUnknown clone() => ExprUnknown()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprUnknown copyWith(void Function(ExprUnknown) updates) => super.copyWith((message) => updates(message as ExprUnknown)) as ExprUnknown; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprUnknown create() => ExprUnknown._(); + ExprUnknown createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprUnknown getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprUnknown? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +class ExprNot extends $pb.GeneratedMessage { + factory ExprNot({ + Expr? expr, + }) { + final $result = create(); + if (expr != null) { + $result.expr = expr; + } + return $result; + } + ExprNot._() : super(); + factory ExprNot.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprNot.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprNot', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'expr', subBuilder: Expr.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprNot clone() => ExprNot()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprNot copyWith(void Function(ExprNot) updates) => super.copyWith((message) => updates(message as ExprNot)) as ExprNot; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprNot create() => ExprNot._(); + ExprNot createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprNot getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprNot? _defaultInstance; + + @$pb.TagNumber(1) + Expr get expr => $_getN(0); + @$pb.TagNumber(1) + set expr(Expr v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasExpr() => $_has(0); + @$pb.TagNumber(1) + void clearExpr() => clearField(1); + @$pb.TagNumber(1) + Expr ensureExpr() => $_ensure(0); +} + +class ExprNeg extends $pb.GeneratedMessage { + factory ExprNeg({ + Expr? expr, + }) { + final $result = create(); + if (expr != null) { + $result.expr = expr; + } + return $result; + } + ExprNeg._() : super(); + factory ExprNeg.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprNeg.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprNeg', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'expr', subBuilder: Expr.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprNeg clone() => ExprNeg()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprNeg copyWith(void Function(ExprNeg) updates) => super.copyWith((message) => updates(message as ExprNeg)) as ExprNeg; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprNeg create() => ExprNeg._(); + ExprNeg createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprNeg getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprNeg? _defaultInstance; + + @$pb.TagNumber(1) + Expr get expr => $_getN(0); + @$pb.TagNumber(1) + set expr(Expr v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasExpr() => $_has(0); + @$pb.TagNumber(1) + void clearExpr() => clearField(1); + @$pb.TagNumber(1) + Expr ensureExpr() => $_ensure(0); +} + +class ExprEquals extends $pb.GeneratedMessage { + factory ExprEquals({ + Expr? left, + Expr? right, + }) { + final $result = create(); + if (left != null) { + $result.left = left; + } + if (right != null) { + $result.right = right; + } + return $result; + } + ExprEquals._() : super(); + factory ExprEquals.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprEquals.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprEquals', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'left', subBuilder: Expr.create) + ..aOM(2, _omitFieldNames ? '' : 'right', subBuilder: Expr.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprEquals clone() => ExprEquals()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprEquals copyWith(void Function(ExprEquals) updates) => super.copyWith((message) => updates(message as ExprEquals)) as ExprEquals; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprEquals create() => ExprEquals._(); + ExprEquals createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprEquals getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprEquals? _defaultInstance; + + @$pb.TagNumber(1) + Expr get left => $_getN(0); + @$pb.TagNumber(1) + set left(Expr v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasLeft() => $_has(0); + @$pb.TagNumber(1) + void clearLeft() => clearField(1); + @$pb.TagNumber(1) + Expr ensureLeft() => $_ensure(0); + + @$pb.TagNumber(2) + Expr get right => $_getN(1); + @$pb.TagNumber(2) + set right(Expr v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasRight() => $_has(1); + @$pb.TagNumber(2) + void clearRight() => clearField(2); + @$pb.TagNumber(2) + Expr ensureRight() => $_ensure(1); +} + +class ExprNotEquals extends $pb.GeneratedMessage { + factory ExprNotEquals({ + Expr? left, + Expr? right, + }) { + final $result = create(); + if (left != null) { + $result.left = left; + } + if (right != null) { + $result.right = right; + } + return $result; + } + ExprNotEquals._() : super(); + factory ExprNotEquals.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprNotEquals.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprNotEquals', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'left', subBuilder: Expr.create) + ..aOM(2, _omitFieldNames ? '' : 'right', subBuilder: Expr.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprNotEquals clone() => ExprNotEquals()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprNotEquals copyWith(void Function(ExprNotEquals) updates) => super.copyWith((message) => updates(message as ExprNotEquals)) as ExprNotEquals; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprNotEquals create() => ExprNotEquals._(); + ExprNotEquals createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprNotEquals getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprNotEquals? _defaultInstance; + + @$pb.TagNumber(1) + Expr get left => $_getN(0); + @$pb.TagNumber(1) + set left(Expr v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasLeft() => $_has(0); + @$pb.TagNumber(1) + void clearLeft() => clearField(1); + @$pb.TagNumber(1) + Expr ensureLeft() => $_ensure(0); + + @$pb.TagNumber(2) + Expr get right => $_getN(1); + @$pb.TagNumber(2) + set right(Expr v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasRight() => $_has(1); + @$pb.TagNumber(2) + void clearRight() => clearField(2); + @$pb.TagNumber(2) + Expr ensureRight() => $_ensure(1); +} + +class ExprIn extends $pb.GeneratedMessage { + factory ExprIn({ + Expr? left, + Expr? right, + }) { + final $result = create(); + if (left != null) { + $result.left = left; + } + if (right != null) { + $result.right = right; + } + return $result; + } + ExprIn._() : super(); + factory ExprIn.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprIn.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprIn', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'left', subBuilder: Expr.create) + ..aOM(2, _omitFieldNames ? '' : 'right', subBuilder: Expr.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprIn clone() => ExprIn()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprIn copyWith(void Function(ExprIn) updates) => super.copyWith((message) => updates(message as ExprIn)) as ExprIn; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprIn create() => ExprIn._(); + ExprIn createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprIn getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprIn? _defaultInstance; + + @$pb.TagNumber(1) + Expr get left => $_getN(0); + @$pb.TagNumber(1) + set left(Expr v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasLeft() => $_has(0); + @$pb.TagNumber(1) + void clearLeft() => clearField(1); + @$pb.TagNumber(1) + Expr ensureLeft() => $_ensure(0); + + @$pb.TagNumber(2) + Expr get right => $_getN(1); + @$pb.TagNumber(2) + set right(Expr v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasRight() => $_has(1); + @$pb.TagNumber(2) + void clearRight() => clearField(2); + @$pb.TagNumber(2) + Expr ensureRight() => $_ensure(1); +} + +class ExprLessThan extends $pb.GeneratedMessage { + factory ExprLessThan({ + Expr? left, + Expr? right, + }) { + final $result = create(); + if (left != null) { + $result.left = left; + } + if (right != null) { + $result.right = right; + } + return $result; + } + ExprLessThan._() : super(); + factory ExprLessThan.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprLessThan.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprLessThan', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'left', subBuilder: Expr.create) + ..aOM(2, _omitFieldNames ? '' : 'right', subBuilder: Expr.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprLessThan clone() => ExprLessThan()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprLessThan copyWith(void Function(ExprLessThan) updates) => super.copyWith((message) => updates(message as ExprLessThan)) as ExprLessThan; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprLessThan create() => ExprLessThan._(); + ExprLessThan createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprLessThan getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprLessThan? _defaultInstance; + + @$pb.TagNumber(1) + Expr get left => $_getN(0); + @$pb.TagNumber(1) + set left(Expr v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasLeft() => $_has(0); + @$pb.TagNumber(1) + void clearLeft() => clearField(1); + @$pb.TagNumber(1) + Expr ensureLeft() => $_ensure(0); + + @$pb.TagNumber(2) + Expr get right => $_getN(1); + @$pb.TagNumber(2) + set right(Expr v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasRight() => $_has(1); + @$pb.TagNumber(2) + void clearRight() => clearField(2); + @$pb.TagNumber(2) + Expr ensureRight() => $_ensure(1); +} + +class ExprLessThanOrEquals extends $pb.GeneratedMessage { + factory ExprLessThanOrEquals({ + Expr? left, + Expr? right, + }) { + final $result = create(); + if (left != null) { + $result.left = left; + } + if (right != null) { + $result.right = right; + } + return $result; + } + ExprLessThanOrEquals._() : super(); + factory ExprLessThanOrEquals.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprLessThanOrEquals.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprLessThanOrEquals', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'left', subBuilder: Expr.create) + ..aOM(2, _omitFieldNames ? '' : 'right', subBuilder: Expr.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprLessThanOrEquals clone() => ExprLessThanOrEquals()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprLessThanOrEquals copyWith(void Function(ExprLessThanOrEquals) updates) => super.copyWith((message) => updates(message as ExprLessThanOrEquals)) as ExprLessThanOrEquals; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprLessThanOrEquals create() => ExprLessThanOrEquals._(); + ExprLessThanOrEquals createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprLessThanOrEquals getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprLessThanOrEquals? _defaultInstance; + + @$pb.TagNumber(1) + Expr get left => $_getN(0); + @$pb.TagNumber(1) + set left(Expr v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasLeft() => $_has(0); + @$pb.TagNumber(1) + void clearLeft() => clearField(1); + @$pb.TagNumber(1) + Expr ensureLeft() => $_ensure(0); + + @$pb.TagNumber(2) + Expr get right => $_getN(1); + @$pb.TagNumber(2) + set right(Expr v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasRight() => $_has(1); + @$pb.TagNumber(2) + void clearRight() => clearField(2); + @$pb.TagNumber(2) + Expr ensureRight() => $_ensure(1); +} + +class ExprGreaterThan extends $pb.GeneratedMessage { + factory ExprGreaterThan({ + Expr? left, + Expr? right, + }) { + final $result = create(); + if (left != null) { + $result.left = left; + } + if (right != null) { + $result.right = right; + } + return $result; + } + ExprGreaterThan._() : super(); + factory ExprGreaterThan.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprGreaterThan.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprGreaterThan', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'left', subBuilder: Expr.create) + ..aOM(2, _omitFieldNames ? '' : 'right', subBuilder: Expr.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprGreaterThan clone() => ExprGreaterThan()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprGreaterThan copyWith(void Function(ExprGreaterThan) updates) => super.copyWith((message) => updates(message as ExprGreaterThan)) as ExprGreaterThan; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprGreaterThan create() => ExprGreaterThan._(); + ExprGreaterThan createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprGreaterThan getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprGreaterThan? _defaultInstance; + + @$pb.TagNumber(1) + Expr get left => $_getN(0); + @$pb.TagNumber(1) + set left(Expr v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasLeft() => $_has(0); + @$pb.TagNumber(1) + void clearLeft() => clearField(1); + @$pb.TagNumber(1) + Expr ensureLeft() => $_ensure(0); + + @$pb.TagNumber(2) + Expr get right => $_getN(1); + @$pb.TagNumber(2) + set right(Expr v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasRight() => $_has(1); + @$pb.TagNumber(2) + void clearRight() => clearField(2); + @$pb.TagNumber(2) + Expr ensureRight() => $_ensure(1); +} + +class ExprGreaterThanOrEquals extends $pb.GeneratedMessage { + factory ExprGreaterThanOrEquals({ + Expr? left, + Expr? right, + }) { + final $result = create(); + if (left != null) { + $result.left = left; + } + if (right != null) { + $result.right = right; + } + return $result; + } + ExprGreaterThanOrEquals._() : super(); + factory ExprGreaterThanOrEquals.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprGreaterThanOrEquals.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprGreaterThanOrEquals', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'left', subBuilder: Expr.create) + ..aOM(2, _omitFieldNames ? '' : 'right', subBuilder: Expr.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprGreaterThanOrEquals clone() => ExprGreaterThanOrEquals()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprGreaterThanOrEquals copyWith(void Function(ExprGreaterThanOrEquals) updates) => super.copyWith((message) => updates(message as ExprGreaterThanOrEquals)) as ExprGreaterThanOrEquals; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprGreaterThanOrEquals create() => ExprGreaterThanOrEquals._(); + ExprGreaterThanOrEquals createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprGreaterThanOrEquals getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprGreaterThanOrEquals? _defaultInstance; + + @$pb.TagNumber(1) + Expr get left => $_getN(0); + @$pb.TagNumber(1) + set left(Expr v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasLeft() => $_has(0); + @$pb.TagNumber(1) + void clearLeft() => clearField(1); + @$pb.TagNumber(1) + Expr ensureLeft() => $_ensure(0); + + @$pb.TagNumber(2) + Expr get right => $_getN(1); + @$pb.TagNumber(2) + set right(Expr v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasRight() => $_has(1); + @$pb.TagNumber(2) + void clearRight() => clearField(2); + @$pb.TagNumber(2) + Expr ensureRight() => $_ensure(1); +} + +class ExprAnd extends $pb.GeneratedMessage { + factory ExprAnd({ + Expr? left, + Expr? right, + }) { + final $result = create(); + if (left != null) { + $result.left = left; + } + if (right != null) { + $result.right = right; + } + return $result; + } + ExprAnd._() : super(); + factory ExprAnd.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprAnd.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprAnd', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'left', subBuilder: Expr.create) + ..aOM(2, _omitFieldNames ? '' : 'right', subBuilder: Expr.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprAnd clone() => ExprAnd()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprAnd copyWith(void Function(ExprAnd) updates) => super.copyWith((message) => updates(message as ExprAnd)) as ExprAnd; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprAnd create() => ExprAnd._(); + ExprAnd createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprAnd getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprAnd? _defaultInstance; + + @$pb.TagNumber(1) + Expr get left => $_getN(0); + @$pb.TagNumber(1) + set left(Expr v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasLeft() => $_has(0); + @$pb.TagNumber(1) + void clearLeft() => clearField(1); + @$pb.TagNumber(1) + Expr ensureLeft() => $_ensure(0); + + @$pb.TagNumber(2) + Expr get right => $_getN(1); + @$pb.TagNumber(2) + set right(Expr v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasRight() => $_has(1); + @$pb.TagNumber(2) + void clearRight() => clearField(2); + @$pb.TagNumber(2) + Expr ensureRight() => $_ensure(1); +} + +class ExprOr extends $pb.GeneratedMessage { + factory ExprOr({ + Expr? left, + Expr? right, + }) { + final $result = create(); + if (left != null) { + $result.left = left; + } + if (right != null) { + $result.right = right; + } + return $result; + } + ExprOr._() : super(); + factory ExprOr.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprOr.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprOr', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'left', subBuilder: Expr.create) + ..aOM(2, _omitFieldNames ? '' : 'right', subBuilder: Expr.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprOr clone() => ExprOr()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprOr copyWith(void Function(ExprOr) updates) => super.copyWith((message) => updates(message as ExprOr)) as ExprOr; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprOr create() => ExprOr._(); + ExprOr createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprOr getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprOr? _defaultInstance; + + @$pb.TagNumber(1) + Expr get left => $_getN(0); + @$pb.TagNumber(1) + set left(Expr v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasLeft() => $_has(0); + @$pb.TagNumber(1) + void clearLeft() => clearField(1); + @$pb.TagNumber(1) + Expr ensureLeft() => $_ensure(0); + + @$pb.TagNumber(2) + Expr get right => $_getN(1); + @$pb.TagNumber(2) + set right(Expr v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasRight() => $_has(1); + @$pb.TagNumber(2) + void clearRight() => clearField(2); + @$pb.TagNumber(2) + Expr ensureRight() => $_ensure(1); +} + +class ExprPlus extends $pb.GeneratedMessage { + factory ExprPlus({ + Expr? left, + Expr? right, + }) { + final $result = create(); + if (left != null) { + $result.left = left; + } + if (right != null) { + $result.right = right; + } + return $result; + } + ExprPlus._() : super(); + factory ExprPlus.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprPlus.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprPlus', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'left', subBuilder: Expr.create) + ..aOM(2, _omitFieldNames ? '' : 'right', subBuilder: Expr.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprPlus clone() => ExprPlus()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprPlus copyWith(void Function(ExprPlus) updates) => super.copyWith((message) => updates(message as ExprPlus)) as ExprPlus; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprPlus create() => ExprPlus._(); + ExprPlus createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprPlus getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprPlus? _defaultInstance; + + @$pb.TagNumber(1) + Expr get left => $_getN(0); + @$pb.TagNumber(1) + set left(Expr v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasLeft() => $_has(0); + @$pb.TagNumber(1) + void clearLeft() => clearField(1); + @$pb.TagNumber(1) + Expr ensureLeft() => $_ensure(0); + + @$pb.TagNumber(2) + Expr get right => $_getN(1); + @$pb.TagNumber(2) + set right(Expr v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasRight() => $_has(1); + @$pb.TagNumber(2) + void clearRight() => clearField(2); + @$pb.TagNumber(2) + Expr ensureRight() => $_ensure(1); +} + +class ExprMinus extends $pb.GeneratedMessage { + factory ExprMinus({ + Expr? left, + Expr? right, + }) { + final $result = create(); + if (left != null) { + $result.left = left; + } + if (right != null) { + $result.right = right; + } + return $result; + } + ExprMinus._() : super(); + factory ExprMinus.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprMinus.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprMinus', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'left', subBuilder: Expr.create) + ..aOM(2, _omitFieldNames ? '' : 'right', subBuilder: Expr.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprMinus clone() => ExprMinus()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprMinus copyWith(void Function(ExprMinus) updates) => super.copyWith((message) => updates(message as ExprMinus)) as ExprMinus; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprMinus create() => ExprMinus._(); + ExprMinus createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprMinus getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprMinus? _defaultInstance; + + @$pb.TagNumber(1) + Expr get left => $_getN(0); + @$pb.TagNumber(1) + set left(Expr v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasLeft() => $_has(0); + @$pb.TagNumber(1) + void clearLeft() => clearField(1); + @$pb.TagNumber(1) + Expr ensureLeft() => $_ensure(0); + + @$pb.TagNumber(2) + Expr get right => $_getN(1); + @$pb.TagNumber(2) + set right(Expr v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasRight() => $_has(1); + @$pb.TagNumber(2) + void clearRight() => clearField(2); + @$pb.TagNumber(2) + Expr ensureRight() => $_ensure(1); +} + +class ExprTimes extends $pb.GeneratedMessage { + factory ExprTimes({ + Expr? left, + Expr? right, + }) { + final $result = create(); + if (left != null) { + $result.left = left; + } + if (right != null) { + $result.right = right; + } + return $result; + } + ExprTimes._() : super(); + factory ExprTimes.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprTimes.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprTimes', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'left', subBuilder: Expr.create) + ..aOM(2, _omitFieldNames ? '' : 'right', subBuilder: Expr.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprTimes clone() => ExprTimes()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprTimes copyWith(void Function(ExprTimes) updates) => super.copyWith((message) => updates(message as ExprTimes)) as ExprTimes; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprTimes create() => ExprTimes._(); + ExprTimes createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprTimes getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprTimes? _defaultInstance; + + @$pb.TagNumber(1) + Expr get left => $_getN(0); + @$pb.TagNumber(1) + set left(Expr v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasLeft() => $_has(0); + @$pb.TagNumber(1) + void clearLeft() => clearField(1); + @$pb.TagNumber(1) + Expr ensureLeft() => $_ensure(0); + + @$pb.TagNumber(2) + Expr get right => $_getN(1); + @$pb.TagNumber(2) + set right(Expr v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasRight() => $_has(1); + @$pb.TagNumber(2) + void clearRight() => clearField(2); + @$pb.TagNumber(2) + Expr ensureRight() => $_ensure(1); +} + +class ExprContains extends $pb.GeneratedMessage { + factory ExprContains({ + Expr? left, + Expr? right, + }) { + final $result = create(); + if (left != null) { + $result.left = left; + } + if (right != null) { + $result.right = right; + } + return $result; + } + ExprContains._() : super(); + factory ExprContains.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprContains.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprContains', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'left', subBuilder: Expr.create) + ..aOM(2, _omitFieldNames ? '' : 'right', subBuilder: Expr.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprContains clone() => ExprContains()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprContains copyWith(void Function(ExprContains) updates) => super.copyWith((message) => updates(message as ExprContains)) as ExprContains; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprContains create() => ExprContains._(); + ExprContains createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprContains getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprContains? _defaultInstance; + + @$pb.TagNumber(1) + Expr get left => $_getN(0); + @$pb.TagNumber(1) + set left(Expr v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasLeft() => $_has(0); + @$pb.TagNumber(1) + void clearLeft() => clearField(1); + @$pb.TagNumber(1) + Expr ensureLeft() => $_ensure(0); + + @$pb.TagNumber(2) + Expr get right => $_getN(1); + @$pb.TagNumber(2) + set right(Expr v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasRight() => $_has(1); + @$pb.TagNumber(2) + void clearRight() => clearField(2); + @$pb.TagNumber(2) + Expr ensureRight() => $_ensure(1); +} + +class ExprContainsAll extends $pb.GeneratedMessage { + factory ExprContainsAll({ + Expr? left, + Expr? right, + }) { + final $result = create(); + if (left != null) { + $result.left = left; + } + if (right != null) { + $result.right = right; + } + return $result; + } + ExprContainsAll._() : super(); + factory ExprContainsAll.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprContainsAll.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprContainsAll', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'left', subBuilder: Expr.create) + ..aOM(2, _omitFieldNames ? '' : 'right', subBuilder: Expr.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprContainsAll clone() => ExprContainsAll()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprContainsAll copyWith(void Function(ExprContainsAll) updates) => super.copyWith((message) => updates(message as ExprContainsAll)) as ExprContainsAll; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprContainsAll create() => ExprContainsAll._(); + ExprContainsAll createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprContainsAll getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprContainsAll? _defaultInstance; + + @$pb.TagNumber(1) + Expr get left => $_getN(0); + @$pb.TagNumber(1) + set left(Expr v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasLeft() => $_has(0); + @$pb.TagNumber(1) + void clearLeft() => clearField(1); + @$pb.TagNumber(1) + Expr ensureLeft() => $_ensure(0); + + @$pb.TagNumber(2) + Expr get right => $_getN(1); + @$pb.TagNumber(2) + set right(Expr v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasRight() => $_has(1); + @$pb.TagNumber(2) + void clearRight() => clearField(2); + @$pb.TagNumber(2) + Expr ensureRight() => $_ensure(1); +} + +class ExprContainsAny extends $pb.GeneratedMessage { + factory ExprContainsAny({ + Expr? left, + Expr? right, + }) { + final $result = create(); + if (left != null) { + $result.left = left; + } + if (right != null) { + $result.right = right; + } + return $result; + } + ExprContainsAny._() : super(); + factory ExprContainsAny.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprContainsAny.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprContainsAny', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'left', subBuilder: Expr.create) + ..aOM(2, _omitFieldNames ? '' : 'right', subBuilder: Expr.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprContainsAny clone() => ExprContainsAny()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprContainsAny copyWith(void Function(ExprContainsAny) updates) => super.copyWith((message) => updates(message as ExprContainsAny)) as ExprContainsAny; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprContainsAny create() => ExprContainsAny._(); + ExprContainsAny createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprContainsAny getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprContainsAny? _defaultInstance; + + @$pb.TagNumber(1) + Expr get left => $_getN(0); + @$pb.TagNumber(1) + set left(Expr v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasLeft() => $_has(0); + @$pb.TagNumber(1) + void clearLeft() => clearField(1); + @$pb.TagNumber(1) + Expr ensureLeft() => $_ensure(0); + + @$pb.TagNumber(2) + Expr get right => $_getN(1); + @$pb.TagNumber(2) + set right(Expr v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasRight() => $_has(1); + @$pb.TagNumber(2) + void clearRight() => clearField(2); + @$pb.TagNumber(2) + Expr ensureRight() => $_ensure(1); +} + +class ExprGetAttribute extends $pb.GeneratedMessage { + factory ExprGetAttribute({ + Expr? left, + $core.String? attr, + }) { + final $result = create(); + if (left != null) { + $result.left = left; + } + if (attr != null) { + $result.attr = attr; + } + return $result; + } + ExprGetAttribute._() : super(); + factory ExprGetAttribute.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprGetAttribute.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprGetAttribute', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'left', subBuilder: Expr.create) + ..aOS(2, _omitFieldNames ? '' : 'attr') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprGetAttribute clone() => ExprGetAttribute()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprGetAttribute copyWith(void Function(ExprGetAttribute) updates) => super.copyWith((message) => updates(message as ExprGetAttribute)) as ExprGetAttribute; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprGetAttribute create() => ExprGetAttribute._(); + ExprGetAttribute createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprGetAttribute getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprGetAttribute? _defaultInstance; + + @$pb.TagNumber(1) + Expr get left => $_getN(0); + @$pb.TagNumber(1) + set left(Expr v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasLeft() => $_has(0); + @$pb.TagNumber(1) + void clearLeft() => clearField(1); + @$pb.TagNumber(1) + Expr ensureLeft() => $_ensure(0); + + @$pb.TagNumber(2) + $core.String get attr => $_getSZ(1); + @$pb.TagNumber(2) + set attr($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasAttr() => $_has(1); + @$pb.TagNumber(2) + void clearAttr() => clearField(2); +} + +class ExprHasAttribute extends $pb.GeneratedMessage { + factory ExprHasAttribute({ + Expr? left, + $core.String? attr, + }) { + final $result = create(); + if (left != null) { + $result.left = left; + } + if (attr != null) { + $result.attr = attr; + } + return $result; + } + ExprHasAttribute._() : super(); + factory ExprHasAttribute.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprHasAttribute.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprHasAttribute', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'left', subBuilder: Expr.create) + ..aOS(2, _omitFieldNames ? '' : 'attr') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprHasAttribute clone() => ExprHasAttribute()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprHasAttribute copyWith(void Function(ExprHasAttribute) updates) => super.copyWith((message) => updates(message as ExprHasAttribute)) as ExprHasAttribute; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprHasAttribute create() => ExprHasAttribute._(); + ExprHasAttribute createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprHasAttribute getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprHasAttribute? _defaultInstance; + + @$pb.TagNumber(1) + Expr get left => $_getN(0); + @$pb.TagNumber(1) + set left(Expr v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasLeft() => $_has(0); + @$pb.TagNumber(1) + void clearLeft() => clearField(1); + @$pb.TagNumber(1) + Expr ensureLeft() => $_ensure(0); + + @$pb.TagNumber(2) + $core.String get attr => $_getSZ(1); + @$pb.TagNumber(2) + set attr($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasAttr() => $_has(1); + @$pb.TagNumber(2) + void clearAttr() => clearField(2); +} + +class ExprLike extends $pb.GeneratedMessage { + factory ExprLike({ + Expr? left, + $core.String? pattern, + }) { + final $result = create(); + if (left != null) { + $result.left = left; + } + if (pattern != null) { + $result.pattern = pattern; + } + return $result; + } + ExprLike._() : super(); + factory ExprLike.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprLike.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprLike', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'left', subBuilder: Expr.create) + ..aOS(2, _omitFieldNames ? '' : 'pattern') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprLike clone() => ExprLike()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprLike copyWith(void Function(ExprLike) updates) => super.copyWith((message) => updates(message as ExprLike)) as ExprLike; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprLike create() => ExprLike._(); + ExprLike createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprLike getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprLike? _defaultInstance; + + @$pb.TagNumber(1) + Expr get left => $_getN(0); + @$pb.TagNumber(1) + set left(Expr v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasLeft() => $_has(0); + @$pb.TagNumber(1) + void clearLeft() => clearField(1); + @$pb.TagNumber(1) + Expr ensureLeft() => $_ensure(0); + + @$pb.TagNumber(2) + $core.String get pattern => $_getSZ(1); + @$pb.TagNumber(2) + set pattern($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasPattern() => $_has(1); + @$pb.TagNumber(2) + void clearPattern() => clearField(2); +} + +class ExprIs extends $pb.GeneratedMessage { + factory ExprIs({ + Expr? left, + $core.String? entityType, + Expr? in_, + }) { + final $result = create(); + if (left != null) { + $result.left = left; + } + if (entityType != null) { + $result.entityType = entityType; + } + if (in_ != null) { + $result.in_ = in_; + } + return $result; + } + ExprIs._() : super(); + factory ExprIs.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprIs.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprIs', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'left', subBuilder: Expr.create) + ..aOS(2, _omitFieldNames ? '' : 'entityType') + ..aOM(3, _omitFieldNames ? '' : 'in', subBuilder: Expr.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprIs clone() => ExprIs()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprIs copyWith(void Function(ExprIs) updates) => super.copyWith((message) => updates(message as ExprIs)) as ExprIs; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprIs create() => ExprIs._(); + ExprIs createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprIs getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprIs? _defaultInstance; + + @$pb.TagNumber(1) + Expr get left => $_getN(0); + @$pb.TagNumber(1) + set left(Expr v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasLeft() => $_has(0); + @$pb.TagNumber(1) + void clearLeft() => clearField(1); + @$pb.TagNumber(1) + Expr ensureLeft() => $_ensure(0); + + @$pb.TagNumber(2) + $core.String get entityType => $_getSZ(1); + @$pb.TagNumber(2) + set entityType($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasEntityType() => $_has(1); + @$pb.TagNumber(2) + void clearEntityType() => clearField(2); + + @$pb.TagNumber(3) + Expr get in_ => $_getN(2); + @$pb.TagNumber(3) + set in_(Expr v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasIn_() => $_has(2); + @$pb.TagNumber(3) + void clearIn_() => clearField(3); + @$pb.TagNumber(3) + Expr ensureIn_() => $_ensure(2); +} + +class ExprIfThenElse extends $pb.GeneratedMessage { + factory ExprIfThenElse({ + Expr? if_, + Expr? then, + Expr? else_, + }) { + final $result = create(); + if (if_ != null) { + $result.if_ = if_; + } + if (then != null) { + $result.then = then; + } + if (else_ != null) { + $result.else_ = else_; + } + return $result; + } + ExprIfThenElse._() : super(); + factory ExprIfThenElse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprIfThenElse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprIfThenElse', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'if', subBuilder: Expr.create) + ..aOM(2, _omitFieldNames ? '' : 'then', subBuilder: Expr.create) + ..aOM(3, _omitFieldNames ? '' : 'else', subBuilder: Expr.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprIfThenElse clone() => ExprIfThenElse()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprIfThenElse copyWith(void Function(ExprIfThenElse) updates) => super.copyWith((message) => updates(message as ExprIfThenElse)) as ExprIfThenElse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprIfThenElse create() => ExprIfThenElse._(); + ExprIfThenElse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprIfThenElse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprIfThenElse? _defaultInstance; + + @$pb.TagNumber(1) + Expr get if_ => $_getN(0); + @$pb.TagNumber(1) + set if_(Expr v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasIf_() => $_has(0); + @$pb.TagNumber(1) + void clearIf_() => clearField(1); + @$pb.TagNumber(1) + Expr ensureIf_() => $_ensure(0); + + @$pb.TagNumber(2) + Expr get then => $_getN(1); + @$pb.TagNumber(2) + set then(Expr v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasThen() => $_has(1); + @$pb.TagNumber(2) + void clearThen() => clearField(2); + @$pb.TagNumber(2) + Expr ensureThen() => $_ensure(1); + + @$pb.TagNumber(3) + Expr get else_ => $_getN(2); + @$pb.TagNumber(3) + set else_(Expr v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasElse_() => $_has(2); + @$pb.TagNumber(3) + void clearElse_() => clearField(3); + @$pb.TagNumber(3) + Expr ensureElse_() => $_ensure(2); +} + +class ExprSet extends $pb.GeneratedMessage { + factory ExprSet({ + $core.Iterable? expressions, + }) { + final $result = create(); + if (expressions != null) { + $result.expressions.addAll(expressions); + } + return $result; + } + ExprSet._() : super(); + factory ExprSet.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprSet.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprSet', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'expressions', $pb.PbFieldType.PM, subBuilder: Expr.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprSet clone() => ExprSet()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprSet copyWith(void Function(ExprSet) updates) => super.copyWith((message) => updates(message as ExprSet)) as ExprSet; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprSet create() => ExprSet._(); + ExprSet createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprSet getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprSet? _defaultInstance; + + @$pb.TagNumber(1) + $core.List get expressions => $_getList(0); +} + +class ExprRecord extends $pb.GeneratedMessage { + factory ExprRecord({ + $core.Map<$core.String, Expr>? attributes, + }) { + final $result = create(); + if (attributes != null) { + $result.attributes.addAll(attributes); + } + return $result; + } + ExprRecord._() : super(); + factory ExprRecord.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprRecord.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprRecord', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..m<$core.String, Expr>(1, _omitFieldNames ? '' : 'attributes', entryClassName: 'ExprRecord.AttributesEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OM, valueCreator: Expr.create, valueDefaultOrMaker: Expr.getDefault, packageName: const $pb.PackageName('cedar.v3')) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprRecord clone() => ExprRecord()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprRecord copyWith(void Function(ExprRecord) updates) => super.copyWith((message) => updates(message as ExprRecord)) as ExprRecord; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprRecord create() => ExprRecord._(); + ExprRecord createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprRecord getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprRecord? _defaultInstance; + + @$pb.TagNumber(1) + $core.Map<$core.String, Expr> get attributes => $_getMap(0); +} + +class ExprFuncCall extends $pb.GeneratedMessage { + factory ExprFuncCall({ + $core.String? fn, + $core.Iterable? args, + }) { + final $result = create(); + if (fn != null) { + $result.fn = fn; + } + if (args != null) { + $result.args.addAll(args); + } + return $result; + } + ExprFuncCall._() : super(); + factory ExprFuncCall.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExprFuncCall.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExprFuncCall', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'fn') + ..pc(2, _omitFieldNames ? '' : 'args', $pb.PbFieldType.PM, subBuilder: Expr.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprFuncCall clone() => ExprFuncCall()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprFuncCall copyWith(void Function(ExprFuncCall) updates) => super.copyWith((message) => updates(message as ExprFuncCall)) as ExprFuncCall; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprFuncCall create() => ExprFuncCall._(); + ExprFuncCall createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprFuncCall getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprFuncCall? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get fn => $_getSZ(0); + @$pb.TagNumber(1) + set fn($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasFn() => $_has(0); + @$pb.TagNumber(1) + void clearFn() => clearField(1); + + @$pb.TagNumber(2) + $core.List get args => $_getList(1); +} + + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/packages/corks/lib/src/proto/cedar/v3/expr.pbenum.dart b/packages/corks/lib/src/proto/cedar/v3/expr.pbenum.dart new file mode 100644 index 00000000..06035e2d --- /dev/null +++ b/packages/corks/lib/src/proto/cedar/v3/expr.pbenum.dart @@ -0,0 +1,55 @@ +// +// Generated code. Do not modify. +// source: cedar/v3/expr.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +class Variable extends $pb.ProtobufEnum { + static const Variable VARIABLE_UNSPECIFIED = Variable._(0, _omitEnumNames ? '' : 'VARIABLE_UNSPECIFIED'); + static const Variable VARIABLE_PRINCIPAL = Variable._(1, _omitEnumNames ? '' : 'VARIABLE_PRINCIPAL'); + static const Variable VARIABLE_ACTION = Variable._(2, _omitEnumNames ? '' : 'VARIABLE_ACTION'); + static const Variable VARIABLE_RESOURCE = Variable._(3, _omitEnumNames ? '' : 'VARIABLE_RESOURCE'); + static const Variable VARIABLE_CONTEXT = Variable._(4, _omitEnumNames ? '' : 'VARIABLE_CONTEXT'); + + static const $core.List values = [ + VARIABLE_UNSPECIFIED, + VARIABLE_PRINCIPAL, + VARIABLE_ACTION, + VARIABLE_RESOURCE, + VARIABLE_CONTEXT, + ]; + + static final $core.Map<$core.int, Variable> _byValue = $pb.ProtobufEnum.initByValue(values); + static Variable? valueOf($core.int value) => _byValue[value]; + + const Variable._($core.int v, $core.String n) : super(v, n); +} + +class SlotId extends $pb.ProtobufEnum { + static const SlotId SLOT_ID_UNSPECIFIED = SlotId._(0, _omitEnumNames ? '' : 'SLOT_ID_UNSPECIFIED'); + static const SlotId SLOT_ID_PRINCIPAL = SlotId._(1, _omitEnumNames ? '' : 'SLOT_ID_PRINCIPAL'); + static const SlotId SLOT_ID_RESOURCE = SlotId._(2, _omitEnumNames ? '' : 'SLOT_ID_RESOURCE'); + + static const $core.List values = [ + SLOT_ID_UNSPECIFIED, + SLOT_ID_PRINCIPAL, + SLOT_ID_RESOURCE, + ]; + + static final $core.Map<$core.int, SlotId> _byValue = $pb.ProtobufEnum.initByValue(values); + static SlotId? valueOf($core.int value) => _byValue[value]; + + const SlotId._($core.int v, $core.String n) : super(v, n); +} + + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/packages/corks/lib/src/proto/cedar/v3/expr.pbjson.dart b/packages/corks/lib/src/proto/cedar/v3/expr.pbjson.dart new file mode 100644 index 00000000..f78334eb --- /dev/null +++ b/packages/corks/lib/src/proto/cedar/v3/expr.pbjson.dart @@ -0,0 +1,583 @@ +// +// Generated code. Do not modify. +// source: cedar/v3/expr.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use variableDescriptor instead') +const Variable$json = { + '1': 'Variable', + '2': [ + {'1': 'VARIABLE_UNSPECIFIED', '2': 0}, + {'1': 'VARIABLE_PRINCIPAL', '2': 1}, + {'1': 'VARIABLE_ACTION', '2': 2}, + {'1': 'VARIABLE_RESOURCE', '2': 3}, + {'1': 'VARIABLE_CONTEXT', '2': 4}, + ], +}; + +/// Descriptor for `Variable`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List variableDescriptor = $convert.base64Decode( + 'CghWYXJpYWJsZRIYChRWQVJJQUJMRV9VTlNQRUNJRklFRBAAEhYKElZBUklBQkxFX1BSSU5DSV' + 'BBTBABEhMKD1ZBUklBQkxFX0FDVElPThACEhUKEVZBUklBQkxFX1JFU09VUkNFEAMSFAoQVkFS' + 'SUFCTEVfQ09OVEVYVBAE'); + +@$core.Deprecated('Use slotIdDescriptor instead') +const SlotId$json = { + '1': 'SlotId', + '2': [ + {'1': 'SLOT_ID_UNSPECIFIED', '2': 0}, + {'1': 'SLOT_ID_PRINCIPAL', '2': 1}, + {'1': 'SLOT_ID_RESOURCE', '2': 2}, + ], +}; + +/// Descriptor for `SlotId`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List slotIdDescriptor = $convert.base64Decode( + 'CgZTbG90SWQSFwoTU0xPVF9JRF9VTlNQRUNJRklFRBAAEhUKEVNMT1RfSURfUFJJTkNJUEFMEA' + 'ESFAoQU0xPVF9JRF9SRVNPVVJDRRAC'); + +@$core.Deprecated('Use exprDescriptor instead') +const Expr$json = { + '1': 'Expr', + '2': [ + {'1': 'value', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.ExprValue', '9': 0, '10': 'value'}, + { + '1': 'var', + '3': 2, + '4': 1, + '5': 11, + '6': '.cedar.v3.ExprVar', + '8': {'28700919': 'var_'}, + '9': 0, + '10': 'var', + }, + {'1': 'slot', '3': 3, '4': 1, '5': 11, '6': '.cedar.v3.ExprSlot', '9': 0, '10': 'slot'}, + {'1': 'unknown', '3': 4, '4': 1, '5': 11, '6': '.cedar.v3.ExprUnknown', '9': 0, '10': 'unknown'}, + {'1': 'not', '3': 5, '4': 1, '5': 11, '6': '.cedar.v3.ExprNot', '9': 0, '10': 'not'}, + {'1': 'neg', '3': 6, '4': 1, '5': 11, '6': '.cedar.v3.ExprNeg', '9': 0, '10': 'neg'}, + {'1': 'equals', '3': 7, '4': 1, '5': 11, '6': '.cedar.v3.ExprEquals', '9': 0, '10': 'equals'}, + {'1': 'not_equals', '3': 8, '4': 1, '5': 11, '6': '.cedar.v3.ExprNotEquals', '9': 0, '10': 'notEquals'}, + { + '1': 'in', + '3': 9, + '4': 1, + '5': 11, + '6': '.cedar.v3.ExprIn', + '8': {'28700919': 'in_'}, + '9': 0, + '10': 'in', + }, + {'1': 'less_than', '3': 10, '4': 1, '5': 11, '6': '.cedar.v3.ExprLessThan', '9': 0, '10': 'lessThan'}, + {'1': 'less_than_or_equals', '3': 11, '4': 1, '5': 11, '6': '.cedar.v3.ExprLessThanOrEquals', '9': 0, '10': 'lessThanOrEquals'}, + {'1': 'greater_than', '3': 12, '4': 1, '5': 11, '6': '.cedar.v3.ExprGreaterThan', '9': 0, '10': 'greaterThan'}, + {'1': 'greater_than_or_equals', '3': 13, '4': 1, '5': 11, '6': '.cedar.v3.ExprGreaterThanOrEquals', '9': 0, '10': 'greaterThanOrEquals'}, + {'1': 'and', '3': 14, '4': 1, '5': 11, '6': '.cedar.v3.ExprAnd', '9': 0, '10': 'and'}, + {'1': 'or', '3': 15, '4': 1, '5': 11, '6': '.cedar.v3.ExprOr', '9': 0, '10': 'or'}, + {'1': 'plus', '3': 16, '4': 1, '5': 11, '6': '.cedar.v3.ExprPlus', '9': 0, '10': 'plus'}, + {'1': 'minus', '3': 17, '4': 1, '5': 11, '6': '.cedar.v3.ExprMinus', '9': 0, '10': 'minus'}, + {'1': 'times', '3': 18, '4': 1, '5': 11, '6': '.cedar.v3.ExprTimes', '9': 0, '10': 'times'}, + {'1': 'contains', '3': 19, '4': 1, '5': 11, '6': '.cedar.v3.ExprContains', '9': 0, '10': 'contains'}, + {'1': 'contains_all', '3': 20, '4': 1, '5': 11, '6': '.cedar.v3.ExprContainsAll', '9': 0, '10': 'containsAll'}, + {'1': 'contains_any', '3': 21, '4': 1, '5': 11, '6': '.cedar.v3.ExprContainsAny', '9': 0, '10': 'containsAny'}, + {'1': 'get_attribute', '3': 22, '4': 1, '5': 11, '6': '.cedar.v3.ExprGetAttribute', '9': 0, '10': 'getAttribute'}, + {'1': 'has_attribute', '3': 23, '4': 1, '5': 11, '6': '.cedar.v3.ExprHasAttribute', '9': 0, '10': 'hasAttribute'}, + {'1': 'like', '3': 24, '4': 1, '5': 11, '6': '.cedar.v3.ExprLike', '9': 0, '10': 'like'}, + { + '1': 'is', + '3': 25, + '4': 1, + '5': 11, + '6': '.cedar.v3.ExprIs', + '8': {'28700919': 'is_'}, + '9': 0, + '10': 'is', + }, + {'1': 'if_then_else', '3': 26, '4': 1, '5': 11, '6': '.cedar.v3.ExprIfThenElse', '9': 0, '10': 'ifThenElse'}, + {'1': 'set', '3': 27, '4': 1, '5': 11, '6': '.cedar.v3.ExprSet', '9': 0, '10': 'set'}, + {'1': 'record', '3': 28, '4': 1, '5': 11, '6': '.cedar.v3.ExprRecord', '9': 0, '10': 'record'}, + {'1': 'func_call', '3': 29, '4': 1, '5': 11, '6': '.cedar.v3.ExprFuncCall', '9': 0, '10': 'funcCall'}, + ], + '8': [ + {'1': 'expr'}, + ], +}; + +/// Descriptor for `Expr`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprDescriptor = $convert.base64Decode( + 'CgRFeHByEisKBXZhbHVlGAEgASgLMhMuY2VkYXIudjMuRXhwclZhbHVlSABSBXZhbHVlEjAKA3' + 'ZhchgCIAEoCzIRLmNlZGFyLnYzLkV4cHJWYXJCCbqPvm0EdmFyX0gAUgN2YXISKAoEc2xvdBgD' + 'IAEoCzISLmNlZGFyLnYzLkV4cHJTbG90SABSBHNsb3QSMQoHdW5rbm93bhgEIAEoCzIVLmNlZG' + 'FyLnYzLkV4cHJVbmtub3duSABSB3Vua25vd24SJQoDbm90GAUgASgLMhEuY2VkYXIudjMuRXhw' + 'ck5vdEgAUgNub3QSJQoDbmVnGAYgASgLMhEuY2VkYXIudjMuRXhwck5lZ0gAUgNuZWcSLgoGZX' + 'F1YWxzGAcgASgLMhQuY2VkYXIudjMuRXhwckVxdWFsc0gAUgZlcXVhbHMSOAoKbm90X2VxdWFs' + 'cxgIIAEoCzIXLmNlZGFyLnYzLkV4cHJOb3RFcXVhbHNIAFIJbm90RXF1YWxzEiwKAmluGAkgAS' + 'gLMhAuY2VkYXIudjMuRXhwckluQgi6j75tA2luX0gAUgJpbhI1CglsZXNzX3RoYW4YCiABKAsy' + 'Fi5jZWRhci52My5FeHByTGVzc1RoYW5IAFIIbGVzc1RoYW4STwoTbGVzc190aGFuX29yX2VxdW' + 'FscxgLIAEoCzIeLmNlZGFyLnYzLkV4cHJMZXNzVGhhbk9yRXF1YWxzSABSEGxlc3NUaGFuT3JF' + 'cXVhbHMSPgoMZ3JlYXRlcl90aGFuGAwgASgLMhkuY2VkYXIudjMuRXhwckdyZWF0ZXJUaGFuSA' + 'BSC2dyZWF0ZXJUaGFuElgKFmdyZWF0ZXJfdGhhbl9vcl9lcXVhbHMYDSABKAsyIS5jZWRhci52' + 'My5FeHByR3JlYXRlclRoYW5PckVxdWFsc0gAUhNncmVhdGVyVGhhbk9yRXF1YWxzEiUKA2FuZB' + 'gOIAEoCzIRLmNlZGFyLnYzLkV4cHJBbmRIAFIDYW5kEiIKAm9yGA8gASgLMhAuY2VkYXIudjMu' + 'RXhwck9ySABSAm9yEigKBHBsdXMYECABKAsyEi5jZWRhci52My5FeHByUGx1c0gAUgRwbHVzEi' + 'sKBW1pbnVzGBEgASgLMhMuY2VkYXIudjMuRXhwck1pbnVzSABSBW1pbnVzEisKBXRpbWVzGBIg' + 'ASgLMhMuY2VkYXIudjMuRXhwclRpbWVzSABSBXRpbWVzEjQKCGNvbnRhaW5zGBMgASgLMhYuY2' + 'VkYXIudjMuRXhwckNvbnRhaW5zSABSCGNvbnRhaW5zEj4KDGNvbnRhaW5zX2FsbBgUIAEoCzIZ' + 'LmNlZGFyLnYzLkV4cHJDb250YWluc0FsbEgAUgtjb250YWluc0FsbBI+Cgxjb250YWluc19hbn' + 'kYFSABKAsyGS5jZWRhci52My5FeHByQ29udGFpbnNBbnlIAFILY29udGFpbnNBbnkSQQoNZ2V0' + 'X2F0dHJpYnV0ZRgWIAEoCzIaLmNlZGFyLnYzLkV4cHJHZXRBdHRyaWJ1dGVIAFIMZ2V0QXR0cm' + 'lidXRlEkEKDWhhc19hdHRyaWJ1dGUYFyABKAsyGi5jZWRhci52My5FeHBySGFzQXR0cmlidXRl' + 'SABSDGhhc0F0dHJpYnV0ZRIoCgRsaWtlGBggASgLMhIuY2VkYXIudjMuRXhwckxpa2VIAFIEbG' + 'lrZRIsCgJpcxgZIAEoCzIQLmNlZGFyLnYzLkV4cHJJc0IIuo++bQNpc19IAFICaXMSPAoMaWZf' + 'dGhlbl9lbHNlGBogASgLMhguY2VkYXIudjMuRXhwcklmVGhlbkVsc2VIAFIKaWZUaGVuRWxzZR' + 'IlCgNzZXQYGyABKAsyES5jZWRhci52My5FeHByU2V0SABSA3NldBIuCgZyZWNvcmQYHCABKAsy' + 'FC5jZWRhci52My5FeHByUmVjb3JkSABSBnJlY29yZBI1CglmdW5jX2NhbGwYHSABKAsyFi5jZW' + 'Rhci52My5FeHByRnVuY0NhbGxIAFIIZnVuY0NhbGxCBgoEZXhwcg=='); + +@$core.Deprecated('Use exprValueDescriptor instead') +const ExprValue$json = { + '1': 'ExprValue', + '2': [ + {'1': 'value', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.Value', '10': 'value'}, + ], +}; + +/// Descriptor for `ExprValue`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprValueDescriptor = $convert.base64Decode( + 'CglFeHByVmFsdWUSJQoFdmFsdWUYASABKAsyDy5jZWRhci52My5WYWx1ZVIFdmFsdWU='); + +@$core.Deprecated('Use exprVarDescriptor instead') +const ExprVar$json = { + '1': 'ExprVar', + '2': [ + {'1': 'variable', '3': 1, '4': 1, '5': 14, '6': '.cedar.v3.Variable', '10': 'variable'}, + ], +}; + +/// Descriptor for `ExprVar`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprVarDescriptor = $convert.base64Decode( + 'CgdFeHByVmFyEi4KCHZhcmlhYmxlGAEgASgOMhIuY2VkYXIudjMuVmFyaWFibGVSCHZhcmlhYm' + 'xl'); + +@$core.Deprecated('Use exprSlotDescriptor instead') +const ExprSlot$json = { + '1': 'ExprSlot', + '2': [ + {'1': 'slot_id', '3': 1, '4': 1, '5': 14, '6': '.cedar.v3.SlotId', '10': 'slotId'}, + ], +}; + +/// Descriptor for `ExprSlot`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprSlotDescriptor = $convert.base64Decode( + 'CghFeHByU2xvdBIpCgdzbG90X2lkGAEgASgOMhAuY2VkYXIudjMuU2xvdElkUgZzbG90SWQ='); + +@$core.Deprecated('Use exprUnknownDescriptor instead') +const ExprUnknown$json = { + '1': 'ExprUnknown', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `ExprUnknown`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprUnknownDescriptor = $convert.base64Decode( + 'CgtFeHByVW5rbm93bhISCgRuYW1lGAEgASgJUgRuYW1l'); + +@$core.Deprecated('Use exprNotDescriptor instead') +const ExprNot$json = { + '1': 'ExprNot', + '2': [ + {'1': 'expr', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'expr'}, + ], +}; + +/// Descriptor for `ExprNot`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprNotDescriptor = $convert.base64Decode( + 'CgdFeHByTm90EiIKBGV4cHIYASABKAsyDi5jZWRhci52My5FeHByUgRleHBy'); + +@$core.Deprecated('Use exprNegDescriptor instead') +const ExprNeg$json = { + '1': 'ExprNeg', + '2': [ + {'1': 'expr', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'expr'}, + ], +}; + +/// Descriptor for `ExprNeg`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprNegDescriptor = $convert.base64Decode( + 'CgdFeHByTmVnEiIKBGV4cHIYASABKAsyDi5jZWRhci52My5FeHByUgRleHBy'); + +@$core.Deprecated('Use exprEqualsDescriptor instead') +const ExprEquals$json = { + '1': 'ExprEquals', + '2': [ + {'1': 'left', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'left'}, + {'1': 'right', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'right'}, + ], +}; + +/// Descriptor for `ExprEquals`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprEqualsDescriptor = $convert.base64Decode( + 'CgpFeHByRXF1YWxzEiIKBGxlZnQYASABKAsyDi5jZWRhci52My5FeHByUgRsZWZ0EiQKBXJpZ2' + 'h0GAIgASgLMg4uY2VkYXIudjMuRXhwclIFcmlnaHQ='); + +@$core.Deprecated('Use exprNotEqualsDescriptor instead') +const ExprNotEquals$json = { + '1': 'ExprNotEquals', + '2': [ + {'1': 'left', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'left'}, + {'1': 'right', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'right'}, + ], +}; + +/// Descriptor for `ExprNotEquals`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprNotEqualsDescriptor = $convert.base64Decode( + 'Cg1FeHByTm90RXF1YWxzEiIKBGxlZnQYASABKAsyDi5jZWRhci52My5FeHByUgRsZWZ0EiQKBX' + 'JpZ2h0GAIgASgLMg4uY2VkYXIudjMuRXhwclIFcmlnaHQ='); + +@$core.Deprecated('Use exprInDescriptor instead') +const ExprIn$json = { + '1': 'ExprIn', + '2': [ + {'1': 'left', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'left'}, + {'1': 'right', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'right'}, + ], +}; + +/// Descriptor for `ExprIn`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprInDescriptor = $convert.base64Decode( + 'CgZFeHBySW4SIgoEbGVmdBgBIAEoCzIOLmNlZGFyLnYzLkV4cHJSBGxlZnQSJAoFcmlnaHQYAi' + 'ABKAsyDi5jZWRhci52My5FeHByUgVyaWdodA=='); + +@$core.Deprecated('Use exprLessThanDescriptor instead') +const ExprLessThan$json = { + '1': 'ExprLessThan', + '2': [ + {'1': 'left', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'left'}, + {'1': 'right', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'right'}, + ], +}; + +/// Descriptor for `ExprLessThan`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprLessThanDescriptor = $convert.base64Decode( + 'CgxFeHByTGVzc1RoYW4SIgoEbGVmdBgBIAEoCzIOLmNlZGFyLnYzLkV4cHJSBGxlZnQSJAoFcm' + 'lnaHQYAiABKAsyDi5jZWRhci52My5FeHByUgVyaWdodA=='); + +@$core.Deprecated('Use exprLessThanOrEqualsDescriptor instead') +const ExprLessThanOrEquals$json = { + '1': 'ExprLessThanOrEquals', + '2': [ + {'1': 'left', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'left'}, + {'1': 'right', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'right'}, + ], +}; + +/// Descriptor for `ExprLessThanOrEquals`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprLessThanOrEqualsDescriptor = $convert.base64Decode( + 'ChRFeHByTGVzc1RoYW5PckVxdWFscxIiCgRsZWZ0GAEgASgLMg4uY2VkYXIudjMuRXhwclIEbG' + 'VmdBIkCgVyaWdodBgCIAEoCzIOLmNlZGFyLnYzLkV4cHJSBXJpZ2h0'); + +@$core.Deprecated('Use exprGreaterThanDescriptor instead') +const ExprGreaterThan$json = { + '1': 'ExprGreaterThan', + '2': [ + {'1': 'left', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'left'}, + {'1': 'right', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'right'}, + ], +}; + +/// Descriptor for `ExprGreaterThan`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprGreaterThanDescriptor = $convert.base64Decode( + 'Cg9FeHByR3JlYXRlclRoYW4SIgoEbGVmdBgBIAEoCzIOLmNlZGFyLnYzLkV4cHJSBGxlZnQSJA' + 'oFcmlnaHQYAiABKAsyDi5jZWRhci52My5FeHByUgVyaWdodA=='); + +@$core.Deprecated('Use exprGreaterThanOrEqualsDescriptor instead') +const ExprGreaterThanOrEquals$json = { + '1': 'ExprGreaterThanOrEquals', + '2': [ + {'1': 'left', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'left'}, + {'1': 'right', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'right'}, + ], +}; + +/// Descriptor for `ExprGreaterThanOrEquals`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprGreaterThanOrEqualsDescriptor = $convert.base64Decode( + 'ChdFeHByR3JlYXRlclRoYW5PckVxdWFscxIiCgRsZWZ0GAEgASgLMg4uY2VkYXIudjMuRXhwcl' + 'IEbGVmdBIkCgVyaWdodBgCIAEoCzIOLmNlZGFyLnYzLkV4cHJSBXJpZ2h0'); + +@$core.Deprecated('Use exprAndDescriptor instead') +const ExprAnd$json = { + '1': 'ExprAnd', + '2': [ + {'1': 'left', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'left'}, + {'1': 'right', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'right'}, + ], +}; + +/// Descriptor for `ExprAnd`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprAndDescriptor = $convert.base64Decode( + 'CgdFeHByQW5kEiIKBGxlZnQYASABKAsyDi5jZWRhci52My5FeHByUgRsZWZ0EiQKBXJpZ2h0GA' + 'IgASgLMg4uY2VkYXIudjMuRXhwclIFcmlnaHQ='); + +@$core.Deprecated('Use exprOrDescriptor instead') +const ExprOr$json = { + '1': 'ExprOr', + '2': [ + {'1': 'left', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'left'}, + {'1': 'right', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'right'}, + ], +}; + +/// Descriptor for `ExprOr`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprOrDescriptor = $convert.base64Decode( + 'CgZFeHByT3ISIgoEbGVmdBgBIAEoCzIOLmNlZGFyLnYzLkV4cHJSBGxlZnQSJAoFcmlnaHQYAi' + 'ABKAsyDi5jZWRhci52My5FeHByUgVyaWdodA=='); + +@$core.Deprecated('Use exprPlusDescriptor instead') +const ExprPlus$json = { + '1': 'ExprPlus', + '2': [ + {'1': 'left', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'left'}, + {'1': 'right', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'right'}, + ], +}; + +/// Descriptor for `ExprPlus`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprPlusDescriptor = $convert.base64Decode( + 'CghFeHByUGx1cxIiCgRsZWZ0GAEgASgLMg4uY2VkYXIudjMuRXhwclIEbGVmdBIkCgVyaWdodB' + 'gCIAEoCzIOLmNlZGFyLnYzLkV4cHJSBXJpZ2h0'); + +@$core.Deprecated('Use exprMinusDescriptor instead') +const ExprMinus$json = { + '1': 'ExprMinus', + '2': [ + {'1': 'left', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'left'}, + {'1': 'right', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'right'}, + ], +}; + +/// Descriptor for `ExprMinus`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprMinusDescriptor = $convert.base64Decode( + 'CglFeHByTWludXMSIgoEbGVmdBgBIAEoCzIOLmNlZGFyLnYzLkV4cHJSBGxlZnQSJAoFcmlnaH' + 'QYAiABKAsyDi5jZWRhci52My5FeHByUgVyaWdodA=='); + +@$core.Deprecated('Use exprTimesDescriptor instead') +const ExprTimes$json = { + '1': 'ExprTimes', + '2': [ + {'1': 'left', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'left'}, + {'1': 'right', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'right'}, + ], +}; + +/// Descriptor for `ExprTimes`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprTimesDescriptor = $convert.base64Decode( + 'CglFeHByVGltZXMSIgoEbGVmdBgBIAEoCzIOLmNlZGFyLnYzLkV4cHJSBGxlZnQSJAoFcmlnaH' + 'QYAiABKAsyDi5jZWRhci52My5FeHByUgVyaWdodA=='); + +@$core.Deprecated('Use exprContainsDescriptor instead') +const ExprContains$json = { + '1': 'ExprContains', + '2': [ + {'1': 'left', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'left'}, + {'1': 'right', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'right'}, + ], +}; + +/// Descriptor for `ExprContains`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprContainsDescriptor = $convert.base64Decode( + 'CgxFeHByQ29udGFpbnMSIgoEbGVmdBgBIAEoCzIOLmNlZGFyLnYzLkV4cHJSBGxlZnQSJAoFcm' + 'lnaHQYAiABKAsyDi5jZWRhci52My5FeHByUgVyaWdodA=='); + +@$core.Deprecated('Use exprContainsAllDescriptor instead') +const ExprContainsAll$json = { + '1': 'ExprContainsAll', + '2': [ + {'1': 'left', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'left'}, + {'1': 'right', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'right'}, + ], +}; + +/// Descriptor for `ExprContainsAll`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprContainsAllDescriptor = $convert.base64Decode( + 'Cg9FeHByQ29udGFpbnNBbGwSIgoEbGVmdBgBIAEoCzIOLmNlZGFyLnYzLkV4cHJSBGxlZnQSJA' + 'oFcmlnaHQYAiABKAsyDi5jZWRhci52My5FeHByUgVyaWdodA=='); + +@$core.Deprecated('Use exprContainsAnyDescriptor instead') +const ExprContainsAny$json = { + '1': 'ExprContainsAny', + '2': [ + {'1': 'left', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'left'}, + {'1': 'right', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'right'}, + ], +}; + +/// Descriptor for `ExprContainsAny`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprContainsAnyDescriptor = $convert.base64Decode( + 'Cg9FeHByQ29udGFpbnNBbnkSIgoEbGVmdBgBIAEoCzIOLmNlZGFyLnYzLkV4cHJSBGxlZnQSJA' + 'oFcmlnaHQYAiABKAsyDi5jZWRhci52My5FeHByUgVyaWdodA=='); + +@$core.Deprecated('Use exprGetAttributeDescriptor instead') +const ExprGetAttribute$json = { + '1': 'ExprGetAttribute', + '2': [ + {'1': 'left', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'left'}, + {'1': 'attr', '3': 2, '4': 1, '5': 9, '10': 'attr'}, + ], +}; + +/// Descriptor for `ExprGetAttribute`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprGetAttributeDescriptor = $convert.base64Decode( + 'ChBFeHByR2V0QXR0cmlidXRlEiIKBGxlZnQYASABKAsyDi5jZWRhci52My5FeHByUgRsZWZ0Eh' + 'IKBGF0dHIYAiABKAlSBGF0dHI='); + +@$core.Deprecated('Use exprHasAttributeDescriptor instead') +const ExprHasAttribute$json = { + '1': 'ExprHasAttribute', + '2': [ + {'1': 'left', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'left'}, + {'1': 'attr', '3': 2, '4': 1, '5': 9, '10': 'attr'}, + ], +}; + +/// Descriptor for `ExprHasAttribute`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprHasAttributeDescriptor = $convert.base64Decode( + 'ChBFeHBySGFzQXR0cmlidXRlEiIKBGxlZnQYASABKAsyDi5jZWRhci52My5FeHByUgRsZWZ0Eh' + 'IKBGF0dHIYAiABKAlSBGF0dHI='); + +@$core.Deprecated('Use exprLikeDescriptor instead') +const ExprLike$json = { + '1': 'ExprLike', + '2': [ + {'1': 'left', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'left'}, + {'1': 'pattern', '3': 2, '4': 1, '5': 9, '10': 'pattern'}, + ], +}; + +/// Descriptor for `ExprLike`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprLikeDescriptor = $convert.base64Decode( + 'CghFeHByTGlrZRIiCgRsZWZ0GAEgASgLMg4uY2VkYXIudjMuRXhwclIEbGVmdBIYCgdwYXR0ZX' + 'JuGAIgASgJUgdwYXR0ZXJu'); + +@$core.Deprecated('Use exprIsDescriptor instead') +const ExprIs$json = { + '1': 'ExprIs', + '2': [ + {'1': 'left', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'left'}, + {'1': 'entity_type', '3': 2, '4': 1, '5': 9, '10': 'entityType'}, + { + '1': 'in', + '3': 3, + '4': 1, + '5': 11, + '6': '.cedar.v3.Expr', + '8': {'28700919': 'in_'}, + '9': 0, + '10': 'in', + '17': true, + }, + ], + '8': [ + {'1': '_in'}, + ], +}; + +/// Descriptor for `ExprIs`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprIsDescriptor = $convert.base64Decode( + 'CgZFeHBySXMSIgoEbGVmdBgBIAEoCzIOLmNlZGFyLnYzLkV4cHJSBGxlZnQSHwoLZW50aXR5X3' + 'R5cGUYAiABKAlSCmVudGl0eVR5cGUSLQoCaW4YAyABKAsyDi5jZWRhci52My5FeHByQgi6j75t' + 'A2luX0gAUgJpbogBAUIFCgNfaW4='); + +@$core.Deprecated('Use exprIfThenElseDescriptor instead') +const ExprIfThenElse$json = { + '1': 'ExprIfThenElse', + '2': [ + { + '1': 'if', + '3': 1, + '4': 1, + '5': 11, + '6': '.cedar.v3.Expr', + '8': {'28700919': 'if_'}, + '10': 'if', + }, + {'1': 'then', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'then'}, + { + '1': 'else', + '3': 3, + '4': 1, + '5': 11, + '6': '.cedar.v3.Expr', + '8': {'28700919': 'else_'}, + '10': 'else', + }, + ], +}; + +/// Descriptor for `ExprIfThenElse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprIfThenElseDescriptor = $convert.base64Decode( + 'Cg5FeHBySWZUaGVuRWxzZRIoCgJpZhgBIAEoCzIOLmNlZGFyLnYzLkV4cHJCCLqPvm0DaWZfUg' + 'JpZhIiCgR0aGVuGAIgASgLMg4uY2VkYXIudjMuRXhwclIEdGhlbhIuCgRlbHNlGAMgASgLMg4u' + 'Y2VkYXIudjMuRXhwckIKuo++bQVlbHNlX1IEZWxzZQ=='); + +@$core.Deprecated('Use exprSetDescriptor instead') +const ExprSet$json = { + '1': 'ExprSet', + '2': [ + {'1': 'expressions', '3': 1, '4': 3, '5': 11, '6': '.cedar.v3.Expr', '10': 'expressions'}, + ], +}; + +/// Descriptor for `ExprSet`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprSetDescriptor = $convert.base64Decode( + 'CgdFeHByU2V0EjAKC2V4cHJlc3Npb25zGAEgAygLMg4uY2VkYXIudjMuRXhwclILZXhwcmVzc2' + 'lvbnM='); + +@$core.Deprecated('Use exprRecordDescriptor instead') +const ExprRecord$json = { + '1': 'ExprRecord', + '2': [ + {'1': 'attributes', '3': 1, '4': 3, '5': 11, '6': '.cedar.v3.ExprRecord.AttributesEntry', '10': 'attributes'}, + ], + '3': [ExprRecord_AttributesEntry$json], +}; + +@$core.Deprecated('Use exprRecordDescriptor instead') +const ExprRecord_AttributesEntry$json = { + '1': 'AttributesEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `ExprRecord`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprRecordDescriptor = $convert.base64Decode( + 'CgpFeHByUmVjb3JkEkQKCmF0dHJpYnV0ZXMYASADKAsyJC5jZWRhci52My5FeHByUmVjb3JkLk' + 'F0dHJpYnV0ZXNFbnRyeVIKYXR0cmlidXRlcxpNCg9BdHRyaWJ1dGVzRW50cnkSEAoDa2V5GAEg' + 'ASgJUgNrZXkSJAoFdmFsdWUYAiABKAsyDi5jZWRhci52My5FeHByUgV2YWx1ZToCOAE='); + +@$core.Deprecated('Use exprFuncCallDescriptor instead') +const ExprFuncCall$json = { + '1': 'ExprFuncCall', + '2': [ + {'1': 'fn', '3': 1, '4': 1, '5': 9, '10': 'fn'}, + {'1': 'args', '3': 2, '4': 3, '5': 11, '6': '.cedar.v3.Expr', '10': 'args'}, + ], +}; + +/// Descriptor for `ExprFuncCall`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprFuncCallDescriptor = $convert.base64Decode( + 'CgxFeHByRnVuY0NhbGwSDgoCZm4YASABKAlSAmZuEiIKBGFyZ3MYAiADKAsyDi5jZWRhci52My' + '5FeHByUgRhcmdz'); + diff --git a/packages/corks/lib/src/proto/cedar/v3/expr.pbserver.dart b/packages/corks/lib/src/proto/cedar/v3/expr.pbserver.dart new file mode 100644 index 00000000..9b92c137 --- /dev/null +++ b/packages/corks/lib/src/proto/cedar/v3/expr.pbserver.dart @@ -0,0 +1,14 @@ +// +// Generated code. Do not modify. +// source: cedar/v3/expr.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names +// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +export 'expr.pb.dart'; + diff --git a/packages/corks/lib/src/proto/cedar/v3/policy.pb.dart b/packages/corks/lib/src/proto/cedar/v3/policy.pb.dart new file mode 100644 index 00000000..06805e0a --- /dev/null +++ b/packages/corks/lib/src/proto/cedar/v3/policy.pb.dart @@ -0,0 +1,452 @@ +// +// Generated code. Do not modify. +// source: cedar/v3/policy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'entity_id.pb.dart' as $0; +import 'expr.pb.dart' as $3; +import 'policy.pbenum.dart'; + +export 'policy.pbenum.dart'; + +class Policy extends $pb.GeneratedMessage { + factory Policy({ + $core.String? id, + PolicyEffect? effect, + PolicyPrincipal? principal, + PolicyAction? action, + PolicyResource? resource, + $core.Iterable? conditions, + $core.Map<$core.String, $core.String>? annotations, + }) { + final $result = create(); + if (id != null) { + $result.id = id; + } + if (effect != null) { + $result.effect = effect; + } + if (principal != null) { + $result.principal = principal; + } + if (action != null) { + $result.action = action; + } + if (resource != null) { + $result.resource = resource; + } + if (conditions != null) { + $result.conditions.addAll(conditions); + } + if (annotations != null) { + $result.annotations.addAll(annotations); + } + return $result; + } + Policy._() : super(); + factory Policy.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Policy.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Policy', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'id') + ..e(2, _omitFieldNames ? '' : 'effect', $pb.PbFieldType.OE, defaultOrMaker: PolicyEffect.POLICY_EFFECT_UNSPECIFIED, valueOf: PolicyEffect.valueOf, enumValues: PolicyEffect.values) + ..aOM(3, _omitFieldNames ? '' : 'principal', subBuilder: PolicyPrincipal.create) + ..aOM(4, _omitFieldNames ? '' : 'action', subBuilder: PolicyAction.create) + ..aOM(5, _omitFieldNames ? '' : 'resource', subBuilder: PolicyResource.create) + ..pc(6, _omitFieldNames ? '' : 'conditions', $pb.PbFieldType.PM, subBuilder: PolicyCondition.create) + ..m<$core.String, $core.String>(7, _omitFieldNames ? '' : 'annotations', entryClassName: 'Policy.AnnotationsEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OS, packageName: const $pb.PackageName('cedar.v3')) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Policy clone() => Policy()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Policy copyWith(void Function(Policy) updates) => super.copyWith((message) => updates(message as Policy)) as Policy; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Policy create() => Policy._(); + Policy createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Policy getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Policy? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get id => $_getSZ(0); + @$pb.TagNumber(1) + set id($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasId() => $_has(0); + @$pb.TagNumber(1) + void clearId() => clearField(1); + + @$pb.TagNumber(2) + PolicyEffect get effect => $_getN(1); + @$pb.TagNumber(2) + set effect(PolicyEffect v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasEffect() => $_has(1); + @$pb.TagNumber(2) + void clearEffect() => clearField(2); + + @$pb.TagNumber(3) + PolicyPrincipal get principal => $_getN(2); + @$pb.TagNumber(3) + set principal(PolicyPrincipal v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasPrincipal() => $_has(2); + @$pb.TagNumber(3) + void clearPrincipal() => clearField(3); + @$pb.TagNumber(3) + PolicyPrincipal ensurePrincipal() => $_ensure(2); + + @$pb.TagNumber(4) + PolicyAction get action => $_getN(3); + @$pb.TagNumber(4) + set action(PolicyAction v) { setField(4, v); } + @$pb.TagNumber(4) + $core.bool hasAction() => $_has(3); + @$pb.TagNumber(4) + void clearAction() => clearField(4); + @$pb.TagNumber(4) + PolicyAction ensureAction() => $_ensure(3); + + @$pb.TagNumber(5) + PolicyResource get resource => $_getN(4); + @$pb.TagNumber(5) + set resource(PolicyResource v) { setField(5, v); } + @$pb.TagNumber(5) + $core.bool hasResource() => $_has(4); + @$pb.TagNumber(5) + void clearResource() => clearField(5); + @$pb.TagNumber(5) + PolicyResource ensureResource() => $_ensure(4); + + @$pb.TagNumber(6) + $core.List get conditions => $_getList(5); + + @$pb.TagNumber(7) + $core.Map<$core.String, $core.String> get annotations => $_getMap(6); +} + +class PolicyPrincipal extends $pb.GeneratedMessage { + factory PolicyPrincipal({ + PolicyOp? op, + $0.EntityId? entity, + $core.String? entityType, + }) { + final $result = create(); + if (op != null) { + $result.op = op; + } + if (entity != null) { + $result.entity = entity; + } + if (entityType != null) { + $result.entityType = entityType; + } + return $result; + } + PolicyPrincipal._() : super(); + factory PolicyPrincipal.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory PolicyPrincipal.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PolicyPrincipal', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..e(1, _omitFieldNames ? '' : 'op', $pb.PbFieldType.OE, defaultOrMaker: PolicyOp.POLICY_OP_UNSPECIFIED, valueOf: PolicyOp.valueOf, enumValues: PolicyOp.values) + ..aOM<$0.EntityId>(2, _omitFieldNames ? '' : 'entity', subBuilder: $0.EntityId.create) + ..aOS(3, _omitFieldNames ? '' : 'entityType') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PolicyPrincipal clone() => PolicyPrincipal()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PolicyPrincipal copyWith(void Function(PolicyPrincipal) updates) => super.copyWith((message) => updates(message as PolicyPrincipal)) as PolicyPrincipal; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PolicyPrincipal create() => PolicyPrincipal._(); + PolicyPrincipal createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PolicyPrincipal getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static PolicyPrincipal? _defaultInstance; + + @$pb.TagNumber(1) + PolicyOp get op => $_getN(0); + @$pb.TagNumber(1) + set op(PolicyOp v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasOp() => $_has(0); + @$pb.TagNumber(1) + void clearOp() => clearField(1); + + @$pb.TagNumber(2) + $0.EntityId get entity => $_getN(1); + @$pb.TagNumber(2) + set entity($0.EntityId v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasEntity() => $_has(1); + @$pb.TagNumber(2) + void clearEntity() => clearField(2); + @$pb.TagNumber(2) + $0.EntityId ensureEntity() => $_ensure(1); + + @$pb.TagNumber(3) + $core.String get entityType => $_getSZ(2); + @$pb.TagNumber(3) + set entityType($core.String v) { $_setString(2, v); } + @$pb.TagNumber(3) + $core.bool hasEntityType() => $_has(2); + @$pb.TagNumber(3) + void clearEntityType() => clearField(3); +} + +class PolicyAction extends $pb.GeneratedMessage { + factory PolicyAction({ + PolicyOp? op, + $0.EntityId? entity, + $core.Iterable<$0.EntityId>? entities, + }) { + final $result = create(); + if (op != null) { + $result.op = op; + } + if (entity != null) { + $result.entity = entity; + } + if (entities != null) { + $result.entities.addAll(entities); + } + return $result; + } + PolicyAction._() : super(); + factory PolicyAction.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory PolicyAction.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PolicyAction', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..e(1, _omitFieldNames ? '' : 'op', $pb.PbFieldType.OE, defaultOrMaker: PolicyOp.POLICY_OP_UNSPECIFIED, valueOf: PolicyOp.valueOf, enumValues: PolicyOp.values) + ..aOM<$0.EntityId>(2, _omitFieldNames ? '' : 'entity', subBuilder: $0.EntityId.create) + ..pc<$0.EntityId>(3, _omitFieldNames ? '' : 'entities', $pb.PbFieldType.PM, subBuilder: $0.EntityId.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PolicyAction clone() => PolicyAction()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PolicyAction copyWith(void Function(PolicyAction) updates) => super.copyWith((message) => updates(message as PolicyAction)) as PolicyAction; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PolicyAction create() => PolicyAction._(); + PolicyAction createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PolicyAction getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static PolicyAction? _defaultInstance; + + @$pb.TagNumber(1) + PolicyOp get op => $_getN(0); + @$pb.TagNumber(1) + set op(PolicyOp v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasOp() => $_has(0); + @$pb.TagNumber(1) + void clearOp() => clearField(1); + + @$pb.TagNumber(2) + $0.EntityId get entity => $_getN(1); + @$pb.TagNumber(2) + set entity($0.EntityId v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasEntity() => $_has(1); + @$pb.TagNumber(2) + void clearEntity() => clearField(2); + @$pb.TagNumber(2) + $0.EntityId ensureEntity() => $_ensure(1); + + @$pb.TagNumber(3) + $core.List<$0.EntityId> get entities => $_getList(2); +} + +class PolicyResource extends $pb.GeneratedMessage { + factory PolicyResource({ + PolicyOp? op, + $0.EntityId? entity, + $core.String? entityType, + }) { + final $result = create(); + if (op != null) { + $result.op = op; + } + if (entity != null) { + $result.entity = entity; + } + if (entityType != null) { + $result.entityType = entityType; + } + return $result; + } + PolicyResource._() : super(); + factory PolicyResource.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory PolicyResource.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PolicyResource', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..e(1, _omitFieldNames ? '' : 'op', $pb.PbFieldType.OE, defaultOrMaker: PolicyOp.POLICY_OP_UNSPECIFIED, valueOf: PolicyOp.valueOf, enumValues: PolicyOp.values) + ..aOM<$0.EntityId>(2, _omitFieldNames ? '' : 'entity', subBuilder: $0.EntityId.create) + ..aOS(3, _omitFieldNames ? '' : 'entityType') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PolicyResource clone() => PolicyResource()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PolicyResource copyWith(void Function(PolicyResource) updates) => super.copyWith((message) => updates(message as PolicyResource)) as PolicyResource; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PolicyResource create() => PolicyResource._(); + PolicyResource createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PolicyResource getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static PolicyResource? _defaultInstance; + + @$pb.TagNumber(1) + PolicyOp get op => $_getN(0); + @$pb.TagNumber(1) + set op(PolicyOp v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasOp() => $_has(0); + @$pb.TagNumber(1) + void clearOp() => clearField(1); + + @$pb.TagNumber(2) + $0.EntityId get entity => $_getN(1); + @$pb.TagNumber(2) + set entity($0.EntityId v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasEntity() => $_has(1); + @$pb.TagNumber(2) + void clearEntity() => clearField(2); + @$pb.TagNumber(2) + $0.EntityId ensureEntity() => $_ensure(1); + + @$pb.TagNumber(3) + $core.String get entityType => $_getSZ(2); + @$pb.TagNumber(3) + set entityType($core.String v) { $_setString(2, v); } + @$pb.TagNumber(3) + $core.bool hasEntityType() => $_has(2); + @$pb.TagNumber(3) + void clearEntityType() => clearField(3); +} + +class PolicyCondition extends $pb.GeneratedMessage { + factory PolicyCondition({ + PolicyConditionKind? kind, + $3.Expr? body, + }) { + final $result = create(); + if (kind != null) { + $result.kind = kind; + } + if (body != null) { + $result.body = body; + } + return $result; + } + PolicyCondition._() : super(); + factory PolicyCondition.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory PolicyCondition.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PolicyCondition', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..e(1, _omitFieldNames ? '' : 'kind', $pb.PbFieldType.OE, defaultOrMaker: PolicyConditionKind.POLICY_CONDITION_KIND_UNSPECIFIED, valueOf: PolicyConditionKind.valueOf, enumValues: PolicyConditionKind.values) + ..aOM<$3.Expr>(2, _omitFieldNames ? '' : 'body', subBuilder: $3.Expr.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PolicyCondition clone() => PolicyCondition()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PolicyCondition copyWith(void Function(PolicyCondition) updates) => super.copyWith((message) => updates(message as PolicyCondition)) as PolicyCondition; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PolicyCondition create() => PolicyCondition._(); + PolicyCondition createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PolicyCondition getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static PolicyCondition? _defaultInstance; + + @$pb.TagNumber(1) + PolicyConditionKind get kind => $_getN(0); + @$pb.TagNumber(1) + set kind(PolicyConditionKind v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasKind() => $_has(0); + @$pb.TagNumber(1) + void clearKind() => clearField(1); + + @$pb.TagNumber(2) + $3.Expr get body => $_getN(1); + @$pb.TagNumber(2) + set body($3.Expr v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasBody() => $_has(1); + @$pb.TagNumber(2) + void clearBody() => clearField(2); + @$pb.TagNumber(2) + $3.Expr ensureBody() => $_ensure(1); +} + + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/packages/corks/lib/src/proto/cedar/v3/policy.pbenum.dart b/packages/corks/lib/src/proto/cedar/v3/policy.pbenum.dart new file mode 100644 index 00000000..c7d69b36 --- /dev/null +++ b/packages/corks/lib/src/proto/cedar/v3/policy.pbenum.dart @@ -0,0 +1,72 @@ +// +// Generated code. Do not modify. +// source: cedar/v3/policy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +class PolicyEffect extends $pb.ProtobufEnum { + static const PolicyEffect POLICY_EFFECT_UNSPECIFIED = PolicyEffect._(0, _omitEnumNames ? '' : 'POLICY_EFFECT_UNSPECIFIED'); + static const PolicyEffect POLICY_EFFECT_PERMIT = PolicyEffect._(1, _omitEnumNames ? '' : 'POLICY_EFFECT_PERMIT'); + static const PolicyEffect POLICY_EFFECT_FORBID = PolicyEffect._(2, _omitEnumNames ? '' : 'POLICY_EFFECT_FORBID'); + + static const $core.List values = [ + POLICY_EFFECT_UNSPECIFIED, + POLICY_EFFECT_PERMIT, + POLICY_EFFECT_FORBID, + ]; + + static final $core.Map<$core.int, PolicyEffect> _byValue = $pb.ProtobufEnum.initByValue(values); + static PolicyEffect? valueOf($core.int value) => _byValue[value]; + + const PolicyEffect._($core.int v, $core.String n) : super(v, n); +} + +class PolicyOp extends $pb.ProtobufEnum { + static const PolicyOp POLICY_OP_UNSPECIFIED = PolicyOp._(0, _omitEnumNames ? '' : 'POLICY_OP_UNSPECIFIED'); + static const PolicyOp POLICY_OP_ALL = PolicyOp._(1, _omitEnumNames ? '' : 'POLICY_OP_ALL'); + static const PolicyOp POLICY_OP_EQUALS = PolicyOp._(2, _omitEnumNames ? '' : 'POLICY_OP_EQUALS'); + static const PolicyOp POLICY_OP_IN = PolicyOp._(3, _omitEnumNames ? '' : 'POLICY_OP_IN'); + static const PolicyOp POLICY_OP_IS = PolicyOp._(4, _omitEnumNames ? '' : 'POLICY_OP_IS'); + + static const $core.List values = [ + POLICY_OP_UNSPECIFIED, + POLICY_OP_ALL, + POLICY_OP_EQUALS, + POLICY_OP_IN, + POLICY_OP_IS, + ]; + + static final $core.Map<$core.int, PolicyOp> _byValue = $pb.ProtobufEnum.initByValue(values); + static PolicyOp? valueOf($core.int value) => _byValue[value]; + + const PolicyOp._($core.int v, $core.String n) : super(v, n); +} + +class PolicyConditionKind extends $pb.ProtobufEnum { + static const PolicyConditionKind POLICY_CONDITION_KIND_UNSPECIFIED = PolicyConditionKind._(0, _omitEnumNames ? '' : 'POLICY_CONDITION_KIND_UNSPECIFIED'); + static const PolicyConditionKind POLICY_CONDITION_KIND_WHEN = PolicyConditionKind._(1, _omitEnumNames ? '' : 'POLICY_CONDITION_KIND_WHEN'); + static const PolicyConditionKind POLICY_CONDITION_KIND_UNLESS = PolicyConditionKind._(2, _omitEnumNames ? '' : 'POLICY_CONDITION_KIND_UNLESS'); + + static const $core.List values = [ + POLICY_CONDITION_KIND_UNSPECIFIED, + POLICY_CONDITION_KIND_WHEN, + POLICY_CONDITION_KIND_UNLESS, + ]; + + static final $core.Map<$core.int, PolicyConditionKind> _byValue = $pb.ProtobufEnum.initByValue(values); + static PolicyConditionKind? valueOf($core.int value) => _byValue[value]; + + const PolicyConditionKind._($core.int v, $core.String n) : super(v, n); +} + + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/packages/corks/lib/src/proto/cedar/v3/policy.pbjson.dart b/packages/corks/lib/src/proto/cedar/v3/policy.pbjson.dart new file mode 100644 index 00000000..3e29400a --- /dev/null +++ b/packages/corks/lib/src/proto/cedar/v3/policy.pbjson.dart @@ -0,0 +1,178 @@ +// +// Generated code. Do not modify. +// source: cedar/v3/policy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use policyEffectDescriptor instead') +const PolicyEffect$json = { + '1': 'PolicyEffect', + '2': [ + {'1': 'POLICY_EFFECT_UNSPECIFIED', '2': 0}, + {'1': 'POLICY_EFFECT_PERMIT', '2': 1}, + {'1': 'POLICY_EFFECT_FORBID', '2': 2}, + ], +}; + +/// Descriptor for `PolicyEffect`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List policyEffectDescriptor = $convert.base64Decode( + 'CgxQb2xpY3lFZmZlY3QSHQoZUE9MSUNZX0VGRkVDVF9VTlNQRUNJRklFRBAAEhgKFFBPTElDWV' + '9FRkZFQ1RfUEVSTUlUEAESGAoUUE9MSUNZX0VGRkVDVF9GT1JCSUQQAg=='); + +@$core.Deprecated('Use policyOpDescriptor instead') +const PolicyOp$json = { + '1': 'PolicyOp', + '2': [ + {'1': 'POLICY_OP_UNSPECIFIED', '2': 0}, + {'1': 'POLICY_OP_ALL', '2': 1}, + {'1': 'POLICY_OP_EQUALS', '2': 2}, + {'1': 'POLICY_OP_IN', '2': 3}, + {'1': 'POLICY_OP_IS', '2': 4}, + ], +}; + +/// Descriptor for `PolicyOp`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List policyOpDescriptor = $convert.base64Decode( + 'CghQb2xpY3lPcBIZChVQT0xJQ1lfT1BfVU5TUEVDSUZJRUQQABIRCg1QT0xJQ1lfT1BfQUxMEA' + 'ESFAoQUE9MSUNZX09QX0VRVUFMUxACEhAKDFBPTElDWV9PUF9JThADEhAKDFBPTElDWV9PUF9J' + 'UxAE'); + +@$core.Deprecated('Use policyConditionKindDescriptor instead') +const PolicyConditionKind$json = { + '1': 'PolicyConditionKind', + '2': [ + {'1': 'POLICY_CONDITION_KIND_UNSPECIFIED', '2': 0}, + {'1': 'POLICY_CONDITION_KIND_WHEN', '2': 1}, + {'1': 'POLICY_CONDITION_KIND_UNLESS', '2': 2}, + ], +}; + +/// Descriptor for `PolicyConditionKind`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List policyConditionKindDescriptor = $convert.base64Decode( + 'ChNQb2xpY3lDb25kaXRpb25LaW5kEiUKIVBPTElDWV9DT05ESVRJT05fS0lORF9VTlNQRUNJRk' + 'lFRBAAEh4KGlBPTElDWV9DT05ESVRJT05fS0lORF9XSEVOEAESIAocUE9MSUNZX0NPTkRJVElP' + 'Tl9LSU5EX1VOTEVTUxAC'); + +@$core.Deprecated('Use policyDescriptor instead') +const Policy$json = { + '1': 'Policy', + '2': [ + {'1': 'id', '3': 1, '4': 1, '5': 9, '9': 0, '10': 'id', '17': true}, + {'1': 'effect', '3': 2, '4': 1, '5': 14, '6': '.cedar.v3.PolicyEffect', '10': 'effect'}, + {'1': 'principal', '3': 3, '4': 1, '5': 11, '6': '.cedar.v3.PolicyPrincipal', '10': 'principal'}, + {'1': 'action', '3': 4, '4': 1, '5': 11, '6': '.cedar.v3.PolicyAction', '10': 'action'}, + {'1': 'resource', '3': 5, '4': 1, '5': 11, '6': '.cedar.v3.PolicyResource', '10': 'resource'}, + {'1': 'conditions', '3': 6, '4': 3, '5': 11, '6': '.cedar.v3.PolicyCondition', '10': 'conditions'}, + {'1': 'annotations', '3': 7, '4': 3, '5': 11, '6': '.cedar.v3.Policy.AnnotationsEntry', '10': 'annotations'}, + ], + '3': [Policy_AnnotationsEntry$json], + '8': [ + {'1': '_id'}, + ], +}; + +@$core.Deprecated('Use policyDescriptor instead') +const Policy_AnnotationsEntry$json = { + '1': 'AnnotationsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `Policy`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List policyDescriptor = $convert.base64Decode( + 'CgZQb2xpY3kSEwoCaWQYASABKAlIAFICaWSIAQESLgoGZWZmZWN0GAIgASgOMhYuY2VkYXIudj' + 'MuUG9saWN5RWZmZWN0UgZlZmZlY3QSNwoJcHJpbmNpcGFsGAMgASgLMhkuY2VkYXIudjMuUG9s' + 'aWN5UHJpbmNpcGFsUglwcmluY2lwYWwSLgoGYWN0aW9uGAQgASgLMhYuY2VkYXIudjMuUG9saW' + 'N5QWN0aW9uUgZhY3Rpb24SNAoIcmVzb3VyY2UYBSABKAsyGC5jZWRhci52My5Qb2xpY3lSZXNv' + 'dXJjZVIIcmVzb3VyY2USOQoKY29uZGl0aW9ucxgGIAMoCzIZLmNlZGFyLnYzLlBvbGljeUNvbm' + 'RpdGlvblIKY29uZGl0aW9ucxJDCgthbm5vdGF0aW9ucxgHIAMoCzIhLmNlZGFyLnYzLlBvbGlj' + 'eS5Bbm5vdGF0aW9uc0VudHJ5Ugthbm5vdGF0aW9ucxo+ChBBbm5vdGF0aW9uc0VudHJ5EhAKA2' + 'tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAFCBQoDX2lk'); + +@$core.Deprecated('Use policyPrincipalDescriptor instead') +const PolicyPrincipal$json = { + '1': 'PolicyPrincipal', + '2': [ + {'1': 'op', '3': 1, '4': 1, '5': 14, '6': '.cedar.v3.PolicyOp', '10': 'op'}, + {'1': 'entity', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.EntityId', '9': 0, '10': 'entity', '17': true}, + {'1': 'entity_type', '3': 3, '4': 1, '5': 9, '9': 1, '10': 'entityType', '17': true}, + ], + '8': [ + {'1': '_entity'}, + {'1': '_entity_type'}, + ], +}; + +/// Descriptor for `PolicyPrincipal`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List policyPrincipalDescriptor = $convert.base64Decode( + 'Cg9Qb2xpY3lQcmluY2lwYWwSIgoCb3AYASABKA4yEi5jZWRhci52My5Qb2xpY3lPcFICb3ASLw' + 'oGZW50aXR5GAIgASgLMhIuY2VkYXIudjMuRW50aXR5SWRIAFIGZW50aXR5iAEBEiQKC2VudGl0' + 'eV90eXBlGAMgASgJSAFSCmVudGl0eVR5cGWIAQFCCQoHX2VudGl0eUIOCgxfZW50aXR5X3R5cG' + 'U='); + +@$core.Deprecated('Use policyActionDescriptor instead') +const PolicyAction$json = { + '1': 'PolicyAction', + '2': [ + {'1': 'op', '3': 1, '4': 1, '5': 14, '6': '.cedar.v3.PolicyOp', '10': 'op'}, + {'1': 'entity', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.EntityId', '9': 0, '10': 'entity', '17': true}, + {'1': 'entities', '3': 3, '4': 3, '5': 11, '6': '.cedar.v3.EntityId', '10': 'entities'}, + ], + '8': [ + {'1': '_entity'}, + ], +}; + +/// Descriptor for `PolicyAction`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List policyActionDescriptor = $convert.base64Decode( + 'CgxQb2xpY3lBY3Rpb24SIgoCb3AYASABKA4yEi5jZWRhci52My5Qb2xpY3lPcFICb3ASLwoGZW' + '50aXR5GAIgASgLMhIuY2VkYXIudjMuRW50aXR5SWRIAFIGZW50aXR5iAEBEi4KCGVudGl0aWVz' + 'GAMgAygLMhIuY2VkYXIudjMuRW50aXR5SWRSCGVudGl0aWVzQgkKB19lbnRpdHk='); + +@$core.Deprecated('Use policyResourceDescriptor instead') +const PolicyResource$json = { + '1': 'PolicyResource', + '2': [ + {'1': 'op', '3': 1, '4': 1, '5': 14, '6': '.cedar.v3.PolicyOp', '10': 'op'}, + {'1': 'entity', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.EntityId', '9': 0, '10': 'entity', '17': true}, + {'1': 'entity_type', '3': 3, '4': 1, '5': 9, '9': 1, '10': 'entityType', '17': true}, + ], + '8': [ + {'1': '_entity'}, + {'1': '_entity_type'}, + ], +}; + +/// Descriptor for `PolicyResource`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List policyResourceDescriptor = $convert.base64Decode( + 'Cg5Qb2xpY3lSZXNvdXJjZRIiCgJvcBgBIAEoDjISLmNlZGFyLnYzLlBvbGljeU9wUgJvcBIvCg' + 'ZlbnRpdHkYAiABKAsyEi5jZWRhci52My5FbnRpdHlJZEgAUgZlbnRpdHmIAQESJAoLZW50aXR5' + 'X3R5cGUYAyABKAlIAVIKZW50aXR5VHlwZYgBAUIJCgdfZW50aXR5Qg4KDF9lbnRpdHlfdHlwZQ' + '=='); + +@$core.Deprecated('Use policyConditionDescriptor instead') +const PolicyCondition$json = { + '1': 'PolicyCondition', + '2': [ + {'1': 'kind', '3': 1, '4': 1, '5': 14, '6': '.cedar.v3.PolicyConditionKind', '10': 'kind'}, + {'1': 'body', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Expr', '10': 'body'}, + ], +}; + +/// Descriptor for `PolicyCondition`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List policyConditionDescriptor = $convert.base64Decode( + 'Cg9Qb2xpY3lDb25kaXRpb24SMQoEa2luZBgBIAEoDjIdLmNlZGFyLnYzLlBvbGljeUNvbmRpdG' + 'lvbktpbmRSBGtpbmQSIgoEYm9keRgCIAEoCzIOLmNlZGFyLnYzLkV4cHJSBGJvZHk='); + diff --git a/packages/corks/lib/src/proto/cedar/v3/policy.pbserver.dart b/packages/corks/lib/src/proto/cedar/v3/policy.pbserver.dart new file mode 100644 index 00000000..600f60cf --- /dev/null +++ b/packages/corks/lib/src/proto/cedar/v3/policy.pbserver.dart @@ -0,0 +1,14 @@ +// +// Generated code. Do not modify. +// source: cedar/v3/policy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names +// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +export 'policy.pb.dart'; + diff --git a/packages/corks/lib/src/proto/cedar/v3/value.pb.dart b/packages/corks/lib/src/proto/cedar/v3/value.pb.dart new file mode 100644 index 00000000..d6550120 --- /dev/null +++ b/packages/corks/lib/src/proto/cedar/v3/value.pb.dart @@ -0,0 +1,394 @@ +// +// Generated code. Do not modify. +// source: cedar/v3/value.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import 'entity_id.pb.dart' as $0; + +enum Value_Value { + string, + long, + bool_3, + set, + record, + extension_6, + entity, + notSet +} + +class Value extends $pb.GeneratedMessage { + factory Value({ + $core.String? string, + $fixnum.Int64? long, + $core.bool? bool_3, + SetValue? set, + RecordValue? record, + ExtensionValue? extension_6, + EntityValue? entity, + }) { + final $result = create(); + if (string != null) { + $result.string = string; + } + if (long != null) { + $result.long = long; + } + if (bool_3 != null) { + $result.bool_3 = bool_3; + } + if (set != null) { + $result.set = set; + } + if (record != null) { + $result.record = record; + } + if (extension_6 != null) { + $result.extension_6 = extension_6; + } + if (entity != null) { + $result.entity = entity; + } + return $result; + } + Value._() : super(); + factory Value.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Value.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Value_Value> _Value_ValueByTag = { + 1 : Value_Value.string, + 2 : Value_Value.long, + 3 : Value_Value.bool_3, + 4 : Value_Value.set, + 5 : Value_Value.record, + 6 : Value_Value.extension_6, + 7 : Value_Value.entity, + 0 : Value_Value.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Value', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..oo(0, [1, 2, 3, 4, 5, 6, 7]) + ..aOS(1, _omitFieldNames ? '' : 'string') + ..aInt64(2, _omitFieldNames ? '' : 'long') + ..aOB(3, _omitFieldNames ? '' : 'bool') + ..aOM(4, _omitFieldNames ? '' : 'set', subBuilder: SetValue.create) + ..aOM(5, _omitFieldNames ? '' : 'record', subBuilder: RecordValue.create) + ..aOM(6, _omitFieldNames ? '' : 'extension', subBuilder: ExtensionValue.create) + ..aOM(7, _omitFieldNames ? '' : 'entity', subBuilder: EntityValue.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Value clone() => Value()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Value copyWith(void Function(Value) updates) => super.copyWith((message) => updates(message as Value)) as Value; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Value create() => Value._(); + Value createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Value getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Value? _defaultInstance; + + Value_Value whichValue() => _Value_ValueByTag[$_whichOneof(0)]!; + void clearValue() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + $core.String get string => $_getSZ(0); + @$pb.TagNumber(1) + set string($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasString() => $_has(0); + @$pb.TagNumber(1) + void clearString() => clearField(1); + + @$pb.TagNumber(2) + $fixnum.Int64 get long => $_getI64(1); + @$pb.TagNumber(2) + set long($fixnum.Int64 v) { $_setInt64(1, v); } + @$pb.TagNumber(2) + $core.bool hasLong() => $_has(1); + @$pb.TagNumber(2) + void clearLong() => clearField(2); + + @$pb.TagNumber(3) + $core.bool get bool_3 => $_getBF(2); + @$pb.TagNumber(3) + set bool_3($core.bool v) { $_setBool(2, v); } + @$pb.TagNumber(3) + $core.bool hasBool_3() => $_has(2); + @$pb.TagNumber(3) + void clearBool_3() => clearField(3); + + @$pb.TagNumber(4) + SetValue get set => $_getN(3); + @$pb.TagNumber(4) + set set(SetValue v) { setField(4, v); } + @$pb.TagNumber(4) + $core.bool hasSet() => $_has(3); + @$pb.TagNumber(4) + void clearSet() => clearField(4); + @$pb.TagNumber(4) + SetValue ensureSet() => $_ensure(3); + + @$pb.TagNumber(5) + RecordValue get record => $_getN(4); + @$pb.TagNumber(5) + set record(RecordValue v) { setField(5, v); } + @$pb.TagNumber(5) + $core.bool hasRecord() => $_has(4); + @$pb.TagNumber(5) + void clearRecord() => clearField(5); + @$pb.TagNumber(5) + RecordValue ensureRecord() => $_ensure(4); + + @$pb.TagNumber(6) + ExtensionValue get extension_6 => $_getN(5); + @$pb.TagNumber(6) + set extension_6(ExtensionValue v) { setField(6, v); } + @$pb.TagNumber(6) + $core.bool hasExtension_6() => $_has(5); + @$pb.TagNumber(6) + void clearExtension_6() => clearField(6); + @$pb.TagNumber(6) + ExtensionValue ensureExtension_6() => $_ensure(5); + + @$pb.TagNumber(7) + EntityValue get entity => $_getN(6); + @$pb.TagNumber(7) + set entity(EntityValue v) { setField(7, v); } + @$pb.TagNumber(7) + $core.bool hasEntity() => $_has(6); + @$pb.TagNumber(7) + void clearEntity() => clearField(7); + @$pb.TagNumber(7) + EntityValue ensureEntity() => $_ensure(6); +} + +class SetValue extends $pb.GeneratedMessage { + factory SetValue({ + $core.Iterable? values, + }) { + final $result = create(); + if (values != null) { + $result.values.addAll(values); + } + return $result; + } + SetValue._() : super(); + factory SetValue.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SetValue.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SetValue', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'values', $pb.PbFieldType.PM, subBuilder: Value.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SetValue clone() => SetValue()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SetValue copyWith(void Function(SetValue) updates) => super.copyWith((message) => updates(message as SetValue)) as SetValue; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SetValue create() => SetValue._(); + SetValue createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SetValue getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SetValue? _defaultInstance; + + @$pb.TagNumber(1) + $core.List get values => $_getList(0); +} + +class RecordValue extends $pb.GeneratedMessage { + factory RecordValue({ + $core.Map<$core.String, Value>? values, + }) { + final $result = create(); + if (values != null) { + $result.values.addAll(values); + } + return $result; + } + RecordValue._() : super(); + factory RecordValue.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RecordValue.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RecordValue', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..m<$core.String, Value>(1, _omitFieldNames ? '' : 'values', entryClassName: 'RecordValue.ValuesEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OM, valueCreator: Value.create, valueDefaultOrMaker: Value.getDefault, packageName: const $pb.PackageName('cedar.v3')) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RecordValue clone() => RecordValue()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RecordValue copyWith(void Function(RecordValue) updates) => super.copyWith((message) => updates(message as RecordValue)) as RecordValue; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RecordValue create() => RecordValue._(); + RecordValue createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RecordValue getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static RecordValue? _defaultInstance; + + @$pb.TagNumber(1) + $core.Map<$core.String, Value> get values => $_getMap(0); +} + +class ExtensionValue extends $pb.GeneratedMessage { + factory ExtensionValue({ + $core.String? fn, + Value? arg, + }) { + final $result = create(); + if (fn != null) { + $result.fn = fn; + } + if (arg != null) { + $result.arg = arg; + } + return $result; + } + ExtensionValue._() : super(); + factory ExtensionValue.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExtensionValue.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExtensionValue', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'fn') + ..aOM(2, _omitFieldNames ? '' : 'arg', subBuilder: Value.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExtensionValue clone() => ExtensionValue()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExtensionValue copyWith(void Function(ExtensionValue) updates) => super.copyWith((message) => updates(message as ExtensionValue)) as ExtensionValue; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExtensionValue create() => ExtensionValue._(); + ExtensionValue createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExtensionValue getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExtensionValue? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get fn => $_getSZ(0); + @$pb.TagNumber(1) + set fn($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasFn() => $_has(0); + @$pb.TagNumber(1) + void clearFn() => clearField(1); + + @$pb.TagNumber(2) + Value get arg => $_getN(1); + @$pb.TagNumber(2) + set arg(Value v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasArg() => $_has(1); + @$pb.TagNumber(2) + void clearArg() => clearField(2); + @$pb.TagNumber(2) + Value ensureArg() => $_ensure(1); +} + +class EntityValue extends $pb.GeneratedMessage { + factory EntityValue({ + $0.EntityId? uid, + }) { + final $result = create(); + if (uid != null) { + $result.uid = uid; + } + return $result; + } + EntityValue._() : super(); + factory EntityValue.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory EntityValue.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'EntityValue', package: const $pb.PackageName(_omitMessageNames ? '' : 'cedar.v3'), createEmptyInstance: create) + ..aOM<$0.EntityId>(1, _omitFieldNames ? '' : 'uid', subBuilder: $0.EntityId.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EntityValue clone() => EntityValue()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EntityValue copyWith(void Function(EntityValue) updates) => super.copyWith((message) => updates(message as EntityValue)) as EntityValue; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EntityValue create() => EntityValue._(); + EntityValue createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EntityValue getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static EntityValue? _defaultInstance; + + @$pb.TagNumber(1) + $0.EntityId get uid => $_getN(0); + @$pb.TagNumber(1) + set uid($0.EntityId v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasUid() => $_has(0); + @$pb.TagNumber(1) + void clearUid() => clearField(1); + @$pb.TagNumber(1) + $0.EntityId ensureUid() => $_ensure(0); +} + + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/packages/corks/lib/src/proto/cedar/v3/value.pbenum.dart b/packages/corks/lib/src/proto/cedar/v3/value.pbenum.dart new file mode 100644 index 00000000..bed60914 --- /dev/null +++ b/packages/corks/lib/src/proto/cedar/v3/value.pbenum.dart @@ -0,0 +1,11 @@ +// +// Generated code. Do not modify. +// source: cedar/v3/value.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + diff --git a/packages/corks/lib/src/proto/cedar/v3/value.pbjson.dart b/packages/corks/lib/src/proto/cedar/v3/value.pbjson.dart new file mode 100644 index 00000000..832f54d3 --- /dev/null +++ b/packages/corks/lib/src/proto/cedar/v3/value.pbjson.dart @@ -0,0 +1,104 @@ +// +// Generated code. Do not modify. +// source: cedar/v3/value.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use valueDescriptor instead') +const Value$json = { + '1': 'Value', + '2': [ + {'1': 'string', '3': 1, '4': 1, '5': 9, '9': 0, '10': 'string'}, + {'1': 'long', '3': 2, '4': 1, '5': 3, '9': 0, '10': 'long'}, + {'1': 'bool', '3': 3, '4': 1, '5': 8, '9': 0, '10': 'bool'}, + {'1': 'set', '3': 4, '4': 1, '5': 11, '6': '.cedar.v3.SetValue', '9': 0, '10': 'set'}, + {'1': 'record', '3': 5, '4': 1, '5': 11, '6': '.cedar.v3.RecordValue', '9': 0, '10': 'record'}, + {'1': 'extension', '3': 6, '4': 1, '5': 11, '6': '.cedar.v3.ExtensionValue', '9': 0, '10': 'extension'}, + {'1': 'entity', '3': 7, '4': 1, '5': 11, '6': '.cedar.v3.EntityValue', '9': 0, '10': 'entity'}, + ], + '8': [ + {'1': 'value'}, + ], +}; + +/// Descriptor for `Value`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List valueDescriptor = $convert.base64Decode( + 'CgVWYWx1ZRIYCgZzdHJpbmcYASABKAlIAFIGc3RyaW5nEhQKBGxvbmcYAiABKANIAFIEbG9uZx' + 'IUCgRib29sGAMgASgISABSBGJvb2wSJgoDc2V0GAQgASgLMhIuY2VkYXIudjMuU2V0VmFsdWVI' + 'AFIDc2V0Ei8KBnJlY29yZBgFIAEoCzIVLmNlZGFyLnYzLlJlY29yZFZhbHVlSABSBnJlY29yZB' + 'I4CglleHRlbnNpb24YBiABKAsyGC5jZWRhci52My5FeHRlbnNpb25WYWx1ZUgAUglleHRlbnNp' + 'b24SLwoGZW50aXR5GAcgASgLMhUuY2VkYXIudjMuRW50aXR5VmFsdWVIAFIGZW50aXR5QgcKBX' + 'ZhbHVl'); + +@$core.Deprecated('Use setValueDescriptor instead') +const SetValue$json = { + '1': 'SetValue', + '2': [ + {'1': 'values', '3': 1, '4': 3, '5': 11, '6': '.cedar.v3.Value', '10': 'values'}, + ], +}; + +/// Descriptor for `SetValue`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List setValueDescriptor = $convert.base64Decode( + 'CghTZXRWYWx1ZRInCgZ2YWx1ZXMYASADKAsyDy5jZWRhci52My5WYWx1ZVIGdmFsdWVz'); + +@$core.Deprecated('Use recordValueDescriptor instead') +const RecordValue$json = { + '1': 'RecordValue', + '2': [ + {'1': 'values', '3': 1, '4': 3, '5': 11, '6': '.cedar.v3.RecordValue.ValuesEntry', '10': 'values'}, + ], + '3': [RecordValue_ValuesEntry$json], +}; + +@$core.Deprecated('Use recordValueDescriptor instead') +const RecordValue_ValuesEntry$json = { + '1': 'ValuesEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Value', '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `RecordValue`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List recordValueDescriptor = $convert.base64Decode( + 'CgtSZWNvcmRWYWx1ZRI5CgZ2YWx1ZXMYASADKAsyIS5jZWRhci52My5SZWNvcmRWYWx1ZS5WYW' + 'x1ZXNFbnRyeVIGdmFsdWVzGkoKC1ZhbHVlc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiUKBXZh' + 'bHVlGAIgASgLMg8uY2VkYXIudjMuVmFsdWVSBXZhbHVlOgI4AQ=='); + +@$core.Deprecated('Use extensionValueDescriptor instead') +const ExtensionValue$json = { + '1': 'ExtensionValue', + '2': [ + {'1': 'fn', '3': 1, '4': 1, '5': 9, '10': 'fn'}, + {'1': 'arg', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Value', '10': 'arg'}, + ], +}; + +/// Descriptor for `ExtensionValue`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List extensionValueDescriptor = $convert.base64Decode( + 'Cg5FeHRlbnNpb25WYWx1ZRIOCgJmbhgBIAEoCVICZm4SIQoDYXJnGAIgASgLMg8uY2VkYXIudj' + 'MuVmFsdWVSA2FyZw=='); + +@$core.Deprecated('Use entityValueDescriptor instead') +const EntityValue$json = { + '1': 'EntityValue', + '2': [ + {'1': 'uid', '3': 1, '4': 1, '5': 11, '6': '.cedar.v3.EntityId', '10': 'uid'}, + ], +}; + +/// Descriptor for `EntityValue`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List entityValueDescriptor = $convert.base64Decode( + 'CgtFbnRpdHlWYWx1ZRIkCgN1aWQYASABKAsyEi5jZWRhci52My5FbnRpdHlJZFIDdWlk'); + diff --git a/packages/corks/lib/src/proto/cedar/v3/value.pbserver.dart b/packages/corks/lib/src/proto/cedar/v3/value.pbserver.dart new file mode 100644 index 00000000..1417e467 --- /dev/null +++ b/packages/corks/lib/src/proto/cedar/v3/value.pbserver.dart @@ -0,0 +1,14 @@ +// +// Generated code. Do not modify. +// source: cedar/v3/value.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names +// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +export 'value.pb.dart'; + diff --git a/packages/corks/lib/src/proto/corks/v1/cork.pb.dart b/packages/corks/lib/src/proto/corks/v1/cork.pb.dart new file mode 100644 index 00000000..d9923cd9 --- /dev/null +++ b/packages/corks/lib/src/proto/corks/v1/cork.pb.dart @@ -0,0 +1,281 @@ +// +// Generated code. Do not modify. +// source: corks/v1/cork.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../cedar/v3/entity.pb.dart' as $4; +import '../../cedar/v3/policy.pb.dart' as $5; + +class Cork extends $pb.GeneratedMessage { + factory Cork({ + $core.List<$core.int>? id, + $core.List<$core.int>? keyId, + Bearer? bearer, + $core.Iterable? caveats, + $core.List<$core.int>? signature, + }) { + final $result = create(); + if (id != null) { + $result.id = id; + } + if (keyId != null) { + $result.keyId = keyId; + } + if (bearer != null) { + $result.bearer = bearer; + } + if (caveats != null) { + $result.caveats.addAll(caveats); + } + if (signature != null) { + $result.signature = signature; + } + return $result; + } + Cork._() : super(); + factory Cork.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Cork.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Cork', package: const $pb.PackageName(_omitMessageNames ? '' : 'corks.v1'), createEmptyInstance: create) + ..a<$core.List<$core.int>>(1, _omitFieldNames ? '' : 'id', $pb.PbFieldType.OY) + ..a<$core.List<$core.int>>(2, _omitFieldNames ? '' : 'keyId', $pb.PbFieldType.OY) + ..aOM(3, _omitFieldNames ? '' : 'bearer', subBuilder: Bearer.create) + ..pc(4, _omitFieldNames ? '' : 'caveats', $pb.PbFieldType.PM, subBuilder: Caveat.create) + ..a<$core.List<$core.int>>(5, _omitFieldNames ? '' : 'signature', $pb.PbFieldType.OY) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Cork clone() => Cork()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Cork copyWith(void Function(Cork) updates) => super.copyWith((message) => updates(message as Cork)) as Cork; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Cork create() => Cork._(); + Cork createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Cork getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Cork? _defaultInstance; + + @$pb.TagNumber(1) + $core.List<$core.int> get id => $_getN(0); + @$pb.TagNumber(1) + set id($core.List<$core.int> v) { $_setBytes(0, v); } + @$pb.TagNumber(1) + $core.bool hasId() => $_has(0); + @$pb.TagNumber(1) + void clearId() => clearField(1); + + @$pb.TagNumber(2) + $core.List<$core.int> get keyId => $_getN(1); + @$pb.TagNumber(2) + set keyId($core.List<$core.int> v) { $_setBytes(1, v); } + @$pb.TagNumber(2) + $core.bool hasKeyId() => $_has(1); + @$pb.TagNumber(2) + void clearKeyId() => clearField(2); + + @$pb.TagNumber(3) + Bearer get bearer => $_getN(2); + @$pb.TagNumber(3) + set bearer(Bearer v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasBearer() => $_has(2); + @$pb.TagNumber(3) + void clearBearer() => clearField(3); + @$pb.TagNumber(3) + Bearer ensureBearer() => $_ensure(2); + + @$pb.TagNumber(4) + $core.List get caveats => $_getList(3); + + @$pb.TagNumber(5) + $core.List<$core.int> get signature => $_getN(4); + @$pb.TagNumber(5) + set signature($core.List<$core.int> v) { $_setBytes(4, v); } + @$pb.TagNumber(5) + $core.bool hasSignature() => $_has(4); + @$pb.TagNumber(5) + void clearSignature() => clearField(5); +} + +enum Bearer_Bearer { + entity, + notSet +} + +class Bearer extends $pb.GeneratedMessage { + factory Bearer({ + $core.List<$core.int>? signature, + $4.Entity? entity, + }) { + final $result = create(); + if (signature != null) { + $result.signature = signature; + } + if (entity != null) { + $result.entity = entity; + } + return $result; + } + Bearer._() : super(); + factory Bearer.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Bearer.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Bearer_Bearer> _Bearer_BearerByTag = { + 2 : Bearer_Bearer.entity, + 0 : Bearer_Bearer.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Bearer', package: const $pb.PackageName(_omitMessageNames ? '' : 'corks.v1'), createEmptyInstance: create) + ..oo(0, [2]) + ..a<$core.List<$core.int>>(1, _omitFieldNames ? '' : 'signature', $pb.PbFieldType.OY) + ..aOM<$4.Entity>(2, _omitFieldNames ? '' : 'entity', subBuilder: $4.Entity.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Bearer clone() => Bearer()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Bearer copyWith(void Function(Bearer) updates) => super.copyWith((message) => updates(message as Bearer)) as Bearer; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Bearer create() => Bearer._(); + Bearer createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Bearer getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Bearer? _defaultInstance; + + Bearer_Bearer whichBearer() => _Bearer_BearerByTag[$_whichOneof(0)]!; + void clearBearer() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + $core.List<$core.int> get signature => $_getN(0); + @$pb.TagNumber(1) + set signature($core.List<$core.int> v) { $_setBytes(0, v); } + @$pb.TagNumber(1) + $core.bool hasSignature() => $_has(0); + @$pb.TagNumber(1) + void clearSignature() => clearField(1); + + @$pb.TagNumber(2) + $4.Entity get entity => $_getN(1); + @$pb.TagNumber(2) + set entity($4.Entity v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasEntity() => $_has(1); + @$pb.TagNumber(2) + void clearEntity() => clearField(2); + @$pb.TagNumber(2) + $4.Entity ensureEntity() => $_ensure(1); +} + +enum Caveat_Block { + policy, + notSet +} + +class Caveat extends $pb.GeneratedMessage { + factory Caveat({ + $core.List<$core.int>? signature, + $5.Policy? policy, + }) { + final $result = create(); + if (signature != null) { + $result.signature = signature; + } + if (policy != null) { + $result.policy = policy; + } + return $result; + } + Caveat._() : super(); + factory Caveat.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Caveat.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Caveat_Block> _Caveat_BlockByTag = { + 2 : Caveat_Block.policy, + 0 : Caveat_Block.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Caveat', package: const $pb.PackageName(_omitMessageNames ? '' : 'corks.v1'), createEmptyInstance: create) + ..oo(0, [2]) + ..a<$core.List<$core.int>>(1, _omitFieldNames ? '' : 'signature', $pb.PbFieldType.OY) + ..aOM<$5.Policy>(2, _omitFieldNames ? '' : 'policy', subBuilder: $5.Policy.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Caveat clone() => Caveat()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Caveat copyWith(void Function(Caveat) updates) => super.copyWith((message) => updates(message as Caveat)) as Caveat; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Caveat create() => Caveat._(); + Caveat createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Caveat getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Caveat? _defaultInstance; + + Caveat_Block whichBlock() => _Caveat_BlockByTag[$_whichOneof(0)]!; + void clearBlock() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + $core.List<$core.int> get signature => $_getN(0); + @$pb.TagNumber(1) + set signature($core.List<$core.int> v) { $_setBytes(0, v); } + @$pb.TagNumber(1) + $core.bool hasSignature() => $_has(0); + @$pb.TagNumber(1) + void clearSignature() => clearField(1); + + @$pb.TagNumber(2) + $5.Policy get policy => $_getN(1); + @$pb.TagNumber(2) + set policy($5.Policy v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasPolicy() => $_has(1); + @$pb.TagNumber(2) + void clearPolicy() => clearField(2); + @$pb.TagNumber(2) + $5.Policy ensurePolicy() => $_ensure(1); +} + + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/packages/corks/lib/src/proto/corks/v1/cork.pbenum.dart b/packages/corks/lib/src/proto/corks/v1/cork.pbenum.dart new file mode 100644 index 00000000..c5bd364e --- /dev/null +++ b/packages/corks/lib/src/proto/corks/v1/cork.pbenum.dart @@ -0,0 +1,11 @@ +// +// Generated code. Do not modify. +// source: corks/v1/cork.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + diff --git a/packages/corks/lib/src/proto/corks/v1/cork.pbjson.dart b/packages/corks/lib/src/proto/corks/v1/cork.pbjson.dart new file mode 100644 index 00000000..d679e58f --- /dev/null +++ b/packages/corks/lib/src/proto/corks/v1/cork.pbjson.dart @@ -0,0 +1,71 @@ +// +// Generated code. Do not modify. +// source: corks/v1/cork.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use corkDescriptor instead') +const Cork$json = { + '1': 'Cork', + '2': [ + {'1': 'id', '3': 1, '4': 1, '5': 12, '10': 'id'}, + {'1': 'key_id', '3': 2, '4': 1, '5': 12, '10': 'keyId'}, + {'1': 'bearer', '3': 3, '4': 1, '5': 11, '6': '.corks.v1.Bearer', '9': 0, '10': 'bearer', '17': true}, + {'1': 'caveats', '3': 4, '4': 3, '5': 11, '6': '.corks.v1.Caveat', '10': 'caveats'}, + {'1': 'signature', '3': 5, '4': 1, '5': 12, '10': 'signature'}, + ], + '8': [ + {'1': '_bearer'}, + ], +}; + +/// Descriptor for `Cork`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List corkDescriptor = $convert.base64Decode( + 'CgRDb3JrEg4KAmlkGAEgASgMUgJpZBIVCgZrZXlfaWQYAiABKAxSBWtleUlkEi0KBmJlYXJlch' + 'gDIAEoCzIQLmNvcmtzLnYxLkJlYXJlckgAUgZiZWFyZXKIAQESKgoHY2F2ZWF0cxgEIAMoCzIQ' + 'LmNvcmtzLnYxLkNhdmVhdFIHY2F2ZWF0cxIcCglzaWduYXR1cmUYBSABKAxSCXNpZ25hdHVyZU' + 'IJCgdfYmVhcmVy'); + +@$core.Deprecated('Use bearerDescriptor instead') +const Bearer$json = { + '1': 'Bearer', + '2': [ + {'1': 'signature', '3': 1, '4': 1, '5': 12, '10': 'signature'}, + {'1': 'entity', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Entity', '9': 0, '10': 'entity'}, + ], + '8': [ + {'1': 'bearer'}, + ], +}; + +/// Descriptor for `Bearer`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List bearerDescriptor = $convert.base64Decode( + 'CgZCZWFyZXISHAoJc2lnbmF0dXJlGAEgASgMUglzaWduYXR1cmUSKgoGZW50aXR5GAIgASgLMh' + 'AuY2VkYXIudjMuRW50aXR5SABSBmVudGl0eUIICgZiZWFyZXI='); + +@$core.Deprecated('Use caveatDescriptor instead') +const Caveat$json = { + '1': 'Caveat', + '2': [ + {'1': 'signature', '3': 1, '4': 1, '5': 12, '10': 'signature'}, + {'1': 'policy', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Policy', '9': 0, '10': 'policy'}, + ], + '8': [ + {'1': 'block'}, + ], +}; + +/// Descriptor for `Caveat`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List caveatDescriptor = $convert.base64Decode( + 'CgZDYXZlYXQSHAoJc2lnbmF0dXJlGAEgASgMUglzaWduYXR1cmUSKgoGcG9saWN5GAIgASgLMh' + 'AuY2VkYXIudjMuUG9saWN5SABSBnBvbGljeUIHCgVibG9jaw=='); + diff --git a/packages/corks/lib/src/proto/corks/v1/cork.pbserver.dart b/packages/corks/lib/src/proto/corks/v1/cork.pbserver.dart new file mode 100644 index 00000000..22f9438b --- /dev/null +++ b/packages/corks/lib/src/proto/corks/v1/cork.pbserver.dart @@ -0,0 +1,14 @@ +// +// Generated code. Do not modify. +// source: corks/v1/cork.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names +// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +export 'cork.pb.dart'; + diff --git a/packages/corks/lib/src/proto/dart/dart_options.pb.dart b/packages/corks/lib/src/proto/dart/dart_options.pb.dart new file mode 100644 index 00000000..fe78ea84 --- /dev/null +++ b/packages/corks/lib/src/proto/dart/dart_options.pb.dart @@ -0,0 +1,178 @@ +// +// Generated code. Do not modify. +// source: dart/dart_options.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// A mixin that can be used in the 'with' clause of the generated Dart class +/// for a proto message. +class DartMixin extends $pb.GeneratedMessage { + factory DartMixin({ + $core.String? name, + $core.String? importFrom, + $core.String? parent, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (importFrom != null) { + $result.importFrom = importFrom; + } + if (parent != null) { + $result.parent = parent; + } + return $result; + } + DartMixin._() : super(); + factory DartMixin.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory DartMixin.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DartMixin', package: const $pb.PackageName(_omitMessageNames ? '' : 'dart_options'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'importFrom') + ..aOS(3, _omitFieldNames ? '' : 'parent') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DartMixin clone() => DartMixin()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DartMixin copyWith(void Function(DartMixin) updates) => super.copyWith((message) => updates(message as DartMixin)) as DartMixin; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DartMixin create() => DartMixin._(); + DartMixin createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DartMixin getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static DartMixin? _defaultInstance; + + /// The name of the mixin class. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// A URI pointing to the Dart library that defines the mixin. + /// The generated Dart code will use this in an import statement. + @$pb.TagNumber(2) + $core.String get importFrom => $_getSZ(1); + @$pb.TagNumber(2) + set importFrom($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasImportFrom() => $_has(1); + @$pb.TagNumber(2) + void clearImportFrom() => clearField(2); + + /// The name of another mixin to be applied ahead of this one. + /// The generated class for the message will inherit from all mixins + /// in the parent chain. + @$pb.TagNumber(3) + $core.String get parent => $_getSZ(2); + @$pb.TagNumber(3) + set parent($core.String v) { $_setString(2, v); } + @$pb.TagNumber(3) + $core.bool hasParent() => $_has(2); + @$pb.TagNumber(3) + void clearParent() => clearField(3); +} + +/// Defines additional Dart imports to be used with messages in this file. +class Imports extends $pb.GeneratedMessage { + factory Imports({ + $core.Iterable? mixins, + }) { + final $result = create(); + if (mixins != null) { + $result.mixins.addAll(mixins); + } + return $result; + } + Imports._() : super(); + factory Imports.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Imports.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Imports', package: const $pb.PackageName(_omitMessageNames ? '' : 'dart_options'), createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'mixins', $pb.PbFieldType.PM, subBuilder: DartMixin.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Imports clone() => Imports()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Imports copyWith(void Function(Imports) updates) => super.copyWith((message) => updates(message as Imports)) as Imports; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Imports create() => Imports._(); + Imports createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Imports getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Imports? _defaultInstance; + + /// Mixins to be used on messages in this file. + /// These mixins are in addition to internally defined mixins (e.g PbMapMixin) + /// and may override them. + /// + /// Warning: mixins are experimental. The protoc Dart plugin doesn't check + /// for name conflicts between mixin class members and generated class members, + /// so the generated code may contain errors. Therefore, running dartanalyzer + /// on the generated file is a good idea. + @$pb.TagNumber(1) + $core.List get mixins => $_getList(0); +} + +class Dart_options { + static final imports = $pb.Extension(_omitMessageNames ? '' : 'google.protobuf.FileOptions', _omitFieldNames ? '' : 'imports', 28125061, $pb.PbFieldType.OM, defaultOrMaker: Imports.getDefault, subBuilder: Imports.create); + static final defaultMixin = $pb.Extension<$core.String>(_omitMessageNames ? '' : 'google.protobuf.FileOptions', _omitFieldNames ? '' : 'defaultMixin', 96128839, $pb.PbFieldType.OS); + static final mixin = $pb.Extension<$core.String>(_omitMessageNames ? '' : 'google.protobuf.MessageOptions', _omitFieldNames ? '' : 'mixin', 96128839, $pb.PbFieldType.OS); + static final overrideGetter = $pb.Extension<$core.bool>(_omitMessageNames ? '' : 'google.protobuf.FieldOptions', _omitFieldNames ? '' : 'overrideGetter', 28205290, $pb.PbFieldType.OB); + static final overrideSetter = $pb.Extension<$core.bool>(_omitMessageNames ? '' : 'google.protobuf.FieldOptions', _omitFieldNames ? '' : 'overrideSetter', 28937366, $pb.PbFieldType.OB); + static final overrideHasMethod = $pb.Extension<$core.bool>(_omitMessageNames ? '' : 'google.protobuf.FieldOptions', _omitFieldNames ? '' : 'overrideHasMethod', 28937461, $pb.PbFieldType.OB); + static final overrideClearMethod = $pb.Extension<$core.bool>(_omitMessageNames ? '' : 'google.protobuf.FieldOptions', _omitFieldNames ? '' : 'overrideClearMethod', 28907907, $pb.PbFieldType.OB); + static final dartName = $pb.Extension<$core.String>(_omitMessageNames ? '' : 'google.protobuf.FieldOptions', _omitFieldNames ? '' : 'dartName', 28700919, $pb.PbFieldType.OS); + static void registerAllExtensions($pb.ExtensionRegistry registry) { + registry.add(imports); + registry.add(defaultMixin); + registry.add(mixin); + registry.add(overrideGetter); + registry.add(overrideSetter); + registry.add(overrideHasMethod); + registry.add(overrideClearMethod); + registry.add(dartName); + } +} + + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/packages/corks/lib/src/proto/dart/dart_options.pbenum.dart b/packages/corks/lib/src/proto/dart/dart_options.pbenum.dart new file mode 100644 index 00000000..8193ea48 --- /dev/null +++ b/packages/corks/lib/src/proto/dart/dart_options.pbenum.dart @@ -0,0 +1,11 @@ +// +// Generated code. Do not modify. +// source: dart/dart_options.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + diff --git a/packages/corks/lib/src/proto/dart/dart_options.pbjson.dart b/packages/corks/lib/src/proto/dart/dart_options.pbjson.dart new file mode 100644 index 00000000..e858a6b2 --- /dev/null +++ b/packages/corks/lib/src/proto/dart/dart_options.pbjson.dart @@ -0,0 +1,43 @@ +// +// Generated code. Do not modify. +// source: dart/dart_options.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use dartMixinDescriptor instead') +const DartMixin$json = { + '1': 'DartMixin', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'import_from', '3': 2, '4': 1, '5': 9, '10': 'importFrom'}, + {'1': 'parent', '3': 3, '4': 1, '5': 9, '10': 'parent'}, + ], +}; + +/// Descriptor for `DartMixin`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List dartMixinDescriptor = $convert.base64Decode( + 'CglEYXJ0TWl4aW4SEgoEbmFtZRgBIAEoCVIEbmFtZRIfCgtpbXBvcnRfZnJvbRgCIAEoCVIKaW' + '1wb3J0RnJvbRIWCgZwYXJlbnQYAyABKAlSBnBhcmVudA=='); + +@$core.Deprecated('Use importsDescriptor instead') +const Imports$json = { + '1': 'Imports', + '2': [ + {'1': 'mixins', '3': 1, '4': 3, '5': 11, '6': '.dart_options.DartMixin', '10': 'mixins'}, + ], +}; + +/// Descriptor for `Imports`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List importsDescriptor = $convert.base64Decode( + 'CgdJbXBvcnRzEi8KBm1peGlucxgBIAMoCzIXLmRhcnRfb3B0aW9ucy5EYXJ0TWl4aW5SBm1peG' + 'lucw=='); + diff --git a/packages/corks/lib/src/proto/dart/dart_options.pbserver.dart b/packages/corks/lib/src/proto/dart/dart_options.pbserver.dart new file mode 100644 index 00000000..c3bb25e5 --- /dev/null +++ b/packages/corks/lib/src/proto/dart/dart_options.pbserver.dart @@ -0,0 +1,14 @@ +// +// Generated code. Do not modify. +// source: dart/dart_options.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names +// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +export 'dart_options.pb.dart'; + diff --git a/packages/corks/lib/src/proto/google/protobuf/any.pb.dart b/packages/corks/lib/src/proto/google/protobuf/any.pb.dart new file mode 100644 index 00000000..212e7c74 --- /dev/null +++ b/packages/corks/lib/src/proto/google/protobuf/any.pb.dart @@ -0,0 +1,208 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/any.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; +import 'package:protobuf/src/protobuf/mixins/well_known.dart' as $mixin; + +/// `Any` contains an arbitrary serialized protocol buffer message along with a +/// URL that describes the type of the serialized message. +/// +/// Protobuf library provides support to pack/unpack Any values in the form +/// of utility functions or additional generated methods of the Any type. +/// +/// Example 1: Pack and unpack a message in C++. +/// +/// Foo foo = ...; +/// Any any; +/// any.PackFrom(foo); +/// ... +/// if (any.UnpackTo(&foo)) { +/// ... +/// } +/// +/// Example 2: Pack and unpack a message in Java. +/// +/// Foo foo = ...; +/// Any any = Any.pack(foo); +/// ... +/// if (any.is(Foo.class)) { +/// foo = any.unpack(Foo.class); +/// } +/// // or ... +/// if (any.isSameTypeAs(Foo.getDefaultInstance())) { +/// foo = any.unpack(Foo.getDefaultInstance()); +/// } +/// +/// Example 3: Pack and unpack a message in Python. +/// +/// foo = Foo(...) +/// any = Any() +/// any.Pack(foo) +/// ... +/// if any.Is(Foo.DESCRIPTOR): +/// any.Unpack(foo) +/// ... +/// +/// Example 4: Pack and unpack a message in Go +/// +/// foo := &pb.Foo{...} +/// any, err := anypb.New(foo) +/// if err != nil { +/// ... +/// } +/// ... +/// foo := &pb.Foo{} +/// if err := any.UnmarshalTo(foo); err != nil { +/// ... +/// } +/// +/// The pack methods provided by protobuf library will by default use +/// 'type.googleapis.com/full.type.name' as the type URL and the unpack +/// methods only use the fully qualified type name after the last '/' +/// in the type URL, for example "foo.bar.com/x/y.z" will yield type +/// name "y.z". +/// +/// JSON +/// ==== +/// The JSON representation of an `Any` value uses the regular +/// representation of the deserialized, embedded message, with an +/// additional field `@type` which contains the type URL. Example: +/// +/// package google.profile; +/// message Person { +/// string first_name = 1; +/// string last_name = 2; +/// } +/// +/// { +/// "@type": "type.googleapis.com/google.profile.Person", +/// "firstName": , +/// "lastName": +/// } +/// +/// If the embedded message type is well-known and has a custom JSON +/// representation, that representation will be embedded adding a field +/// `value` which holds the custom JSON in addition to the `@type` +/// field. Example (for message [google.protobuf.Duration][]): +/// +/// { +/// "@type": "type.googleapis.com/google.protobuf.Duration", +/// "value": "1.212s" +/// } +class Any extends $pb.GeneratedMessage with $mixin.AnyMixin { + factory Any({ + $core.String? typeUrl, + $core.List<$core.int>? value, + }) { + final $result = create(); + if (typeUrl != null) { + $result.typeUrl = typeUrl; + } + if (value != null) { + $result.value = value; + } + return $result; + } + Any._() : super(); + factory Any.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Any.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Any', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create, toProto3Json: $mixin.AnyMixin.toProto3JsonHelper, fromProto3Json: $mixin.AnyMixin.fromProto3JsonHelper) + ..aOS(1, _omitFieldNames ? '' : 'typeUrl') + ..a<$core.List<$core.int>>(2, _omitFieldNames ? '' : 'value', $pb.PbFieldType.OY) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Any clone() => Any()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Any copyWith(void Function(Any) updates) => super.copyWith((message) => updates(message as Any)) as Any; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Any create() => Any._(); + Any createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Any getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Any? _defaultInstance; + + /// A URL/resource name that uniquely identifies the type of the serialized + /// protocol buffer message. This string must contain at least + /// one "/" character. The last segment of the URL's path must represent + /// the fully qualified name of the type (as in + /// `path/google.protobuf.Duration`). The name should be in a canonical form + /// (e.g., leading "." is not accepted). + /// + /// In practice, teams usually precompile into the binary all types that they + /// expect it to use in the context of Any. However, for URLs which use the + /// scheme `http`, `https`, or no scheme, one can optionally set up a type + /// server that maps type URLs to message definitions as follows: + /// + /// * If no scheme is provided, `https` is assumed. + /// * An HTTP GET on the URL must yield a [google.protobuf.Type][] + /// value in binary format, or produce an error. + /// * Applications are allowed to cache lookup results based on the + /// URL, or have them precompiled into a binary to avoid any + /// lookup. Therefore, binary compatibility needs to be preserved + /// on changes to types. (Use versioned type names to manage + /// breaking changes.) + /// + /// Note: this functionality is not currently available in the official + /// protobuf release, and it is not used for type URLs beginning with + /// type.googleapis.com. As of May 2023, there are no widely used type server + /// implementations and no plans to implement one. + /// + /// Schemes other than `http`, `https` (or the empty scheme) might be + /// used with implementation specific semantics. + @$pb.TagNumber(1) + $core.String get typeUrl => $_getSZ(0); + @$pb.TagNumber(1) + set typeUrl($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasTypeUrl() => $_has(0); + @$pb.TagNumber(1) + void clearTypeUrl() => clearField(1); + + /// Must be a valid serialized protocol buffer of the above specified type. + @$pb.TagNumber(2) + $core.List<$core.int> get value => $_getN(1); + @$pb.TagNumber(2) + set value($core.List<$core.int> v) { $_setBytes(1, v); } + @$pb.TagNumber(2) + $core.bool hasValue() => $_has(1); + @$pb.TagNumber(2) + void clearValue() => clearField(2); + /// Creates a new [Any] encoding [message]. + /// + /// The [typeUrl] will be [typeUrlPrefix]/`fullName` where `fullName` is + /// the fully qualified name of the type of [message]. + static Any pack($pb.GeneratedMessage message, + {$core.String typeUrlPrefix = 'type.googleapis.com'}) { + final result = create(); + $mixin.AnyMixin.packIntoAny(result, message, + typeUrlPrefix: typeUrlPrefix); + return result; + } +} + + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/packages/corks/lib/src/proto/google/protobuf/any.pbenum.dart b/packages/corks/lib/src/proto/google/protobuf/any.pbenum.dart new file mode 100644 index 00000000..effdb475 --- /dev/null +++ b/packages/corks/lib/src/proto/google/protobuf/any.pbenum.dart @@ -0,0 +1,11 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/any.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + diff --git a/packages/corks/lib/src/proto/google/protobuf/any.pbjson.dart b/packages/corks/lib/src/proto/google/protobuf/any.pbjson.dart new file mode 100644 index 00000000..beaeb5fa --- /dev/null +++ b/packages/corks/lib/src/proto/google/protobuf/any.pbjson.dart @@ -0,0 +1,28 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/any.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use anyDescriptor instead') +const Any$json = { + '1': 'Any', + '2': [ + {'1': 'type_url', '3': 1, '4': 1, '5': 9, '10': 'typeUrl'}, + {'1': 'value', '3': 2, '4': 1, '5': 12, '10': 'value'}, + ], +}; + +/// Descriptor for `Any`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List anyDescriptor = $convert.base64Decode( + 'CgNBbnkSGQoIdHlwZV91cmwYASABKAlSB3R5cGVVcmwSFAoFdmFsdWUYAiABKAxSBXZhbHVl'); + diff --git a/packages/corks/lib/src/proto/google/protobuf/any.pbserver.dart b/packages/corks/lib/src/proto/google/protobuf/any.pbserver.dart new file mode 100644 index 00000000..b332b59d --- /dev/null +++ b/packages/corks/lib/src/proto/google/protobuf/any.pbserver.dart @@ -0,0 +1,14 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/any.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names +// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +export 'any.pb.dart'; + diff --git a/packages/corks/lib/src/proto/google/protobuf/descriptor.pb.dart b/packages/corks/lib/src/proto/google/protobuf/descriptor.pb.dart new file mode 100644 index 00000000..4aaf3191 --- /dev/null +++ b/packages/corks/lib/src/proto/google/protobuf/descriptor.pb.dart @@ -0,0 +1,3767 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/descriptor.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import 'descriptor.pbenum.dart'; + +export 'descriptor.pbenum.dart'; + +/// The protocol compiler can output a FileDescriptorSet containing the .proto +/// files it parses. +class FileDescriptorSet extends $pb.GeneratedMessage { + factory FileDescriptorSet({ + $core.Iterable? file, + }) { + final $result = create(); + if (file != null) { + $result.file.addAll(file); + } + return $result; + } + FileDescriptorSet._() : super(); + factory FileDescriptorSet.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory FileDescriptorSet.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FileDescriptorSet', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'file', $pb.PbFieldType.PM, subBuilder: FileDescriptorProto.create) + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FileDescriptorSet clone() => FileDescriptorSet()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FileDescriptorSet copyWith(void Function(FileDescriptorSet) updates) => super.copyWith((message) => updates(message as FileDescriptorSet)) as FileDescriptorSet; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FileDescriptorSet create() => FileDescriptorSet._(); + FileDescriptorSet createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FileDescriptorSet getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FileDescriptorSet? _defaultInstance; + + @$pb.TagNumber(1) + $core.List get file => $_getList(0); +} + +/// Describes a complete .proto file. +class FileDescriptorProto extends $pb.GeneratedMessage { + factory FileDescriptorProto({ + $core.String? name, + $core.String? package, + $core.Iterable<$core.String>? dependency, + $core.Iterable? messageType, + $core.Iterable? enumType, + $core.Iterable? service, + $core.Iterable? extension, + FileOptions? options, + SourceCodeInfo? sourceCodeInfo, + $core.Iterable<$core.int>? publicDependency, + $core.Iterable<$core.int>? weakDependency, + $core.String? syntax, + Edition? edition, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (package != null) { + $result.package = package; + } + if (dependency != null) { + $result.dependency.addAll(dependency); + } + if (messageType != null) { + $result.messageType.addAll(messageType); + } + if (enumType != null) { + $result.enumType.addAll(enumType); + } + if (service != null) { + $result.service.addAll(service); + } + if (extension != null) { + $result.extension.addAll(extension); + } + if (options != null) { + $result.options = options; + } + if (sourceCodeInfo != null) { + $result.sourceCodeInfo = sourceCodeInfo; + } + if (publicDependency != null) { + $result.publicDependency.addAll(publicDependency); + } + if (weakDependency != null) { + $result.weakDependency.addAll(weakDependency); + } + if (syntax != null) { + $result.syntax = syntax; + } + if (edition != null) { + $result.edition = edition; + } + return $result; + } + FileDescriptorProto._() : super(); + factory FileDescriptorProto.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory FileDescriptorProto.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FileDescriptorProto', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'package') + ..pPS(3, _omitFieldNames ? '' : 'dependency') + ..pc(4, _omitFieldNames ? '' : 'messageType', $pb.PbFieldType.PM, subBuilder: DescriptorProto.create) + ..pc(5, _omitFieldNames ? '' : 'enumType', $pb.PbFieldType.PM, subBuilder: EnumDescriptorProto.create) + ..pc(6, _omitFieldNames ? '' : 'service', $pb.PbFieldType.PM, subBuilder: ServiceDescriptorProto.create) + ..pc(7, _omitFieldNames ? '' : 'extension', $pb.PbFieldType.PM, subBuilder: FieldDescriptorProto.create) + ..aOM(8, _omitFieldNames ? '' : 'options', subBuilder: FileOptions.create) + ..aOM(9, _omitFieldNames ? '' : 'sourceCodeInfo', subBuilder: SourceCodeInfo.create) + ..p<$core.int>(10, _omitFieldNames ? '' : 'publicDependency', $pb.PbFieldType.P3) + ..p<$core.int>(11, _omitFieldNames ? '' : 'weakDependency', $pb.PbFieldType.P3) + ..aOS(12, _omitFieldNames ? '' : 'syntax') + ..e(14, _omitFieldNames ? '' : 'edition', $pb.PbFieldType.OE, defaultOrMaker: Edition.EDITION_UNKNOWN, valueOf: Edition.valueOf, enumValues: Edition.values) + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FileDescriptorProto clone() => FileDescriptorProto()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FileDescriptorProto copyWith(void Function(FileDescriptorProto) updates) => super.copyWith((message) => updates(message as FileDescriptorProto)) as FileDescriptorProto; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FileDescriptorProto create() => FileDescriptorProto._(); + FileDescriptorProto createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FileDescriptorProto getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FileDescriptorProto? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + @$pb.TagNumber(2) + $core.String get package => $_getSZ(1); + @$pb.TagNumber(2) + set package($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasPackage() => $_has(1); + @$pb.TagNumber(2) + void clearPackage() => clearField(2); + + /// Names of files imported by this file. + @$pb.TagNumber(3) + $core.List<$core.String> get dependency => $_getList(2); + + /// All top-level definitions in this file. + @$pb.TagNumber(4) + $core.List get messageType => $_getList(3); + + @$pb.TagNumber(5) + $core.List get enumType => $_getList(4); + + @$pb.TagNumber(6) + $core.List get service => $_getList(5); + + @$pb.TagNumber(7) + $core.List get extension => $_getList(6); + + @$pb.TagNumber(8) + FileOptions get options => $_getN(7); + @$pb.TagNumber(8) + set options(FileOptions v) { setField(8, v); } + @$pb.TagNumber(8) + $core.bool hasOptions() => $_has(7); + @$pb.TagNumber(8) + void clearOptions() => clearField(8); + @$pb.TagNumber(8) + FileOptions ensureOptions() => $_ensure(7); + + /// This field contains optional information about the original source code. + /// You may safely remove this entire field without harming runtime + /// functionality of the descriptors -- the information is needed only by + /// development tools. + @$pb.TagNumber(9) + SourceCodeInfo get sourceCodeInfo => $_getN(8); + @$pb.TagNumber(9) + set sourceCodeInfo(SourceCodeInfo v) { setField(9, v); } + @$pb.TagNumber(9) + $core.bool hasSourceCodeInfo() => $_has(8); + @$pb.TagNumber(9) + void clearSourceCodeInfo() => clearField(9); + @$pb.TagNumber(9) + SourceCodeInfo ensureSourceCodeInfo() => $_ensure(8); + + /// Indexes of the public imported files in the dependency list above. + @$pb.TagNumber(10) + $core.List<$core.int> get publicDependency => $_getList(9); + + /// Indexes of the weak imported files in the dependency list. + /// For Google-internal migration only. Do not use. + @$pb.TagNumber(11) + $core.List<$core.int> get weakDependency => $_getList(10); + + /// The syntax of the proto file. + /// The supported values are "proto2", "proto3", and "editions". + /// + /// If `edition` is present, this value must be "editions". + @$pb.TagNumber(12) + $core.String get syntax => $_getSZ(11); + @$pb.TagNumber(12) + set syntax($core.String v) { $_setString(11, v); } + @$pb.TagNumber(12) + $core.bool hasSyntax() => $_has(11); + @$pb.TagNumber(12) + void clearSyntax() => clearField(12); + + /// The edition of the proto file. + @$pb.TagNumber(14) + Edition get edition => $_getN(12); + @$pb.TagNumber(14) + set edition(Edition v) { setField(14, v); } + @$pb.TagNumber(14) + $core.bool hasEdition() => $_has(12); + @$pb.TagNumber(14) + void clearEdition() => clearField(14); +} + +class DescriptorProto_ExtensionRange extends $pb.GeneratedMessage { + factory DescriptorProto_ExtensionRange({ + $core.int? start, + $core.int? end, + ExtensionRangeOptions? options, + }) { + final $result = create(); + if (start != null) { + $result.start = start; + } + if (end != null) { + $result.end = end; + } + if (options != null) { + $result.options = options; + } + return $result; + } + DescriptorProto_ExtensionRange._() : super(); + factory DescriptorProto_ExtensionRange.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory DescriptorProto_ExtensionRange.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DescriptorProto.ExtensionRange', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'start', $pb.PbFieldType.O3) + ..a<$core.int>(2, _omitFieldNames ? '' : 'end', $pb.PbFieldType.O3) + ..aOM(3, _omitFieldNames ? '' : 'options', subBuilder: ExtensionRangeOptions.create) + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DescriptorProto_ExtensionRange clone() => DescriptorProto_ExtensionRange()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DescriptorProto_ExtensionRange copyWith(void Function(DescriptorProto_ExtensionRange) updates) => super.copyWith((message) => updates(message as DescriptorProto_ExtensionRange)) as DescriptorProto_ExtensionRange; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DescriptorProto_ExtensionRange create() => DescriptorProto_ExtensionRange._(); + DescriptorProto_ExtensionRange createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DescriptorProto_ExtensionRange getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static DescriptorProto_ExtensionRange? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get start => $_getIZ(0); + @$pb.TagNumber(1) + set start($core.int v) { $_setSignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasStart() => $_has(0); + @$pb.TagNumber(1) + void clearStart() => clearField(1); + + @$pb.TagNumber(2) + $core.int get end => $_getIZ(1); + @$pb.TagNumber(2) + set end($core.int v) { $_setSignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasEnd() => $_has(1); + @$pb.TagNumber(2) + void clearEnd() => clearField(2); + + @$pb.TagNumber(3) + ExtensionRangeOptions get options => $_getN(2); + @$pb.TagNumber(3) + set options(ExtensionRangeOptions v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasOptions() => $_has(2); + @$pb.TagNumber(3) + void clearOptions() => clearField(3); + @$pb.TagNumber(3) + ExtensionRangeOptions ensureOptions() => $_ensure(2); +} + +/// Range of reserved tag numbers. Reserved tag numbers may not be used by +/// fields or extension ranges in the same message. Reserved ranges may +/// not overlap. +class DescriptorProto_ReservedRange extends $pb.GeneratedMessage { + factory DescriptorProto_ReservedRange({ + $core.int? start, + $core.int? end, + }) { + final $result = create(); + if (start != null) { + $result.start = start; + } + if (end != null) { + $result.end = end; + } + return $result; + } + DescriptorProto_ReservedRange._() : super(); + factory DescriptorProto_ReservedRange.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory DescriptorProto_ReservedRange.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DescriptorProto.ReservedRange', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'start', $pb.PbFieldType.O3) + ..a<$core.int>(2, _omitFieldNames ? '' : 'end', $pb.PbFieldType.O3) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DescriptorProto_ReservedRange clone() => DescriptorProto_ReservedRange()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DescriptorProto_ReservedRange copyWith(void Function(DescriptorProto_ReservedRange) updates) => super.copyWith((message) => updates(message as DescriptorProto_ReservedRange)) as DescriptorProto_ReservedRange; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DescriptorProto_ReservedRange create() => DescriptorProto_ReservedRange._(); + DescriptorProto_ReservedRange createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DescriptorProto_ReservedRange getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static DescriptorProto_ReservedRange? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get start => $_getIZ(0); + @$pb.TagNumber(1) + set start($core.int v) { $_setSignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasStart() => $_has(0); + @$pb.TagNumber(1) + void clearStart() => clearField(1); + + @$pb.TagNumber(2) + $core.int get end => $_getIZ(1); + @$pb.TagNumber(2) + set end($core.int v) { $_setSignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasEnd() => $_has(1); + @$pb.TagNumber(2) + void clearEnd() => clearField(2); +} + +/// Describes a message type. +class DescriptorProto extends $pb.GeneratedMessage { + factory DescriptorProto({ + $core.String? name, + $core.Iterable? field, + $core.Iterable? nestedType, + $core.Iterable? enumType, + $core.Iterable? extensionRange, + $core.Iterable? extension, + MessageOptions? options, + $core.Iterable? oneofDecl, + $core.Iterable? reservedRange, + $core.Iterable<$core.String>? reservedName, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (field != null) { + $result.field.addAll(field); + } + if (nestedType != null) { + $result.nestedType.addAll(nestedType); + } + if (enumType != null) { + $result.enumType.addAll(enumType); + } + if (extensionRange != null) { + $result.extensionRange.addAll(extensionRange); + } + if (extension != null) { + $result.extension.addAll(extension); + } + if (options != null) { + $result.options = options; + } + if (oneofDecl != null) { + $result.oneofDecl.addAll(oneofDecl); + } + if (reservedRange != null) { + $result.reservedRange.addAll(reservedRange); + } + if (reservedName != null) { + $result.reservedName.addAll(reservedName); + } + return $result; + } + DescriptorProto._() : super(); + factory DescriptorProto.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory DescriptorProto.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DescriptorProto', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..pc(2, _omitFieldNames ? '' : 'field', $pb.PbFieldType.PM, subBuilder: FieldDescriptorProto.create) + ..pc(3, _omitFieldNames ? '' : 'nestedType', $pb.PbFieldType.PM, subBuilder: DescriptorProto.create) + ..pc(4, _omitFieldNames ? '' : 'enumType', $pb.PbFieldType.PM, subBuilder: EnumDescriptorProto.create) + ..pc(5, _omitFieldNames ? '' : 'extensionRange', $pb.PbFieldType.PM, subBuilder: DescriptorProto_ExtensionRange.create) + ..pc(6, _omitFieldNames ? '' : 'extension', $pb.PbFieldType.PM, subBuilder: FieldDescriptorProto.create) + ..aOM(7, _omitFieldNames ? '' : 'options', subBuilder: MessageOptions.create) + ..pc(8, _omitFieldNames ? '' : 'oneofDecl', $pb.PbFieldType.PM, subBuilder: OneofDescriptorProto.create) + ..pc(9, _omitFieldNames ? '' : 'reservedRange', $pb.PbFieldType.PM, subBuilder: DescriptorProto_ReservedRange.create) + ..pPS(10, _omitFieldNames ? '' : 'reservedName') + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DescriptorProto clone() => DescriptorProto()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DescriptorProto copyWith(void Function(DescriptorProto) updates) => super.copyWith((message) => updates(message as DescriptorProto)) as DescriptorProto; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DescriptorProto create() => DescriptorProto._(); + DescriptorProto createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DescriptorProto getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static DescriptorProto? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + @$pb.TagNumber(2) + $core.List get field => $_getList(1); + + @$pb.TagNumber(3) + $core.List get nestedType => $_getList(2); + + @$pb.TagNumber(4) + $core.List get enumType => $_getList(3); + + @$pb.TagNumber(5) + $core.List get extensionRange => $_getList(4); + + @$pb.TagNumber(6) + $core.List get extension => $_getList(5); + + @$pb.TagNumber(7) + MessageOptions get options => $_getN(6); + @$pb.TagNumber(7) + set options(MessageOptions v) { setField(7, v); } + @$pb.TagNumber(7) + $core.bool hasOptions() => $_has(6); + @$pb.TagNumber(7) + void clearOptions() => clearField(7); + @$pb.TagNumber(7) + MessageOptions ensureOptions() => $_ensure(6); + + @$pb.TagNumber(8) + $core.List get oneofDecl => $_getList(7); + + @$pb.TagNumber(9) + $core.List get reservedRange => $_getList(8); + + /// Reserved field names, which may not be used by fields in the same message. + /// A given name may only be reserved once. + @$pb.TagNumber(10) + $core.List<$core.String> get reservedName => $_getList(9); +} + +class ExtensionRangeOptions_Declaration extends $pb.GeneratedMessage { + factory ExtensionRangeOptions_Declaration({ + $core.int? number, + $core.String? fullName, + $core.String? type, + $core.bool? reserved, + $core.bool? repeated, + }) { + final $result = create(); + if (number != null) { + $result.number = number; + } + if (fullName != null) { + $result.fullName = fullName; + } + if (type != null) { + $result.type = type; + } + if (reserved != null) { + $result.reserved = reserved; + } + if (repeated != null) { + $result.repeated = repeated; + } + return $result; + } + ExtensionRangeOptions_Declaration._() : super(); + factory ExtensionRangeOptions_Declaration.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExtensionRangeOptions_Declaration.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExtensionRangeOptions.Declaration', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'number', $pb.PbFieldType.O3) + ..aOS(2, _omitFieldNames ? '' : 'fullName') + ..aOS(3, _omitFieldNames ? '' : 'type') + ..aOB(5, _omitFieldNames ? '' : 'reserved') + ..aOB(6, _omitFieldNames ? '' : 'repeated') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExtensionRangeOptions_Declaration clone() => ExtensionRangeOptions_Declaration()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExtensionRangeOptions_Declaration copyWith(void Function(ExtensionRangeOptions_Declaration) updates) => super.copyWith((message) => updates(message as ExtensionRangeOptions_Declaration)) as ExtensionRangeOptions_Declaration; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExtensionRangeOptions_Declaration create() => ExtensionRangeOptions_Declaration._(); + ExtensionRangeOptions_Declaration createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExtensionRangeOptions_Declaration getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExtensionRangeOptions_Declaration? _defaultInstance; + + /// The extension number declared within the extension range. + @$pb.TagNumber(1) + $core.int get number => $_getIZ(0); + @$pb.TagNumber(1) + set number($core.int v) { $_setSignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasNumber() => $_has(0); + @$pb.TagNumber(1) + void clearNumber() => clearField(1); + + /// The fully-qualified name of the extension field. There must be a leading + /// dot in front of the full name. + @$pb.TagNumber(2) + $core.String get fullName => $_getSZ(1); + @$pb.TagNumber(2) + set fullName($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasFullName() => $_has(1); + @$pb.TagNumber(2) + void clearFullName() => clearField(2); + + /// The fully-qualified type name of the extension field. Unlike + /// Metadata.type, Declaration.type must have a leading dot for messages + /// and enums. + @$pb.TagNumber(3) + $core.String get type => $_getSZ(2); + @$pb.TagNumber(3) + set type($core.String v) { $_setString(2, v); } + @$pb.TagNumber(3) + $core.bool hasType() => $_has(2); + @$pb.TagNumber(3) + void clearType() => clearField(3); + + /// If true, indicates that the number is reserved in the extension range, + /// and any extension field with the number will fail to compile. Set this + /// when a declared extension field is deleted. + @$pb.TagNumber(5) + $core.bool get reserved => $_getBF(3); + @$pb.TagNumber(5) + set reserved($core.bool v) { $_setBool(3, v); } + @$pb.TagNumber(5) + $core.bool hasReserved() => $_has(3); + @$pb.TagNumber(5) + void clearReserved() => clearField(5); + + /// If true, indicates that the extension must be defined as repeated. + /// Otherwise the extension must be defined as optional. + @$pb.TagNumber(6) + $core.bool get repeated => $_getBF(4); + @$pb.TagNumber(6) + set repeated($core.bool v) { $_setBool(4, v); } + @$pb.TagNumber(6) + $core.bool hasRepeated() => $_has(4); + @$pb.TagNumber(6) + void clearRepeated() => clearField(6); +} + +class ExtensionRangeOptions extends $pb.GeneratedMessage { + factory ExtensionRangeOptions({ + $core.Iterable? declaration, + ExtensionRangeOptions_VerificationState? verification, + FeatureSet? features, + $core.Iterable? uninterpretedOption, + }) { + final $result = create(); + if (declaration != null) { + $result.declaration.addAll(declaration); + } + if (verification != null) { + $result.verification = verification; + } + if (features != null) { + $result.features = features; + } + if (uninterpretedOption != null) { + $result.uninterpretedOption.addAll(uninterpretedOption); + } + return $result; + } + ExtensionRangeOptions._() : super(); + factory ExtensionRangeOptions.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ExtensionRangeOptions.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExtensionRangeOptions', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..pc(2, _omitFieldNames ? '' : 'declaration', $pb.PbFieldType.PM, subBuilder: ExtensionRangeOptions_Declaration.create) + ..e(3, _omitFieldNames ? '' : 'verification', $pb.PbFieldType.OE, defaultOrMaker: ExtensionRangeOptions_VerificationState.UNVERIFIED, valueOf: ExtensionRangeOptions_VerificationState.valueOf, enumValues: ExtensionRangeOptions_VerificationState.values) + ..aOM(50, _omitFieldNames ? '' : 'features', subBuilder: FeatureSet.create) + ..pc(999, _omitFieldNames ? '' : 'uninterpretedOption', $pb.PbFieldType.PM, subBuilder: UninterpretedOption.create) + ..hasExtensions = true + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExtensionRangeOptions clone() => ExtensionRangeOptions()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExtensionRangeOptions copyWith(void Function(ExtensionRangeOptions) updates) => super.copyWith((message) => updates(message as ExtensionRangeOptions)) as ExtensionRangeOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExtensionRangeOptions create() => ExtensionRangeOptions._(); + ExtensionRangeOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExtensionRangeOptions getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExtensionRangeOptions? _defaultInstance; + + /// For external users: DO NOT USE. We are in the process of open sourcing + /// extension declaration and executing internal cleanups before it can be + /// used externally. + @$pb.TagNumber(2) + $core.List get declaration => $_getList(0); + + /// The verification state of the range. + /// TODO: flip the default to DECLARATION once all empty ranges + /// are marked as UNVERIFIED. + @$pb.TagNumber(3) + ExtensionRangeOptions_VerificationState get verification => $_getN(1); + @$pb.TagNumber(3) + set verification(ExtensionRangeOptions_VerificationState v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasVerification() => $_has(1); + @$pb.TagNumber(3) + void clearVerification() => clearField(3); + + /// Any features defined in the specific edition. + @$pb.TagNumber(50) + FeatureSet get features => $_getN(2); + @$pb.TagNumber(50) + set features(FeatureSet v) { setField(50, v); } + @$pb.TagNumber(50) + $core.bool hasFeatures() => $_has(2); + @$pb.TagNumber(50) + void clearFeatures() => clearField(50); + @$pb.TagNumber(50) + FeatureSet ensureFeatures() => $_ensure(2); + + /// The parser stores options it doesn't recognize here. See above. + @$pb.TagNumber(999) + $core.List get uninterpretedOption => $_getList(3); +} + +/// Describes a field within a message. +class FieldDescriptorProto extends $pb.GeneratedMessage { + factory FieldDescriptorProto({ + $core.String? name, + $core.String? extendee, + $core.int? number, + FieldDescriptorProto_Label? label, + FieldDescriptorProto_Type? type, + $core.String? typeName, + $core.String? defaultValue, + FieldOptions? options, + $core.int? oneofIndex, + $core.String? jsonName, + $core.bool? proto3Optional, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (extendee != null) { + $result.extendee = extendee; + } + if (number != null) { + $result.number = number; + } + if (label != null) { + $result.label = label; + } + if (type != null) { + $result.type = type; + } + if (typeName != null) { + $result.typeName = typeName; + } + if (defaultValue != null) { + $result.defaultValue = defaultValue; + } + if (options != null) { + $result.options = options; + } + if (oneofIndex != null) { + $result.oneofIndex = oneofIndex; + } + if (jsonName != null) { + $result.jsonName = jsonName; + } + if (proto3Optional != null) { + $result.proto3Optional = proto3Optional; + } + return $result; + } + FieldDescriptorProto._() : super(); + factory FieldDescriptorProto.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory FieldDescriptorProto.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FieldDescriptorProto', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'extendee') + ..a<$core.int>(3, _omitFieldNames ? '' : 'number', $pb.PbFieldType.O3) + ..e(4, _omitFieldNames ? '' : 'label', $pb.PbFieldType.OE, defaultOrMaker: FieldDescriptorProto_Label.LABEL_OPTIONAL, valueOf: FieldDescriptorProto_Label.valueOf, enumValues: FieldDescriptorProto_Label.values) + ..e(5, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE, defaultOrMaker: FieldDescriptorProto_Type.TYPE_DOUBLE, valueOf: FieldDescriptorProto_Type.valueOf, enumValues: FieldDescriptorProto_Type.values) + ..aOS(6, _omitFieldNames ? '' : 'typeName') + ..aOS(7, _omitFieldNames ? '' : 'defaultValue') + ..aOM(8, _omitFieldNames ? '' : 'options', subBuilder: FieldOptions.create) + ..a<$core.int>(9, _omitFieldNames ? '' : 'oneofIndex', $pb.PbFieldType.O3) + ..aOS(10, _omitFieldNames ? '' : 'jsonName') + ..aOB(17, _omitFieldNames ? '' : 'proto3Optional') + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FieldDescriptorProto clone() => FieldDescriptorProto()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FieldDescriptorProto copyWith(void Function(FieldDescriptorProto) updates) => super.copyWith((message) => updates(message as FieldDescriptorProto)) as FieldDescriptorProto; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FieldDescriptorProto create() => FieldDescriptorProto._(); + FieldDescriptorProto createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FieldDescriptorProto getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FieldDescriptorProto? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// For extensions, this is the name of the type being extended. It is + /// resolved in the same manner as type_name. + @$pb.TagNumber(2) + $core.String get extendee => $_getSZ(1); + @$pb.TagNumber(2) + set extendee($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasExtendee() => $_has(1); + @$pb.TagNumber(2) + void clearExtendee() => clearField(2); + + @$pb.TagNumber(3) + $core.int get number => $_getIZ(2); + @$pb.TagNumber(3) + set number($core.int v) { $_setSignedInt32(2, v); } + @$pb.TagNumber(3) + $core.bool hasNumber() => $_has(2); + @$pb.TagNumber(3) + void clearNumber() => clearField(3); + + @$pb.TagNumber(4) + FieldDescriptorProto_Label get label => $_getN(3); + @$pb.TagNumber(4) + set label(FieldDescriptorProto_Label v) { setField(4, v); } + @$pb.TagNumber(4) + $core.bool hasLabel() => $_has(3); + @$pb.TagNumber(4) + void clearLabel() => clearField(4); + + /// If type_name is set, this need not be set. If both this and type_name + /// are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + @$pb.TagNumber(5) + FieldDescriptorProto_Type get type => $_getN(4); + @$pb.TagNumber(5) + set type(FieldDescriptorProto_Type v) { setField(5, v); } + @$pb.TagNumber(5) + $core.bool hasType() => $_has(4); + @$pb.TagNumber(5) + void clearType() => clearField(5); + + /// For message and enum types, this is the name of the type. If the name + /// starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + /// rules are used to find the type (i.e. first the nested types within this + /// message are searched, then within the parent, on up to the root + /// namespace). + @$pb.TagNumber(6) + $core.String get typeName => $_getSZ(5); + @$pb.TagNumber(6) + set typeName($core.String v) { $_setString(5, v); } + @$pb.TagNumber(6) + $core.bool hasTypeName() => $_has(5); + @$pb.TagNumber(6) + void clearTypeName() => clearField(6); + + /// For numeric types, contains the original text representation of the value. + /// For booleans, "true" or "false". + /// For strings, contains the default text contents (not escaped in any way). + /// For bytes, contains the C escaped value. All bytes >= 128 are escaped. + @$pb.TagNumber(7) + $core.String get defaultValue => $_getSZ(6); + @$pb.TagNumber(7) + set defaultValue($core.String v) { $_setString(6, v); } + @$pb.TagNumber(7) + $core.bool hasDefaultValue() => $_has(6); + @$pb.TagNumber(7) + void clearDefaultValue() => clearField(7); + + @$pb.TagNumber(8) + FieldOptions get options => $_getN(7); + @$pb.TagNumber(8) + set options(FieldOptions v) { setField(8, v); } + @$pb.TagNumber(8) + $core.bool hasOptions() => $_has(7); + @$pb.TagNumber(8) + void clearOptions() => clearField(8); + @$pb.TagNumber(8) + FieldOptions ensureOptions() => $_ensure(7); + + /// If set, gives the index of a oneof in the containing type's oneof_decl + /// list. This field is a member of that oneof. + @$pb.TagNumber(9) + $core.int get oneofIndex => $_getIZ(8); + @$pb.TagNumber(9) + set oneofIndex($core.int v) { $_setSignedInt32(8, v); } + @$pb.TagNumber(9) + $core.bool hasOneofIndex() => $_has(8); + @$pb.TagNumber(9) + void clearOneofIndex() => clearField(9); + + /// JSON name of this field. The value is set by protocol compiler. If the + /// user has set a "json_name" option on this field, that option's value + /// will be used. Otherwise, it's deduced from the field's name by converting + /// it to camelCase. + @$pb.TagNumber(10) + $core.String get jsonName => $_getSZ(9); + @$pb.TagNumber(10) + set jsonName($core.String v) { $_setString(9, v); } + @$pb.TagNumber(10) + $core.bool hasJsonName() => $_has(9); + @$pb.TagNumber(10) + void clearJsonName() => clearField(10); + + /// If true, this is a proto3 "optional". When a proto3 field is optional, it + /// tracks presence regardless of field type. + /// + /// When proto3_optional is true, this field must be belong to a oneof to + /// signal to old proto3 clients that presence is tracked for this field. This + /// oneof is known as a "synthetic" oneof, and this field must be its sole + /// member (each proto3 optional field gets its own synthetic oneof). Synthetic + /// oneofs exist in the descriptor only, and do not generate any API. Synthetic + /// oneofs must be ordered after all "real" oneofs. + /// + /// For message fields, proto3_optional doesn't create any semantic change, + /// since non-repeated message fields always track presence. However it still + /// indicates the semantic detail of whether the user wrote "optional" or not. + /// This can be useful for round-tripping the .proto file. For consistency we + /// give message fields a synthetic oneof also, even though it is not required + /// to track presence. This is especially important because the parser can't + /// tell if a field is a message or an enum, so it must always create a + /// synthetic oneof. + /// + /// Proto2 optional fields do not set this flag, because they already indicate + /// optional with `LABEL_OPTIONAL`. + @$pb.TagNumber(17) + $core.bool get proto3Optional => $_getBF(10); + @$pb.TagNumber(17) + set proto3Optional($core.bool v) { $_setBool(10, v); } + @$pb.TagNumber(17) + $core.bool hasProto3Optional() => $_has(10); + @$pb.TagNumber(17) + void clearProto3Optional() => clearField(17); +} + +/// Describes a oneof. +class OneofDescriptorProto extends $pb.GeneratedMessage { + factory OneofDescriptorProto({ + $core.String? name, + OneofOptions? options, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (options != null) { + $result.options = options; + } + return $result; + } + OneofDescriptorProto._() : super(); + factory OneofDescriptorProto.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory OneofDescriptorProto.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'OneofDescriptorProto', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM(2, _omitFieldNames ? '' : 'options', subBuilder: OneofOptions.create) + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + OneofDescriptorProto clone() => OneofDescriptorProto()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + OneofDescriptorProto copyWith(void Function(OneofDescriptorProto) updates) => super.copyWith((message) => updates(message as OneofDescriptorProto)) as OneofDescriptorProto; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static OneofDescriptorProto create() => OneofDescriptorProto._(); + OneofDescriptorProto createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static OneofDescriptorProto getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static OneofDescriptorProto? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + @$pb.TagNumber(2) + OneofOptions get options => $_getN(1); + @$pb.TagNumber(2) + set options(OneofOptions v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasOptions() => $_has(1); + @$pb.TagNumber(2) + void clearOptions() => clearField(2); + @$pb.TagNumber(2) + OneofOptions ensureOptions() => $_ensure(1); +} + +/// Range of reserved numeric values. Reserved values may not be used by +/// entries in the same enum. Reserved ranges may not overlap. +/// +/// Note that this is distinct from DescriptorProto.ReservedRange in that it +/// is inclusive such that it can appropriately represent the entire int32 +/// domain. +class EnumDescriptorProto_EnumReservedRange extends $pb.GeneratedMessage { + factory EnumDescriptorProto_EnumReservedRange({ + $core.int? start, + $core.int? end, + }) { + final $result = create(); + if (start != null) { + $result.start = start; + } + if (end != null) { + $result.end = end; + } + return $result; + } + EnumDescriptorProto_EnumReservedRange._() : super(); + factory EnumDescriptorProto_EnumReservedRange.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory EnumDescriptorProto_EnumReservedRange.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'EnumDescriptorProto.EnumReservedRange', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'start', $pb.PbFieldType.O3) + ..a<$core.int>(2, _omitFieldNames ? '' : 'end', $pb.PbFieldType.O3) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EnumDescriptorProto_EnumReservedRange clone() => EnumDescriptorProto_EnumReservedRange()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EnumDescriptorProto_EnumReservedRange copyWith(void Function(EnumDescriptorProto_EnumReservedRange) updates) => super.copyWith((message) => updates(message as EnumDescriptorProto_EnumReservedRange)) as EnumDescriptorProto_EnumReservedRange; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EnumDescriptorProto_EnumReservedRange create() => EnumDescriptorProto_EnumReservedRange._(); + EnumDescriptorProto_EnumReservedRange createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EnumDescriptorProto_EnumReservedRange getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static EnumDescriptorProto_EnumReservedRange? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get start => $_getIZ(0); + @$pb.TagNumber(1) + set start($core.int v) { $_setSignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasStart() => $_has(0); + @$pb.TagNumber(1) + void clearStart() => clearField(1); + + @$pb.TagNumber(2) + $core.int get end => $_getIZ(1); + @$pb.TagNumber(2) + set end($core.int v) { $_setSignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasEnd() => $_has(1); + @$pb.TagNumber(2) + void clearEnd() => clearField(2); +} + +/// Describes an enum type. +class EnumDescriptorProto extends $pb.GeneratedMessage { + factory EnumDescriptorProto({ + $core.String? name, + $core.Iterable? value, + EnumOptions? options, + $core.Iterable? reservedRange, + $core.Iterable<$core.String>? reservedName, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (value != null) { + $result.value.addAll(value); + } + if (options != null) { + $result.options = options; + } + if (reservedRange != null) { + $result.reservedRange.addAll(reservedRange); + } + if (reservedName != null) { + $result.reservedName.addAll(reservedName); + } + return $result; + } + EnumDescriptorProto._() : super(); + factory EnumDescriptorProto.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory EnumDescriptorProto.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'EnumDescriptorProto', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..pc(2, _omitFieldNames ? '' : 'value', $pb.PbFieldType.PM, subBuilder: EnumValueDescriptorProto.create) + ..aOM(3, _omitFieldNames ? '' : 'options', subBuilder: EnumOptions.create) + ..pc(4, _omitFieldNames ? '' : 'reservedRange', $pb.PbFieldType.PM, subBuilder: EnumDescriptorProto_EnumReservedRange.create) + ..pPS(5, _omitFieldNames ? '' : 'reservedName') + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EnumDescriptorProto clone() => EnumDescriptorProto()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EnumDescriptorProto copyWith(void Function(EnumDescriptorProto) updates) => super.copyWith((message) => updates(message as EnumDescriptorProto)) as EnumDescriptorProto; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EnumDescriptorProto create() => EnumDescriptorProto._(); + EnumDescriptorProto createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EnumDescriptorProto getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static EnumDescriptorProto? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + @$pb.TagNumber(2) + $core.List get value => $_getList(1); + + @$pb.TagNumber(3) + EnumOptions get options => $_getN(2); + @$pb.TagNumber(3) + set options(EnumOptions v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasOptions() => $_has(2); + @$pb.TagNumber(3) + void clearOptions() => clearField(3); + @$pb.TagNumber(3) + EnumOptions ensureOptions() => $_ensure(2); + + /// Range of reserved numeric values. Reserved numeric values may not be used + /// by enum values in the same enum declaration. Reserved ranges may not + /// overlap. + @$pb.TagNumber(4) + $core.List get reservedRange => $_getList(3); + + /// Reserved enum value names, which may not be reused. A given name may only + /// be reserved once. + @$pb.TagNumber(5) + $core.List<$core.String> get reservedName => $_getList(4); +} + +/// Describes a value within an enum. +class EnumValueDescriptorProto extends $pb.GeneratedMessage { + factory EnumValueDescriptorProto({ + $core.String? name, + $core.int? number, + EnumValueOptions? options, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (number != null) { + $result.number = number; + } + if (options != null) { + $result.options = options; + } + return $result; + } + EnumValueDescriptorProto._() : super(); + factory EnumValueDescriptorProto.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory EnumValueDescriptorProto.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'EnumValueDescriptorProto', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..a<$core.int>(2, _omitFieldNames ? '' : 'number', $pb.PbFieldType.O3) + ..aOM(3, _omitFieldNames ? '' : 'options', subBuilder: EnumValueOptions.create) + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EnumValueDescriptorProto clone() => EnumValueDescriptorProto()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EnumValueDescriptorProto copyWith(void Function(EnumValueDescriptorProto) updates) => super.copyWith((message) => updates(message as EnumValueDescriptorProto)) as EnumValueDescriptorProto; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EnumValueDescriptorProto create() => EnumValueDescriptorProto._(); + EnumValueDescriptorProto createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EnumValueDescriptorProto getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static EnumValueDescriptorProto? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + @$pb.TagNumber(2) + $core.int get number => $_getIZ(1); + @$pb.TagNumber(2) + set number($core.int v) { $_setSignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasNumber() => $_has(1); + @$pb.TagNumber(2) + void clearNumber() => clearField(2); + + @$pb.TagNumber(3) + EnumValueOptions get options => $_getN(2); + @$pb.TagNumber(3) + set options(EnumValueOptions v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasOptions() => $_has(2); + @$pb.TagNumber(3) + void clearOptions() => clearField(3); + @$pb.TagNumber(3) + EnumValueOptions ensureOptions() => $_ensure(2); +} + +/// Describes a service. +class ServiceDescriptorProto extends $pb.GeneratedMessage { + factory ServiceDescriptorProto({ + $core.String? name, + $core.Iterable? method, + ServiceOptions? options, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (method != null) { + $result.method.addAll(method); + } + if (options != null) { + $result.options = options; + } + return $result; + } + ServiceDescriptorProto._() : super(); + factory ServiceDescriptorProto.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ServiceDescriptorProto.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ServiceDescriptorProto', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..pc(2, _omitFieldNames ? '' : 'method', $pb.PbFieldType.PM, subBuilder: MethodDescriptorProto.create) + ..aOM(3, _omitFieldNames ? '' : 'options', subBuilder: ServiceOptions.create) + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ServiceDescriptorProto clone() => ServiceDescriptorProto()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ServiceDescriptorProto copyWith(void Function(ServiceDescriptorProto) updates) => super.copyWith((message) => updates(message as ServiceDescriptorProto)) as ServiceDescriptorProto; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ServiceDescriptorProto create() => ServiceDescriptorProto._(); + ServiceDescriptorProto createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ServiceDescriptorProto getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ServiceDescriptorProto? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + @$pb.TagNumber(2) + $core.List get method => $_getList(1); + + @$pb.TagNumber(3) + ServiceOptions get options => $_getN(2); + @$pb.TagNumber(3) + set options(ServiceOptions v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasOptions() => $_has(2); + @$pb.TagNumber(3) + void clearOptions() => clearField(3); + @$pb.TagNumber(3) + ServiceOptions ensureOptions() => $_ensure(2); +} + +/// Describes a method of a service. +class MethodDescriptorProto extends $pb.GeneratedMessage { + factory MethodDescriptorProto({ + $core.String? name, + $core.String? inputType, + $core.String? outputType, + MethodOptions? options, + $core.bool? clientStreaming, + $core.bool? serverStreaming, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (inputType != null) { + $result.inputType = inputType; + } + if (outputType != null) { + $result.outputType = outputType; + } + if (options != null) { + $result.options = options; + } + if (clientStreaming != null) { + $result.clientStreaming = clientStreaming; + } + if (serverStreaming != null) { + $result.serverStreaming = serverStreaming; + } + return $result; + } + MethodDescriptorProto._() : super(); + factory MethodDescriptorProto.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory MethodDescriptorProto.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'MethodDescriptorProto', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'inputType') + ..aOS(3, _omitFieldNames ? '' : 'outputType') + ..aOM(4, _omitFieldNames ? '' : 'options', subBuilder: MethodOptions.create) + ..aOB(5, _omitFieldNames ? '' : 'clientStreaming') + ..aOB(6, _omitFieldNames ? '' : 'serverStreaming') + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MethodDescriptorProto clone() => MethodDescriptorProto()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MethodDescriptorProto copyWith(void Function(MethodDescriptorProto) updates) => super.copyWith((message) => updates(message as MethodDescriptorProto)) as MethodDescriptorProto; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MethodDescriptorProto create() => MethodDescriptorProto._(); + MethodDescriptorProto createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MethodDescriptorProto getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static MethodDescriptorProto? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Input and output type names. These are resolved in the same way as + /// FieldDescriptorProto.type_name, but must refer to a message type. + @$pb.TagNumber(2) + $core.String get inputType => $_getSZ(1); + @$pb.TagNumber(2) + set inputType($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasInputType() => $_has(1); + @$pb.TagNumber(2) + void clearInputType() => clearField(2); + + @$pb.TagNumber(3) + $core.String get outputType => $_getSZ(2); + @$pb.TagNumber(3) + set outputType($core.String v) { $_setString(2, v); } + @$pb.TagNumber(3) + $core.bool hasOutputType() => $_has(2); + @$pb.TagNumber(3) + void clearOutputType() => clearField(3); + + @$pb.TagNumber(4) + MethodOptions get options => $_getN(3); + @$pb.TagNumber(4) + set options(MethodOptions v) { setField(4, v); } + @$pb.TagNumber(4) + $core.bool hasOptions() => $_has(3); + @$pb.TagNumber(4) + void clearOptions() => clearField(4); + @$pb.TagNumber(4) + MethodOptions ensureOptions() => $_ensure(3); + + /// Identifies if client streams multiple client messages + @$pb.TagNumber(5) + $core.bool get clientStreaming => $_getBF(4); + @$pb.TagNumber(5) + set clientStreaming($core.bool v) { $_setBool(4, v); } + @$pb.TagNumber(5) + $core.bool hasClientStreaming() => $_has(4); + @$pb.TagNumber(5) + void clearClientStreaming() => clearField(5); + + /// Identifies if server streams multiple server messages + @$pb.TagNumber(6) + $core.bool get serverStreaming => $_getBF(5); + @$pb.TagNumber(6) + set serverStreaming($core.bool v) { $_setBool(5, v); } + @$pb.TagNumber(6) + $core.bool hasServerStreaming() => $_has(5); + @$pb.TagNumber(6) + void clearServerStreaming() => clearField(6); +} + +class FileOptions extends $pb.GeneratedMessage { + factory FileOptions({ + $core.String? javaPackage, + $core.String? javaOuterClassname, + FileOptions_OptimizeMode? optimizeFor, + $core.bool? javaMultipleFiles, + $core.String? goPackage, + $core.bool? ccGenericServices, + $core.bool? javaGenericServices, + $core.bool? pyGenericServices, + @$core.Deprecated('This field is deprecated.') + $core.bool? javaGenerateEqualsAndHash, + $core.bool? deprecated, + $core.bool? javaStringCheckUtf8, + $core.bool? ccEnableArenas, + $core.String? objcClassPrefix, + $core.String? csharpNamespace, + $core.String? swiftPrefix, + $core.String? phpClassPrefix, + $core.String? phpNamespace, + $core.bool? phpGenericServices, + $core.String? phpMetadataNamespace, + $core.String? rubyPackage, + FeatureSet? features, + $core.Iterable? uninterpretedOption, + }) { + final $result = create(); + if (javaPackage != null) { + $result.javaPackage = javaPackage; + } + if (javaOuterClassname != null) { + $result.javaOuterClassname = javaOuterClassname; + } + if (optimizeFor != null) { + $result.optimizeFor = optimizeFor; + } + if (javaMultipleFiles != null) { + $result.javaMultipleFiles = javaMultipleFiles; + } + if (goPackage != null) { + $result.goPackage = goPackage; + } + if (ccGenericServices != null) { + $result.ccGenericServices = ccGenericServices; + } + if (javaGenericServices != null) { + $result.javaGenericServices = javaGenericServices; + } + if (pyGenericServices != null) { + $result.pyGenericServices = pyGenericServices; + } + if (javaGenerateEqualsAndHash != null) { + // ignore: deprecated_member_use_from_same_package + $result.javaGenerateEqualsAndHash = javaGenerateEqualsAndHash; + } + if (deprecated != null) { + $result.deprecated = deprecated; + } + if (javaStringCheckUtf8 != null) { + $result.javaStringCheckUtf8 = javaStringCheckUtf8; + } + if (ccEnableArenas != null) { + $result.ccEnableArenas = ccEnableArenas; + } + if (objcClassPrefix != null) { + $result.objcClassPrefix = objcClassPrefix; + } + if (csharpNamespace != null) { + $result.csharpNamespace = csharpNamespace; + } + if (swiftPrefix != null) { + $result.swiftPrefix = swiftPrefix; + } + if (phpClassPrefix != null) { + $result.phpClassPrefix = phpClassPrefix; + } + if (phpNamespace != null) { + $result.phpNamespace = phpNamespace; + } + if (phpGenericServices != null) { + $result.phpGenericServices = phpGenericServices; + } + if (phpMetadataNamespace != null) { + $result.phpMetadataNamespace = phpMetadataNamespace; + } + if (rubyPackage != null) { + $result.rubyPackage = rubyPackage; + } + if (features != null) { + $result.features = features; + } + if (uninterpretedOption != null) { + $result.uninterpretedOption.addAll(uninterpretedOption); + } + return $result; + } + FileOptions._() : super(); + factory FileOptions.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory FileOptions.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FileOptions', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'javaPackage') + ..aOS(8, _omitFieldNames ? '' : 'javaOuterClassname') + ..e(9, _omitFieldNames ? '' : 'optimizeFor', $pb.PbFieldType.OE, defaultOrMaker: FileOptions_OptimizeMode.SPEED, valueOf: FileOptions_OptimizeMode.valueOf, enumValues: FileOptions_OptimizeMode.values) + ..aOB(10, _omitFieldNames ? '' : 'javaMultipleFiles') + ..aOS(11, _omitFieldNames ? '' : 'goPackage') + ..aOB(16, _omitFieldNames ? '' : 'ccGenericServices') + ..aOB(17, _omitFieldNames ? '' : 'javaGenericServices') + ..aOB(18, _omitFieldNames ? '' : 'pyGenericServices') + ..aOB(20, _omitFieldNames ? '' : 'javaGenerateEqualsAndHash') + ..aOB(23, _omitFieldNames ? '' : 'deprecated') + ..aOB(27, _omitFieldNames ? '' : 'javaStringCheckUtf8') + ..a<$core.bool>(31, _omitFieldNames ? '' : 'ccEnableArenas', $pb.PbFieldType.OB, defaultOrMaker: true) + ..aOS(36, _omitFieldNames ? '' : 'objcClassPrefix') + ..aOS(37, _omitFieldNames ? '' : 'csharpNamespace') + ..aOS(39, _omitFieldNames ? '' : 'swiftPrefix') + ..aOS(40, _omitFieldNames ? '' : 'phpClassPrefix') + ..aOS(41, _omitFieldNames ? '' : 'phpNamespace') + ..aOB(42, _omitFieldNames ? '' : 'phpGenericServices') + ..aOS(44, _omitFieldNames ? '' : 'phpMetadataNamespace') + ..aOS(45, _omitFieldNames ? '' : 'rubyPackage') + ..aOM(50, _omitFieldNames ? '' : 'features', subBuilder: FeatureSet.create) + ..pc(999, _omitFieldNames ? '' : 'uninterpretedOption', $pb.PbFieldType.PM, subBuilder: UninterpretedOption.create) + ..hasExtensions = true + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FileOptions clone() => FileOptions()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FileOptions copyWith(void Function(FileOptions) updates) => super.copyWith((message) => updates(message as FileOptions)) as FileOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FileOptions create() => FileOptions._(); + FileOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FileOptions getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FileOptions? _defaultInstance; + + /// Sets the Java package where classes generated from this .proto will be + /// placed. By default, the proto package is used, but this is often + /// inappropriate because proto packages do not normally start with backwards + /// domain names. + @$pb.TagNumber(1) + $core.String get javaPackage => $_getSZ(0); + @$pb.TagNumber(1) + set javaPackage($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasJavaPackage() => $_has(0); + @$pb.TagNumber(1) + void clearJavaPackage() => clearField(1); + + /// Controls the name of the wrapper Java class generated for the .proto file. + /// That class will always contain the .proto file's getDescriptor() method as + /// well as any top-level extensions defined in the .proto file. + /// If java_multiple_files is disabled, then all the other classes from the + /// .proto file will be nested inside the single wrapper outer class. + @$pb.TagNumber(8) + $core.String get javaOuterClassname => $_getSZ(1); + @$pb.TagNumber(8) + set javaOuterClassname($core.String v) { $_setString(1, v); } + @$pb.TagNumber(8) + $core.bool hasJavaOuterClassname() => $_has(1); + @$pb.TagNumber(8) + void clearJavaOuterClassname() => clearField(8); + + @$pb.TagNumber(9) + FileOptions_OptimizeMode get optimizeFor => $_getN(2); + @$pb.TagNumber(9) + set optimizeFor(FileOptions_OptimizeMode v) { setField(9, v); } + @$pb.TagNumber(9) + $core.bool hasOptimizeFor() => $_has(2); + @$pb.TagNumber(9) + void clearOptimizeFor() => clearField(9); + + /// If enabled, then the Java code generator will generate a separate .java + /// file for each top-level message, enum, and service defined in the .proto + /// file. Thus, these types will *not* be nested inside the wrapper class + /// named by java_outer_classname. However, the wrapper class will still be + /// generated to contain the file's getDescriptor() method as well as any + /// top-level extensions defined in the file. + @$pb.TagNumber(10) + $core.bool get javaMultipleFiles => $_getBF(3); + @$pb.TagNumber(10) + set javaMultipleFiles($core.bool v) { $_setBool(3, v); } + @$pb.TagNumber(10) + $core.bool hasJavaMultipleFiles() => $_has(3); + @$pb.TagNumber(10) + void clearJavaMultipleFiles() => clearField(10); + + /// Sets the Go package where structs generated from this .proto will be + /// placed. If omitted, the Go package will be derived from the following: + /// - The basename of the package import path, if provided. + /// - Otherwise, the package statement in the .proto file, if present. + /// - Otherwise, the basename of the .proto file, without extension. + @$pb.TagNumber(11) + $core.String get goPackage => $_getSZ(4); + @$pb.TagNumber(11) + set goPackage($core.String v) { $_setString(4, v); } + @$pb.TagNumber(11) + $core.bool hasGoPackage() => $_has(4); + @$pb.TagNumber(11) + void clearGoPackage() => clearField(11); + + /// Should generic services be generated in each language? "Generic" services + /// are not specific to any particular RPC system. They are generated by the + /// main code generators in each language (without additional plugins). + /// Generic services were the only kind of service generation supported by + /// early versions of google.protobuf. + /// + /// Generic services are now considered deprecated in favor of using plugins + /// that generate code specific to your particular RPC system. Therefore, + /// these default to false. Old code which depends on generic services should + /// explicitly set them to true. + @$pb.TagNumber(16) + $core.bool get ccGenericServices => $_getBF(5); + @$pb.TagNumber(16) + set ccGenericServices($core.bool v) { $_setBool(5, v); } + @$pb.TagNumber(16) + $core.bool hasCcGenericServices() => $_has(5); + @$pb.TagNumber(16) + void clearCcGenericServices() => clearField(16); + + @$pb.TagNumber(17) + $core.bool get javaGenericServices => $_getBF(6); + @$pb.TagNumber(17) + set javaGenericServices($core.bool v) { $_setBool(6, v); } + @$pb.TagNumber(17) + $core.bool hasJavaGenericServices() => $_has(6); + @$pb.TagNumber(17) + void clearJavaGenericServices() => clearField(17); + + @$pb.TagNumber(18) + $core.bool get pyGenericServices => $_getBF(7); + @$pb.TagNumber(18) + set pyGenericServices($core.bool v) { $_setBool(7, v); } + @$pb.TagNumber(18) + $core.bool hasPyGenericServices() => $_has(7); + @$pb.TagNumber(18) + void clearPyGenericServices() => clearField(18); + + /// This option does nothing. + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(20) + $core.bool get javaGenerateEqualsAndHash => $_getBF(8); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(20) + set javaGenerateEqualsAndHash($core.bool v) { $_setBool(8, v); } + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(20) + $core.bool hasJavaGenerateEqualsAndHash() => $_has(8); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(20) + void clearJavaGenerateEqualsAndHash() => clearField(20); + + /// Is this file deprecated? + /// Depending on the target platform, this can emit Deprecated annotations + /// for everything in the file, or it will be completely ignored; in the very + /// least, this is a formalization for deprecating files. + @$pb.TagNumber(23) + $core.bool get deprecated => $_getBF(9); + @$pb.TagNumber(23) + set deprecated($core.bool v) { $_setBool(9, v); } + @$pb.TagNumber(23) + $core.bool hasDeprecated() => $_has(9); + @$pb.TagNumber(23) + void clearDeprecated() => clearField(23); + + /// If set true, then the Java2 code generator will generate code that + /// throws an exception whenever an attempt is made to assign a non-UTF-8 + /// byte sequence to a string field. + /// Message reflection will do the same. + /// However, an extension field still accepts non-UTF-8 byte sequences. + /// This option has no effect on when used with the lite runtime. + @$pb.TagNumber(27) + $core.bool get javaStringCheckUtf8 => $_getBF(10); + @$pb.TagNumber(27) + set javaStringCheckUtf8($core.bool v) { $_setBool(10, v); } + @$pb.TagNumber(27) + $core.bool hasJavaStringCheckUtf8() => $_has(10); + @$pb.TagNumber(27) + void clearJavaStringCheckUtf8() => clearField(27); + + /// Enables the use of arenas for the proto messages in this file. This applies + /// only to generated classes for C++. + @$pb.TagNumber(31) + $core.bool get ccEnableArenas => $_getB(11, true); + @$pb.TagNumber(31) + set ccEnableArenas($core.bool v) { $_setBool(11, v); } + @$pb.TagNumber(31) + $core.bool hasCcEnableArenas() => $_has(11); + @$pb.TagNumber(31) + void clearCcEnableArenas() => clearField(31); + + /// Sets the objective c class prefix which is prepended to all objective c + /// generated classes from this .proto. There is no default. + @$pb.TagNumber(36) + $core.String get objcClassPrefix => $_getSZ(12); + @$pb.TagNumber(36) + set objcClassPrefix($core.String v) { $_setString(12, v); } + @$pb.TagNumber(36) + $core.bool hasObjcClassPrefix() => $_has(12); + @$pb.TagNumber(36) + void clearObjcClassPrefix() => clearField(36); + + /// Namespace for generated classes; defaults to the package. + @$pb.TagNumber(37) + $core.String get csharpNamespace => $_getSZ(13); + @$pb.TagNumber(37) + set csharpNamespace($core.String v) { $_setString(13, v); } + @$pb.TagNumber(37) + $core.bool hasCsharpNamespace() => $_has(13); + @$pb.TagNumber(37) + void clearCsharpNamespace() => clearField(37); + + /// By default Swift generators will take the proto package and CamelCase it + /// replacing '.' with underscore and use that to prefix the types/symbols + /// defined. When this options is provided, they will use this value instead + /// to prefix the types/symbols defined. + @$pb.TagNumber(39) + $core.String get swiftPrefix => $_getSZ(14); + @$pb.TagNumber(39) + set swiftPrefix($core.String v) { $_setString(14, v); } + @$pb.TagNumber(39) + $core.bool hasSwiftPrefix() => $_has(14); + @$pb.TagNumber(39) + void clearSwiftPrefix() => clearField(39); + + /// Sets the php class prefix which is prepended to all php generated classes + /// from this .proto. Default is empty. + @$pb.TagNumber(40) + $core.String get phpClassPrefix => $_getSZ(15); + @$pb.TagNumber(40) + set phpClassPrefix($core.String v) { $_setString(15, v); } + @$pb.TagNumber(40) + $core.bool hasPhpClassPrefix() => $_has(15); + @$pb.TagNumber(40) + void clearPhpClassPrefix() => clearField(40); + + /// Use this option to change the namespace of php generated classes. Default + /// is empty. When this option is empty, the package name will be used for + /// determining the namespace. + @$pb.TagNumber(41) + $core.String get phpNamespace => $_getSZ(16); + @$pb.TagNumber(41) + set phpNamespace($core.String v) { $_setString(16, v); } + @$pb.TagNumber(41) + $core.bool hasPhpNamespace() => $_has(16); + @$pb.TagNumber(41) + void clearPhpNamespace() => clearField(41); + + @$pb.TagNumber(42) + $core.bool get phpGenericServices => $_getBF(17); + @$pb.TagNumber(42) + set phpGenericServices($core.bool v) { $_setBool(17, v); } + @$pb.TagNumber(42) + $core.bool hasPhpGenericServices() => $_has(17); + @$pb.TagNumber(42) + void clearPhpGenericServices() => clearField(42); + + /// Use this option to change the namespace of php generated metadata classes. + /// Default is empty. When this option is empty, the proto file name will be + /// used for determining the namespace. + @$pb.TagNumber(44) + $core.String get phpMetadataNamespace => $_getSZ(18); + @$pb.TagNumber(44) + set phpMetadataNamespace($core.String v) { $_setString(18, v); } + @$pb.TagNumber(44) + $core.bool hasPhpMetadataNamespace() => $_has(18); + @$pb.TagNumber(44) + void clearPhpMetadataNamespace() => clearField(44); + + /// Use this option to change the package of ruby generated classes. Default + /// is empty. When this option is not set, the package name will be used for + /// determining the ruby package. + @$pb.TagNumber(45) + $core.String get rubyPackage => $_getSZ(19); + @$pb.TagNumber(45) + set rubyPackage($core.String v) { $_setString(19, v); } + @$pb.TagNumber(45) + $core.bool hasRubyPackage() => $_has(19); + @$pb.TagNumber(45) + void clearRubyPackage() => clearField(45); + + /// Any features defined in the specific edition. + @$pb.TagNumber(50) + FeatureSet get features => $_getN(20); + @$pb.TagNumber(50) + set features(FeatureSet v) { setField(50, v); } + @$pb.TagNumber(50) + $core.bool hasFeatures() => $_has(20); + @$pb.TagNumber(50) + void clearFeatures() => clearField(50); + @$pb.TagNumber(50) + FeatureSet ensureFeatures() => $_ensure(20); + + /// The parser stores options it doesn't recognize here. + /// See the documentation for the "Options" section above. + @$pb.TagNumber(999) + $core.List get uninterpretedOption => $_getList(21); +} + +class MessageOptions extends $pb.GeneratedMessage { + factory MessageOptions({ + $core.bool? messageSetWireFormat, + $core.bool? noStandardDescriptorAccessor, + $core.bool? deprecated, + $core.bool? mapEntry, + @$core.Deprecated('This field is deprecated.') + $core.bool? deprecatedLegacyJsonFieldConflicts, + FeatureSet? features, + $core.Iterable? uninterpretedOption, + }) { + final $result = create(); + if (messageSetWireFormat != null) { + $result.messageSetWireFormat = messageSetWireFormat; + } + if (noStandardDescriptorAccessor != null) { + $result.noStandardDescriptorAccessor = noStandardDescriptorAccessor; + } + if (deprecated != null) { + $result.deprecated = deprecated; + } + if (mapEntry != null) { + $result.mapEntry = mapEntry; + } + if (deprecatedLegacyJsonFieldConflicts != null) { + // ignore: deprecated_member_use_from_same_package + $result.deprecatedLegacyJsonFieldConflicts = deprecatedLegacyJsonFieldConflicts; + } + if (features != null) { + $result.features = features; + } + if (uninterpretedOption != null) { + $result.uninterpretedOption.addAll(uninterpretedOption); + } + return $result; + } + MessageOptions._() : super(); + factory MessageOptions.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory MessageOptions.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'MessageOptions', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'messageSetWireFormat') + ..aOB(2, _omitFieldNames ? '' : 'noStandardDescriptorAccessor') + ..aOB(3, _omitFieldNames ? '' : 'deprecated') + ..aOB(7, _omitFieldNames ? '' : 'mapEntry') + ..aOB(11, _omitFieldNames ? '' : 'deprecatedLegacyJsonFieldConflicts') + ..aOM(12, _omitFieldNames ? '' : 'features', subBuilder: FeatureSet.create) + ..pc(999, _omitFieldNames ? '' : 'uninterpretedOption', $pb.PbFieldType.PM, subBuilder: UninterpretedOption.create) + ..hasExtensions = true + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MessageOptions clone() => MessageOptions()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MessageOptions copyWith(void Function(MessageOptions) updates) => super.copyWith((message) => updates(message as MessageOptions)) as MessageOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MessageOptions create() => MessageOptions._(); + MessageOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MessageOptions getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static MessageOptions? _defaultInstance; + + /// Set true to use the old proto1 MessageSet wire format for extensions. + /// This is provided for backwards-compatibility with the MessageSet wire + /// format. You should not use this for any other reason: It's less + /// efficient, has fewer features, and is more complicated. + /// + /// The message must be defined exactly as follows: + /// message Foo { + /// option message_set_wire_format = true; + /// extensions 4 to max; + /// } + /// Note that the message cannot have any defined fields; MessageSets only + /// have extensions. + /// + /// All extensions of your type must be singular messages; e.g. they cannot + /// be int32s, enums, or repeated messages. + /// + /// Because this is an option, the above two restrictions are not enforced by + /// the protocol compiler. + @$pb.TagNumber(1) + $core.bool get messageSetWireFormat => $_getBF(0); + @$pb.TagNumber(1) + set messageSetWireFormat($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasMessageSetWireFormat() => $_has(0); + @$pb.TagNumber(1) + void clearMessageSetWireFormat() => clearField(1); + + /// Disables the generation of the standard "descriptor()" accessor, which can + /// conflict with a field of the same name. This is meant to make migration + /// from proto1 easier; new code should avoid fields named "descriptor". + @$pb.TagNumber(2) + $core.bool get noStandardDescriptorAccessor => $_getBF(1); + @$pb.TagNumber(2) + set noStandardDescriptorAccessor($core.bool v) { $_setBool(1, v); } + @$pb.TagNumber(2) + $core.bool hasNoStandardDescriptorAccessor() => $_has(1); + @$pb.TagNumber(2) + void clearNoStandardDescriptorAccessor() => clearField(2); + + /// Is this message deprecated? + /// Depending on the target platform, this can emit Deprecated annotations + /// for the message, or it will be completely ignored; in the very least, + /// this is a formalization for deprecating messages. + @$pb.TagNumber(3) + $core.bool get deprecated => $_getBF(2); + @$pb.TagNumber(3) + set deprecated($core.bool v) { $_setBool(2, v); } + @$pb.TagNumber(3) + $core.bool hasDeprecated() => $_has(2); + @$pb.TagNumber(3) + void clearDeprecated() => clearField(3); + + /// NOTE: Do not set the option in .proto files. Always use the maps syntax + /// instead. The option should only be implicitly set by the proto compiler + /// parser. + /// + /// Whether the message is an automatically generated map entry type for the + /// maps field. + /// + /// For maps fields: + /// map map_field = 1; + /// The parsed descriptor looks like: + /// message MapFieldEntry { + /// option map_entry = true; + /// optional KeyType key = 1; + /// optional ValueType value = 2; + /// } + /// repeated MapFieldEntry map_field = 1; + /// + /// Implementations may choose not to generate the map_entry=true message, but + /// use a native map in the target language to hold the keys and values. + /// The reflection APIs in such implementations still need to work as + /// if the field is a repeated message field. + @$pb.TagNumber(7) + $core.bool get mapEntry => $_getBF(3); + @$pb.TagNumber(7) + set mapEntry($core.bool v) { $_setBool(3, v); } + @$pb.TagNumber(7) + $core.bool hasMapEntry() => $_has(3); + @$pb.TagNumber(7) + void clearMapEntry() => clearField(7); + + /// Enable the legacy handling of JSON field name conflicts. This lowercases + /// and strips underscored from the fields before comparison in proto3 only. + /// The new behavior takes `json_name` into account and applies to proto2 as + /// well. + /// + /// This should only be used as a temporary measure against broken builds due + /// to the change in behavior for JSON field name conflicts. + /// + /// TODO This is legacy behavior we plan to remove once downstream + /// teams have had time to migrate. + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(11) + $core.bool get deprecatedLegacyJsonFieldConflicts => $_getBF(4); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(11) + set deprecatedLegacyJsonFieldConflicts($core.bool v) { $_setBool(4, v); } + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(11) + $core.bool hasDeprecatedLegacyJsonFieldConflicts() => $_has(4); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(11) + void clearDeprecatedLegacyJsonFieldConflicts() => clearField(11); + + /// Any features defined in the specific edition. + @$pb.TagNumber(12) + FeatureSet get features => $_getN(5); + @$pb.TagNumber(12) + set features(FeatureSet v) { setField(12, v); } + @$pb.TagNumber(12) + $core.bool hasFeatures() => $_has(5); + @$pb.TagNumber(12) + void clearFeatures() => clearField(12); + @$pb.TagNumber(12) + FeatureSet ensureFeatures() => $_ensure(5); + + /// The parser stores options it doesn't recognize here. See above. + @$pb.TagNumber(999) + $core.List get uninterpretedOption => $_getList(6); +} + +class FieldOptions_EditionDefault extends $pb.GeneratedMessage { + factory FieldOptions_EditionDefault({ + $core.String? value, + Edition? edition, + }) { + final $result = create(); + if (value != null) { + $result.value = value; + } + if (edition != null) { + $result.edition = edition; + } + return $result; + } + FieldOptions_EditionDefault._() : super(); + factory FieldOptions_EditionDefault.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory FieldOptions_EditionDefault.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FieldOptions.EditionDefault', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..aOS(2, _omitFieldNames ? '' : 'value') + ..e(3, _omitFieldNames ? '' : 'edition', $pb.PbFieldType.OE, defaultOrMaker: Edition.EDITION_UNKNOWN, valueOf: Edition.valueOf, enumValues: Edition.values) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FieldOptions_EditionDefault clone() => FieldOptions_EditionDefault()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FieldOptions_EditionDefault copyWith(void Function(FieldOptions_EditionDefault) updates) => super.copyWith((message) => updates(message as FieldOptions_EditionDefault)) as FieldOptions_EditionDefault; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FieldOptions_EditionDefault create() => FieldOptions_EditionDefault._(); + FieldOptions_EditionDefault createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FieldOptions_EditionDefault getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FieldOptions_EditionDefault? _defaultInstance; + + @$pb.TagNumber(2) + $core.String get value => $_getSZ(0); + @$pb.TagNumber(2) + set value($core.String v) { $_setString(0, v); } + @$pb.TagNumber(2) + $core.bool hasValue() => $_has(0); + @$pb.TagNumber(2) + void clearValue() => clearField(2); + + @$pb.TagNumber(3) + Edition get edition => $_getN(1); + @$pb.TagNumber(3) + set edition(Edition v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasEdition() => $_has(1); + @$pb.TagNumber(3) + void clearEdition() => clearField(3); +} + +class FieldOptions extends $pb.GeneratedMessage { + factory FieldOptions({ + FieldOptions_CType? ctype, + $core.bool? packed, + $core.bool? deprecated, + $core.bool? lazy, + FieldOptions_JSType? jstype, + $core.bool? weak, + $core.bool? unverifiedLazy, + $core.bool? debugRedact, + FieldOptions_OptionRetention? retention, + $core.Iterable? targets, + $core.Iterable? editionDefaults, + FeatureSet? features, + $core.Iterable? uninterpretedOption, + }) { + final $result = create(); + if (ctype != null) { + $result.ctype = ctype; + } + if (packed != null) { + $result.packed = packed; + } + if (deprecated != null) { + $result.deprecated = deprecated; + } + if (lazy != null) { + $result.lazy = lazy; + } + if (jstype != null) { + $result.jstype = jstype; + } + if (weak != null) { + $result.weak = weak; + } + if (unverifiedLazy != null) { + $result.unverifiedLazy = unverifiedLazy; + } + if (debugRedact != null) { + $result.debugRedact = debugRedact; + } + if (retention != null) { + $result.retention = retention; + } + if (targets != null) { + $result.targets.addAll(targets); + } + if (editionDefaults != null) { + $result.editionDefaults.addAll(editionDefaults); + } + if (features != null) { + $result.features = features; + } + if (uninterpretedOption != null) { + $result.uninterpretedOption.addAll(uninterpretedOption); + } + return $result; + } + FieldOptions._() : super(); + factory FieldOptions.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory FieldOptions.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FieldOptions', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..e(1, _omitFieldNames ? '' : 'ctype', $pb.PbFieldType.OE, defaultOrMaker: FieldOptions_CType.STRING, valueOf: FieldOptions_CType.valueOf, enumValues: FieldOptions_CType.values) + ..aOB(2, _omitFieldNames ? '' : 'packed') + ..aOB(3, _omitFieldNames ? '' : 'deprecated') + ..aOB(5, _omitFieldNames ? '' : 'lazy') + ..e(6, _omitFieldNames ? '' : 'jstype', $pb.PbFieldType.OE, defaultOrMaker: FieldOptions_JSType.JS_NORMAL, valueOf: FieldOptions_JSType.valueOf, enumValues: FieldOptions_JSType.values) + ..aOB(10, _omitFieldNames ? '' : 'weak') + ..aOB(15, _omitFieldNames ? '' : 'unverifiedLazy') + ..aOB(16, _omitFieldNames ? '' : 'debugRedact') + ..e(17, _omitFieldNames ? '' : 'retention', $pb.PbFieldType.OE, defaultOrMaker: FieldOptions_OptionRetention.RETENTION_UNKNOWN, valueOf: FieldOptions_OptionRetention.valueOf, enumValues: FieldOptions_OptionRetention.values) + ..pc(19, _omitFieldNames ? '' : 'targets', $pb.PbFieldType.PE, valueOf: FieldOptions_OptionTargetType.valueOf, enumValues: FieldOptions_OptionTargetType.values, defaultEnumValue: FieldOptions_OptionTargetType.TARGET_TYPE_UNKNOWN) + ..pc(20, _omitFieldNames ? '' : 'editionDefaults', $pb.PbFieldType.PM, subBuilder: FieldOptions_EditionDefault.create) + ..aOM(21, _omitFieldNames ? '' : 'features', subBuilder: FeatureSet.create) + ..pc(999, _omitFieldNames ? '' : 'uninterpretedOption', $pb.PbFieldType.PM, subBuilder: UninterpretedOption.create) + ..hasExtensions = true + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FieldOptions clone() => FieldOptions()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FieldOptions copyWith(void Function(FieldOptions) updates) => super.copyWith((message) => updates(message as FieldOptions)) as FieldOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FieldOptions create() => FieldOptions._(); + FieldOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FieldOptions getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FieldOptions? _defaultInstance; + + /// The ctype option instructs the C++ code generator to use a different + /// representation of the field than it normally would. See the specific + /// options below. This option is only implemented to support use of + /// [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of + /// type "bytes" in the open source release -- sorry, we'll try to include + /// other types in a future version! + @$pb.TagNumber(1) + FieldOptions_CType get ctype => $_getN(0); + @$pb.TagNumber(1) + set ctype(FieldOptions_CType v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasCtype() => $_has(0); + @$pb.TagNumber(1) + void clearCtype() => clearField(1); + + /// The packed option can be enabled for repeated primitive fields to enable + /// a more efficient representation on the wire. Rather than repeatedly + /// writing the tag and type for each element, the entire array is encoded as + /// a single length-delimited blob. In proto3, only explicit setting it to + /// false will avoid using packed encoding. This option is prohibited in + /// Editions, but the `repeated_field_encoding` feature can be used to control + /// the behavior. + @$pb.TagNumber(2) + $core.bool get packed => $_getBF(1); + @$pb.TagNumber(2) + set packed($core.bool v) { $_setBool(1, v); } + @$pb.TagNumber(2) + $core.bool hasPacked() => $_has(1); + @$pb.TagNumber(2) + void clearPacked() => clearField(2); + + /// Is this field deprecated? + /// Depending on the target platform, this can emit Deprecated annotations + /// for accessors, or it will be completely ignored; in the very least, this + /// is a formalization for deprecating fields. + @$pb.TagNumber(3) + $core.bool get deprecated => $_getBF(2); + @$pb.TagNumber(3) + set deprecated($core.bool v) { $_setBool(2, v); } + @$pb.TagNumber(3) + $core.bool hasDeprecated() => $_has(2); + @$pb.TagNumber(3) + void clearDeprecated() => clearField(3); + + /// Should this field be parsed lazily? Lazy applies only to message-type + /// fields. It means that when the outer message is initially parsed, the + /// inner message's contents will not be parsed but instead stored in encoded + /// form. The inner message will actually be parsed when it is first accessed. + /// + /// This is only a hint. Implementations are free to choose whether to use + /// eager or lazy parsing regardless of the value of this option. However, + /// setting this option true suggests that the protocol author believes that + /// using lazy parsing on this field is worth the additional bookkeeping + /// overhead typically needed to implement it. + /// + /// This option does not affect the public interface of any generated code; + /// all method signatures remain the same. Furthermore, thread-safety of the + /// interface is not affected by this option; const methods remain safe to + /// call from multiple threads concurrently, while non-const methods continue + /// to require exclusive access. + /// + /// Note that implementations may choose not to check required fields within + /// a lazy sub-message. That is, calling IsInitialized() on the outer message + /// may return true even if the inner message has missing required fields. + /// This is necessary because otherwise the inner message would have to be + /// parsed in order to perform the check, defeating the purpose of lazy + /// parsing. An implementation which chooses not to check required fields + /// must be consistent about it. That is, for any particular sub-message, the + /// implementation must either *always* check its required fields, or *never* + /// check its required fields, regardless of whether or not the message has + /// been parsed. + /// + /// As of May 2022, lazy verifies the contents of the byte stream during + /// parsing. An invalid byte stream will cause the overall parsing to fail. + @$pb.TagNumber(5) + $core.bool get lazy => $_getBF(3); + @$pb.TagNumber(5) + set lazy($core.bool v) { $_setBool(3, v); } + @$pb.TagNumber(5) + $core.bool hasLazy() => $_has(3); + @$pb.TagNumber(5) + void clearLazy() => clearField(5); + + /// The jstype option determines the JavaScript type used for values of the + /// field. The option is permitted only for 64 bit integral and fixed types + /// (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + /// is represented as JavaScript string, which avoids loss of precision that + /// can happen when a large value is converted to a floating point JavaScript. + /// Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + /// use the JavaScript "number" type. The behavior of the default option + /// JS_NORMAL is implementation dependent. + /// + /// This option is an enum to permit additional types to be added, e.g. + /// goog.math.Integer. + @$pb.TagNumber(6) + FieldOptions_JSType get jstype => $_getN(4); + @$pb.TagNumber(6) + set jstype(FieldOptions_JSType v) { setField(6, v); } + @$pb.TagNumber(6) + $core.bool hasJstype() => $_has(4); + @$pb.TagNumber(6) + void clearJstype() => clearField(6); + + /// For Google-internal migration only. Do not use. + @$pb.TagNumber(10) + $core.bool get weak => $_getBF(5); + @$pb.TagNumber(10) + set weak($core.bool v) { $_setBool(5, v); } + @$pb.TagNumber(10) + $core.bool hasWeak() => $_has(5); + @$pb.TagNumber(10) + void clearWeak() => clearField(10); + + /// unverified_lazy does no correctness checks on the byte stream. This should + /// only be used where lazy with verification is prohibitive for performance + /// reasons. + @$pb.TagNumber(15) + $core.bool get unverifiedLazy => $_getBF(6); + @$pb.TagNumber(15) + set unverifiedLazy($core.bool v) { $_setBool(6, v); } + @$pb.TagNumber(15) + $core.bool hasUnverifiedLazy() => $_has(6); + @$pb.TagNumber(15) + void clearUnverifiedLazy() => clearField(15); + + /// Indicate that the field value should not be printed out when using debug + /// formats, e.g. when the field contains sensitive credentials. + @$pb.TagNumber(16) + $core.bool get debugRedact => $_getBF(7); + @$pb.TagNumber(16) + set debugRedact($core.bool v) { $_setBool(7, v); } + @$pb.TagNumber(16) + $core.bool hasDebugRedact() => $_has(7); + @$pb.TagNumber(16) + void clearDebugRedact() => clearField(16); + + @$pb.TagNumber(17) + FieldOptions_OptionRetention get retention => $_getN(8); + @$pb.TagNumber(17) + set retention(FieldOptions_OptionRetention v) { setField(17, v); } + @$pb.TagNumber(17) + $core.bool hasRetention() => $_has(8); + @$pb.TagNumber(17) + void clearRetention() => clearField(17); + + @$pb.TagNumber(19) + $core.List get targets => $_getList(9); + + @$pb.TagNumber(20) + $core.List get editionDefaults => $_getList(10); + + /// Any features defined in the specific edition. + @$pb.TagNumber(21) + FeatureSet get features => $_getN(11); + @$pb.TagNumber(21) + set features(FeatureSet v) { setField(21, v); } + @$pb.TagNumber(21) + $core.bool hasFeatures() => $_has(11); + @$pb.TagNumber(21) + void clearFeatures() => clearField(21); + @$pb.TagNumber(21) + FeatureSet ensureFeatures() => $_ensure(11); + + /// The parser stores options it doesn't recognize here. See above. + @$pb.TagNumber(999) + $core.List get uninterpretedOption => $_getList(12); +} + +class OneofOptions extends $pb.GeneratedMessage { + factory OneofOptions({ + FeatureSet? features, + $core.Iterable? uninterpretedOption, + }) { + final $result = create(); + if (features != null) { + $result.features = features; + } + if (uninterpretedOption != null) { + $result.uninterpretedOption.addAll(uninterpretedOption); + } + return $result; + } + OneofOptions._() : super(); + factory OneofOptions.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory OneofOptions.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'OneofOptions', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'features', subBuilder: FeatureSet.create) + ..pc(999, _omitFieldNames ? '' : 'uninterpretedOption', $pb.PbFieldType.PM, subBuilder: UninterpretedOption.create) + ..hasExtensions = true + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + OneofOptions clone() => OneofOptions()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + OneofOptions copyWith(void Function(OneofOptions) updates) => super.copyWith((message) => updates(message as OneofOptions)) as OneofOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static OneofOptions create() => OneofOptions._(); + OneofOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static OneofOptions getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static OneofOptions? _defaultInstance; + + /// Any features defined in the specific edition. + @$pb.TagNumber(1) + FeatureSet get features => $_getN(0); + @$pb.TagNumber(1) + set features(FeatureSet v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasFeatures() => $_has(0); + @$pb.TagNumber(1) + void clearFeatures() => clearField(1); + @$pb.TagNumber(1) + FeatureSet ensureFeatures() => $_ensure(0); + + /// The parser stores options it doesn't recognize here. See above. + @$pb.TagNumber(999) + $core.List get uninterpretedOption => $_getList(1); +} + +class EnumOptions extends $pb.GeneratedMessage { + factory EnumOptions({ + $core.bool? allowAlias, + $core.bool? deprecated, + @$core.Deprecated('This field is deprecated.') + $core.bool? deprecatedLegacyJsonFieldConflicts, + FeatureSet? features, + $core.Iterable? uninterpretedOption, + }) { + final $result = create(); + if (allowAlias != null) { + $result.allowAlias = allowAlias; + } + if (deprecated != null) { + $result.deprecated = deprecated; + } + if (deprecatedLegacyJsonFieldConflicts != null) { + // ignore: deprecated_member_use_from_same_package + $result.deprecatedLegacyJsonFieldConflicts = deprecatedLegacyJsonFieldConflicts; + } + if (features != null) { + $result.features = features; + } + if (uninterpretedOption != null) { + $result.uninterpretedOption.addAll(uninterpretedOption); + } + return $result; + } + EnumOptions._() : super(); + factory EnumOptions.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory EnumOptions.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'EnumOptions', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..aOB(2, _omitFieldNames ? '' : 'allowAlias') + ..aOB(3, _omitFieldNames ? '' : 'deprecated') + ..aOB(6, _omitFieldNames ? '' : 'deprecatedLegacyJsonFieldConflicts') + ..aOM(7, _omitFieldNames ? '' : 'features', subBuilder: FeatureSet.create) + ..pc(999, _omitFieldNames ? '' : 'uninterpretedOption', $pb.PbFieldType.PM, subBuilder: UninterpretedOption.create) + ..hasExtensions = true + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EnumOptions clone() => EnumOptions()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EnumOptions copyWith(void Function(EnumOptions) updates) => super.copyWith((message) => updates(message as EnumOptions)) as EnumOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EnumOptions create() => EnumOptions._(); + EnumOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EnumOptions getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static EnumOptions? _defaultInstance; + + /// Set this option to true to allow mapping different tag names to the same + /// value. + @$pb.TagNumber(2) + $core.bool get allowAlias => $_getBF(0); + @$pb.TagNumber(2) + set allowAlias($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(2) + $core.bool hasAllowAlias() => $_has(0); + @$pb.TagNumber(2) + void clearAllowAlias() => clearField(2); + + /// Is this enum deprecated? + /// Depending on the target platform, this can emit Deprecated annotations + /// for the enum, or it will be completely ignored; in the very least, this + /// is a formalization for deprecating enums. + @$pb.TagNumber(3) + $core.bool get deprecated => $_getBF(1); + @$pb.TagNumber(3) + set deprecated($core.bool v) { $_setBool(1, v); } + @$pb.TagNumber(3) + $core.bool hasDeprecated() => $_has(1); + @$pb.TagNumber(3) + void clearDeprecated() => clearField(3); + + /// Enable the legacy handling of JSON field name conflicts. This lowercases + /// and strips underscored from the fields before comparison in proto3 only. + /// The new behavior takes `json_name` into account and applies to proto2 as + /// well. + /// TODO Remove this legacy behavior once downstream teams have + /// had time to migrate. + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(6) + $core.bool get deprecatedLegacyJsonFieldConflicts => $_getBF(2); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(6) + set deprecatedLegacyJsonFieldConflicts($core.bool v) { $_setBool(2, v); } + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(6) + $core.bool hasDeprecatedLegacyJsonFieldConflicts() => $_has(2); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(6) + void clearDeprecatedLegacyJsonFieldConflicts() => clearField(6); + + /// Any features defined in the specific edition. + @$pb.TagNumber(7) + FeatureSet get features => $_getN(3); + @$pb.TagNumber(7) + set features(FeatureSet v) { setField(7, v); } + @$pb.TagNumber(7) + $core.bool hasFeatures() => $_has(3); + @$pb.TagNumber(7) + void clearFeatures() => clearField(7); + @$pb.TagNumber(7) + FeatureSet ensureFeatures() => $_ensure(3); + + /// The parser stores options it doesn't recognize here. See above. + @$pb.TagNumber(999) + $core.List get uninterpretedOption => $_getList(4); +} + +class EnumValueOptions extends $pb.GeneratedMessage { + factory EnumValueOptions({ + $core.bool? deprecated, + FeatureSet? features, + $core.bool? debugRedact, + $core.Iterable? uninterpretedOption, + }) { + final $result = create(); + if (deprecated != null) { + $result.deprecated = deprecated; + } + if (features != null) { + $result.features = features; + } + if (debugRedact != null) { + $result.debugRedact = debugRedact; + } + if (uninterpretedOption != null) { + $result.uninterpretedOption.addAll(uninterpretedOption); + } + return $result; + } + EnumValueOptions._() : super(); + factory EnumValueOptions.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory EnumValueOptions.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'EnumValueOptions', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'deprecated') + ..aOM(2, _omitFieldNames ? '' : 'features', subBuilder: FeatureSet.create) + ..aOB(3, _omitFieldNames ? '' : 'debugRedact') + ..pc(999, _omitFieldNames ? '' : 'uninterpretedOption', $pb.PbFieldType.PM, subBuilder: UninterpretedOption.create) + ..hasExtensions = true + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EnumValueOptions clone() => EnumValueOptions()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EnumValueOptions copyWith(void Function(EnumValueOptions) updates) => super.copyWith((message) => updates(message as EnumValueOptions)) as EnumValueOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EnumValueOptions create() => EnumValueOptions._(); + EnumValueOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EnumValueOptions getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static EnumValueOptions? _defaultInstance; + + /// Is this enum value deprecated? + /// Depending on the target platform, this can emit Deprecated annotations + /// for the enum value, or it will be completely ignored; in the very least, + /// this is a formalization for deprecating enum values. + @$pb.TagNumber(1) + $core.bool get deprecated => $_getBF(0); + @$pb.TagNumber(1) + set deprecated($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasDeprecated() => $_has(0); + @$pb.TagNumber(1) + void clearDeprecated() => clearField(1); + + /// Any features defined in the specific edition. + @$pb.TagNumber(2) + FeatureSet get features => $_getN(1); + @$pb.TagNumber(2) + set features(FeatureSet v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasFeatures() => $_has(1); + @$pb.TagNumber(2) + void clearFeatures() => clearField(2); + @$pb.TagNumber(2) + FeatureSet ensureFeatures() => $_ensure(1); + + /// Indicate that fields annotated with this enum value should not be printed + /// out when using debug formats, e.g. when the field contains sensitive + /// credentials. + @$pb.TagNumber(3) + $core.bool get debugRedact => $_getBF(2); + @$pb.TagNumber(3) + set debugRedact($core.bool v) { $_setBool(2, v); } + @$pb.TagNumber(3) + $core.bool hasDebugRedact() => $_has(2); + @$pb.TagNumber(3) + void clearDebugRedact() => clearField(3); + + /// The parser stores options it doesn't recognize here. See above. + @$pb.TagNumber(999) + $core.List get uninterpretedOption => $_getList(3); +} + +class ServiceOptions extends $pb.GeneratedMessage { + factory ServiceOptions({ + $core.bool? deprecated, + FeatureSet? features, + $core.Iterable? uninterpretedOption, + }) { + final $result = create(); + if (deprecated != null) { + $result.deprecated = deprecated; + } + if (features != null) { + $result.features = features; + } + if (uninterpretedOption != null) { + $result.uninterpretedOption.addAll(uninterpretedOption); + } + return $result; + } + ServiceOptions._() : super(); + factory ServiceOptions.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ServiceOptions.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ServiceOptions', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..aOB(33, _omitFieldNames ? '' : 'deprecated') + ..aOM(34, _omitFieldNames ? '' : 'features', subBuilder: FeatureSet.create) + ..pc(999, _omitFieldNames ? '' : 'uninterpretedOption', $pb.PbFieldType.PM, subBuilder: UninterpretedOption.create) + ..hasExtensions = true + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ServiceOptions clone() => ServiceOptions()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ServiceOptions copyWith(void Function(ServiceOptions) updates) => super.copyWith((message) => updates(message as ServiceOptions)) as ServiceOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ServiceOptions create() => ServiceOptions._(); + ServiceOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ServiceOptions getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ServiceOptions? _defaultInstance; + + /// Is this service deprecated? + /// Depending on the target platform, this can emit Deprecated annotations + /// for the service, or it will be completely ignored; in the very least, + /// this is a formalization for deprecating services. + @$pb.TagNumber(33) + $core.bool get deprecated => $_getBF(0); + @$pb.TagNumber(33) + set deprecated($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(33) + $core.bool hasDeprecated() => $_has(0); + @$pb.TagNumber(33) + void clearDeprecated() => clearField(33); + + /// Any features defined in the specific edition. + @$pb.TagNumber(34) + FeatureSet get features => $_getN(1); + @$pb.TagNumber(34) + set features(FeatureSet v) { setField(34, v); } + @$pb.TagNumber(34) + $core.bool hasFeatures() => $_has(1); + @$pb.TagNumber(34) + void clearFeatures() => clearField(34); + @$pb.TagNumber(34) + FeatureSet ensureFeatures() => $_ensure(1); + + /// The parser stores options it doesn't recognize here. See above. + @$pb.TagNumber(999) + $core.List get uninterpretedOption => $_getList(2); +} + +class MethodOptions extends $pb.GeneratedMessage { + factory MethodOptions({ + $core.bool? deprecated, + MethodOptions_IdempotencyLevel? idempotencyLevel, + FeatureSet? features, + $core.Iterable? uninterpretedOption, + }) { + final $result = create(); + if (deprecated != null) { + $result.deprecated = deprecated; + } + if (idempotencyLevel != null) { + $result.idempotencyLevel = idempotencyLevel; + } + if (features != null) { + $result.features = features; + } + if (uninterpretedOption != null) { + $result.uninterpretedOption.addAll(uninterpretedOption); + } + return $result; + } + MethodOptions._() : super(); + factory MethodOptions.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory MethodOptions.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'MethodOptions', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..aOB(33, _omitFieldNames ? '' : 'deprecated') + ..e(34, _omitFieldNames ? '' : 'idempotencyLevel', $pb.PbFieldType.OE, defaultOrMaker: MethodOptions_IdempotencyLevel.IDEMPOTENCY_UNKNOWN, valueOf: MethodOptions_IdempotencyLevel.valueOf, enumValues: MethodOptions_IdempotencyLevel.values) + ..aOM(35, _omitFieldNames ? '' : 'features', subBuilder: FeatureSet.create) + ..pc(999, _omitFieldNames ? '' : 'uninterpretedOption', $pb.PbFieldType.PM, subBuilder: UninterpretedOption.create) + ..hasExtensions = true + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MethodOptions clone() => MethodOptions()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MethodOptions copyWith(void Function(MethodOptions) updates) => super.copyWith((message) => updates(message as MethodOptions)) as MethodOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MethodOptions create() => MethodOptions._(); + MethodOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MethodOptions getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static MethodOptions? _defaultInstance; + + /// Is this method deprecated? + /// Depending on the target platform, this can emit Deprecated annotations + /// for the method, or it will be completely ignored; in the very least, + /// this is a formalization for deprecating methods. + @$pb.TagNumber(33) + $core.bool get deprecated => $_getBF(0); + @$pb.TagNumber(33) + set deprecated($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(33) + $core.bool hasDeprecated() => $_has(0); + @$pb.TagNumber(33) + void clearDeprecated() => clearField(33); + + @$pb.TagNumber(34) + MethodOptions_IdempotencyLevel get idempotencyLevel => $_getN(1); + @$pb.TagNumber(34) + set idempotencyLevel(MethodOptions_IdempotencyLevel v) { setField(34, v); } + @$pb.TagNumber(34) + $core.bool hasIdempotencyLevel() => $_has(1); + @$pb.TagNumber(34) + void clearIdempotencyLevel() => clearField(34); + + /// Any features defined in the specific edition. + @$pb.TagNumber(35) + FeatureSet get features => $_getN(2); + @$pb.TagNumber(35) + set features(FeatureSet v) { setField(35, v); } + @$pb.TagNumber(35) + $core.bool hasFeatures() => $_has(2); + @$pb.TagNumber(35) + void clearFeatures() => clearField(35); + @$pb.TagNumber(35) + FeatureSet ensureFeatures() => $_ensure(2); + + /// The parser stores options it doesn't recognize here. See above. + @$pb.TagNumber(999) + $core.List get uninterpretedOption => $_getList(3); +} + +/// The name of the uninterpreted option. Each string represents a segment in +/// a dot-separated name. is_extension is true iff a segment represents an +/// extension (denoted with parentheses in options specs in .proto files). +/// E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents +/// "foo.(bar.baz).moo". +class UninterpretedOption_NamePart extends $pb.GeneratedMessage { + factory UninterpretedOption_NamePart({ + $core.String? namePart, + $core.bool? isExtension, + }) { + final $result = create(); + if (namePart != null) { + $result.namePart = namePart; + } + if (isExtension != null) { + $result.isExtension = isExtension; + } + return $result; + } + UninterpretedOption_NamePart._() : super(); + factory UninterpretedOption_NamePart.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory UninterpretedOption_NamePart.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UninterpretedOption.NamePart', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..aQS(1, _omitFieldNames ? '' : 'namePart') + ..a<$core.bool>(2, _omitFieldNames ? '' : 'isExtension', $pb.PbFieldType.QB) + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UninterpretedOption_NamePart clone() => UninterpretedOption_NamePart()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UninterpretedOption_NamePart copyWith(void Function(UninterpretedOption_NamePart) updates) => super.copyWith((message) => updates(message as UninterpretedOption_NamePart)) as UninterpretedOption_NamePart; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UninterpretedOption_NamePart create() => UninterpretedOption_NamePart._(); + UninterpretedOption_NamePart createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UninterpretedOption_NamePart getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static UninterpretedOption_NamePart? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get namePart => $_getSZ(0); + @$pb.TagNumber(1) + set namePart($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasNamePart() => $_has(0); + @$pb.TagNumber(1) + void clearNamePart() => clearField(1); + + @$pb.TagNumber(2) + $core.bool get isExtension => $_getBF(1); + @$pb.TagNumber(2) + set isExtension($core.bool v) { $_setBool(1, v); } + @$pb.TagNumber(2) + $core.bool hasIsExtension() => $_has(1); + @$pb.TagNumber(2) + void clearIsExtension() => clearField(2); +} + +/// A message representing a option the parser does not recognize. This only +/// appears in options protos created by the compiler::Parser class. +/// DescriptorPool resolves these when building Descriptor objects. Therefore, +/// options protos in descriptor objects (e.g. returned by Descriptor::options(), +/// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions +/// in them. +class UninterpretedOption extends $pb.GeneratedMessage { + factory UninterpretedOption({ + $core.Iterable? name, + $core.String? identifierValue, + $fixnum.Int64? positiveIntValue, + $fixnum.Int64? negativeIntValue, + $core.double? doubleValue, + $core.List<$core.int>? stringValue, + $core.String? aggregateValue, + }) { + final $result = create(); + if (name != null) { + $result.name.addAll(name); + } + if (identifierValue != null) { + $result.identifierValue = identifierValue; + } + if (positiveIntValue != null) { + $result.positiveIntValue = positiveIntValue; + } + if (negativeIntValue != null) { + $result.negativeIntValue = negativeIntValue; + } + if (doubleValue != null) { + $result.doubleValue = doubleValue; + } + if (stringValue != null) { + $result.stringValue = stringValue; + } + if (aggregateValue != null) { + $result.aggregateValue = aggregateValue; + } + return $result; + } + UninterpretedOption._() : super(); + factory UninterpretedOption.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory UninterpretedOption.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UninterpretedOption', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..pc(2, _omitFieldNames ? '' : 'name', $pb.PbFieldType.PM, subBuilder: UninterpretedOption_NamePart.create) + ..aOS(3, _omitFieldNames ? '' : 'identifierValue') + ..a<$fixnum.Int64>(4, _omitFieldNames ? '' : 'positiveIntValue', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO) + ..aInt64(5, _omitFieldNames ? '' : 'negativeIntValue') + ..a<$core.double>(6, _omitFieldNames ? '' : 'doubleValue', $pb.PbFieldType.OD) + ..a<$core.List<$core.int>>(7, _omitFieldNames ? '' : 'stringValue', $pb.PbFieldType.OY) + ..aOS(8, _omitFieldNames ? '' : 'aggregateValue') + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UninterpretedOption clone() => UninterpretedOption()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UninterpretedOption copyWith(void Function(UninterpretedOption) updates) => super.copyWith((message) => updates(message as UninterpretedOption)) as UninterpretedOption; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UninterpretedOption create() => UninterpretedOption._(); + UninterpretedOption createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UninterpretedOption getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static UninterpretedOption? _defaultInstance; + + @$pb.TagNumber(2) + $core.List get name => $_getList(0); + + /// The value of the uninterpreted option, in whatever type the tokenizer + /// identified it as during parsing. Exactly one of these should be set. + @$pb.TagNumber(3) + $core.String get identifierValue => $_getSZ(1); + @$pb.TagNumber(3) + set identifierValue($core.String v) { $_setString(1, v); } + @$pb.TagNumber(3) + $core.bool hasIdentifierValue() => $_has(1); + @$pb.TagNumber(3) + void clearIdentifierValue() => clearField(3); + + @$pb.TagNumber(4) + $fixnum.Int64 get positiveIntValue => $_getI64(2); + @$pb.TagNumber(4) + set positiveIntValue($fixnum.Int64 v) { $_setInt64(2, v); } + @$pb.TagNumber(4) + $core.bool hasPositiveIntValue() => $_has(2); + @$pb.TagNumber(4) + void clearPositiveIntValue() => clearField(4); + + @$pb.TagNumber(5) + $fixnum.Int64 get negativeIntValue => $_getI64(3); + @$pb.TagNumber(5) + set negativeIntValue($fixnum.Int64 v) { $_setInt64(3, v); } + @$pb.TagNumber(5) + $core.bool hasNegativeIntValue() => $_has(3); + @$pb.TagNumber(5) + void clearNegativeIntValue() => clearField(5); + + @$pb.TagNumber(6) + $core.double get doubleValue => $_getN(4); + @$pb.TagNumber(6) + set doubleValue($core.double v) { $_setDouble(4, v); } + @$pb.TagNumber(6) + $core.bool hasDoubleValue() => $_has(4); + @$pb.TagNumber(6) + void clearDoubleValue() => clearField(6); + + @$pb.TagNumber(7) + $core.List<$core.int> get stringValue => $_getN(5); + @$pb.TagNumber(7) + set stringValue($core.List<$core.int> v) { $_setBytes(5, v); } + @$pb.TagNumber(7) + $core.bool hasStringValue() => $_has(5); + @$pb.TagNumber(7) + void clearStringValue() => clearField(7); + + @$pb.TagNumber(8) + $core.String get aggregateValue => $_getSZ(6); + @$pb.TagNumber(8) + set aggregateValue($core.String v) { $_setString(6, v); } + @$pb.TagNumber(8) + $core.bool hasAggregateValue() => $_has(6); + @$pb.TagNumber(8) + void clearAggregateValue() => clearField(8); +} + +/// TODO Enums in C++ gencode (and potentially other languages) are +/// not well scoped. This means that each of the feature enums below can clash +/// with each other. The short names we've chosen maximize call-site +/// readability, but leave us very open to this scenario. A future feature will +/// be designed and implemented to handle this, hopefully before we ever hit a +/// conflict here. +class FeatureSet extends $pb.GeneratedMessage { + factory FeatureSet({ + FeatureSet_FieldPresence? fieldPresence, + FeatureSet_EnumType? enumType, + FeatureSet_RepeatedFieldEncoding? repeatedFieldEncoding, + FeatureSet_Utf8Validation? utf8Validation, + FeatureSet_MessageEncoding? messageEncoding, + FeatureSet_JsonFormat? jsonFormat, + }) { + final $result = create(); + if (fieldPresence != null) { + $result.fieldPresence = fieldPresence; + } + if (enumType != null) { + $result.enumType = enumType; + } + if (repeatedFieldEncoding != null) { + $result.repeatedFieldEncoding = repeatedFieldEncoding; + } + if (utf8Validation != null) { + $result.utf8Validation = utf8Validation; + } + if (messageEncoding != null) { + $result.messageEncoding = messageEncoding; + } + if (jsonFormat != null) { + $result.jsonFormat = jsonFormat; + } + return $result; + } + FeatureSet._() : super(); + factory FeatureSet.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory FeatureSet.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FeatureSet', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..e(1, _omitFieldNames ? '' : 'fieldPresence', $pb.PbFieldType.OE, defaultOrMaker: FeatureSet_FieldPresence.FIELD_PRESENCE_UNKNOWN, valueOf: FeatureSet_FieldPresence.valueOf, enumValues: FeatureSet_FieldPresence.values) + ..e(2, _omitFieldNames ? '' : 'enumType', $pb.PbFieldType.OE, defaultOrMaker: FeatureSet_EnumType.ENUM_TYPE_UNKNOWN, valueOf: FeatureSet_EnumType.valueOf, enumValues: FeatureSet_EnumType.values) + ..e(3, _omitFieldNames ? '' : 'repeatedFieldEncoding', $pb.PbFieldType.OE, defaultOrMaker: FeatureSet_RepeatedFieldEncoding.REPEATED_FIELD_ENCODING_UNKNOWN, valueOf: FeatureSet_RepeatedFieldEncoding.valueOf, enumValues: FeatureSet_RepeatedFieldEncoding.values) + ..e(4, _omitFieldNames ? '' : 'utf8Validation', $pb.PbFieldType.OE, defaultOrMaker: FeatureSet_Utf8Validation.UTF8_VALIDATION_UNKNOWN, valueOf: FeatureSet_Utf8Validation.valueOf, enumValues: FeatureSet_Utf8Validation.values) + ..e(5, _omitFieldNames ? '' : 'messageEncoding', $pb.PbFieldType.OE, defaultOrMaker: FeatureSet_MessageEncoding.MESSAGE_ENCODING_UNKNOWN, valueOf: FeatureSet_MessageEncoding.valueOf, enumValues: FeatureSet_MessageEncoding.values) + ..e(6, _omitFieldNames ? '' : 'jsonFormat', $pb.PbFieldType.OE, defaultOrMaker: FeatureSet_JsonFormat.JSON_FORMAT_UNKNOWN, valueOf: FeatureSet_JsonFormat.valueOf, enumValues: FeatureSet_JsonFormat.values) + ..hasExtensions = true + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FeatureSet clone() => FeatureSet()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FeatureSet copyWith(void Function(FeatureSet) updates) => super.copyWith((message) => updates(message as FeatureSet)) as FeatureSet; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FeatureSet create() => FeatureSet._(); + FeatureSet createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FeatureSet getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FeatureSet? _defaultInstance; + + @$pb.TagNumber(1) + FeatureSet_FieldPresence get fieldPresence => $_getN(0); + @$pb.TagNumber(1) + set fieldPresence(FeatureSet_FieldPresence v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasFieldPresence() => $_has(0); + @$pb.TagNumber(1) + void clearFieldPresence() => clearField(1); + + @$pb.TagNumber(2) + FeatureSet_EnumType get enumType => $_getN(1); + @$pb.TagNumber(2) + set enumType(FeatureSet_EnumType v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasEnumType() => $_has(1); + @$pb.TagNumber(2) + void clearEnumType() => clearField(2); + + @$pb.TagNumber(3) + FeatureSet_RepeatedFieldEncoding get repeatedFieldEncoding => $_getN(2); + @$pb.TagNumber(3) + set repeatedFieldEncoding(FeatureSet_RepeatedFieldEncoding v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasRepeatedFieldEncoding() => $_has(2); + @$pb.TagNumber(3) + void clearRepeatedFieldEncoding() => clearField(3); + + @$pb.TagNumber(4) + FeatureSet_Utf8Validation get utf8Validation => $_getN(3); + @$pb.TagNumber(4) + set utf8Validation(FeatureSet_Utf8Validation v) { setField(4, v); } + @$pb.TagNumber(4) + $core.bool hasUtf8Validation() => $_has(3); + @$pb.TagNumber(4) + void clearUtf8Validation() => clearField(4); + + @$pb.TagNumber(5) + FeatureSet_MessageEncoding get messageEncoding => $_getN(4); + @$pb.TagNumber(5) + set messageEncoding(FeatureSet_MessageEncoding v) { setField(5, v); } + @$pb.TagNumber(5) + $core.bool hasMessageEncoding() => $_has(4); + @$pb.TagNumber(5) + void clearMessageEncoding() => clearField(5); + + @$pb.TagNumber(6) + FeatureSet_JsonFormat get jsonFormat => $_getN(5); + @$pb.TagNumber(6) + set jsonFormat(FeatureSet_JsonFormat v) { setField(6, v); } + @$pb.TagNumber(6) + $core.bool hasJsonFormat() => $_has(5); + @$pb.TagNumber(6) + void clearJsonFormat() => clearField(6); +} + +/// A map from every known edition with a unique set of defaults to its +/// defaults. Not all editions may be contained here. For a given edition, +/// the defaults at the closest matching edition ordered at or before it should +/// be used. This field must be in strict ascending order by edition. +class FeatureSetDefaults_FeatureSetEditionDefault extends $pb.GeneratedMessage { + factory FeatureSetDefaults_FeatureSetEditionDefault({ + FeatureSet? features, + Edition? edition, + }) { + final $result = create(); + if (features != null) { + $result.features = features; + } + if (edition != null) { + $result.edition = edition; + } + return $result; + } + FeatureSetDefaults_FeatureSetEditionDefault._() : super(); + factory FeatureSetDefaults_FeatureSetEditionDefault.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory FeatureSetDefaults_FeatureSetEditionDefault.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FeatureSetDefaults.FeatureSetEditionDefault', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..aOM(2, _omitFieldNames ? '' : 'features', subBuilder: FeatureSet.create) + ..e(3, _omitFieldNames ? '' : 'edition', $pb.PbFieldType.OE, defaultOrMaker: Edition.EDITION_UNKNOWN, valueOf: Edition.valueOf, enumValues: Edition.values) + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FeatureSetDefaults_FeatureSetEditionDefault clone() => FeatureSetDefaults_FeatureSetEditionDefault()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FeatureSetDefaults_FeatureSetEditionDefault copyWith(void Function(FeatureSetDefaults_FeatureSetEditionDefault) updates) => super.copyWith((message) => updates(message as FeatureSetDefaults_FeatureSetEditionDefault)) as FeatureSetDefaults_FeatureSetEditionDefault; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FeatureSetDefaults_FeatureSetEditionDefault create() => FeatureSetDefaults_FeatureSetEditionDefault._(); + FeatureSetDefaults_FeatureSetEditionDefault createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FeatureSetDefaults_FeatureSetEditionDefault getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FeatureSetDefaults_FeatureSetEditionDefault? _defaultInstance; + + @$pb.TagNumber(2) + FeatureSet get features => $_getN(0); + @$pb.TagNumber(2) + set features(FeatureSet v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasFeatures() => $_has(0); + @$pb.TagNumber(2) + void clearFeatures() => clearField(2); + @$pb.TagNumber(2) + FeatureSet ensureFeatures() => $_ensure(0); + + @$pb.TagNumber(3) + Edition get edition => $_getN(1); + @$pb.TagNumber(3) + set edition(Edition v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasEdition() => $_has(1); + @$pb.TagNumber(3) + void clearEdition() => clearField(3); +} + +/// A compiled specification for the defaults of a set of features. These +/// messages are generated from FeatureSet extensions and can be used to seed +/// feature resolution. The resolution with this object becomes a simple search +/// for the closest matching edition, followed by proto merges. +class FeatureSetDefaults extends $pb.GeneratedMessage { + factory FeatureSetDefaults({ + $core.Iterable? defaults, + Edition? minimumEdition, + Edition? maximumEdition, + }) { + final $result = create(); + if (defaults != null) { + $result.defaults.addAll(defaults); + } + if (minimumEdition != null) { + $result.minimumEdition = minimumEdition; + } + if (maximumEdition != null) { + $result.maximumEdition = maximumEdition; + } + return $result; + } + FeatureSetDefaults._() : super(); + factory FeatureSetDefaults.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory FeatureSetDefaults.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FeatureSetDefaults', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'defaults', $pb.PbFieldType.PM, subBuilder: FeatureSetDefaults_FeatureSetEditionDefault.create) + ..e(4, _omitFieldNames ? '' : 'minimumEdition', $pb.PbFieldType.OE, defaultOrMaker: Edition.EDITION_UNKNOWN, valueOf: Edition.valueOf, enumValues: Edition.values) + ..e(5, _omitFieldNames ? '' : 'maximumEdition', $pb.PbFieldType.OE, defaultOrMaker: Edition.EDITION_UNKNOWN, valueOf: Edition.valueOf, enumValues: Edition.values) + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FeatureSetDefaults clone() => FeatureSetDefaults()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FeatureSetDefaults copyWith(void Function(FeatureSetDefaults) updates) => super.copyWith((message) => updates(message as FeatureSetDefaults)) as FeatureSetDefaults; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FeatureSetDefaults create() => FeatureSetDefaults._(); + FeatureSetDefaults createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FeatureSetDefaults getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FeatureSetDefaults? _defaultInstance; + + @$pb.TagNumber(1) + $core.List get defaults => $_getList(0); + + /// The minimum supported edition (inclusive) when this was constructed. + /// Editions before this will not have defaults. + @$pb.TagNumber(4) + Edition get minimumEdition => $_getN(1); + @$pb.TagNumber(4) + set minimumEdition(Edition v) { setField(4, v); } + @$pb.TagNumber(4) + $core.bool hasMinimumEdition() => $_has(1); + @$pb.TagNumber(4) + void clearMinimumEdition() => clearField(4); + + /// The maximum known edition (inclusive) when this was constructed. Editions + /// after this will not have reliable defaults. + @$pb.TagNumber(5) + Edition get maximumEdition => $_getN(2); + @$pb.TagNumber(5) + set maximumEdition(Edition v) { setField(5, v); } + @$pb.TagNumber(5) + $core.bool hasMaximumEdition() => $_has(2); + @$pb.TagNumber(5) + void clearMaximumEdition() => clearField(5); +} + +class SourceCodeInfo_Location extends $pb.GeneratedMessage { + factory SourceCodeInfo_Location({ + $core.Iterable<$core.int>? path, + $core.Iterable<$core.int>? span, + $core.String? leadingComments, + $core.String? trailingComments, + $core.Iterable<$core.String>? leadingDetachedComments, + }) { + final $result = create(); + if (path != null) { + $result.path.addAll(path); + } + if (span != null) { + $result.span.addAll(span); + } + if (leadingComments != null) { + $result.leadingComments = leadingComments; + } + if (trailingComments != null) { + $result.trailingComments = trailingComments; + } + if (leadingDetachedComments != null) { + $result.leadingDetachedComments.addAll(leadingDetachedComments); + } + return $result; + } + SourceCodeInfo_Location._() : super(); + factory SourceCodeInfo_Location.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SourceCodeInfo_Location.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SourceCodeInfo.Location', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..p<$core.int>(1, _omitFieldNames ? '' : 'path', $pb.PbFieldType.K3) + ..p<$core.int>(2, _omitFieldNames ? '' : 'span', $pb.PbFieldType.K3) + ..aOS(3, _omitFieldNames ? '' : 'leadingComments') + ..aOS(4, _omitFieldNames ? '' : 'trailingComments') + ..pPS(6, _omitFieldNames ? '' : 'leadingDetachedComments') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SourceCodeInfo_Location clone() => SourceCodeInfo_Location()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SourceCodeInfo_Location copyWith(void Function(SourceCodeInfo_Location) updates) => super.copyWith((message) => updates(message as SourceCodeInfo_Location)) as SourceCodeInfo_Location; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SourceCodeInfo_Location create() => SourceCodeInfo_Location._(); + SourceCodeInfo_Location createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SourceCodeInfo_Location getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SourceCodeInfo_Location? _defaultInstance; + + /// Identifies which part of the FileDescriptorProto was defined at this + /// location. + /// + /// Each element is a field number or an index. They form a path from + /// the root FileDescriptorProto to the place where the definition occurs. + /// For example, this path: + /// [ 4, 3, 2, 7, 1 ] + /// refers to: + /// file.message_type(3) // 4, 3 + /// .field(7) // 2, 7 + /// .name() // 1 + /// This is because FileDescriptorProto.message_type has field number 4: + /// repeated DescriptorProto message_type = 4; + /// and DescriptorProto.field has field number 2: + /// repeated FieldDescriptorProto field = 2; + /// and FieldDescriptorProto.name has field number 1: + /// optional string name = 1; + /// + /// Thus, the above path gives the location of a field name. If we removed + /// the last element: + /// [ 4, 3, 2, 7 ] + /// this path refers to the whole field declaration (from the beginning + /// of the label to the terminating semicolon). + @$pb.TagNumber(1) + $core.List<$core.int> get path => $_getList(0); + + /// Always has exactly three or four elements: start line, start column, + /// end line (optional, otherwise assumed same as start line), end column. + /// These are packed into a single field for efficiency. Note that line + /// and column numbers are zero-based -- typically you will want to add + /// 1 to each before displaying to a user. + @$pb.TagNumber(2) + $core.List<$core.int> get span => $_getList(1); + + /// If this SourceCodeInfo represents a complete declaration, these are any + /// comments appearing before and after the declaration which appear to be + /// attached to the declaration. + /// + /// A series of line comments appearing on consecutive lines, with no other + /// tokens appearing on those lines, will be treated as a single comment. + /// + /// leading_detached_comments will keep paragraphs of comments that appear + /// before (but not connected to) the current element. Each paragraph, + /// separated by empty lines, will be one comment element in the repeated + /// field. + /// + /// Only the comment content is provided; comment markers (e.g. //) are + /// stripped out. For block comments, leading whitespace and an asterisk + /// will be stripped from the beginning of each line other than the first. + /// Newlines are included in the output. + /// + /// Examples: + /// + /// optional int32 foo = 1; // Comment attached to foo. + /// // Comment attached to bar. + /// optional int32 bar = 2; + /// + /// optional string baz = 3; + /// // Comment attached to baz. + /// // Another line attached to baz. + /// + /// // Comment attached to moo. + /// // + /// // Another line attached to moo. + /// optional double moo = 4; + /// + /// // Detached comment for corge. This is not leading or trailing comments + /// // to moo or corge because there are blank lines separating it from + /// // both. + /// + /// // Detached comment for corge paragraph 2. + /// + /// optional string corge = 5; + /// /* Block comment attached + /// * to corge. Leading asterisks + /// * will be removed. */ + /// /* Block comment attached to + /// * grault. */ + /// optional int32 grault = 6; + /// + /// // ignored detached comments. + @$pb.TagNumber(3) + $core.String get leadingComments => $_getSZ(2); + @$pb.TagNumber(3) + set leadingComments($core.String v) { $_setString(2, v); } + @$pb.TagNumber(3) + $core.bool hasLeadingComments() => $_has(2); + @$pb.TagNumber(3) + void clearLeadingComments() => clearField(3); + + @$pb.TagNumber(4) + $core.String get trailingComments => $_getSZ(3); + @$pb.TagNumber(4) + set trailingComments($core.String v) { $_setString(3, v); } + @$pb.TagNumber(4) + $core.bool hasTrailingComments() => $_has(3); + @$pb.TagNumber(4) + void clearTrailingComments() => clearField(4); + + @$pb.TagNumber(6) + $core.List<$core.String> get leadingDetachedComments => $_getList(4); +} + +/// Encapsulates information about the original source file from which a +/// FileDescriptorProto was generated. +class SourceCodeInfo extends $pb.GeneratedMessage { + factory SourceCodeInfo({ + $core.Iterable? location, + }) { + final $result = create(); + if (location != null) { + $result.location.addAll(location); + } + return $result; + } + SourceCodeInfo._() : super(); + factory SourceCodeInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SourceCodeInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SourceCodeInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'location', $pb.PbFieldType.PM, subBuilder: SourceCodeInfo_Location.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SourceCodeInfo clone() => SourceCodeInfo()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SourceCodeInfo copyWith(void Function(SourceCodeInfo) updates) => super.copyWith((message) => updates(message as SourceCodeInfo)) as SourceCodeInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SourceCodeInfo create() => SourceCodeInfo._(); + SourceCodeInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SourceCodeInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SourceCodeInfo? _defaultInstance; + + /// A Location identifies a piece of source code in a .proto file which + /// corresponds to a particular definition. This information is intended + /// to be useful to IDEs, code indexers, documentation generators, and similar + /// tools. + /// + /// For example, say we have a file like: + /// message Foo { + /// optional string foo = 1; + /// } + /// Let's look at just the field definition: + /// optional string foo = 1; + /// ^ ^^ ^^ ^ ^^^ + /// a bc de f ghi + /// We have the following locations: + /// span path represents + /// [a,i) [ 4, 0, 2, 0 ] The whole field definition. + /// [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). + /// [c,d) [ 4, 0, 2, 0, 5 ] The type (string). + /// [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). + /// [g,h) [ 4, 0, 2, 0, 3 ] The number (1). + /// + /// Notes: + /// - A location may refer to a repeated field itself (i.e. not to any + /// particular index within it). This is used whenever a set of elements are + /// logically enclosed in a single code segment. For example, an entire + /// extend block (possibly containing multiple extension definitions) will + /// have an outer location whose path refers to the "extensions" repeated + /// field without an index. + /// - Multiple locations may have the same path. This happens when a single + /// logical declaration is spread out across multiple places. The most + /// obvious example is the "extend" block again -- there may be multiple + /// extend blocks in the same scope, each of which will have the same path. + /// - A location's span is not always a subset of its parent's span. For + /// example, the "extendee" of an extension declaration appears at the + /// beginning of the "extend" block and is shared by all extensions within + /// the block. + /// - Just because a location's span is a subset of some other location's span + /// does not mean that it is a descendant. For example, a "group" defines + /// both a type and a field in a single declaration. Thus, the locations + /// corresponding to the type and field and their components will overlap. + /// - Code which tries to interpret locations should probably be designed to + /// ignore those that it doesn't understand, as more types of locations could + /// be recorded in the future. + @$pb.TagNumber(1) + $core.List get location => $_getList(0); +} + +class GeneratedCodeInfo_Annotation extends $pb.GeneratedMessage { + factory GeneratedCodeInfo_Annotation({ + $core.Iterable<$core.int>? path, + $core.String? sourceFile, + $core.int? begin, + $core.int? end, + GeneratedCodeInfo_Annotation_Semantic? semantic, + }) { + final $result = create(); + if (path != null) { + $result.path.addAll(path); + } + if (sourceFile != null) { + $result.sourceFile = sourceFile; + } + if (begin != null) { + $result.begin = begin; + } + if (end != null) { + $result.end = end; + } + if (semantic != null) { + $result.semantic = semantic; + } + return $result; + } + GeneratedCodeInfo_Annotation._() : super(); + factory GeneratedCodeInfo_Annotation.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GeneratedCodeInfo_Annotation.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GeneratedCodeInfo.Annotation', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..p<$core.int>(1, _omitFieldNames ? '' : 'path', $pb.PbFieldType.K3) + ..aOS(2, _omitFieldNames ? '' : 'sourceFile') + ..a<$core.int>(3, _omitFieldNames ? '' : 'begin', $pb.PbFieldType.O3) + ..a<$core.int>(4, _omitFieldNames ? '' : 'end', $pb.PbFieldType.O3) + ..e(5, _omitFieldNames ? '' : 'semantic', $pb.PbFieldType.OE, defaultOrMaker: GeneratedCodeInfo_Annotation_Semantic.NONE, valueOf: GeneratedCodeInfo_Annotation_Semantic.valueOf, enumValues: GeneratedCodeInfo_Annotation_Semantic.values) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GeneratedCodeInfo_Annotation clone() => GeneratedCodeInfo_Annotation()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GeneratedCodeInfo_Annotation copyWith(void Function(GeneratedCodeInfo_Annotation) updates) => super.copyWith((message) => updates(message as GeneratedCodeInfo_Annotation)) as GeneratedCodeInfo_Annotation; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GeneratedCodeInfo_Annotation create() => GeneratedCodeInfo_Annotation._(); + GeneratedCodeInfo_Annotation createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GeneratedCodeInfo_Annotation getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GeneratedCodeInfo_Annotation? _defaultInstance; + + /// Identifies the element in the original source .proto file. This field + /// is formatted the same as SourceCodeInfo.Location.path. + @$pb.TagNumber(1) + $core.List<$core.int> get path => $_getList(0); + + /// Identifies the filesystem path to the original source .proto. + @$pb.TagNumber(2) + $core.String get sourceFile => $_getSZ(1); + @$pb.TagNumber(2) + set sourceFile($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasSourceFile() => $_has(1); + @$pb.TagNumber(2) + void clearSourceFile() => clearField(2); + + /// Identifies the starting offset in bytes in the generated code + /// that relates to the identified object. + @$pb.TagNumber(3) + $core.int get begin => $_getIZ(2); + @$pb.TagNumber(3) + set begin($core.int v) { $_setSignedInt32(2, v); } + @$pb.TagNumber(3) + $core.bool hasBegin() => $_has(2); + @$pb.TagNumber(3) + void clearBegin() => clearField(3); + + /// Identifies the ending offset in bytes in the generated code that + /// relates to the identified object. The end offset should be one past + /// the last relevant byte (so the length of the text = end - begin). + @$pb.TagNumber(4) + $core.int get end => $_getIZ(3); + @$pb.TagNumber(4) + set end($core.int v) { $_setSignedInt32(3, v); } + @$pb.TagNumber(4) + $core.bool hasEnd() => $_has(3); + @$pb.TagNumber(4) + void clearEnd() => clearField(4); + + @$pb.TagNumber(5) + GeneratedCodeInfo_Annotation_Semantic get semantic => $_getN(4); + @$pb.TagNumber(5) + set semantic(GeneratedCodeInfo_Annotation_Semantic v) { setField(5, v); } + @$pb.TagNumber(5) + $core.bool hasSemantic() => $_has(4); + @$pb.TagNumber(5) + void clearSemantic() => clearField(5); +} + +/// Describes the relationship between generated code and its original source +/// file. A GeneratedCodeInfo message is associated with only one generated +/// source file, but may contain references to different source .proto files. +class GeneratedCodeInfo extends $pb.GeneratedMessage { + factory GeneratedCodeInfo({ + $core.Iterable? annotation, + }) { + final $result = create(); + if (annotation != null) { + $result.annotation.addAll(annotation); + } + return $result; + } + GeneratedCodeInfo._() : super(); + factory GeneratedCodeInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GeneratedCodeInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GeneratedCodeInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'annotation', $pb.PbFieldType.PM, subBuilder: GeneratedCodeInfo_Annotation.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GeneratedCodeInfo clone() => GeneratedCodeInfo()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GeneratedCodeInfo copyWith(void Function(GeneratedCodeInfo) updates) => super.copyWith((message) => updates(message as GeneratedCodeInfo)) as GeneratedCodeInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GeneratedCodeInfo create() => GeneratedCodeInfo._(); + GeneratedCodeInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GeneratedCodeInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GeneratedCodeInfo? _defaultInstance; + + /// An Annotation connects some span of text in generated code to an element + /// of its generating .proto file. + @$pb.TagNumber(1) + $core.List get annotation => $_getList(0); +} + + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/packages/corks/lib/src/proto/google/protobuf/descriptor.pbenum.dart b/packages/corks/lib/src/proto/google/protobuf/descriptor.pbenum.dart new file mode 100644 index 00000000..3e18c030 --- /dev/null +++ b/packages/corks/lib/src/proto/google/protobuf/descriptor.pbenum.dart @@ -0,0 +1,377 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/descriptor.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// The full set of known editions. +class Edition extends $pb.ProtobufEnum { + static const Edition EDITION_UNKNOWN = Edition._(0, _omitEnumNames ? '' : 'EDITION_UNKNOWN'); + static const Edition EDITION_PROTO2 = Edition._(998, _omitEnumNames ? '' : 'EDITION_PROTO2'); + static const Edition EDITION_PROTO3 = Edition._(999, _omitEnumNames ? '' : 'EDITION_PROTO3'); + static const Edition EDITION_2023 = Edition._(1000, _omitEnumNames ? '' : 'EDITION_2023'); + static const Edition EDITION_1_TEST_ONLY = Edition._(1, _omitEnumNames ? '' : 'EDITION_1_TEST_ONLY'); + static const Edition EDITION_2_TEST_ONLY = Edition._(2, _omitEnumNames ? '' : 'EDITION_2_TEST_ONLY'); + static const Edition EDITION_99997_TEST_ONLY = Edition._(99997, _omitEnumNames ? '' : 'EDITION_99997_TEST_ONLY'); + static const Edition EDITION_99998_TEST_ONLY = Edition._(99998, _omitEnumNames ? '' : 'EDITION_99998_TEST_ONLY'); + static const Edition EDITION_99999_TEST_ONLY = Edition._(99999, _omitEnumNames ? '' : 'EDITION_99999_TEST_ONLY'); + + static const $core.List values = [ + EDITION_UNKNOWN, + EDITION_PROTO2, + EDITION_PROTO3, + EDITION_2023, + EDITION_1_TEST_ONLY, + EDITION_2_TEST_ONLY, + EDITION_99997_TEST_ONLY, + EDITION_99998_TEST_ONLY, + EDITION_99999_TEST_ONLY, + ]; + + static final $core.Map<$core.int, Edition> _byValue = $pb.ProtobufEnum.initByValue(values); + static Edition? valueOf($core.int value) => _byValue[value]; + + const Edition._($core.int v, $core.String n) : super(v, n); +} + +/// The verification state of the extension range. +class ExtensionRangeOptions_VerificationState extends $pb.ProtobufEnum { + static const ExtensionRangeOptions_VerificationState DECLARATION = ExtensionRangeOptions_VerificationState._(0, _omitEnumNames ? '' : 'DECLARATION'); + static const ExtensionRangeOptions_VerificationState UNVERIFIED = ExtensionRangeOptions_VerificationState._(1, _omitEnumNames ? '' : 'UNVERIFIED'); + + static const $core.List values = [ + DECLARATION, + UNVERIFIED, + ]; + + static final $core.Map<$core.int, ExtensionRangeOptions_VerificationState> _byValue = $pb.ProtobufEnum.initByValue(values); + static ExtensionRangeOptions_VerificationState? valueOf($core.int value) => _byValue[value]; + + const ExtensionRangeOptions_VerificationState._($core.int v, $core.String n) : super(v, n); +} + +class FieldDescriptorProto_Type extends $pb.ProtobufEnum { + static const FieldDescriptorProto_Type TYPE_DOUBLE = FieldDescriptorProto_Type._(1, _omitEnumNames ? '' : 'TYPE_DOUBLE'); + static const FieldDescriptorProto_Type TYPE_FLOAT = FieldDescriptorProto_Type._(2, _omitEnumNames ? '' : 'TYPE_FLOAT'); + static const FieldDescriptorProto_Type TYPE_INT64 = FieldDescriptorProto_Type._(3, _omitEnumNames ? '' : 'TYPE_INT64'); + static const FieldDescriptorProto_Type TYPE_UINT64 = FieldDescriptorProto_Type._(4, _omitEnumNames ? '' : 'TYPE_UINT64'); + static const FieldDescriptorProto_Type TYPE_INT32 = FieldDescriptorProto_Type._(5, _omitEnumNames ? '' : 'TYPE_INT32'); + static const FieldDescriptorProto_Type TYPE_FIXED64 = FieldDescriptorProto_Type._(6, _omitEnumNames ? '' : 'TYPE_FIXED64'); + static const FieldDescriptorProto_Type TYPE_FIXED32 = FieldDescriptorProto_Type._(7, _omitEnumNames ? '' : 'TYPE_FIXED32'); + static const FieldDescriptorProto_Type TYPE_BOOL = FieldDescriptorProto_Type._(8, _omitEnumNames ? '' : 'TYPE_BOOL'); + static const FieldDescriptorProto_Type TYPE_STRING = FieldDescriptorProto_Type._(9, _omitEnumNames ? '' : 'TYPE_STRING'); + static const FieldDescriptorProto_Type TYPE_GROUP = FieldDescriptorProto_Type._(10, _omitEnumNames ? '' : 'TYPE_GROUP'); + static const FieldDescriptorProto_Type TYPE_MESSAGE = FieldDescriptorProto_Type._(11, _omitEnumNames ? '' : 'TYPE_MESSAGE'); + static const FieldDescriptorProto_Type TYPE_BYTES = FieldDescriptorProto_Type._(12, _omitEnumNames ? '' : 'TYPE_BYTES'); + static const FieldDescriptorProto_Type TYPE_UINT32 = FieldDescriptorProto_Type._(13, _omitEnumNames ? '' : 'TYPE_UINT32'); + static const FieldDescriptorProto_Type TYPE_ENUM = FieldDescriptorProto_Type._(14, _omitEnumNames ? '' : 'TYPE_ENUM'); + static const FieldDescriptorProto_Type TYPE_SFIXED32 = FieldDescriptorProto_Type._(15, _omitEnumNames ? '' : 'TYPE_SFIXED32'); + static const FieldDescriptorProto_Type TYPE_SFIXED64 = FieldDescriptorProto_Type._(16, _omitEnumNames ? '' : 'TYPE_SFIXED64'); + static const FieldDescriptorProto_Type TYPE_SINT32 = FieldDescriptorProto_Type._(17, _omitEnumNames ? '' : 'TYPE_SINT32'); + static const FieldDescriptorProto_Type TYPE_SINT64 = FieldDescriptorProto_Type._(18, _omitEnumNames ? '' : 'TYPE_SINT64'); + + static const $core.List values = [ + TYPE_DOUBLE, + TYPE_FLOAT, + TYPE_INT64, + TYPE_UINT64, + TYPE_INT32, + TYPE_FIXED64, + TYPE_FIXED32, + TYPE_BOOL, + TYPE_STRING, + TYPE_GROUP, + TYPE_MESSAGE, + TYPE_BYTES, + TYPE_UINT32, + TYPE_ENUM, + TYPE_SFIXED32, + TYPE_SFIXED64, + TYPE_SINT32, + TYPE_SINT64, + ]; + + static final $core.Map<$core.int, FieldDescriptorProto_Type> _byValue = $pb.ProtobufEnum.initByValue(values); + static FieldDescriptorProto_Type? valueOf($core.int value) => _byValue[value]; + + const FieldDescriptorProto_Type._($core.int v, $core.String n) : super(v, n); +} + +class FieldDescriptorProto_Label extends $pb.ProtobufEnum { + static const FieldDescriptorProto_Label LABEL_OPTIONAL = FieldDescriptorProto_Label._(1, _omitEnumNames ? '' : 'LABEL_OPTIONAL'); + static const FieldDescriptorProto_Label LABEL_REPEATED = FieldDescriptorProto_Label._(3, _omitEnumNames ? '' : 'LABEL_REPEATED'); + static const FieldDescriptorProto_Label LABEL_REQUIRED = FieldDescriptorProto_Label._(2, _omitEnumNames ? '' : 'LABEL_REQUIRED'); + + static const $core.List values = [ + LABEL_OPTIONAL, + LABEL_REPEATED, + LABEL_REQUIRED, + ]; + + static final $core.Map<$core.int, FieldDescriptorProto_Label> _byValue = $pb.ProtobufEnum.initByValue(values); + static FieldDescriptorProto_Label? valueOf($core.int value) => _byValue[value]; + + const FieldDescriptorProto_Label._($core.int v, $core.String n) : super(v, n); +} + +/// Generated classes can be optimized for speed or code size. +class FileOptions_OptimizeMode extends $pb.ProtobufEnum { + static const FileOptions_OptimizeMode SPEED = FileOptions_OptimizeMode._(1, _omitEnumNames ? '' : 'SPEED'); + static const FileOptions_OptimizeMode CODE_SIZE = FileOptions_OptimizeMode._(2, _omitEnumNames ? '' : 'CODE_SIZE'); + static const FileOptions_OptimizeMode LITE_RUNTIME = FileOptions_OptimizeMode._(3, _omitEnumNames ? '' : 'LITE_RUNTIME'); + + static const $core.List values = [ + SPEED, + CODE_SIZE, + LITE_RUNTIME, + ]; + + static final $core.Map<$core.int, FileOptions_OptimizeMode> _byValue = $pb.ProtobufEnum.initByValue(values); + static FileOptions_OptimizeMode? valueOf($core.int value) => _byValue[value]; + + const FileOptions_OptimizeMode._($core.int v, $core.String n) : super(v, n); +} + +class FieldOptions_CType extends $pb.ProtobufEnum { + static const FieldOptions_CType STRING = FieldOptions_CType._(0, _omitEnumNames ? '' : 'STRING'); + static const FieldOptions_CType CORD = FieldOptions_CType._(1, _omitEnumNames ? '' : 'CORD'); + static const FieldOptions_CType STRING_PIECE = FieldOptions_CType._(2, _omitEnumNames ? '' : 'STRING_PIECE'); + + static const $core.List values = [ + STRING, + CORD, + STRING_PIECE, + ]; + + static final $core.Map<$core.int, FieldOptions_CType> _byValue = $pb.ProtobufEnum.initByValue(values); + static FieldOptions_CType? valueOf($core.int value) => _byValue[value]; + + const FieldOptions_CType._($core.int v, $core.String n) : super(v, n); +} + +class FieldOptions_JSType extends $pb.ProtobufEnum { + static const FieldOptions_JSType JS_NORMAL = FieldOptions_JSType._(0, _omitEnumNames ? '' : 'JS_NORMAL'); + static const FieldOptions_JSType JS_STRING = FieldOptions_JSType._(1, _omitEnumNames ? '' : 'JS_STRING'); + static const FieldOptions_JSType JS_NUMBER = FieldOptions_JSType._(2, _omitEnumNames ? '' : 'JS_NUMBER'); + + static const $core.List values = [ + JS_NORMAL, + JS_STRING, + JS_NUMBER, + ]; + + static final $core.Map<$core.int, FieldOptions_JSType> _byValue = $pb.ProtobufEnum.initByValue(values); + static FieldOptions_JSType? valueOf($core.int value) => _byValue[value]; + + const FieldOptions_JSType._($core.int v, $core.String n) : super(v, n); +} + +/// If set to RETENTION_SOURCE, the option will be omitted from the binary. +/// Note: as of January 2023, support for this is in progress and does not yet +/// have an effect (b/264593489). +class FieldOptions_OptionRetention extends $pb.ProtobufEnum { + static const FieldOptions_OptionRetention RETENTION_UNKNOWN = FieldOptions_OptionRetention._(0, _omitEnumNames ? '' : 'RETENTION_UNKNOWN'); + static const FieldOptions_OptionRetention RETENTION_RUNTIME = FieldOptions_OptionRetention._(1, _omitEnumNames ? '' : 'RETENTION_RUNTIME'); + static const FieldOptions_OptionRetention RETENTION_SOURCE = FieldOptions_OptionRetention._(2, _omitEnumNames ? '' : 'RETENTION_SOURCE'); + + static const $core.List values = [ + RETENTION_UNKNOWN, + RETENTION_RUNTIME, + RETENTION_SOURCE, + ]; + + static final $core.Map<$core.int, FieldOptions_OptionRetention> _byValue = $pb.ProtobufEnum.initByValue(values); + static FieldOptions_OptionRetention? valueOf($core.int value) => _byValue[value]; + + const FieldOptions_OptionRetention._($core.int v, $core.String n) : super(v, n); +} + +/// This indicates the types of entities that the field may apply to when used +/// as an option. If it is unset, then the field may be freely used as an +/// option on any kind of entity. Note: as of January 2023, support for this is +/// in progress and does not yet have an effect (b/264593489). +class FieldOptions_OptionTargetType extends $pb.ProtobufEnum { + static const FieldOptions_OptionTargetType TARGET_TYPE_UNKNOWN = FieldOptions_OptionTargetType._(0, _omitEnumNames ? '' : 'TARGET_TYPE_UNKNOWN'); + static const FieldOptions_OptionTargetType TARGET_TYPE_FILE = FieldOptions_OptionTargetType._(1, _omitEnumNames ? '' : 'TARGET_TYPE_FILE'); + static const FieldOptions_OptionTargetType TARGET_TYPE_EXTENSION_RANGE = FieldOptions_OptionTargetType._(2, _omitEnumNames ? '' : 'TARGET_TYPE_EXTENSION_RANGE'); + static const FieldOptions_OptionTargetType TARGET_TYPE_MESSAGE = FieldOptions_OptionTargetType._(3, _omitEnumNames ? '' : 'TARGET_TYPE_MESSAGE'); + static const FieldOptions_OptionTargetType TARGET_TYPE_FIELD = FieldOptions_OptionTargetType._(4, _omitEnumNames ? '' : 'TARGET_TYPE_FIELD'); + static const FieldOptions_OptionTargetType TARGET_TYPE_ONEOF = FieldOptions_OptionTargetType._(5, _omitEnumNames ? '' : 'TARGET_TYPE_ONEOF'); + static const FieldOptions_OptionTargetType TARGET_TYPE_ENUM = FieldOptions_OptionTargetType._(6, _omitEnumNames ? '' : 'TARGET_TYPE_ENUM'); + static const FieldOptions_OptionTargetType TARGET_TYPE_ENUM_ENTRY = FieldOptions_OptionTargetType._(7, _omitEnumNames ? '' : 'TARGET_TYPE_ENUM_ENTRY'); + static const FieldOptions_OptionTargetType TARGET_TYPE_SERVICE = FieldOptions_OptionTargetType._(8, _omitEnumNames ? '' : 'TARGET_TYPE_SERVICE'); + static const FieldOptions_OptionTargetType TARGET_TYPE_METHOD = FieldOptions_OptionTargetType._(9, _omitEnumNames ? '' : 'TARGET_TYPE_METHOD'); + + static const $core.List values = [ + TARGET_TYPE_UNKNOWN, + TARGET_TYPE_FILE, + TARGET_TYPE_EXTENSION_RANGE, + TARGET_TYPE_MESSAGE, + TARGET_TYPE_FIELD, + TARGET_TYPE_ONEOF, + TARGET_TYPE_ENUM, + TARGET_TYPE_ENUM_ENTRY, + TARGET_TYPE_SERVICE, + TARGET_TYPE_METHOD, + ]; + + static final $core.Map<$core.int, FieldOptions_OptionTargetType> _byValue = $pb.ProtobufEnum.initByValue(values); + static FieldOptions_OptionTargetType? valueOf($core.int value) => _byValue[value]; + + const FieldOptions_OptionTargetType._($core.int v, $core.String n) : super(v, n); +} + +/// Is this method side-effect-free (or safe in HTTP parlance), or idempotent, +/// or neither? HTTP based RPC implementation may choose GET verb for safe +/// methods, and PUT verb for idempotent methods instead of the default POST. +class MethodOptions_IdempotencyLevel extends $pb.ProtobufEnum { + static const MethodOptions_IdempotencyLevel IDEMPOTENCY_UNKNOWN = MethodOptions_IdempotencyLevel._(0, _omitEnumNames ? '' : 'IDEMPOTENCY_UNKNOWN'); + static const MethodOptions_IdempotencyLevel NO_SIDE_EFFECTS = MethodOptions_IdempotencyLevel._(1, _omitEnumNames ? '' : 'NO_SIDE_EFFECTS'); + static const MethodOptions_IdempotencyLevel IDEMPOTENT = MethodOptions_IdempotencyLevel._(2, _omitEnumNames ? '' : 'IDEMPOTENT'); + + static const $core.List values = [ + IDEMPOTENCY_UNKNOWN, + NO_SIDE_EFFECTS, + IDEMPOTENT, + ]; + + static final $core.Map<$core.int, MethodOptions_IdempotencyLevel> _byValue = $pb.ProtobufEnum.initByValue(values); + static MethodOptions_IdempotencyLevel? valueOf($core.int value) => _byValue[value]; + + const MethodOptions_IdempotencyLevel._($core.int v, $core.String n) : super(v, n); +} + +class FeatureSet_FieldPresence extends $pb.ProtobufEnum { + static const FeatureSet_FieldPresence FIELD_PRESENCE_UNKNOWN = FeatureSet_FieldPresence._(0, _omitEnumNames ? '' : 'FIELD_PRESENCE_UNKNOWN'); + static const FeatureSet_FieldPresence EXPLICIT = FeatureSet_FieldPresence._(1, _omitEnumNames ? '' : 'EXPLICIT'); + static const FeatureSet_FieldPresence IMPLICIT = FeatureSet_FieldPresence._(2, _omitEnumNames ? '' : 'IMPLICIT'); + static const FeatureSet_FieldPresence LEGACY_REQUIRED = FeatureSet_FieldPresence._(3, _omitEnumNames ? '' : 'LEGACY_REQUIRED'); + + static const $core.List values = [ + FIELD_PRESENCE_UNKNOWN, + EXPLICIT, + IMPLICIT, + LEGACY_REQUIRED, + ]; + + static final $core.Map<$core.int, FeatureSet_FieldPresence> _byValue = $pb.ProtobufEnum.initByValue(values); + static FeatureSet_FieldPresence? valueOf($core.int value) => _byValue[value]; + + const FeatureSet_FieldPresence._($core.int v, $core.String n) : super(v, n); +} + +class FeatureSet_EnumType extends $pb.ProtobufEnum { + static const FeatureSet_EnumType ENUM_TYPE_UNKNOWN = FeatureSet_EnumType._(0, _omitEnumNames ? '' : 'ENUM_TYPE_UNKNOWN'); + static const FeatureSet_EnumType OPEN = FeatureSet_EnumType._(1, _omitEnumNames ? '' : 'OPEN'); + static const FeatureSet_EnumType CLOSED = FeatureSet_EnumType._(2, _omitEnumNames ? '' : 'CLOSED'); + + static const $core.List values = [ + ENUM_TYPE_UNKNOWN, + OPEN, + CLOSED, + ]; + + static final $core.Map<$core.int, FeatureSet_EnumType> _byValue = $pb.ProtobufEnum.initByValue(values); + static FeatureSet_EnumType? valueOf($core.int value) => _byValue[value]; + + const FeatureSet_EnumType._($core.int v, $core.String n) : super(v, n); +} + +class FeatureSet_RepeatedFieldEncoding extends $pb.ProtobufEnum { + static const FeatureSet_RepeatedFieldEncoding REPEATED_FIELD_ENCODING_UNKNOWN = FeatureSet_RepeatedFieldEncoding._(0, _omitEnumNames ? '' : 'REPEATED_FIELD_ENCODING_UNKNOWN'); + static const FeatureSet_RepeatedFieldEncoding PACKED = FeatureSet_RepeatedFieldEncoding._(1, _omitEnumNames ? '' : 'PACKED'); + static const FeatureSet_RepeatedFieldEncoding EXPANDED = FeatureSet_RepeatedFieldEncoding._(2, _omitEnumNames ? '' : 'EXPANDED'); + + static const $core.List values = [ + REPEATED_FIELD_ENCODING_UNKNOWN, + PACKED, + EXPANDED, + ]; + + static final $core.Map<$core.int, FeatureSet_RepeatedFieldEncoding> _byValue = $pb.ProtobufEnum.initByValue(values); + static FeatureSet_RepeatedFieldEncoding? valueOf($core.int value) => _byValue[value]; + + const FeatureSet_RepeatedFieldEncoding._($core.int v, $core.String n) : super(v, n); +} + +class FeatureSet_Utf8Validation extends $pb.ProtobufEnum { + static const FeatureSet_Utf8Validation UTF8_VALIDATION_UNKNOWN = FeatureSet_Utf8Validation._(0, _omitEnumNames ? '' : 'UTF8_VALIDATION_UNKNOWN'); + static const FeatureSet_Utf8Validation NONE = FeatureSet_Utf8Validation._(1, _omitEnumNames ? '' : 'NONE'); + static const FeatureSet_Utf8Validation VERIFY = FeatureSet_Utf8Validation._(2, _omitEnumNames ? '' : 'VERIFY'); + + static const $core.List values = [ + UTF8_VALIDATION_UNKNOWN, + NONE, + VERIFY, + ]; + + static final $core.Map<$core.int, FeatureSet_Utf8Validation> _byValue = $pb.ProtobufEnum.initByValue(values); + static FeatureSet_Utf8Validation? valueOf($core.int value) => _byValue[value]; + + const FeatureSet_Utf8Validation._($core.int v, $core.String n) : super(v, n); +} + +class FeatureSet_MessageEncoding extends $pb.ProtobufEnum { + static const FeatureSet_MessageEncoding MESSAGE_ENCODING_UNKNOWN = FeatureSet_MessageEncoding._(0, _omitEnumNames ? '' : 'MESSAGE_ENCODING_UNKNOWN'); + static const FeatureSet_MessageEncoding LENGTH_PREFIXED = FeatureSet_MessageEncoding._(1, _omitEnumNames ? '' : 'LENGTH_PREFIXED'); + static const FeatureSet_MessageEncoding DELIMITED = FeatureSet_MessageEncoding._(2, _omitEnumNames ? '' : 'DELIMITED'); + + static const $core.List values = [ + MESSAGE_ENCODING_UNKNOWN, + LENGTH_PREFIXED, + DELIMITED, + ]; + + static final $core.Map<$core.int, FeatureSet_MessageEncoding> _byValue = $pb.ProtobufEnum.initByValue(values); + static FeatureSet_MessageEncoding? valueOf($core.int value) => _byValue[value]; + + const FeatureSet_MessageEncoding._($core.int v, $core.String n) : super(v, n); +} + +class FeatureSet_JsonFormat extends $pb.ProtobufEnum { + static const FeatureSet_JsonFormat JSON_FORMAT_UNKNOWN = FeatureSet_JsonFormat._(0, _omitEnumNames ? '' : 'JSON_FORMAT_UNKNOWN'); + static const FeatureSet_JsonFormat ALLOW = FeatureSet_JsonFormat._(1, _omitEnumNames ? '' : 'ALLOW'); + static const FeatureSet_JsonFormat LEGACY_BEST_EFFORT = FeatureSet_JsonFormat._(2, _omitEnumNames ? '' : 'LEGACY_BEST_EFFORT'); + + static const $core.List values = [ + JSON_FORMAT_UNKNOWN, + ALLOW, + LEGACY_BEST_EFFORT, + ]; + + static final $core.Map<$core.int, FeatureSet_JsonFormat> _byValue = $pb.ProtobufEnum.initByValue(values); + static FeatureSet_JsonFormat? valueOf($core.int value) => _byValue[value]; + + const FeatureSet_JsonFormat._($core.int v, $core.String n) : super(v, n); +} + +/// Represents the identified object's effect on the element in the original +/// .proto file. +class GeneratedCodeInfo_Annotation_Semantic extends $pb.ProtobufEnum { + static const GeneratedCodeInfo_Annotation_Semantic NONE = GeneratedCodeInfo_Annotation_Semantic._(0, _omitEnumNames ? '' : 'NONE'); + static const GeneratedCodeInfo_Annotation_Semantic SET = GeneratedCodeInfo_Annotation_Semantic._(1, _omitEnumNames ? '' : 'SET'); + static const GeneratedCodeInfo_Annotation_Semantic ALIAS = GeneratedCodeInfo_Annotation_Semantic._(2, _omitEnumNames ? '' : 'ALIAS'); + + static const $core.List values = [ + NONE, + SET, + ALIAS, + ]; + + static final $core.Map<$core.int, GeneratedCodeInfo_Annotation_Semantic> _byValue = $pb.ProtobufEnum.initByValue(values); + static GeneratedCodeInfo_Annotation_Semantic? valueOf($core.int value) => _byValue[value]; + + const GeneratedCodeInfo_Annotation_Semantic._($core.int v, $core.String n) : super(v, n); +} + + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/packages/corks/lib/src/proto/google/protobuf/descriptor.pbjson.dart b/packages/corks/lib/src/proto/google/protobuf/descriptor.pbjson.dart new file mode 100644 index 00000000..58f4f727 --- /dev/null +++ b/packages/corks/lib/src/proto/google/protobuf/descriptor.pbjson.dart @@ -0,0 +1,1004 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/descriptor.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use editionDescriptor instead') +const Edition$json = { + '1': 'Edition', + '2': [ + {'1': 'EDITION_UNKNOWN', '2': 0}, + {'1': 'EDITION_PROTO2', '2': 998}, + {'1': 'EDITION_PROTO3', '2': 999}, + {'1': 'EDITION_2023', '2': 1000}, + {'1': 'EDITION_1_TEST_ONLY', '2': 1}, + {'1': 'EDITION_2_TEST_ONLY', '2': 2}, + {'1': 'EDITION_99997_TEST_ONLY', '2': 99997}, + {'1': 'EDITION_99998_TEST_ONLY', '2': 99998}, + {'1': 'EDITION_99999_TEST_ONLY', '2': 99999}, + ], +}; + +/// Descriptor for `Edition`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List editionDescriptor = $convert.base64Decode( + 'CgdFZGl0aW9uEhMKD0VESVRJT05fVU5LTk9XThAAEhMKDkVESVRJT05fUFJPVE8yEOYHEhMKDk' + 'VESVRJT05fUFJPVE8zEOcHEhEKDEVESVRJT05fMjAyMxDoBxIXChNFRElUSU9OXzFfVEVTVF9P' + 'TkxZEAESFwoTRURJVElPTl8yX1RFU1RfT05MWRACEh0KF0VESVRJT05fOTk5OTdfVEVTVF9PTk' + 'xZEJ2NBhIdChdFRElUSU9OXzk5OTk4X1RFU1RfT05MWRCejQYSHQoXRURJVElPTl85OTk5OV9U' + 'RVNUX09OTFkQn40G'); + +@$core.Deprecated('Use fileDescriptorSetDescriptor instead') +const FileDescriptorSet$json = { + '1': 'FileDescriptorSet', + '2': [ + {'1': 'file', '3': 1, '4': 3, '5': 11, '6': '.google.protobuf.FileDescriptorProto', '10': 'file'}, + ], +}; + +/// Descriptor for `FileDescriptorSet`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List fileDescriptorSetDescriptor = $convert.base64Decode( + 'ChFGaWxlRGVzY3JpcHRvclNldBI4CgRmaWxlGAEgAygLMiQuZ29vZ2xlLnByb3RvYnVmLkZpbG' + 'VEZXNjcmlwdG9yUHJvdG9SBGZpbGU='); + +@$core.Deprecated('Use fileDescriptorProtoDescriptor instead') +const FileDescriptorProto$json = { + '1': 'FileDescriptorProto', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'package', '3': 2, '4': 1, '5': 9, '10': 'package'}, + {'1': 'dependency', '3': 3, '4': 3, '5': 9, '10': 'dependency'}, + {'1': 'public_dependency', '3': 10, '4': 3, '5': 5, '10': 'publicDependency'}, + {'1': 'weak_dependency', '3': 11, '4': 3, '5': 5, '10': 'weakDependency'}, + {'1': 'message_type', '3': 4, '4': 3, '5': 11, '6': '.google.protobuf.DescriptorProto', '10': 'messageType'}, + {'1': 'enum_type', '3': 5, '4': 3, '5': 11, '6': '.google.protobuf.EnumDescriptorProto', '10': 'enumType'}, + {'1': 'service', '3': 6, '4': 3, '5': 11, '6': '.google.protobuf.ServiceDescriptorProto', '10': 'service'}, + {'1': 'extension', '3': 7, '4': 3, '5': 11, '6': '.google.protobuf.FieldDescriptorProto', '10': 'extension'}, + {'1': 'options', '3': 8, '4': 1, '5': 11, '6': '.google.protobuf.FileOptions', '10': 'options'}, + {'1': 'source_code_info', '3': 9, '4': 1, '5': 11, '6': '.google.protobuf.SourceCodeInfo', '10': 'sourceCodeInfo'}, + {'1': 'syntax', '3': 12, '4': 1, '5': 9, '10': 'syntax'}, + {'1': 'edition', '3': 14, '4': 1, '5': 14, '6': '.google.protobuf.Edition', '10': 'edition'}, + ], +}; + +/// Descriptor for `FileDescriptorProto`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List fileDescriptorProtoDescriptor = $convert.base64Decode( + 'ChNGaWxlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSGAoHcGFja2FnZRgCIA' + 'EoCVIHcGFja2FnZRIeCgpkZXBlbmRlbmN5GAMgAygJUgpkZXBlbmRlbmN5EisKEXB1YmxpY19k' + 'ZXBlbmRlbmN5GAogAygFUhBwdWJsaWNEZXBlbmRlbmN5EicKD3dlYWtfZGVwZW5kZW5jeRgLIA' + 'MoBVIOd2Vha0RlcGVuZGVuY3kSQwoMbWVzc2FnZV90eXBlGAQgAygLMiAuZ29vZ2xlLnByb3Rv' + 'YnVmLkRlc2NyaXB0b3JQcm90b1ILbWVzc2FnZVR5cGUSQQoJZW51bV90eXBlGAUgAygLMiQuZ2' + '9vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJvdG9SCGVudW1UeXBlEkEKB3NlcnZpY2UY' + 'BiADKAsyJy5nb29nbGUucHJvdG9idWYuU2VydmljZURlc2NyaXB0b3JQcm90b1IHc2VydmljZR' + 'JDCglleHRlbnNpb24YByADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJv' + 'dG9SCWV4dGVuc2lvbhI2CgdvcHRpb25zGAggASgLMhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcH' + 'Rpb25zUgdvcHRpb25zEkkKEHNvdXJjZV9jb2RlX2luZm8YCSABKAsyHy5nb29nbGUucHJvdG9i' + 'dWYuU291cmNlQ29kZUluZm9SDnNvdXJjZUNvZGVJbmZvEhYKBnN5bnRheBgMIAEoCVIGc3ludG' + 'F4EjIKB2VkaXRpb24YDiABKA4yGC5nb29nbGUucHJvdG9idWYuRWRpdGlvblIHZWRpdGlvbg=='); + +@$core.Deprecated('Use descriptorProtoDescriptor instead') +const DescriptorProto$json = { + '1': 'DescriptorProto', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'field', '3': 2, '4': 3, '5': 11, '6': '.google.protobuf.FieldDescriptorProto', '10': 'field'}, + {'1': 'extension', '3': 6, '4': 3, '5': 11, '6': '.google.protobuf.FieldDescriptorProto', '10': 'extension'}, + {'1': 'nested_type', '3': 3, '4': 3, '5': 11, '6': '.google.protobuf.DescriptorProto', '10': 'nestedType'}, + {'1': 'enum_type', '3': 4, '4': 3, '5': 11, '6': '.google.protobuf.EnumDescriptorProto', '10': 'enumType'}, + {'1': 'extension_range', '3': 5, '4': 3, '5': 11, '6': '.google.protobuf.DescriptorProto.ExtensionRange', '10': 'extensionRange'}, + {'1': 'oneof_decl', '3': 8, '4': 3, '5': 11, '6': '.google.protobuf.OneofDescriptorProto', '10': 'oneofDecl'}, + {'1': 'options', '3': 7, '4': 1, '5': 11, '6': '.google.protobuf.MessageOptions', '10': 'options'}, + {'1': 'reserved_range', '3': 9, '4': 3, '5': 11, '6': '.google.protobuf.DescriptorProto.ReservedRange', '10': 'reservedRange'}, + {'1': 'reserved_name', '3': 10, '4': 3, '5': 9, '10': 'reservedName'}, + ], + '3': [DescriptorProto_ExtensionRange$json, DescriptorProto_ReservedRange$json], +}; + +@$core.Deprecated('Use descriptorProtoDescriptor instead') +const DescriptorProto_ExtensionRange$json = { + '1': 'ExtensionRange', + '2': [ + {'1': 'start', '3': 1, '4': 1, '5': 5, '10': 'start'}, + {'1': 'end', '3': 2, '4': 1, '5': 5, '10': 'end'}, + {'1': 'options', '3': 3, '4': 1, '5': 11, '6': '.google.protobuf.ExtensionRangeOptions', '10': 'options'}, + ], +}; + +@$core.Deprecated('Use descriptorProtoDescriptor instead') +const DescriptorProto_ReservedRange$json = { + '1': 'ReservedRange', + '2': [ + {'1': 'start', '3': 1, '4': 1, '5': 5, '10': 'start'}, + {'1': 'end', '3': 2, '4': 1, '5': 5, '10': 'end'}, + ], +}; + +/// Descriptor for `DescriptorProto`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List descriptorProtoDescriptor = $convert.base64Decode( + 'Cg9EZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI7CgVmaWVsZBgCIAMoCzIlLm' + 'dvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IFZmllbGQSQwoJZXh0ZW5zaW9u' + 'GAYgAygLMiUuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvUglleHRlbnNpb2' + '4SQQoLbmVzdGVkX3R5cGUYAyADKAsyIC5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3Rv' + 'UgpuZXN0ZWRUeXBlEkEKCWVudW1fdHlwZRgEIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5FbnVtRG' + 'VzY3JpcHRvclByb3RvUghlbnVtVHlwZRJYCg9leHRlbnNpb25fcmFuZ2UYBSADKAsyLy5nb29n' + 'bGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvLkV4dGVuc2lvblJhbmdlUg5leHRlbnNpb25SYW' + '5nZRJECgpvbmVvZl9kZWNsGAggAygLMiUuZ29vZ2xlLnByb3RvYnVmLk9uZW9mRGVzY3JpcHRv' + 'clByb3RvUglvbmVvZkRlY2wSOQoHb3B0aW9ucxgHIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5NZX' + 'NzYWdlT3B0aW9uc1IHb3B0aW9ucxJVCg5yZXNlcnZlZF9yYW5nZRgJIAMoCzIuLmdvb2dsZS5w' + 'cm90b2J1Zi5EZXNjcmlwdG9yUHJvdG8uUmVzZXJ2ZWRSYW5nZVINcmVzZXJ2ZWRSYW5nZRIjCg' + '1yZXNlcnZlZF9uYW1lGAogAygJUgxyZXNlcnZlZE5hbWUaegoORXh0ZW5zaW9uUmFuZ2USFAoF' + 'c3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5kEkAKB29wdGlvbnMYAyABKAsyJi' + '5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2VPcHRpb25zUgdvcHRpb25zGjcKDVJlc2Vy' + 'dmVkUmFuZ2USFAoFc3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5k'); + +@$core.Deprecated('Use extensionRangeOptionsDescriptor instead') +const ExtensionRangeOptions$json = { + '1': 'ExtensionRangeOptions', + '2': [ + {'1': 'uninterpreted_option', '3': 999, '4': 3, '5': 11, '6': '.google.protobuf.UninterpretedOption', '10': 'uninterpretedOption'}, + {'1': 'declaration', '3': 2, '4': 3, '5': 11, '6': '.google.protobuf.ExtensionRangeOptions.Declaration', '8': {}, '10': 'declaration'}, + {'1': 'features', '3': 50, '4': 1, '5': 11, '6': '.google.protobuf.FeatureSet', '10': 'features'}, + {'1': 'verification', '3': 3, '4': 1, '5': 14, '6': '.google.protobuf.ExtensionRangeOptions.VerificationState', '7': 'UNVERIFIED', '10': 'verification'}, + ], + '3': [ExtensionRangeOptions_Declaration$json], + '4': [ExtensionRangeOptions_VerificationState$json], + '5': [ + {'1': 1000, '2': 536870912}, + ], +}; + +@$core.Deprecated('Use extensionRangeOptionsDescriptor instead') +const ExtensionRangeOptions_Declaration$json = { + '1': 'Declaration', + '2': [ + {'1': 'number', '3': 1, '4': 1, '5': 5, '10': 'number'}, + {'1': 'full_name', '3': 2, '4': 1, '5': 9, '10': 'fullName'}, + {'1': 'type', '3': 3, '4': 1, '5': 9, '10': 'type'}, + {'1': 'reserved', '3': 5, '4': 1, '5': 8, '10': 'reserved'}, + {'1': 'repeated', '3': 6, '4': 1, '5': 8, '10': 'repeated'}, + ], + '9': [ + {'1': 4, '2': 5}, + ], +}; + +@$core.Deprecated('Use extensionRangeOptionsDescriptor instead') +const ExtensionRangeOptions_VerificationState$json = { + '1': 'VerificationState', + '2': [ + {'1': 'DECLARATION', '2': 0}, + {'1': 'UNVERIFIED', '2': 1}, + ], +}; + +/// Descriptor for `ExtensionRangeOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List extensionRangeOptionsDescriptor = $convert.base64Decode( + 'ChVFeHRlbnNpb25SYW5nZU9wdGlvbnMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMi' + 'QuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRp' + 'b24SWQoLZGVjbGFyYXRpb24YAiADKAsyMi5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2' + 'VPcHRpb25zLkRlY2xhcmF0aW9uQgOIAQJSC2RlY2xhcmF0aW9uEjcKCGZlYXR1cmVzGDIgASgL' + 'MhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzEmgKDHZlcmlmaWNhdGlvbh' + 'gDIAEoDjI4Lmdvb2dsZS5wcm90b2J1Zi5FeHRlbnNpb25SYW5nZU9wdGlvbnMuVmVyaWZpY2F0' + 'aW9uU3RhdGU6ClVOVkVSSUZJRURSDHZlcmlmaWNhdGlvbhqUAQoLRGVjbGFyYXRpb24SFgoGbn' + 'VtYmVyGAEgASgFUgZudW1iZXISGwoJZnVsbF9uYW1lGAIgASgJUghmdWxsTmFtZRISCgR0eXBl' + 'GAMgASgJUgR0eXBlEhoKCHJlc2VydmVkGAUgASgIUghyZXNlcnZlZBIaCghyZXBlYXRlZBgGIA' + 'EoCFIIcmVwZWF0ZWRKBAgEEAUiNAoRVmVyaWZpY2F0aW9uU3RhdGUSDwoLREVDTEFSQVRJT04Q' + 'ABIOCgpVTlZFUklGSUVEEAEqCQjoBxCAgICAAg=='); + +@$core.Deprecated('Use fieldDescriptorProtoDescriptor instead') +const FieldDescriptorProto$json = { + '1': 'FieldDescriptorProto', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'number', '3': 3, '4': 1, '5': 5, '10': 'number'}, + {'1': 'label', '3': 4, '4': 1, '5': 14, '6': '.google.protobuf.FieldDescriptorProto.Label', '10': 'label'}, + {'1': 'type', '3': 5, '4': 1, '5': 14, '6': '.google.protobuf.FieldDescriptorProto.Type', '10': 'type'}, + {'1': 'type_name', '3': 6, '4': 1, '5': 9, '10': 'typeName'}, + {'1': 'extendee', '3': 2, '4': 1, '5': 9, '10': 'extendee'}, + {'1': 'default_value', '3': 7, '4': 1, '5': 9, '10': 'defaultValue'}, + {'1': 'oneof_index', '3': 9, '4': 1, '5': 5, '10': 'oneofIndex'}, + {'1': 'json_name', '3': 10, '4': 1, '5': 9, '10': 'jsonName'}, + {'1': 'options', '3': 8, '4': 1, '5': 11, '6': '.google.protobuf.FieldOptions', '10': 'options'}, + {'1': 'proto3_optional', '3': 17, '4': 1, '5': 8, '10': 'proto3Optional'}, + ], + '4': [FieldDescriptorProto_Type$json, FieldDescriptorProto_Label$json], +}; + +@$core.Deprecated('Use fieldDescriptorProtoDescriptor instead') +const FieldDescriptorProto_Type$json = { + '1': 'Type', + '2': [ + {'1': 'TYPE_DOUBLE', '2': 1}, + {'1': 'TYPE_FLOAT', '2': 2}, + {'1': 'TYPE_INT64', '2': 3}, + {'1': 'TYPE_UINT64', '2': 4}, + {'1': 'TYPE_INT32', '2': 5}, + {'1': 'TYPE_FIXED64', '2': 6}, + {'1': 'TYPE_FIXED32', '2': 7}, + {'1': 'TYPE_BOOL', '2': 8}, + {'1': 'TYPE_STRING', '2': 9}, + {'1': 'TYPE_GROUP', '2': 10}, + {'1': 'TYPE_MESSAGE', '2': 11}, + {'1': 'TYPE_BYTES', '2': 12}, + {'1': 'TYPE_UINT32', '2': 13}, + {'1': 'TYPE_ENUM', '2': 14}, + {'1': 'TYPE_SFIXED32', '2': 15}, + {'1': 'TYPE_SFIXED64', '2': 16}, + {'1': 'TYPE_SINT32', '2': 17}, + {'1': 'TYPE_SINT64', '2': 18}, + ], +}; + +@$core.Deprecated('Use fieldDescriptorProtoDescriptor instead') +const FieldDescriptorProto_Label$json = { + '1': 'Label', + '2': [ + {'1': 'LABEL_OPTIONAL', '2': 1}, + {'1': 'LABEL_REPEATED', '2': 3}, + {'1': 'LABEL_REQUIRED', '2': 2}, + ], +}; + +/// Descriptor for `FieldDescriptorProto`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List fieldDescriptorProtoDescriptor = $convert.base64Decode( + 'ChRGaWVsZERlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhYKBm51bWJlchgDIA' + 'EoBVIGbnVtYmVyEkEKBWxhYmVsGAQgASgOMisuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3Jp' + 'cHRvclByb3RvLkxhYmVsUgVsYWJlbBI+CgR0eXBlGAUgASgOMiouZ29vZ2xlLnByb3RvYnVmLk' + 'ZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGVSBHR5cGUSGwoJdHlwZV9uYW1lGAYgASgJUgh0eXBl' + 'TmFtZRIaCghleHRlbmRlZRgCIAEoCVIIZXh0ZW5kZWUSIwoNZGVmYXVsdF92YWx1ZRgHIAEoCV' + 'IMZGVmYXVsdFZhbHVlEh8KC29uZW9mX2luZGV4GAkgASgFUgpvbmVvZkluZGV4EhsKCWpzb25f' + 'bmFtZRgKIAEoCVIIanNvbk5hbWUSNwoHb3B0aW9ucxgIIAEoCzIdLmdvb2dsZS5wcm90b2J1Zi' + '5GaWVsZE9wdGlvbnNSB29wdGlvbnMSJwoPcHJvdG8zX29wdGlvbmFsGBEgASgIUg5wcm90bzNP' + 'cHRpb25hbCK2AgoEVHlwZRIPCgtUWVBFX0RPVUJMRRABEg4KClRZUEVfRkxPQVQQAhIOCgpUWV' + 'BFX0lOVDY0EAMSDwoLVFlQRV9VSU5UNjQQBBIOCgpUWVBFX0lOVDMyEAUSEAoMVFlQRV9GSVhF' + 'RDY0EAYSEAoMVFlQRV9GSVhFRDMyEAcSDQoJVFlQRV9CT09MEAgSDwoLVFlQRV9TVFJJTkcQCR' + 'IOCgpUWVBFX0dST1VQEAoSEAoMVFlQRV9NRVNTQUdFEAsSDgoKVFlQRV9CWVRFUxAMEg8KC1RZ' + 'UEVfVUlOVDMyEA0SDQoJVFlQRV9FTlVNEA4SEQoNVFlQRV9TRklYRUQzMhAPEhEKDVRZUEVfU0' + 'ZJWEVENjQQEBIPCgtUWVBFX1NJTlQzMhAREg8KC1RZUEVfU0lOVDY0EBIiQwoFTGFiZWwSEgoO' + 'TEFCRUxfT1BUSU9OQUwQARISCg5MQUJFTF9SRVBFQVRFRBADEhIKDkxBQkVMX1JFUVVJUkVEEA' + 'I='); + +@$core.Deprecated('Use oneofDescriptorProtoDescriptor instead') +const OneofDescriptorProto$json = { + '1': 'OneofDescriptorProto', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'options', '3': 2, '4': 1, '5': 11, '6': '.google.protobuf.OneofOptions', '10': 'options'}, + ], +}; + +/// Descriptor for `OneofDescriptorProto`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List oneofDescriptorProtoDescriptor = $convert.base64Decode( + 'ChRPbmVvZkRlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEjcKB29wdGlvbnMYAi' + 'ABKAsyHS5nb29nbGUucHJvdG9idWYuT25lb2ZPcHRpb25zUgdvcHRpb25z'); + +@$core.Deprecated('Use enumDescriptorProtoDescriptor instead') +const EnumDescriptorProto$json = { + '1': 'EnumDescriptorProto', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'value', '3': 2, '4': 3, '5': 11, '6': '.google.protobuf.EnumValueDescriptorProto', '10': 'value'}, + {'1': 'options', '3': 3, '4': 1, '5': 11, '6': '.google.protobuf.EnumOptions', '10': 'options'}, + {'1': 'reserved_range', '3': 4, '4': 3, '5': 11, '6': '.google.protobuf.EnumDescriptorProto.EnumReservedRange', '10': 'reservedRange'}, + {'1': 'reserved_name', '3': 5, '4': 3, '5': 9, '10': 'reservedName'}, + ], + '3': [EnumDescriptorProto_EnumReservedRange$json], +}; + +@$core.Deprecated('Use enumDescriptorProtoDescriptor instead') +const EnumDescriptorProto_EnumReservedRange$json = { + '1': 'EnumReservedRange', + '2': [ + {'1': 'start', '3': 1, '4': 1, '5': 5, '10': 'start'}, + {'1': 'end', '3': 2, '4': 1, '5': 5, '10': 'end'}, + ], +}; + +/// Descriptor for `EnumDescriptorProto`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List enumDescriptorProtoDescriptor = $convert.base64Decode( + 'ChNFbnVtRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSPwoFdmFsdWUYAiADKA' + 'syKS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlRGVzY3JpcHRvclByb3RvUgV2YWx1ZRI2Cgdv' + 'cHRpb25zGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLkVudW1PcHRpb25zUgdvcHRpb25zEl0KDn' + 'Jlc2VydmVkX3JhbmdlGAQgAygLMjYuZ29vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJv' + 'dG8uRW51bVJlc2VydmVkUmFuZ2VSDXJlc2VydmVkUmFuZ2USIwoNcmVzZXJ2ZWRfbmFtZRgFIA' + 'MoCVIMcmVzZXJ2ZWROYW1lGjsKEUVudW1SZXNlcnZlZFJhbmdlEhQKBXN0YXJ0GAEgASgFUgVz' + 'dGFydBIQCgNlbmQYAiABKAVSA2VuZA=='); + +@$core.Deprecated('Use enumValueDescriptorProtoDescriptor instead') +const EnumValueDescriptorProto$json = { + '1': 'EnumValueDescriptorProto', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'number', '3': 2, '4': 1, '5': 5, '10': 'number'}, + {'1': 'options', '3': 3, '4': 1, '5': 11, '6': '.google.protobuf.EnumValueOptions', '10': 'options'}, + ], +}; + +/// Descriptor for `EnumValueDescriptorProto`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List enumValueDescriptorProtoDescriptor = $convert.base64Decode( + 'ChhFbnVtVmFsdWVEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIWCgZudW1iZX' + 'IYAiABKAVSBm51bWJlchI7CgdvcHRpb25zGAMgASgLMiEuZ29vZ2xlLnByb3RvYnVmLkVudW1W' + 'YWx1ZU9wdGlvbnNSB29wdGlvbnM='); + +@$core.Deprecated('Use serviceDescriptorProtoDescriptor instead') +const ServiceDescriptorProto$json = { + '1': 'ServiceDescriptorProto', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'method', '3': 2, '4': 3, '5': 11, '6': '.google.protobuf.MethodDescriptorProto', '10': 'method'}, + {'1': 'options', '3': 3, '4': 1, '5': 11, '6': '.google.protobuf.ServiceOptions', '10': 'options'}, + ], +}; + +/// Descriptor for `ServiceDescriptorProto`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List serviceDescriptorProtoDescriptor = $convert.base64Decode( + 'ChZTZXJ2aWNlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSPgoGbWV0aG9kGA' + 'IgAygLMiYuZ29vZ2xlLnByb3RvYnVmLk1ldGhvZERlc2NyaXB0b3JQcm90b1IGbWV0aG9kEjkK' + 'B29wdGlvbnMYAyABKAsyHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnNSB29wdGlvbn' + 'M='); + +@$core.Deprecated('Use methodDescriptorProtoDescriptor instead') +const MethodDescriptorProto$json = { + '1': 'MethodDescriptorProto', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'input_type', '3': 2, '4': 1, '5': 9, '10': 'inputType'}, + {'1': 'output_type', '3': 3, '4': 1, '5': 9, '10': 'outputType'}, + {'1': 'options', '3': 4, '4': 1, '5': 11, '6': '.google.protobuf.MethodOptions', '10': 'options'}, + {'1': 'client_streaming', '3': 5, '4': 1, '5': 8, '7': 'false', '10': 'clientStreaming'}, + {'1': 'server_streaming', '3': 6, '4': 1, '5': 8, '7': 'false', '10': 'serverStreaming'}, + ], +}; + +/// Descriptor for `MethodDescriptorProto`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List methodDescriptorProtoDescriptor = $convert.base64Decode( + 'ChVNZXRob2REZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIdCgppbnB1dF90eX' + 'BlGAIgASgJUglpbnB1dFR5cGUSHwoLb3V0cHV0X3R5cGUYAyABKAlSCm91dHB1dFR5cGUSOAoH' + 'b3B0aW9ucxgEIAEoCzIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zUgdvcHRpb25zEj' + 'AKEGNsaWVudF9zdHJlYW1pbmcYBSABKAg6BWZhbHNlUg9jbGllbnRTdHJlYW1pbmcSMAoQc2Vy' + 'dmVyX3N0cmVhbWluZxgGIAEoCDoFZmFsc2VSD3NlcnZlclN0cmVhbWluZw=='); + +@$core.Deprecated('Use fileOptionsDescriptor instead') +const FileOptions$json = { + '1': 'FileOptions', + '2': [ + {'1': 'java_package', '3': 1, '4': 1, '5': 9, '10': 'javaPackage'}, + {'1': 'java_outer_classname', '3': 8, '4': 1, '5': 9, '10': 'javaOuterClassname'}, + {'1': 'java_multiple_files', '3': 10, '4': 1, '5': 8, '7': 'false', '10': 'javaMultipleFiles'}, + { + '1': 'java_generate_equals_and_hash', + '3': 20, + '4': 1, + '5': 8, + '8': {'3': true}, + '10': 'javaGenerateEqualsAndHash', + }, + {'1': 'java_string_check_utf8', '3': 27, '4': 1, '5': 8, '7': 'false', '10': 'javaStringCheckUtf8'}, + {'1': 'optimize_for', '3': 9, '4': 1, '5': 14, '6': '.google.protobuf.FileOptions.OptimizeMode', '7': 'SPEED', '10': 'optimizeFor'}, + {'1': 'go_package', '3': 11, '4': 1, '5': 9, '10': 'goPackage'}, + {'1': 'cc_generic_services', '3': 16, '4': 1, '5': 8, '7': 'false', '10': 'ccGenericServices'}, + {'1': 'java_generic_services', '3': 17, '4': 1, '5': 8, '7': 'false', '10': 'javaGenericServices'}, + {'1': 'py_generic_services', '3': 18, '4': 1, '5': 8, '7': 'false', '10': 'pyGenericServices'}, + {'1': 'php_generic_services', '3': 42, '4': 1, '5': 8, '7': 'false', '10': 'phpGenericServices'}, + {'1': 'deprecated', '3': 23, '4': 1, '5': 8, '7': 'false', '10': 'deprecated'}, + {'1': 'cc_enable_arenas', '3': 31, '4': 1, '5': 8, '7': 'true', '10': 'ccEnableArenas'}, + {'1': 'objc_class_prefix', '3': 36, '4': 1, '5': 9, '10': 'objcClassPrefix'}, + {'1': 'csharp_namespace', '3': 37, '4': 1, '5': 9, '10': 'csharpNamespace'}, + {'1': 'swift_prefix', '3': 39, '4': 1, '5': 9, '10': 'swiftPrefix'}, + {'1': 'php_class_prefix', '3': 40, '4': 1, '5': 9, '10': 'phpClassPrefix'}, + {'1': 'php_namespace', '3': 41, '4': 1, '5': 9, '10': 'phpNamespace'}, + {'1': 'php_metadata_namespace', '3': 44, '4': 1, '5': 9, '10': 'phpMetadataNamespace'}, + {'1': 'ruby_package', '3': 45, '4': 1, '5': 9, '10': 'rubyPackage'}, + {'1': 'features', '3': 50, '4': 1, '5': 11, '6': '.google.protobuf.FeatureSet', '10': 'features'}, + {'1': 'uninterpreted_option', '3': 999, '4': 3, '5': 11, '6': '.google.protobuf.UninterpretedOption', '10': 'uninterpretedOption'}, + ], + '4': [FileOptions_OptimizeMode$json], + '5': [ + {'1': 1000, '2': 536870912}, + ], + '9': [ + {'1': 38, '2': 39}, + ], +}; + +@$core.Deprecated('Use fileOptionsDescriptor instead') +const FileOptions_OptimizeMode$json = { + '1': 'OptimizeMode', + '2': [ + {'1': 'SPEED', '2': 1}, + {'1': 'CODE_SIZE', '2': 2}, + {'1': 'LITE_RUNTIME', '2': 3}, + ], +}; + +/// Descriptor for `FileOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List fileOptionsDescriptor = $convert.base64Decode( + 'CgtGaWxlT3B0aW9ucxIhCgxqYXZhX3BhY2thZ2UYASABKAlSC2phdmFQYWNrYWdlEjAKFGphdm' + 'Ffb3V0ZXJfY2xhc3NuYW1lGAggASgJUhJqYXZhT3V0ZXJDbGFzc25hbWUSNQoTamF2YV9tdWx0' + 'aXBsZV9maWxlcxgKIAEoCDoFZmFsc2VSEWphdmFNdWx0aXBsZUZpbGVzEkQKHWphdmFfZ2VuZX' + 'JhdGVfZXF1YWxzX2FuZF9oYXNoGBQgASgIQgIYAVIZamF2YUdlbmVyYXRlRXF1YWxzQW5kSGFz' + 'aBI6ChZqYXZhX3N0cmluZ19jaGVja191dGY4GBsgASgIOgVmYWxzZVITamF2YVN0cmluZ0NoZW' + 'NrVXRmOBJTCgxvcHRpbWl6ZV9mb3IYCSABKA4yKS5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlv' + 'bnMuT3B0aW1pemVNb2RlOgVTUEVFRFILb3B0aW1pemVGb3ISHQoKZ29fcGFja2FnZRgLIAEoCV' + 'IJZ29QYWNrYWdlEjUKE2NjX2dlbmVyaWNfc2VydmljZXMYECABKAg6BWZhbHNlUhFjY0dlbmVy' + 'aWNTZXJ2aWNlcxI5ChVqYXZhX2dlbmVyaWNfc2VydmljZXMYESABKAg6BWZhbHNlUhNqYXZhR2' + 'VuZXJpY1NlcnZpY2VzEjUKE3B5X2dlbmVyaWNfc2VydmljZXMYEiABKAg6BWZhbHNlUhFweUdl' + 'bmVyaWNTZXJ2aWNlcxI3ChRwaHBfZ2VuZXJpY19zZXJ2aWNlcxgqIAEoCDoFZmFsc2VSEnBocE' + 'dlbmVyaWNTZXJ2aWNlcxIlCgpkZXByZWNhdGVkGBcgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBIu' + 'ChBjY19lbmFibGVfYXJlbmFzGB8gASgIOgR0cnVlUg5jY0VuYWJsZUFyZW5hcxIqChFvYmpjX2' + 'NsYXNzX3ByZWZpeBgkIAEoCVIPb2JqY0NsYXNzUHJlZml4EikKEGNzaGFycF9uYW1lc3BhY2UY' + 'JSABKAlSD2NzaGFycE5hbWVzcGFjZRIhCgxzd2lmdF9wcmVmaXgYJyABKAlSC3N3aWZ0UHJlZm' + 'l4EigKEHBocF9jbGFzc19wcmVmaXgYKCABKAlSDnBocENsYXNzUHJlZml4EiMKDXBocF9uYW1l' + 'c3BhY2UYKSABKAlSDHBocE5hbWVzcGFjZRI0ChZwaHBfbWV0YWRhdGFfbmFtZXNwYWNlGCwgAS' + 'gJUhRwaHBNZXRhZGF0YU5hbWVzcGFjZRIhCgxydWJ5X3BhY2thZ2UYLSABKAlSC3J1YnlQYWNr' + 'YWdlEjcKCGZlYXR1cmVzGDIgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYX' + 'R1cmVzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5V' + 'bmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIjoKDE9wdGltaXplTW9kZR' + 'IJCgVTUEVFRBABEg0KCUNPREVfU0laRRACEhAKDExJVEVfUlVOVElNRRADKgkI6AcQgICAgAJK' + 'BAgmECc='); + +@$core.Deprecated('Use messageOptionsDescriptor instead') +const MessageOptions$json = { + '1': 'MessageOptions', + '2': [ + {'1': 'message_set_wire_format', '3': 1, '4': 1, '5': 8, '7': 'false', '10': 'messageSetWireFormat'}, + {'1': 'no_standard_descriptor_accessor', '3': 2, '4': 1, '5': 8, '7': 'false', '10': 'noStandardDescriptorAccessor'}, + {'1': 'deprecated', '3': 3, '4': 1, '5': 8, '7': 'false', '10': 'deprecated'}, + {'1': 'map_entry', '3': 7, '4': 1, '5': 8, '10': 'mapEntry'}, + { + '1': 'deprecated_legacy_json_field_conflicts', + '3': 11, + '4': 1, + '5': 8, + '8': {'3': true}, + '10': 'deprecatedLegacyJsonFieldConflicts', + }, + {'1': 'features', '3': 12, '4': 1, '5': 11, '6': '.google.protobuf.FeatureSet', '10': 'features'}, + {'1': 'uninterpreted_option', '3': 999, '4': 3, '5': 11, '6': '.google.protobuf.UninterpretedOption', '10': 'uninterpretedOption'}, + ], + '5': [ + {'1': 1000, '2': 536870912}, + ], + '9': [ + {'1': 4, '2': 5}, + {'1': 5, '2': 6}, + {'1': 6, '2': 7}, + {'1': 8, '2': 9}, + {'1': 9, '2': 10}, + ], +}; + +/// Descriptor for `MessageOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List messageOptionsDescriptor = $convert.base64Decode( + 'Cg5NZXNzYWdlT3B0aW9ucxI8ChdtZXNzYWdlX3NldF93aXJlX2Zvcm1hdBgBIAEoCDoFZmFsc2' + 'VSFG1lc3NhZ2VTZXRXaXJlRm9ybWF0EkwKH25vX3N0YW5kYXJkX2Rlc2NyaXB0b3JfYWNjZXNz' + 'b3IYAiABKAg6BWZhbHNlUhxub1N0YW5kYXJkRGVzY3JpcHRvckFjY2Vzc29yEiUKCmRlcHJlY2' + 'F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhsKCW1hcF9lbnRyeRgHIAEoCFIIbWFwRW50' + 'cnkSVgomZGVwcmVjYXRlZF9sZWdhY3lfanNvbl9maWVsZF9jb25mbGljdHMYCyABKAhCAhgBUi' + 'JkZXByZWNhdGVkTGVnYWN5SnNvbkZpZWxkQ29uZmxpY3RzEjcKCGZlYXR1cmVzGAwgASgLMhsu' + 'Z29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzElgKFHVuaW50ZXJwcmV0ZWRfb3' + 'B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmlu' + 'dGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAJKBAgEEAVKBAgFEAZKBAgGEAdKBAgIEAlKBAgJEA' + 'o='); + +@$core.Deprecated('Use fieldOptionsDescriptor instead') +const FieldOptions$json = { + '1': 'FieldOptions', + '2': [ + {'1': 'ctype', '3': 1, '4': 1, '5': 14, '6': '.google.protobuf.FieldOptions.CType', '7': 'STRING', '10': 'ctype'}, + {'1': 'packed', '3': 2, '4': 1, '5': 8, '10': 'packed'}, + {'1': 'jstype', '3': 6, '4': 1, '5': 14, '6': '.google.protobuf.FieldOptions.JSType', '7': 'JS_NORMAL', '10': 'jstype'}, + {'1': 'lazy', '3': 5, '4': 1, '5': 8, '7': 'false', '10': 'lazy'}, + {'1': 'unverified_lazy', '3': 15, '4': 1, '5': 8, '7': 'false', '10': 'unverifiedLazy'}, + {'1': 'deprecated', '3': 3, '4': 1, '5': 8, '7': 'false', '10': 'deprecated'}, + {'1': 'weak', '3': 10, '4': 1, '5': 8, '7': 'false', '10': 'weak'}, + {'1': 'debug_redact', '3': 16, '4': 1, '5': 8, '7': 'false', '10': 'debugRedact'}, + {'1': 'retention', '3': 17, '4': 1, '5': 14, '6': '.google.protobuf.FieldOptions.OptionRetention', '10': 'retention'}, + {'1': 'targets', '3': 19, '4': 3, '5': 14, '6': '.google.protobuf.FieldOptions.OptionTargetType', '10': 'targets'}, + {'1': 'edition_defaults', '3': 20, '4': 3, '5': 11, '6': '.google.protobuf.FieldOptions.EditionDefault', '10': 'editionDefaults'}, + {'1': 'features', '3': 21, '4': 1, '5': 11, '6': '.google.protobuf.FeatureSet', '10': 'features'}, + {'1': 'uninterpreted_option', '3': 999, '4': 3, '5': 11, '6': '.google.protobuf.UninterpretedOption', '10': 'uninterpretedOption'}, + ], + '3': [FieldOptions_EditionDefault$json], + '4': [FieldOptions_CType$json, FieldOptions_JSType$json, FieldOptions_OptionRetention$json, FieldOptions_OptionTargetType$json], + '5': [ + {'1': 1000, '2': 536870912}, + ], + '9': [ + {'1': 4, '2': 5}, + {'1': 18, '2': 19}, + ], +}; + +@$core.Deprecated('Use fieldOptionsDescriptor instead') +const FieldOptions_EditionDefault$json = { + '1': 'EditionDefault', + '2': [ + {'1': 'edition', '3': 3, '4': 1, '5': 14, '6': '.google.protobuf.Edition', '10': 'edition'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], +}; + +@$core.Deprecated('Use fieldOptionsDescriptor instead') +const FieldOptions_CType$json = { + '1': 'CType', + '2': [ + {'1': 'STRING', '2': 0}, + {'1': 'CORD', '2': 1}, + {'1': 'STRING_PIECE', '2': 2}, + ], +}; + +@$core.Deprecated('Use fieldOptionsDescriptor instead') +const FieldOptions_JSType$json = { + '1': 'JSType', + '2': [ + {'1': 'JS_NORMAL', '2': 0}, + {'1': 'JS_STRING', '2': 1}, + {'1': 'JS_NUMBER', '2': 2}, + ], +}; + +@$core.Deprecated('Use fieldOptionsDescriptor instead') +const FieldOptions_OptionRetention$json = { + '1': 'OptionRetention', + '2': [ + {'1': 'RETENTION_UNKNOWN', '2': 0}, + {'1': 'RETENTION_RUNTIME', '2': 1}, + {'1': 'RETENTION_SOURCE', '2': 2}, + ], +}; + +@$core.Deprecated('Use fieldOptionsDescriptor instead') +const FieldOptions_OptionTargetType$json = { + '1': 'OptionTargetType', + '2': [ + {'1': 'TARGET_TYPE_UNKNOWN', '2': 0}, + {'1': 'TARGET_TYPE_FILE', '2': 1}, + {'1': 'TARGET_TYPE_EXTENSION_RANGE', '2': 2}, + {'1': 'TARGET_TYPE_MESSAGE', '2': 3}, + {'1': 'TARGET_TYPE_FIELD', '2': 4}, + {'1': 'TARGET_TYPE_ONEOF', '2': 5}, + {'1': 'TARGET_TYPE_ENUM', '2': 6}, + {'1': 'TARGET_TYPE_ENUM_ENTRY', '2': 7}, + {'1': 'TARGET_TYPE_SERVICE', '2': 8}, + {'1': 'TARGET_TYPE_METHOD', '2': 9}, + ], +}; + +/// Descriptor for `FieldOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List fieldOptionsDescriptor = $convert.base64Decode( + 'CgxGaWVsZE9wdGlvbnMSQQoFY3R5cGUYASABKA4yIy5nb29nbGUucHJvdG9idWYuRmllbGRPcH' + 'Rpb25zLkNUeXBlOgZTVFJJTkdSBWN0eXBlEhYKBnBhY2tlZBgCIAEoCFIGcGFja2VkEkcKBmpz' + 'dHlwZRgGIAEoDjIkLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuSlNUeXBlOglKU19OT1' + 'JNQUxSBmpzdHlwZRIZCgRsYXp5GAUgASgIOgVmYWxzZVIEbGF6eRIuCg91bnZlcmlmaWVkX2xh' + 'enkYDyABKAg6BWZhbHNlUg51bnZlcmlmaWVkTGF6eRIlCgpkZXByZWNhdGVkGAMgASgIOgVmYW' + 'xzZVIKZGVwcmVjYXRlZBIZCgR3ZWFrGAogASgIOgVmYWxzZVIEd2VhaxIoCgxkZWJ1Z19yZWRh' + 'Y3QYECABKAg6BWZhbHNlUgtkZWJ1Z1JlZGFjdBJLCglyZXRlbnRpb24YESABKA4yLS5nb29nbG' + 'UucHJvdG9idWYuRmllbGRPcHRpb25zLk9wdGlvblJldGVudGlvblIJcmV0ZW50aW9uEkgKB3Rh' + 'cmdldHMYEyADKA4yLi5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLk9wdGlvblRhcmdldF' + 'R5cGVSB3RhcmdldHMSVwoQZWRpdGlvbl9kZWZhdWx0cxgUIAMoCzIsLmdvb2dsZS5wcm90b2J1' + 'Zi5GaWVsZE9wdGlvbnMuRWRpdGlvbkRlZmF1bHRSD2VkaXRpb25EZWZhdWx0cxI3CghmZWF0dX' + 'JlcxgVIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0UghmZWF0dXJlcxJYChR1bmlu' + 'dGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE' + '9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbhpaCg5FZGl0aW9uRGVmYXVsdBIyCgdlZGl0aW9u' + 'GAMgASgOMhguZ29vZ2xlLnByb3RvYnVmLkVkaXRpb25SB2VkaXRpb24SFAoFdmFsdWUYAiABKA' + 'lSBXZhbHVlIi8KBUNUeXBlEgoKBlNUUklORxAAEggKBENPUkQQARIQCgxTVFJJTkdfUElFQ0UQ' + 'AiI1CgZKU1R5cGUSDQoJSlNfTk9STUFMEAASDQoJSlNfU1RSSU5HEAESDQoJSlNfTlVNQkVSEA' + 'IiVQoPT3B0aW9uUmV0ZW50aW9uEhUKEVJFVEVOVElPTl9VTktOT1dOEAASFQoRUkVURU5USU9O' + 'X1JVTlRJTUUQARIUChBSRVRFTlRJT05fU09VUkNFEAIijAIKEE9wdGlvblRhcmdldFR5cGUSFw' + 'oTVEFSR0VUX1RZUEVfVU5LTk9XThAAEhQKEFRBUkdFVF9UWVBFX0ZJTEUQARIfChtUQVJHRVRf' + 'VFlQRV9FWFRFTlNJT05fUkFOR0UQAhIXChNUQVJHRVRfVFlQRV9NRVNTQUdFEAMSFQoRVEFSR0' + 'VUX1RZUEVfRklFTEQQBBIVChFUQVJHRVRfVFlQRV9PTkVPRhAFEhQKEFRBUkdFVF9UWVBFX0VO' + 'VU0QBhIaChZUQVJHRVRfVFlQRV9FTlVNX0VOVFJZEAcSFwoTVEFSR0VUX1RZUEVfU0VSVklDRR' + 'AIEhYKElRBUkdFVF9UWVBFX01FVEhPRBAJKgkI6AcQgICAgAJKBAgEEAVKBAgSEBM='); + +@$core.Deprecated('Use oneofOptionsDescriptor instead') +const OneofOptions$json = { + '1': 'OneofOptions', + '2': [ + {'1': 'features', '3': 1, '4': 1, '5': 11, '6': '.google.protobuf.FeatureSet', '10': 'features'}, + {'1': 'uninterpreted_option', '3': 999, '4': 3, '5': 11, '6': '.google.protobuf.UninterpretedOption', '10': 'uninterpretedOption'}, + ], + '5': [ + {'1': 1000, '2': 536870912}, + ], +}; + +/// Descriptor for `OneofOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List oneofOptionsDescriptor = $convert.base64Decode( + 'CgxPbmVvZk9wdGlvbnMSNwoIZmVhdHVyZXMYASABKAsyGy5nb29nbGUucHJvdG9idWYuRmVhdH' + 'VyZVNldFIIZmVhdHVyZXMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xl' + 'LnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBx' + 'CAgICAAg=='); + +@$core.Deprecated('Use enumOptionsDescriptor instead') +const EnumOptions$json = { + '1': 'EnumOptions', + '2': [ + {'1': 'allow_alias', '3': 2, '4': 1, '5': 8, '10': 'allowAlias'}, + {'1': 'deprecated', '3': 3, '4': 1, '5': 8, '7': 'false', '10': 'deprecated'}, + { + '1': 'deprecated_legacy_json_field_conflicts', + '3': 6, + '4': 1, + '5': 8, + '8': {'3': true}, + '10': 'deprecatedLegacyJsonFieldConflicts', + }, + {'1': 'features', '3': 7, '4': 1, '5': 11, '6': '.google.protobuf.FeatureSet', '10': 'features'}, + {'1': 'uninterpreted_option', '3': 999, '4': 3, '5': 11, '6': '.google.protobuf.UninterpretedOption', '10': 'uninterpretedOption'}, + ], + '5': [ + {'1': 1000, '2': 536870912}, + ], + '9': [ + {'1': 5, '2': 6}, + ], +}; + +/// Descriptor for `EnumOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List enumOptionsDescriptor = $convert.base64Decode( + 'CgtFbnVtT3B0aW9ucxIfCgthbGxvd19hbGlhcxgCIAEoCFIKYWxsb3dBbGlhcxIlCgpkZXByZW' + 'NhdGVkGAMgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJWCiZkZXByZWNhdGVkX2xlZ2FjeV9qc29u' + 'X2ZpZWxkX2NvbmZsaWN0cxgGIAEoCEICGAFSImRlcHJlY2F0ZWRMZWdhY3lKc29uRmllbGRDb2' + '5mbGljdHMSNwoIZmVhdHVyZXMYByABKAsyGy5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldFII' + 'ZmVhdHVyZXMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYn' + 'VmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAkoE' + 'CAUQBg=='); + +@$core.Deprecated('Use enumValueOptionsDescriptor instead') +const EnumValueOptions$json = { + '1': 'EnumValueOptions', + '2': [ + {'1': 'deprecated', '3': 1, '4': 1, '5': 8, '7': 'false', '10': 'deprecated'}, + {'1': 'features', '3': 2, '4': 1, '5': 11, '6': '.google.protobuf.FeatureSet', '10': 'features'}, + {'1': 'debug_redact', '3': 3, '4': 1, '5': 8, '7': 'false', '10': 'debugRedact'}, + {'1': 'uninterpreted_option', '3': 999, '4': 3, '5': 11, '6': '.google.protobuf.UninterpretedOption', '10': 'uninterpretedOption'}, + ], + '5': [ + {'1': 1000, '2': 536870912}, + ], +}; + +/// Descriptor for `EnumValueOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List enumValueOptionsDescriptor = $convert.base64Decode( + 'ChBFbnVtVmFsdWVPcHRpb25zEiUKCmRlcHJlY2F0ZWQYASABKAg6BWZhbHNlUgpkZXByZWNhdG' + 'VkEjcKCGZlYXR1cmVzGAIgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1' + 'cmVzEigKDGRlYnVnX3JlZGFjdBgDIAEoCDoFZmFsc2VSC2RlYnVnUmVkYWN0ElgKFHVuaW50ZX' + 'JwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0' + 'aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAI='); + +@$core.Deprecated('Use serviceOptionsDescriptor instead') +const ServiceOptions$json = { + '1': 'ServiceOptions', + '2': [ + {'1': 'features', '3': 34, '4': 1, '5': 11, '6': '.google.protobuf.FeatureSet', '10': 'features'}, + {'1': 'deprecated', '3': 33, '4': 1, '5': 8, '7': 'false', '10': 'deprecated'}, + {'1': 'uninterpreted_option', '3': 999, '4': 3, '5': 11, '6': '.google.protobuf.UninterpretedOption', '10': 'uninterpretedOption'}, + ], + '5': [ + {'1': 1000, '2': 536870912}, + ], +}; + +/// Descriptor for `ServiceOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List serviceOptionsDescriptor = $convert.base64Decode( + 'Cg5TZXJ2aWNlT3B0aW9ucxI3CghmZWF0dXJlcxgiIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GZW' + 'F0dXJlU2V0UghmZWF0dXJlcxIlCgpkZXByZWNhdGVkGCEgASgIOgVmYWxzZVIKZGVwcmVjYXRl' + 'ZBJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbn' + 'RlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIAC'); + +@$core.Deprecated('Use methodOptionsDescriptor instead') +const MethodOptions$json = { + '1': 'MethodOptions', + '2': [ + {'1': 'deprecated', '3': 33, '4': 1, '5': 8, '7': 'false', '10': 'deprecated'}, + {'1': 'idempotency_level', '3': 34, '4': 1, '5': 14, '6': '.google.protobuf.MethodOptions.IdempotencyLevel', '7': 'IDEMPOTENCY_UNKNOWN', '10': 'idempotencyLevel'}, + {'1': 'features', '3': 35, '4': 1, '5': 11, '6': '.google.protobuf.FeatureSet', '10': 'features'}, + {'1': 'uninterpreted_option', '3': 999, '4': 3, '5': 11, '6': '.google.protobuf.UninterpretedOption', '10': 'uninterpretedOption'}, + ], + '4': [MethodOptions_IdempotencyLevel$json], + '5': [ + {'1': 1000, '2': 536870912}, + ], +}; + +@$core.Deprecated('Use methodOptionsDescriptor instead') +const MethodOptions_IdempotencyLevel$json = { + '1': 'IdempotencyLevel', + '2': [ + {'1': 'IDEMPOTENCY_UNKNOWN', '2': 0}, + {'1': 'NO_SIDE_EFFECTS', '2': 1}, + {'1': 'IDEMPOTENT', '2': 2}, + ], +}; + +/// Descriptor for `MethodOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List methodOptionsDescriptor = $convert.base64Decode( + 'Cg1NZXRob2RPcHRpb25zEiUKCmRlcHJlY2F0ZWQYISABKAg6BWZhbHNlUgpkZXByZWNhdGVkEn' + 'EKEWlkZW1wb3RlbmN5X2xldmVsGCIgASgOMi8uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlv' + 'bnMuSWRlbXBvdGVuY3lMZXZlbDoTSURFTVBPVEVOQ1lfVU5LTk9XTlIQaWRlbXBvdGVuY3lMZX' + 'ZlbBI3CghmZWF0dXJlcxgjIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0UghmZWF0' + 'dXJlcxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW' + '5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiJQChBJZGVtcG90ZW5jeUxl' + 'dmVsEhcKE0lERU1QT1RFTkNZX1VOS05PV04QABITCg9OT19TSURFX0VGRkVDVFMQARIOCgpJRE' + 'VNUE9URU5UEAIqCQjoBxCAgICAAg=='); + +@$core.Deprecated('Use uninterpretedOptionDescriptor instead') +const UninterpretedOption$json = { + '1': 'UninterpretedOption', + '2': [ + {'1': 'name', '3': 2, '4': 3, '5': 11, '6': '.google.protobuf.UninterpretedOption.NamePart', '10': 'name'}, + {'1': 'identifier_value', '3': 3, '4': 1, '5': 9, '10': 'identifierValue'}, + {'1': 'positive_int_value', '3': 4, '4': 1, '5': 4, '10': 'positiveIntValue'}, + {'1': 'negative_int_value', '3': 5, '4': 1, '5': 3, '10': 'negativeIntValue'}, + {'1': 'double_value', '3': 6, '4': 1, '5': 1, '10': 'doubleValue'}, + {'1': 'string_value', '3': 7, '4': 1, '5': 12, '10': 'stringValue'}, + {'1': 'aggregate_value', '3': 8, '4': 1, '5': 9, '10': 'aggregateValue'}, + ], + '3': [UninterpretedOption_NamePart$json], +}; + +@$core.Deprecated('Use uninterpretedOptionDescriptor instead') +const UninterpretedOption_NamePart$json = { + '1': 'NamePart', + '2': [ + {'1': 'name_part', '3': 1, '4': 2, '5': 9, '10': 'namePart'}, + {'1': 'is_extension', '3': 2, '4': 2, '5': 8, '10': 'isExtension'}, + ], +}; + +/// Descriptor for `UninterpretedOption`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List uninterpretedOptionDescriptor = $convert.base64Decode( + 'ChNVbmludGVycHJldGVkT3B0aW9uEkEKBG5hbWUYAiADKAsyLS5nb29nbGUucHJvdG9idWYuVW' + '5pbnRlcnByZXRlZE9wdGlvbi5OYW1lUGFydFIEbmFtZRIpChBpZGVudGlmaWVyX3ZhbHVlGAMg' + 'ASgJUg9pZGVudGlmaWVyVmFsdWUSLAoScG9zaXRpdmVfaW50X3ZhbHVlGAQgASgEUhBwb3NpdG' + 'l2ZUludFZhbHVlEiwKEm5lZ2F0aXZlX2ludF92YWx1ZRgFIAEoA1IQbmVnYXRpdmVJbnRWYWx1' + 'ZRIhCgxkb3VibGVfdmFsdWUYBiABKAFSC2RvdWJsZVZhbHVlEiEKDHN0cmluZ192YWx1ZRgHIA' + 'EoDFILc3RyaW5nVmFsdWUSJwoPYWdncmVnYXRlX3ZhbHVlGAggASgJUg5hZ2dyZWdhdGVWYWx1' + 'ZRpKCghOYW1lUGFydBIbCgluYW1lX3BhcnQYASACKAlSCG5hbWVQYXJ0EiEKDGlzX2V4dGVuc2' + 'lvbhgCIAIoCFILaXNFeHRlbnNpb24='); + +@$core.Deprecated('Use featureSetDescriptor instead') +const FeatureSet$json = { + '1': 'FeatureSet', + '2': [ + {'1': 'field_presence', '3': 1, '4': 1, '5': 14, '6': '.google.protobuf.FeatureSet.FieldPresence', '8': {}, '10': 'fieldPresence'}, + {'1': 'enum_type', '3': 2, '4': 1, '5': 14, '6': '.google.protobuf.FeatureSet.EnumType', '8': {}, '10': 'enumType'}, + {'1': 'repeated_field_encoding', '3': 3, '4': 1, '5': 14, '6': '.google.protobuf.FeatureSet.RepeatedFieldEncoding', '8': {}, '10': 'repeatedFieldEncoding'}, + {'1': 'utf8_validation', '3': 4, '4': 1, '5': 14, '6': '.google.protobuf.FeatureSet.Utf8Validation', '8': {}, '10': 'utf8Validation'}, + {'1': 'message_encoding', '3': 5, '4': 1, '5': 14, '6': '.google.protobuf.FeatureSet.MessageEncoding', '8': {}, '10': 'messageEncoding'}, + {'1': 'json_format', '3': 6, '4': 1, '5': 14, '6': '.google.protobuf.FeatureSet.JsonFormat', '8': {}, '10': 'jsonFormat'}, + ], + '4': [FeatureSet_FieldPresence$json, FeatureSet_EnumType$json, FeatureSet_RepeatedFieldEncoding$json, FeatureSet_Utf8Validation$json, FeatureSet_MessageEncoding$json, FeatureSet_JsonFormat$json], + '5': [ + {'1': 1000, '2': 1001}, + {'1': 1001, '2': 1002}, + {'1': 9995, '2': 10000}, + ], + '9': [ + {'1': 999, '2': 1000}, + ], +}; + +@$core.Deprecated('Use featureSetDescriptor instead') +const FeatureSet_FieldPresence$json = { + '1': 'FieldPresence', + '2': [ + {'1': 'FIELD_PRESENCE_UNKNOWN', '2': 0}, + {'1': 'EXPLICIT', '2': 1}, + {'1': 'IMPLICIT', '2': 2}, + {'1': 'LEGACY_REQUIRED', '2': 3}, + ], +}; + +@$core.Deprecated('Use featureSetDescriptor instead') +const FeatureSet_EnumType$json = { + '1': 'EnumType', + '2': [ + {'1': 'ENUM_TYPE_UNKNOWN', '2': 0}, + {'1': 'OPEN', '2': 1}, + {'1': 'CLOSED', '2': 2}, + ], +}; + +@$core.Deprecated('Use featureSetDescriptor instead') +const FeatureSet_RepeatedFieldEncoding$json = { + '1': 'RepeatedFieldEncoding', + '2': [ + {'1': 'REPEATED_FIELD_ENCODING_UNKNOWN', '2': 0}, + {'1': 'PACKED', '2': 1}, + {'1': 'EXPANDED', '2': 2}, + ], +}; + +@$core.Deprecated('Use featureSetDescriptor instead') +const FeatureSet_Utf8Validation$json = { + '1': 'Utf8Validation', + '2': [ + {'1': 'UTF8_VALIDATION_UNKNOWN', '2': 0}, + {'1': 'NONE', '2': 1}, + {'1': 'VERIFY', '2': 2}, + ], +}; + +@$core.Deprecated('Use featureSetDescriptor instead') +const FeatureSet_MessageEncoding$json = { + '1': 'MessageEncoding', + '2': [ + {'1': 'MESSAGE_ENCODING_UNKNOWN', '2': 0}, + {'1': 'LENGTH_PREFIXED', '2': 1}, + {'1': 'DELIMITED', '2': 2}, + ], +}; + +@$core.Deprecated('Use featureSetDescriptor instead') +const FeatureSet_JsonFormat$json = { + '1': 'JsonFormat', + '2': [ + {'1': 'JSON_FORMAT_UNKNOWN', '2': 0}, + {'1': 'ALLOW', '2': 1}, + {'1': 'LEGACY_BEST_EFFORT', '2': 2}, + ], +}; + +/// Descriptor for `FeatureSet`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List featureSetDescriptor = $convert.base64Decode( + 'CgpGZWF0dXJlU2V0EosBCg5maWVsZF9wcmVzZW5jZRgBIAEoDjIpLmdvb2dsZS5wcm90b2J1Zi' + '5GZWF0dXJlU2V0LkZpZWxkUHJlc2VuY2VCOYgBAZgBBJgBAaIBDRIIRVhQTElDSVQY5geiAQ0S' + 'CElNUExJQ0lUGOcHogENEghFWFBMSUNJVBjoB1INZmllbGRQcmVzZW5jZRJmCgllbnVtX3R5cG' + 'UYAiABKA4yJC5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldC5FbnVtVHlwZUIjiAEBmAEGmAEB' + 'ogELEgZDTE9TRUQY5geiAQkSBE9QRU4Y5wdSCGVudW1UeXBlEpIBChdyZXBlYXRlZF9maWVsZF' + '9lbmNvZGluZxgDIAEoDjIxLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0LlJlcGVhdGVkRmll' + 'bGRFbmNvZGluZ0IniAEBmAEEmAEBogENEghFWFBBTkRFRBjmB6IBCxIGUEFDS0VEGOcHUhVyZX' + 'BlYXRlZEZpZWxkRW5jb2RpbmcSeAoPdXRmOF92YWxpZGF0aW9uGAQgASgOMiouZ29vZ2xlLnBy' + 'b3RvYnVmLkZlYXR1cmVTZXQuVXRmOFZhbGlkYXRpb25CI4gBAZgBBJgBAaIBCRIETk9ORRjmB6' + 'IBCxIGVkVSSUZZGOcHUg51dGY4VmFsaWRhdGlvbhJ4ChBtZXNzYWdlX2VuY29kaW5nGAUgASgO' + 'MisuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXQuTWVzc2FnZUVuY29kaW5nQiCIAQGYAQSYAQ' + 'GiARQSD0xFTkdUSF9QUkVGSVhFRBjmB1IPbWVzc2FnZUVuY29kaW5nEnwKC2pzb25fZm9ybWF0' + 'GAYgASgOMiYuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXQuSnNvbkZvcm1hdEIziAEBmAEDmA' + 'EGmAEBogEXEhJMRUdBQ1lfQkVTVF9FRkZPUlQY5geiAQoSBUFMTE9XGOcHUgpqc29uRm9ybWF0' + 'IlwKDUZpZWxkUHJlc2VuY2USGgoWRklFTERfUFJFU0VOQ0VfVU5LTk9XThAAEgwKCEVYUExJQ0' + 'lUEAESDAoISU1QTElDSVQQAhITCg9MRUdBQ1lfUkVRVUlSRUQQAyI3CghFbnVtVHlwZRIVChFF' + 'TlVNX1RZUEVfVU5LTk9XThAAEggKBE9QRU4QARIKCgZDTE9TRUQQAiJWChVSZXBlYXRlZEZpZW' + 'xkRW5jb2RpbmcSIwofUkVQRUFURURfRklFTERfRU5DT0RJTkdfVU5LTk9XThAAEgoKBlBBQ0tF' + 'RBABEgwKCEVYUEFOREVEEAIiQwoOVXRmOFZhbGlkYXRpb24SGwoXVVRGOF9WQUxJREFUSU9OX1' + 'VOS05PV04QABIICgROT05FEAESCgoGVkVSSUZZEAIiUwoPTWVzc2FnZUVuY29kaW5nEhwKGE1F' + 'U1NBR0VfRU5DT0RJTkdfVU5LTk9XThAAEhMKD0xFTkdUSF9QUkVGSVhFRBABEg0KCURFTElNSV' + 'RFRBACIkgKCkpzb25Gb3JtYXQSFwoTSlNPTl9GT1JNQVRfVU5LTk9XThAAEgkKBUFMTE9XEAES' + 'FgoSTEVHQUNZX0JFU1RfRUZGT1JUEAIqBgjoBxDpByoGCOkHEOoHKgYIi04QkE5KBgjnBxDoBw' + '=='); + +@$core.Deprecated('Use featureSetDefaultsDescriptor instead') +const FeatureSetDefaults$json = { + '1': 'FeatureSetDefaults', + '2': [ + {'1': 'defaults', '3': 1, '4': 3, '5': 11, '6': '.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault', '10': 'defaults'}, + {'1': 'minimum_edition', '3': 4, '4': 1, '5': 14, '6': '.google.protobuf.Edition', '10': 'minimumEdition'}, + {'1': 'maximum_edition', '3': 5, '4': 1, '5': 14, '6': '.google.protobuf.Edition', '10': 'maximumEdition'}, + ], + '3': [FeatureSetDefaults_FeatureSetEditionDefault$json], +}; + +@$core.Deprecated('Use featureSetDefaultsDescriptor instead') +const FeatureSetDefaults_FeatureSetEditionDefault$json = { + '1': 'FeatureSetEditionDefault', + '2': [ + {'1': 'edition', '3': 3, '4': 1, '5': 14, '6': '.google.protobuf.Edition', '10': 'edition'}, + {'1': 'features', '3': 2, '4': 1, '5': 11, '6': '.google.protobuf.FeatureSet', '10': 'features'}, + ], +}; + +/// Descriptor for `FeatureSetDefaults`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List featureSetDefaultsDescriptor = $convert.base64Decode( + 'ChJGZWF0dXJlU2V0RGVmYXVsdHMSWAoIZGVmYXVsdHMYASADKAsyPC5nb29nbGUucHJvdG9idW' + 'YuRmVhdHVyZVNldERlZmF1bHRzLkZlYXR1cmVTZXRFZGl0aW9uRGVmYXVsdFIIZGVmYXVsdHMS' + 'QQoPbWluaW11bV9lZGl0aW9uGAQgASgOMhguZ29vZ2xlLnByb3RvYnVmLkVkaXRpb25SDm1pbm' + 'ltdW1FZGl0aW9uEkEKD21heGltdW1fZWRpdGlvbhgFIAEoDjIYLmdvb2dsZS5wcm90b2J1Zi5F' + 'ZGl0aW9uUg5tYXhpbXVtRWRpdGlvbhqHAQoYRmVhdHVyZVNldEVkaXRpb25EZWZhdWx0EjIKB2' + 'VkaXRpb24YAyABKA4yGC5nb29nbGUucHJvdG9idWYuRWRpdGlvblIHZWRpdGlvbhI3CghmZWF0' + 'dXJlcxgCIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0UghmZWF0dXJlcw=='); + +@$core.Deprecated('Use sourceCodeInfoDescriptor instead') +const SourceCodeInfo$json = { + '1': 'SourceCodeInfo', + '2': [ + {'1': 'location', '3': 1, '4': 3, '5': 11, '6': '.google.protobuf.SourceCodeInfo.Location', '10': 'location'}, + ], + '3': [SourceCodeInfo_Location$json], +}; + +@$core.Deprecated('Use sourceCodeInfoDescriptor instead') +const SourceCodeInfo_Location$json = { + '1': 'Location', + '2': [ + { + '1': 'path', + '3': 1, + '4': 3, + '5': 5, + '8': {'2': true}, + '10': 'path', + }, + { + '1': 'span', + '3': 2, + '4': 3, + '5': 5, + '8': {'2': true}, + '10': 'span', + }, + {'1': 'leading_comments', '3': 3, '4': 1, '5': 9, '10': 'leadingComments'}, + {'1': 'trailing_comments', '3': 4, '4': 1, '5': 9, '10': 'trailingComments'}, + {'1': 'leading_detached_comments', '3': 6, '4': 3, '5': 9, '10': 'leadingDetachedComments'}, + ], +}; + +/// Descriptor for `SourceCodeInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List sourceCodeInfoDescriptor = $convert.base64Decode( + 'Cg5Tb3VyY2VDb2RlSW5mbxJECghsb2NhdGlvbhgBIAMoCzIoLmdvb2dsZS5wcm90b2J1Zi5Tb3' + 'VyY2VDb2RlSW5mby5Mb2NhdGlvblIIbG9jYXRpb24azgEKCExvY2F0aW9uEhYKBHBhdGgYASAD' + 'KAVCAhABUgRwYXRoEhYKBHNwYW4YAiADKAVCAhABUgRzcGFuEikKEGxlYWRpbmdfY29tbWVudH' + 'MYAyABKAlSD2xlYWRpbmdDb21tZW50cxIrChF0cmFpbGluZ19jb21tZW50cxgEIAEoCVIQdHJh' + 'aWxpbmdDb21tZW50cxI6ChlsZWFkaW5nX2RldGFjaGVkX2NvbW1lbnRzGAYgAygJUhdsZWFkaW' + '5nRGV0YWNoZWRDb21tZW50cw=='); + +@$core.Deprecated('Use generatedCodeInfoDescriptor instead') +const GeneratedCodeInfo$json = { + '1': 'GeneratedCodeInfo', + '2': [ + {'1': 'annotation', '3': 1, '4': 3, '5': 11, '6': '.google.protobuf.GeneratedCodeInfo.Annotation', '10': 'annotation'}, + ], + '3': [GeneratedCodeInfo_Annotation$json], +}; + +@$core.Deprecated('Use generatedCodeInfoDescriptor instead') +const GeneratedCodeInfo_Annotation$json = { + '1': 'Annotation', + '2': [ + { + '1': 'path', + '3': 1, + '4': 3, + '5': 5, + '8': {'2': true}, + '10': 'path', + }, + {'1': 'source_file', '3': 2, '4': 1, '5': 9, '10': 'sourceFile'}, + {'1': 'begin', '3': 3, '4': 1, '5': 5, '10': 'begin'}, + {'1': 'end', '3': 4, '4': 1, '5': 5, '10': 'end'}, + {'1': 'semantic', '3': 5, '4': 1, '5': 14, '6': '.google.protobuf.GeneratedCodeInfo.Annotation.Semantic', '10': 'semantic'}, + ], + '4': [GeneratedCodeInfo_Annotation_Semantic$json], +}; + +@$core.Deprecated('Use generatedCodeInfoDescriptor instead') +const GeneratedCodeInfo_Annotation_Semantic$json = { + '1': 'Semantic', + '2': [ + {'1': 'NONE', '2': 0}, + {'1': 'SET', '2': 1}, + {'1': 'ALIAS', '2': 2}, + ], +}; + +/// Descriptor for `GeneratedCodeInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List generatedCodeInfoDescriptor = $convert.base64Decode( + 'ChFHZW5lcmF0ZWRDb2RlSW5mbxJNCgphbm5vdGF0aW9uGAEgAygLMi0uZ29vZ2xlLnByb3RvYn' + 'VmLkdlbmVyYXRlZENvZGVJbmZvLkFubm90YXRpb25SCmFubm90YXRpb24a6wEKCkFubm90YXRp' + 'b24SFgoEcGF0aBgBIAMoBUICEAFSBHBhdGgSHwoLc291cmNlX2ZpbGUYAiABKAlSCnNvdXJjZU' + 'ZpbGUSFAoFYmVnaW4YAyABKAVSBWJlZ2luEhAKA2VuZBgEIAEoBVIDZW5kElIKCHNlbWFudGlj' + 'GAUgASgOMjYuZ29vZ2xlLnByb3RvYnVmLkdlbmVyYXRlZENvZGVJbmZvLkFubm90YXRpb24uU2' + 'VtYW50aWNSCHNlbWFudGljIigKCFNlbWFudGljEggKBE5PTkUQABIHCgNTRVQQARIJCgVBTElB' + 'UxAC'); + diff --git a/packages/corks/lib/src/proto/google/protobuf/descriptor.pbserver.dart b/packages/corks/lib/src/proto/google/protobuf/descriptor.pbserver.dart new file mode 100644 index 00000000..f0d7f47e --- /dev/null +++ b/packages/corks/lib/src/proto/google/protobuf/descriptor.pbserver.dart @@ -0,0 +1,14 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/descriptor.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names +// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +export 'descriptor.pb.dart'; + diff --git a/packages/corks/lib/src/proto/google/protobuf/duration.pb.dart b/packages/corks/lib/src/proto/google/protobuf/duration.pb.dart new file mode 100644 index 00000000..622c92d8 --- /dev/null +++ b/packages/corks/lib/src/proto/google/protobuf/duration.pb.dart @@ -0,0 +1,151 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/duration.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; +import 'package:protobuf/src/protobuf/mixins/well_known.dart' as $mixin; + +/// A Duration represents a signed, fixed-length span of time represented +/// as a count of seconds and fractions of seconds at nanosecond +/// resolution. It is independent of any calendar and concepts like "day" +/// or "month". It is related to Timestamp in that the difference between +/// two Timestamp values is a Duration and it can be added or subtracted +/// from a Timestamp. Range is approximately +-10,000 years. +/// +/// # Examples +/// +/// Example 1: Compute Duration from two Timestamps in pseudo code. +/// +/// Timestamp start = ...; +/// Timestamp end = ...; +/// Duration duration = ...; +/// +/// duration.seconds = end.seconds - start.seconds; +/// duration.nanos = end.nanos - start.nanos; +/// +/// if (duration.seconds < 0 && duration.nanos > 0) { +/// duration.seconds += 1; +/// duration.nanos -= 1000000000; +/// } else if (duration.seconds > 0 && duration.nanos < 0) { +/// duration.seconds -= 1; +/// duration.nanos += 1000000000; +/// } +/// +/// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. +/// +/// Timestamp start = ...; +/// Duration duration = ...; +/// Timestamp end = ...; +/// +/// end.seconds = start.seconds + duration.seconds; +/// end.nanos = start.nanos + duration.nanos; +/// +/// if (end.nanos < 0) { +/// end.seconds -= 1; +/// end.nanos += 1000000000; +/// } else if (end.nanos >= 1000000000) { +/// end.seconds += 1; +/// end.nanos -= 1000000000; +/// } +/// +/// Example 3: Compute Duration from datetime.timedelta in Python. +/// +/// td = datetime.timedelta(days=3, minutes=10) +/// duration = Duration() +/// duration.FromTimedelta(td) +/// +/// # JSON Mapping +/// +/// In JSON format, the Duration type is encoded as a string rather than an +/// object, where the string ends in the suffix "s" (indicating seconds) and +/// is preceded by the number of seconds, with nanoseconds expressed as +/// fractional seconds. For example, 3 seconds with 0 nanoseconds should be +/// encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should +/// be expressed in JSON format as "3.000000001s", and 3 seconds and 1 +/// microsecond should be expressed in JSON format as "3.000001s". +class Duration extends $pb.GeneratedMessage with $mixin.DurationMixin { + factory Duration({ + $fixnum.Int64? seconds, + $core.int? nanos, + }) { + final $result = create(); + if (seconds != null) { + $result.seconds = seconds; + } + if (nanos != null) { + $result.nanos = nanos; + } + return $result; + } + Duration._() : super(); + factory Duration.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Duration.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Duration', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create, toProto3Json: $mixin.DurationMixin.toProto3JsonHelper, fromProto3Json: $mixin.DurationMixin.fromProto3JsonHelper) + ..aInt64(1, _omitFieldNames ? '' : 'seconds') + ..a<$core.int>(2, _omitFieldNames ? '' : 'nanos', $pb.PbFieldType.O3) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Duration clone() => Duration()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Duration copyWith(void Function(Duration) updates) => super.copyWith((message) => updates(message as Duration)) as Duration; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Duration create() => Duration._(); + Duration createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Duration getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Duration? _defaultInstance; + + /// Signed seconds of the span of time. Must be from -315,576,000,000 + /// to +315,576,000,000 inclusive. Note: these bounds are computed from: + /// 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + @$pb.TagNumber(1) + $fixnum.Int64 get seconds => $_getI64(0); + @$pb.TagNumber(1) + set seconds($fixnum.Int64 v) { $_setInt64(0, v); } + @$pb.TagNumber(1) + $core.bool hasSeconds() => $_has(0); + @$pb.TagNumber(1) + void clearSeconds() => clearField(1); + + /// Signed fractions of a second at nanosecond resolution of the span + /// of time. Durations less than one second are represented with a 0 + /// `seconds` field and a positive or negative `nanos` field. For durations + /// of one second or more, a non-zero value for the `nanos` field must be + /// of the same sign as the `seconds` field. Must be from -999,999,999 + /// to +999,999,999 inclusive. + @$pb.TagNumber(2) + $core.int get nanos => $_getIZ(1); + @$pb.TagNumber(2) + set nanos($core.int v) { $_setSignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasNanos() => $_has(1); + @$pb.TagNumber(2) + void clearNanos() => clearField(2); +} + + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/packages/corks/lib/src/proto/google/protobuf/duration.pbenum.dart b/packages/corks/lib/src/proto/google/protobuf/duration.pbenum.dart new file mode 100644 index 00000000..403b0103 --- /dev/null +++ b/packages/corks/lib/src/proto/google/protobuf/duration.pbenum.dart @@ -0,0 +1,11 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/duration.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + diff --git a/packages/corks/lib/src/proto/google/protobuf/duration.pbjson.dart b/packages/corks/lib/src/proto/google/protobuf/duration.pbjson.dart new file mode 100644 index 00000000..aacca438 --- /dev/null +++ b/packages/corks/lib/src/proto/google/protobuf/duration.pbjson.dart @@ -0,0 +1,29 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/duration.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use durationDescriptor instead') +const Duration$json = { + '1': 'Duration', + '2': [ + {'1': 'seconds', '3': 1, '4': 1, '5': 3, '10': 'seconds'}, + {'1': 'nanos', '3': 2, '4': 1, '5': 5, '10': 'nanos'}, + ], +}; + +/// Descriptor for `Duration`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List durationDescriptor = $convert.base64Decode( + 'CghEdXJhdGlvbhIYCgdzZWNvbmRzGAEgASgDUgdzZWNvbmRzEhQKBW5hbm9zGAIgASgFUgVuYW' + '5vcw=='); + diff --git a/packages/corks/lib/src/proto/google/protobuf/duration.pbserver.dart b/packages/corks/lib/src/proto/google/protobuf/duration.pbserver.dart new file mode 100644 index 00000000..0a983497 --- /dev/null +++ b/packages/corks/lib/src/proto/google/protobuf/duration.pbserver.dart @@ -0,0 +1,14 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/duration.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names +// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +export 'duration.pb.dart'; + diff --git a/packages/corks/lib/src/proto/google/protobuf/plugin.pb.dart b/packages/corks/lib/src/proto/google/protobuf/plugin.pb.dart new file mode 100644 index 00000000..7734e747 --- /dev/null +++ b/packages/corks/lib/src/proto/google/protobuf/plugin.pb.dart @@ -0,0 +1,449 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/plugin.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import 'descriptor.pb.dart' as $2; + +export 'plugin.pbenum.dart'; + +/// The version number of protocol compiler. +class Version extends $pb.GeneratedMessage { + factory Version({ + $core.int? major, + $core.int? minor, + $core.int? patch, + $core.String? suffix, + }) { + final $result = create(); + if (major != null) { + $result.major = major; + } + if (minor != null) { + $result.minor = minor; + } + if (patch != null) { + $result.patch = patch; + } + if (suffix != null) { + $result.suffix = suffix; + } + return $result; + } + Version._() : super(); + factory Version.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Version.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Version', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf.compiler'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'major', $pb.PbFieldType.O3) + ..a<$core.int>(2, _omitFieldNames ? '' : 'minor', $pb.PbFieldType.O3) + ..a<$core.int>(3, _omitFieldNames ? '' : 'patch', $pb.PbFieldType.O3) + ..aOS(4, _omitFieldNames ? '' : 'suffix') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Version clone() => Version()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Version copyWith(void Function(Version) updates) => super.copyWith((message) => updates(message as Version)) as Version; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Version create() => Version._(); + Version createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Version getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Version? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get major => $_getIZ(0); + @$pb.TagNumber(1) + set major($core.int v) { $_setSignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasMajor() => $_has(0); + @$pb.TagNumber(1) + void clearMajor() => clearField(1); + + @$pb.TagNumber(2) + $core.int get minor => $_getIZ(1); + @$pb.TagNumber(2) + set minor($core.int v) { $_setSignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasMinor() => $_has(1); + @$pb.TagNumber(2) + void clearMinor() => clearField(2); + + @$pb.TagNumber(3) + $core.int get patch => $_getIZ(2); + @$pb.TagNumber(3) + set patch($core.int v) { $_setSignedInt32(2, v); } + @$pb.TagNumber(3) + $core.bool hasPatch() => $_has(2); + @$pb.TagNumber(3) + void clearPatch() => clearField(3); + + /// A suffix for alpha, beta or rc release, e.g., "alpha-1", "rc2". It should + /// be empty for mainline stable releases. + @$pb.TagNumber(4) + $core.String get suffix => $_getSZ(3); + @$pb.TagNumber(4) + set suffix($core.String v) { $_setString(3, v); } + @$pb.TagNumber(4) + $core.bool hasSuffix() => $_has(3); + @$pb.TagNumber(4) + void clearSuffix() => clearField(4); +} + +/// An encoded CodeGeneratorRequest is written to the plugin's stdin. +class CodeGeneratorRequest extends $pb.GeneratedMessage { + factory CodeGeneratorRequest({ + $core.Iterable<$core.String>? fileToGenerate, + $core.String? parameter, + Version? compilerVersion, + $core.Iterable<$2.FileDescriptorProto>? protoFile, + }) { + final $result = create(); + if (fileToGenerate != null) { + $result.fileToGenerate.addAll(fileToGenerate); + } + if (parameter != null) { + $result.parameter = parameter; + } + if (compilerVersion != null) { + $result.compilerVersion = compilerVersion; + } + if (protoFile != null) { + $result.protoFile.addAll(protoFile); + } + return $result; + } + CodeGeneratorRequest._() : super(); + factory CodeGeneratorRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory CodeGeneratorRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CodeGeneratorRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf.compiler'), createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'fileToGenerate') + ..aOS(2, _omitFieldNames ? '' : 'parameter') + ..aOM(3, _omitFieldNames ? '' : 'compilerVersion', subBuilder: Version.create) + ..pc<$2.FileDescriptorProto>(15, _omitFieldNames ? '' : 'protoFile', $pb.PbFieldType.PM, subBuilder: $2.FileDescriptorProto.create) + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CodeGeneratorRequest clone() => CodeGeneratorRequest()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CodeGeneratorRequest copyWith(void Function(CodeGeneratorRequest) updates) => super.copyWith((message) => updates(message as CodeGeneratorRequest)) as CodeGeneratorRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CodeGeneratorRequest create() => CodeGeneratorRequest._(); + CodeGeneratorRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CodeGeneratorRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static CodeGeneratorRequest? _defaultInstance; + + /// The .proto files that were explicitly listed on the command-line. The + /// code generator should generate code only for these files. Each file's + /// descriptor will be included in proto_file, below. + @$pb.TagNumber(1) + $core.List<$core.String> get fileToGenerate => $_getList(0); + + /// The generator parameter passed on the command-line. + @$pb.TagNumber(2) + $core.String get parameter => $_getSZ(1); + @$pb.TagNumber(2) + set parameter($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasParameter() => $_has(1); + @$pb.TagNumber(2) + void clearParameter() => clearField(2); + + /// The version number of protocol compiler. + @$pb.TagNumber(3) + Version get compilerVersion => $_getN(2); + @$pb.TagNumber(3) + set compilerVersion(Version v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasCompilerVersion() => $_has(2); + @$pb.TagNumber(3) + void clearCompilerVersion() => clearField(3); + @$pb.TagNumber(3) + Version ensureCompilerVersion() => $_ensure(2); + + /// FileDescriptorProtos for all files in files_to_generate and everything + /// they import. The files will appear in topological order, so each file + /// appears before any file that imports it. + /// + /// protoc guarantees that all proto_files will be written after + /// the fields above, even though this is not technically guaranteed by the + /// protobuf wire format. This theoretically could allow a plugin to stream + /// in the FileDescriptorProtos and handle them one by one rather than read + /// the entire set into memory at once. However, as of this writing, this + /// is not similarly optimized on protoc's end -- it will store all fields in + /// memory at once before sending them to the plugin. + /// + /// Type names of fields and extensions in the FileDescriptorProto are always + /// fully qualified. + @$pb.TagNumber(15) + $core.List<$2.FileDescriptorProto> get protoFile => $_getList(3); +} + +/// Represents a single generated file. +class CodeGeneratorResponse_File extends $pb.GeneratedMessage { + factory CodeGeneratorResponse_File({ + $core.String? name, + $core.String? insertionPoint, + $core.String? content, + $2.GeneratedCodeInfo? generatedCodeInfo, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (insertionPoint != null) { + $result.insertionPoint = insertionPoint; + } + if (content != null) { + $result.content = content; + } + if (generatedCodeInfo != null) { + $result.generatedCodeInfo = generatedCodeInfo; + } + return $result; + } + CodeGeneratorResponse_File._() : super(); + factory CodeGeneratorResponse_File.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory CodeGeneratorResponse_File.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CodeGeneratorResponse.File', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf.compiler'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'insertionPoint') + ..aOS(15, _omitFieldNames ? '' : 'content') + ..aOM<$2.GeneratedCodeInfo>(16, _omitFieldNames ? '' : 'generatedCodeInfo', subBuilder: $2.GeneratedCodeInfo.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CodeGeneratorResponse_File clone() => CodeGeneratorResponse_File()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CodeGeneratorResponse_File copyWith(void Function(CodeGeneratorResponse_File) updates) => super.copyWith((message) => updates(message as CodeGeneratorResponse_File)) as CodeGeneratorResponse_File; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CodeGeneratorResponse_File create() => CodeGeneratorResponse_File._(); + CodeGeneratorResponse_File createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CodeGeneratorResponse_File getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static CodeGeneratorResponse_File? _defaultInstance; + + /// The file name, relative to the output directory. The name must not + /// contain "." or ".." components and must be relative, not be absolute (so, + /// the file cannot lie outside the output directory). "/" must be used as + /// the path separator, not "\". + /// + /// If the name is omitted, the content will be appended to the previous + /// file. This allows the generator to break large files into small chunks, + /// and allows the generated text to be streamed back to protoc so that large + /// files need not reside completely in memory at one time. Note that as of + /// this writing protoc does not optimize for this -- it will read the entire + /// CodeGeneratorResponse before writing files to disk. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// If non-empty, indicates that the named file should already exist, and the + /// content here is to be inserted into that file at a defined insertion + /// point. This feature allows a code generator to extend the output + /// produced by another code generator. The original generator may provide + /// insertion points by placing special annotations in the file that look + /// like: + /// @@protoc_insertion_point(NAME) + /// The annotation can have arbitrary text before and after it on the line, + /// which allows it to be placed in a comment. NAME should be replaced with + /// an identifier naming the point -- this is what other generators will use + /// as the insertion_point. Code inserted at this point will be placed + /// immediately above the line containing the insertion point (thus multiple + /// insertions to the same point will come out in the order they were added). + /// The double-@ is intended to make it unlikely that the generated code + /// could contain things that look like insertion points by accident. + /// + /// For example, the C++ code generator places the following line in the + /// .pb.h files that it generates: + /// // @@protoc_insertion_point(namespace_scope) + /// This line appears within the scope of the file's package namespace, but + /// outside of any particular class. Another plugin can then specify the + /// insertion_point "namespace_scope" to generate additional classes or + /// other declarations that should be placed in this scope. + /// + /// Note that if the line containing the insertion point begins with + /// whitespace, the same whitespace will be added to every line of the + /// inserted text. This is useful for languages like Python, where + /// indentation matters. In these languages, the insertion point comment + /// should be indented the same amount as any inserted code will need to be + /// in order to work correctly in that context. + /// + /// The code generator that generates the initial file and the one which + /// inserts into it must both run as part of a single invocation of protoc. + /// Code generators are executed in the order in which they appear on the + /// command line. + /// + /// If |insertion_point| is present, |name| must also be present. + @$pb.TagNumber(2) + $core.String get insertionPoint => $_getSZ(1); + @$pb.TagNumber(2) + set insertionPoint($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasInsertionPoint() => $_has(1); + @$pb.TagNumber(2) + void clearInsertionPoint() => clearField(2); + + /// The file contents. + @$pb.TagNumber(15) + $core.String get content => $_getSZ(2); + @$pb.TagNumber(15) + set content($core.String v) { $_setString(2, v); } + @$pb.TagNumber(15) + $core.bool hasContent() => $_has(2); + @$pb.TagNumber(15) + void clearContent() => clearField(15); + + /// Information describing the file content being inserted. If an insertion + /// point is used, this information will be appropriately offset and inserted + /// into the code generation metadata for the generated files. + @$pb.TagNumber(16) + $2.GeneratedCodeInfo get generatedCodeInfo => $_getN(3); + @$pb.TagNumber(16) + set generatedCodeInfo($2.GeneratedCodeInfo v) { setField(16, v); } + @$pb.TagNumber(16) + $core.bool hasGeneratedCodeInfo() => $_has(3); + @$pb.TagNumber(16) + void clearGeneratedCodeInfo() => clearField(16); + @$pb.TagNumber(16) + $2.GeneratedCodeInfo ensureGeneratedCodeInfo() => $_ensure(3); +} + +/// The plugin writes an encoded CodeGeneratorResponse to stdout. +class CodeGeneratorResponse extends $pb.GeneratedMessage { + factory CodeGeneratorResponse({ + $core.String? error, + $fixnum.Int64? supportedFeatures, + $core.Iterable? file, + }) { + final $result = create(); + if (error != null) { + $result.error = error; + } + if (supportedFeatures != null) { + $result.supportedFeatures = supportedFeatures; + } + if (file != null) { + $result.file.addAll(file); + } + return $result; + } + CodeGeneratorResponse._() : super(); + factory CodeGeneratorResponse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory CodeGeneratorResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CodeGeneratorResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf.compiler'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'error') + ..a<$fixnum.Int64>(2, _omitFieldNames ? '' : 'supportedFeatures', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO) + ..pc(15, _omitFieldNames ? '' : 'file', $pb.PbFieldType.PM, subBuilder: CodeGeneratorResponse_File.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CodeGeneratorResponse clone() => CodeGeneratorResponse()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CodeGeneratorResponse copyWith(void Function(CodeGeneratorResponse) updates) => super.copyWith((message) => updates(message as CodeGeneratorResponse)) as CodeGeneratorResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CodeGeneratorResponse create() => CodeGeneratorResponse._(); + CodeGeneratorResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CodeGeneratorResponse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static CodeGeneratorResponse? _defaultInstance; + + /// Error message. If non-empty, code generation failed. The plugin process + /// should exit with status code zero even if it reports an error in this way. + /// + /// This should be used to indicate errors in .proto files which prevent the + /// code generator from generating correct code. Errors which indicate a + /// problem in protoc itself -- such as the input CodeGeneratorRequest being + /// unparseable -- should be reported by writing a message to stderr and + /// exiting with a non-zero status code. + @$pb.TagNumber(1) + $core.String get error => $_getSZ(0); + @$pb.TagNumber(1) + set error($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasError() => $_has(0); + @$pb.TagNumber(1) + void clearError() => clearField(1); + + /// A bitmask of supported features that the code generator supports. + /// This is a bitwise "or" of values from the Feature enum. + @$pb.TagNumber(2) + $fixnum.Int64 get supportedFeatures => $_getI64(1); + @$pb.TagNumber(2) + set supportedFeatures($fixnum.Int64 v) { $_setInt64(1, v); } + @$pb.TagNumber(2) + $core.bool hasSupportedFeatures() => $_has(1); + @$pb.TagNumber(2) + void clearSupportedFeatures() => clearField(2); + + @$pb.TagNumber(15) + $core.List get file => $_getList(2); +} + + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/packages/corks/lib/src/proto/google/protobuf/plugin.pbenum.dart b/packages/corks/lib/src/proto/google/protobuf/plugin.pbenum.dart new file mode 100644 index 00000000..6e768bad --- /dev/null +++ b/packages/corks/lib/src/proto/google/protobuf/plugin.pbenum.dart @@ -0,0 +1,33 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/plugin.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Sync with code_generator.h. +class CodeGeneratorResponse_Feature extends $pb.ProtobufEnum { + static const CodeGeneratorResponse_Feature FEATURE_NONE = CodeGeneratorResponse_Feature._(0, _omitEnumNames ? '' : 'FEATURE_NONE'); + static const CodeGeneratorResponse_Feature FEATURE_PROTO3_OPTIONAL = CodeGeneratorResponse_Feature._(1, _omitEnumNames ? '' : 'FEATURE_PROTO3_OPTIONAL'); + + static const $core.List values = [ + FEATURE_NONE, + FEATURE_PROTO3_OPTIONAL, + ]; + + static final $core.Map<$core.int, CodeGeneratorResponse_Feature> _byValue = $pb.ProtobufEnum.initByValue(values); + static CodeGeneratorResponse_Feature? valueOf($core.int value) => _byValue[value]; + + const CodeGeneratorResponse_Feature._($core.int v, $core.String n) : super(v, n); +} + + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/packages/corks/lib/src/proto/google/protobuf/plugin.pbjson.dart b/packages/corks/lib/src/proto/google/protobuf/plugin.pbjson.dart new file mode 100644 index 00000000..73ad3016 --- /dev/null +++ b/packages/corks/lib/src/proto/google/protobuf/plugin.pbjson.dart @@ -0,0 +1,93 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/plugin.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use versionDescriptor instead') +const Version$json = { + '1': 'Version', + '2': [ + {'1': 'major', '3': 1, '4': 1, '5': 5, '10': 'major'}, + {'1': 'minor', '3': 2, '4': 1, '5': 5, '10': 'minor'}, + {'1': 'patch', '3': 3, '4': 1, '5': 5, '10': 'patch'}, + {'1': 'suffix', '3': 4, '4': 1, '5': 9, '10': 'suffix'}, + ], +}; + +/// Descriptor for `Version`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List versionDescriptor = $convert.base64Decode( + 'CgdWZXJzaW9uEhQKBW1ham9yGAEgASgFUgVtYWpvchIUCgVtaW5vchgCIAEoBVIFbWlub3ISFA' + 'oFcGF0Y2gYAyABKAVSBXBhdGNoEhYKBnN1ZmZpeBgEIAEoCVIGc3VmZml4'); + +@$core.Deprecated('Use codeGeneratorRequestDescriptor instead') +const CodeGeneratorRequest$json = { + '1': 'CodeGeneratorRequest', + '2': [ + {'1': 'file_to_generate', '3': 1, '4': 3, '5': 9, '10': 'fileToGenerate'}, + {'1': 'parameter', '3': 2, '4': 1, '5': 9, '10': 'parameter'}, + {'1': 'proto_file', '3': 15, '4': 3, '5': 11, '6': '.google.protobuf.FileDescriptorProto', '10': 'protoFile'}, + {'1': 'compiler_version', '3': 3, '4': 1, '5': 11, '6': '.google.protobuf.compiler.Version', '10': 'compilerVersion'}, + ], +}; + +/// Descriptor for `CodeGeneratorRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List codeGeneratorRequestDescriptor = $convert.base64Decode( + 'ChRDb2RlR2VuZXJhdG9yUmVxdWVzdBIoChBmaWxlX3RvX2dlbmVyYXRlGAEgAygJUg5maWxlVG' + '9HZW5lcmF0ZRIcCglwYXJhbWV0ZXIYAiABKAlSCXBhcmFtZXRlchJDCgpwcm90b19maWxlGA8g' + 'AygLMiQuZ29vZ2xlLnByb3RvYnVmLkZpbGVEZXNjcmlwdG9yUHJvdG9SCXByb3RvRmlsZRJMCh' + 'Bjb21waWxlcl92ZXJzaW9uGAMgASgLMiEuZ29vZ2xlLnByb3RvYnVmLmNvbXBpbGVyLlZlcnNp' + 'b25SD2NvbXBpbGVyVmVyc2lvbg=='); + +@$core.Deprecated('Use codeGeneratorResponseDescriptor instead') +const CodeGeneratorResponse$json = { + '1': 'CodeGeneratorResponse', + '2': [ + {'1': 'error', '3': 1, '4': 1, '5': 9, '10': 'error'}, + {'1': 'supported_features', '3': 2, '4': 1, '5': 4, '10': 'supportedFeatures'}, + {'1': 'file', '3': 15, '4': 3, '5': 11, '6': '.google.protobuf.compiler.CodeGeneratorResponse.File', '10': 'file'}, + ], + '3': [CodeGeneratorResponse_File$json], + '4': [CodeGeneratorResponse_Feature$json], +}; + +@$core.Deprecated('Use codeGeneratorResponseDescriptor instead') +const CodeGeneratorResponse_File$json = { + '1': 'File', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'insertion_point', '3': 2, '4': 1, '5': 9, '10': 'insertionPoint'}, + {'1': 'content', '3': 15, '4': 1, '5': 9, '10': 'content'}, + {'1': 'generated_code_info', '3': 16, '4': 1, '5': 11, '6': '.google.protobuf.GeneratedCodeInfo', '10': 'generatedCodeInfo'}, + ], +}; + +@$core.Deprecated('Use codeGeneratorResponseDescriptor instead') +const CodeGeneratorResponse_Feature$json = { + '1': 'Feature', + '2': [ + {'1': 'FEATURE_NONE', '2': 0}, + {'1': 'FEATURE_PROTO3_OPTIONAL', '2': 1}, + ], +}; + +/// Descriptor for `CodeGeneratorResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List codeGeneratorResponseDescriptor = $convert.base64Decode( + 'ChVDb2RlR2VuZXJhdG9yUmVzcG9uc2USFAoFZXJyb3IYASABKAlSBWVycm9yEi0KEnN1cHBvcn' + 'RlZF9mZWF0dXJlcxgCIAEoBFIRc3VwcG9ydGVkRmVhdHVyZXMSSAoEZmlsZRgPIAMoCzI0Lmdv' + 'b2dsZS5wcm90b2J1Zi5jb21waWxlci5Db2RlR2VuZXJhdG9yUmVzcG9uc2UuRmlsZVIEZmlsZR' + 'qxAQoERmlsZRISCgRuYW1lGAEgASgJUgRuYW1lEicKD2luc2VydGlvbl9wb2ludBgCIAEoCVIO' + 'aW5zZXJ0aW9uUG9pbnQSGAoHY29udGVudBgPIAEoCVIHY29udGVudBJSChNnZW5lcmF0ZWRfY2' + '9kZV9pbmZvGBAgASgLMiIuZ29vZ2xlLnByb3RvYnVmLkdlbmVyYXRlZENvZGVJbmZvUhFnZW5l' + 'cmF0ZWRDb2RlSW5mbyI4CgdGZWF0dXJlEhAKDEZFQVRVUkVfTk9ORRAAEhsKF0ZFQVRVUkVfUF' + 'JPVE8zX09QVElPTkFMEAE='); + diff --git a/packages/corks/lib/src/proto/google/protobuf/plugin.pbserver.dart b/packages/corks/lib/src/proto/google/protobuf/plugin.pbserver.dart new file mode 100644 index 00000000..5d816bac --- /dev/null +++ b/packages/corks/lib/src/proto/google/protobuf/plugin.pbserver.dart @@ -0,0 +1,14 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/plugin.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names +// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +export 'plugin.pb.dart'; + diff --git a/packages/corks/lib/src/proto/google/protobuf/timestamp.pb.dart b/packages/corks/lib/src/proto/google/protobuf/timestamp.pb.dart new file mode 100644 index 00000000..ea44b44e --- /dev/null +++ b/packages/corks/lib/src/proto/google/protobuf/timestamp.pb.dart @@ -0,0 +1,188 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/timestamp.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; +import 'package:protobuf/src/protobuf/mixins/well_known.dart' as $mixin; + +/// A Timestamp represents a point in time independent of any time zone or local +/// calendar, encoded as a count of seconds and fractions of seconds at +/// nanosecond resolution. The count is relative to an epoch at UTC midnight on +/// January 1, 1970, in the proleptic Gregorian calendar which extends the +/// Gregorian calendar backwards to year one. +/// +/// All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap +/// second table is needed for interpretation, using a [24-hour linear +/// smear](https://developers.google.com/time/smear). +/// +/// The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By +/// restricting to that range, we ensure that we can convert to and from [RFC +/// 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. +/// +/// # Examples +/// +/// Example 1: Compute Timestamp from POSIX `time()`. +/// +/// Timestamp timestamp; +/// timestamp.set_seconds(time(NULL)); +/// timestamp.set_nanos(0); +/// +/// Example 2: Compute Timestamp from POSIX `gettimeofday()`. +/// +/// struct timeval tv; +/// gettimeofday(&tv, NULL); +/// +/// Timestamp timestamp; +/// timestamp.set_seconds(tv.tv_sec); +/// timestamp.set_nanos(tv.tv_usec * 1000); +/// +/// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. +/// +/// FILETIME ft; +/// GetSystemTimeAsFileTime(&ft); +/// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; +/// +/// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z +/// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. +/// Timestamp timestamp; +/// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); +/// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); +/// +/// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. +/// +/// long millis = System.currentTimeMillis(); +/// +/// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) +/// .setNanos((int) ((millis % 1000) * 1000000)).build(); +/// +/// Example 5: Compute Timestamp from Java `Instant.now()`. +/// +/// Instant now = Instant.now(); +/// +/// Timestamp timestamp = +/// Timestamp.newBuilder().setSeconds(now.getEpochSecond()) +/// .setNanos(now.getNano()).build(); +/// +/// Example 6: Compute Timestamp from current time in Python. +/// +/// timestamp = Timestamp() +/// timestamp.GetCurrentTime() +/// +/// # JSON Mapping +/// +/// In JSON format, the Timestamp type is encoded as a string in the +/// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the +/// format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" +/// where {year} is always expressed using four digits while {month}, {day}, +/// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional +/// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), +/// are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone +/// is required. A proto3 JSON serializer should always use UTC (as indicated by +/// "Z") when printing the Timestamp type and a proto3 JSON parser should be +/// able to accept both UTC and other timezones (as indicated by an offset). +/// +/// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past +/// 01:30 UTC on January 15, 2017. +/// +/// In JavaScript, one can convert a Date object to this format using the +/// standard +/// [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) +/// method. In Python, a standard `datetime.datetime` object can be converted +/// to this format using +/// [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with +/// the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use +/// the Joda Time's [`ISODateTimeFormat.dateTime()`]( +/// http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() +/// ) to obtain a formatter capable of generating timestamps in this format. +class Timestamp extends $pb.GeneratedMessage with $mixin.TimestampMixin { + factory Timestamp({ + $fixnum.Int64? seconds, + $core.int? nanos, + }) { + final $result = create(); + if (seconds != null) { + $result.seconds = seconds; + } + if (nanos != null) { + $result.nanos = nanos; + } + return $result; + } + Timestamp._() : super(); + factory Timestamp.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Timestamp.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Timestamp', package: const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), createEmptyInstance: create, toProto3Json: $mixin.TimestampMixin.toProto3JsonHelper, fromProto3Json: $mixin.TimestampMixin.fromProto3JsonHelper) + ..aInt64(1, _omitFieldNames ? '' : 'seconds') + ..a<$core.int>(2, _omitFieldNames ? '' : 'nanos', $pb.PbFieldType.O3) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Timestamp clone() => Timestamp()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Timestamp copyWith(void Function(Timestamp) updates) => super.copyWith((message) => updates(message as Timestamp)) as Timestamp; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Timestamp create() => Timestamp._(); + Timestamp createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Timestamp getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Timestamp? _defaultInstance; + + /// Represents seconds of UTC time since Unix epoch + /// 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + /// 9999-12-31T23:59:59Z inclusive. + @$pb.TagNumber(1) + $fixnum.Int64 get seconds => $_getI64(0); + @$pb.TagNumber(1) + set seconds($fixnum.Int64 v) { $_setInt64(0, v); } + @$pb.TagNumber(1) + $core.bool hasSeconds() => $_has(0); + @$pb.TagNumber(1) + void clearSeconds() => clearField(1); + + /// Non-negative fractions of a second at nanosecond resolution. Negative + /// second values with fractions must still have non-negative nanos values + /// that count forward in time. Must be from 0 to 999,999,999 + /// inclusive. + @$pb.TagNumber(2) + $core.int get nanos => $_getIZ(1); + @$pb.TagNumber(2) + set nanos($core.int v) { $_setSignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasNanos() => $_has(1); + @$pb.TagNumber(2) + void clearNanos() => clearField(2); + /// Creates a new instance from [dateTime]. + /// + /// Time zone information will not be preserved. + static Timestamp fromDateTime($core.DateTime dateTime) { + final result = create(); + $mixin.TimestampMixin.setFromDateTime(result, dateTime); + return result; + } +} + + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/packages/corks/lib/src/proto/google/protobuf/timestamp.pbenum.dart b/packages/corks/lib/src/proto/google/protobuf/timestamp.pbenum.dart new file mode 100644 index 00000000..30275f6a --- /dev/null +++ b/packages/corks/lib/src/proto/google/protobuf/timestamp.pbenum.dart @@ -0,0 +1,11 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/timestamp.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + diff --git a/packages/corks/lib/src/proto/google/protobuf/timestamp.pbjson.dart b/packages/corks/lib/src/proto/google/protobuf/timestamp.pbjson.dart new file mode 100644 index 00000000..3dfd63b5 --- /dev/null +++ b/packages/corks/lib/src/proto/google/protobuf/timestamp.pbjson.dart @@ -0,0 +1,29 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/timestamp.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use timestampDescriptor instead') +const Timestamp$json = { + '1': 'Timestamp', + '2': [ + {'1': 'seconds', '3': 1, '4': 1, '5': 3, '10': 'seconds'}, + {'1': 'nanos', '3': 2, '4': 1, '5': 5, '10': 'nanos'}, + ], +}; + +/// Descriptor for `Timestamp`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List timestampDescriptor = $convert.base64Decode( + 'CglUaW1lc3RhbXASGAoHc2Vjb25kcxgBIAEoA1IHc2Vjb25kcxIUCgVuYW5vcxgCIAEoBVIFbm' + 'Fub3M='); + diff --git a/packages/corks/lib/src/proto/google/protobuf/timestamp.pbserver.dart b/packages/corks/lib/src/proto/google/protobuf/timestamp.pbserver.dart new file mode 100644 index 00000000..6580f167 --- /dev/null +++ b/packages/corks/lib/src/proto/google/protobuf/timestamp.pbserver.dart @@ -0,0 +1,14 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/timestamp.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names +// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +export 'timestamp.pb.dart'; + diff --git a/packages/corks/lib/src/signer.dart b/packages/corks/lib/src/signer.dart new file mode 100644 index 00000000..b4591410 --- /dev/null +++ b/packages/corks/lib/src/signer.dart @@ -0,0 +1,79 @@ +import 'dart:async'; +import 'dart:typed_data'; + +import 'package:crypto/crypto.dart'; +import 'package:meta/meta.dart'; + +abstract interface class Signable { + S signed(Uint8List signature); + Uint8List encode(); +} + +final class SignableBytes implements Signable { + const SignableBytes(this.bytes); + + final Uint8List bytes; + + @override + Uint8List encode() => bytes; + + @override + SignedBytes signed(Uint8List signature) => SignedBytes( + block: this, + signature: signature, + ); +} + +@immutable +abstract interface class Signed { + Signable get block; + Uint8List get signature; +} + +final class SignedBytes implements Signed { + const SignedBytes({ + required this.block, + required this.signature, + }); + + @override + final SignableBytes block; + + @override + final Uint8List signature; +} + +abstract interface class Signer { + factory Signer(Uint8List key) = _Signer; + const Signer._(); + + Future sign(Signable block); + Future close(); +} + +final class _Signer extends Signer { + _Signer(Uint8List key) + : _hmac = Hmac(sha256, key), + super._(); + + Hmac _hmac; + late Uint8List _signature; + var _closed = false; + + @override + Future sign(Signable block) async { + if (_closed) { + throw StateError('Signer is closed'); + } + final bytes = block.encode(); + _signature = await Future(() => _hmac.convert(bytes).bytes as Uint8List); + _hmac = Hmac(sha256, _signature); + return block.signed(_signature); + } + + @override + Future close() async { + _closed = true; + return _signature; + } +} diff --git a/packages/corks/proto/buf.gen.yaml b/packages/corks/proto/buf.gen.yaml new file mode 100644 index 00000000..7f249e1d --- /dev/null +++ b/packages/corks/proto/buf.gen.yaml @@ -0,0 +1,6 @@ +version: v1 +managed: + enabled: true +plugins: + - plugin: buf.build/protocolbuffers/dart:v21.1.2 + out: ../lib/src/proto diff --git a/packages/corks/proto/buf.yaml b/packages/corks/proto/buf.yaml new file mode 100644 index 00000000..1e8b5e09 --- /dev/null +++ b/packages/corks/proto/buf.yaml @@ -0,0 +1,10 @@ +version: v1 +breaking: + use: + - FILE +lint: + use: + - DEFAULT + ignore: + - dart + - google diff --git a/packages/corks/proto/cedar/v3/context.proto b/packages/corks/proto/cedar/v3/context.proto new file mode 100644 index 00000000..b217e0a9 --- /dev/null +++ b/packages/corks/proto/cedar/v3/context.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; + +package cedar.v3; + +import "cedar/v3/value.proto"; + +message Context { + map values = 1; +} diff --git a/packages/corks/proto/cedar/v3/entity.proto b/packages/corks/proto/cedar/v3/entity.proto new file mode 100644 index 00000000..8e3c6146 --- /dev/null +++ b/packages/corks/proto/cedar/v3/entity.proto @@ -0,0 +1,12 @@ +syntax = "proto3"; + +package cedar.v3; + +import "cedar/v3/entity_id.proto"; +import "cedar/v3/value.proto"; + +message Entity { + EntityId uid = 1; + repeated EntityId parents = 2; + map attributes = 3; +} diff --git a/packages/corks/proto/cedar/v3/entity_id.proto b/packages/corks/proto/cedar/v3/entity_id.proto new file mode 100644 index 00000000..d807b16a --- /dev/null +++ b/packages/corks/proto/cedar/v3/entity_id.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; + +package cedar.v3; + +message EntityId { + string type = 1; + string id = 2; +} diff --git a/packages/corks/proto/cedar/v3/expr.proto b/packages/corks/proto/cedar/v3/expr.proto new file mode 100644 index 00000000..02a44f22 --- /dev/null +++ b/packages/corks/proto/cedar/v3/expr.proto @@ -0,0 +1,193 @@ +syntax = "proto3"; + +package cedar.v3; + +import "cedar/v3/value.proto"; +import "dart/dart_options.proto"; + +message Expr { + oneof expr { + ExprValue value = 1; + ExprVar var = 2 [(dart_options.dart_name) = "var_"]; + ExprSlot slot = 3; + ExprUnknown unknown = 4; + ExprNot not = 5; + ExprNeg neg = 6; + ExprEquals equals = 7; + ExprNotEquals not_equals = 8; + ExprIn in = 9 [(dart_options.dart_name) = "in_"]; + ExprLessThan less_than = 10; + ExprLessThanOrEquals less_than_or_equals = 11; + ExprGreaterThan greater_than = 12; + ExprGreaterThanOrEquals greater_than_or_equals = 13; + ExprAnd and = 14; + ExprOr or = 15; + ExprPlus plus = 16; + ExprMinus minus = 17; + ExprTimes times = 18; + ExprContains contains = 19; + ExprContainsAll contains_all = 20; + ExprContainsAny contains_any = 21; + ExprGetAttribute get_attribute = 22; + ExprHasAttribute has_attribute = 23; + ExprLike like = 24; + ExprIs is = 25 [(dart_options.dart_name) = "is_"]; + ExprIfThenElse if_then_else = 26; + ExprSet set = 27; + ExprRecord record = 28; + ExprFuncCall func_call = 29; + } +} + +message ExprValue { + Value value = 1; +} + +enum Variable { + VARIABLE_UNSPECIFIED = 0; + VARIABLE_PRINCIPAL = 1; + VARIABLE_ACTION = 2; + VARIABLE_RESOURCE = 3; + VARIABLE_CONTEXT = 4; +} + +message ExprVar { + Variable variable = 1; +} + +enum SlotId { + SLOT_ID_UNSPECIFIED = 0; + SLOT_ID_PRINCIPAL = 1; + SLOT_ID_RESOURCE = 2; +} + +message ExprSlot { + SlotId slot_id = 1; +} + +message ExprUnknown { + string name = 1; +} + +message ExprNot { + Expr expr = 1; +} + +message ExprNeg { + Expr expr = 1; +} + +message ExprEquals { + Expr left = 1; + Expr right = 2; +} + +message ExprNotEquals { + Expr left = 1; + Expr right = 2; +} + +message ExprIn { + Expr left = 1; + Expr right = 2; +} + +message ExprLessThan { + Expr left = 1; + Expr right = 2; +} + +message ExprLessThanOrEquals { + Expr left = 1; + Expr right = 2; +} + +message ExprGreaterThan { + Expr left = 1; + Expr right = 2; +} + +message ExprGreaterThanOrEquals { + Expr left = 1; + Expr right = 2; +} + +message ExprAnd { + Expr left = 1; + Expr right = 2; +} + +message ExprOr { + Expr left = 1; + Expr right = 2; +} + +message ExprPlus { + Expr left = 1; + Expr right = 2; +} + +message ExprMinus { + Expr left = 1; + Expr right = 2; +} + +message ExprTimes { + Expr left = 1; + Expr right = 2; +} + +message ExprContains { + Expr left = 1; + Expr right = 2; +} + +message ExprContainsAll { + Expr left = 1; + Expr right = 2; +} + +message ExprContainsAny { + Expr left = 1; + Expr right = 2; +} + +message ExprGetAttribute { + Expr left = 1; + string attr = 2; +} + +message ExprHasAttribute { + Expr left = 1; + string attr = 2; +} + +message ExprLike { + Expr left = 1; + string pattern = 2; +} + +message ExprIs { + Expr left = 1; + string entity_type = 2; + optional Expr in = 3 [(dart_options.dart_name) = "in_"]; +} + +message ExprIfThenElse { + Expr if = 1 [(dart_options.dart_name) = "if_"]; + Expr then = 2; + Expr else = 3 [(dart_options.dart_name) = "else_"]; +} + +message ExprSet { + repeated Expr expressions = 1; +} + +message ExprRecord { + map attributes = 1; +} + +message ExprFuncCall { + string fn = 1; + repeated Expr args = 2; +} diff --git a/packages/corks/proto/cedar/v3/policy.proto b/packages/corks/proto/cedar/v3/policy.proto new file mode 100644 index 00000000..a80b43a7 --- /dev/null +++ b/packages/corks/proto/cedar/v3/policy.proto @@ -0,0 +1,59 @@ +syntax = "proto3"; + +package cedar.v3; + +import "cedar/v3/entity_id.proto"; +import "cedar/v3/expr.proto"; + +enum PolicyEffect { + POLICY_EFFECT_UNSPECIFIED = 0; + POLICY_EFFECT_PERMIT = 1; + POLICY_EFFECT_FORBID = 2; +} + +enum PolicyOp { + POLICY_OP_UNSPECIFIED = 0; + POLICY_OP_ALL = 1; + POLICY_OP_EQUALS = 2; + POLICY_OP_IN = 3; + POLICY_OP_IS = 4; +} + +enum PolicyConditionKind { + POLICY_CONDITION_KIND_UNSPECIFIED = 0; + POLICY_CONDITION_KIND_WHEN = 1; + POLICY_CONDITION_KIND_UNLESS = 2; +} + +message Policy { + optional string id = 1; + PolicyEffect effect = 2; + PolicyPrincipal principal = 3; + PolicyAction action = 4; + PolicyResource resource = 5; + repeated PolicyCondition conditions = 6; + map annotations = 7; +} + +message PolicyPrincipal { + PolicyOp op = 1; + optional EntityId entity = 2; + optional string entity_type = 3; +} + +message PolicyAction { + PolicyOp op = 1; + optional EntityId entity = 2; + repeated EntityId entities = 3; +} + +message PolicyResource { + PolicyOp op = 1; + optional EntityId entity = 2; + optional string entity_type = 3; +} + +message PolicyCondition { + PolicyConditionKind kind = 1; + Expr body = 2; +} diff --git a/packages/corks/proto/cedar/v3/value.proto b/packages/corks/proto/cedar/v3/value.proto new file mode 100644 index 00000000..aa6bcf30 --- /dev/null +++ b/packages/corks/proto/cedar/v3/value.proto @@ -0,0 +1,34 @@ +syntax = "proto3"; + +package cedar.v3; + +import "cedar/v3/entity_id.proto"; + +message Value { + oneof value { + string string = 1; + int64 long = 2; + bool bool = 3; + SetValue set = 4; + RecordValue record = 5; + ExtensionValue extension = 6; + EntityValue entity = 7; + } +} + +message SetValue { + repeated Value values = 1; +} + +message RecordValue { + map values = 1; +} + +message ExtensionValue { + string fn = 1; + Value arg = 2; +} + +message EntityValue { + EntityId uid = 1; +} diff --git a/packages/corks/proto/corks/v1/cork.proto b/packages/corks/proto/corks/v1/cork.proto new file mode 100644 index 00000000..179c0725 --- /dev/null +++ b/packages/corks/proto/corks/v1/cork.proto @@ -0,0 +1,28 @@ +syntax = "proto3"; + +package corks.v1; + +import "cedar/v3/entity.proto"; +import "cedar/v3/policy.proto"; + +message Cork { + bytes id = 1; + bytes key_id = 2; + optional Bearer bearer = 3; + repeated Caveat caveats = 4; + bytes signature = 5; +} + +message Bearer { + bytes signature = 1; + oneof bearer { + cedar.v3.Entity entity = 2; + } +} + +message Caveat { + bytes signature = 1; + oneof block { + cedar.v3.Policy policy = 2; + } +} diff --git a/packages/corks/proto/dart/dart_options.proto b/packages/corks/proto/dart/dart_options.proto new file mode 100644 index 00000000..fa7ace22 --- /dev/null +++ b/packages/corks/proto/dart/dart_options.proto @@ -0,0 +1,77 @@ +// Experimental options controlling Dart code generation. +syntax = "proto2"; + +package dart_options; + +// This file must be modified for Google internal use, +// because custom options only work when the package name +// agrees with the version of protoc we are using. +// (The import statement and "google.protobuf." prefix need to be changed.) + +import "google/protobuf/descriptor.proto"; +import "google/protobuf/plugin.proto"; + +// A mixin that can be used in the 'with' clause of the generated Dart class +// for a proto message. +message DartMixin { + // The name of the mixin class. + optional string name = 1; + + // A URI pointing to the Dart library that defines the mixin. + // The generated Dart code will use this in an import statement. + optional string import_from = 2; + + // The name of another mixin to be applied ahead of this one. + // The generated class for the message will inherit from all mixins + // in the parent chain. + optional string parent = 3; +} + +// Defines additional Dart imports to be used with messages in this file. +message Imports { + // Mixins to be used on messages in this file. + // These mixins are in addition to internally defined mixins (e.g PbMapMixin) + // and may override them. + // + // Warning: mixins are experimental. The protoc Dart plugin doesn't check + // for name conflicts between mixin class members and generated class members, + // so the generated code may contain errors. Therefore, running dartanalyzer + // on the generated file is a good idea. + repeated DartMixin mixins = 1; +} + +extend google.protobuf.FileOptions { + optional Imports imports = 28125061; + + // Applies the named mixin to all messages in this file. + // (May be overridden by the "mixin" option on a message.) + // For now, "PbMapMixin" is the only available mixin. + optional string default_mixin = 96128839; +} + +extend google.protobuf.MessageOptions { + // Applies the named mixin. + // For now, "PbMapMixin" is the only available mixin. + // The empty string can be used to turn off mixins for this message. + optional string mixin = 96128839; +} + +extend google.protobuf.FieldOptions { + // Adds @override annotation to the field's getter (for use with mixins). + optional bool override_getter = 28205290; + + // Adds @override annotation to the field's setter (for use with mixins). + optional bool override_setter = 28937366; + + // Adds @override annotation to the field's hasX() method (for use with + // mixins). + optional bool override_has_method = 28937461; + + // Adds @override annotation to the field's clearX() method (for use with + // mixins). + optional bool override_clear_method = 28907907; + + // Uses the given name for getters, setters and as suffixes for has/clear + // methods in the generated Dart file. Should be lowerCamelCase. + optional string dart_name = 28700919; +} diff --git a/packages/corks/proto/google/protobuf/README.md b/packages/corks/proto/google/protobuf/README.md new file mode 100644 index 00000000..5a22e7c8 --- /dev/null +++ b/packages/corks/proto/google/protobuf/README.md @@ -0,0 +1,3 @@ +# Protobufs + +Google protobuf standard library: https://github.com/protocolbuffers/protobuf diff --git a/packages/corks/proto/google/protobuf/any.proto b/packages/corks/proto/google/protobuf/any.proto new file mode 100644 index 00000000..7bebd915 --- /dev/null +++ b/packages/corks/proto/google/protobuf/any.proto @@ -0,0 +1,162 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option go_package = "google.golang.org/protobuf/types/known/anypb"; +option java_multiple_files = true; +option java_outer_classname = "AnyProto"; +option java_package = "com.google.protobuf"; +option objc_class_prefix = "GPB"; + +// `Any` contains an arbitrary serialized protocol buffer message along with a +// URL that describes the type of the serialized message. +// +// Protobuf library provides support to pack/unpack Any values in the form +// of utility functions or additional generated methods of the Any type. +// +// Example 1: Pack and unpack a message in C++. +// +// Foo foo = ...; +// Any any; +// any.PackFrom(foo); +// ... +// if (any.UnpackTo(&foo)) { +// ... +// } +// +// Example 2: Pack and unpack a message in Java. +// +// Foo foo = ...; +// Any any = Any.pack(foo); +// ... +// if (any.is(Foo.class)) { +// foo = any.unpack(Foo.class); +// } +// // or ... +// if (any.isSameTypeAs(Foo.getDefaultInstance())) { +// foo = any.unpack(Foo.getDefaultInstance()); +// } +// +// Example 3: Pack and unpack a message in Python. +// +// foo = Foo(...) +// any = Any() +// any.Pack(foo) +// ... +// if any.Is(Foo.DESCRIPTOR): +// any.Unpack(foo) +// ... +// +// Example 4: Pack and unpack a message in Go +// +// foo := &pb.Foo{...} +// any, err := anypb.New(foo) +// if err != nil { +// ... +// } +// ... +// foo := &pb.Foo{} +// if err := any.UnmarshalTo(foo); err != nil { +// ... +// } +// +// The pack methods provided by protobuf library will by default use +// 'type.googleapis.com/full.type.name' as the type URL and the unpack +// methods only use the fully qualified type name after the last '/' +// in the type URL, for example "foo.bar.com/x/y.z" will yield type +// name "y.z". +// +// JSON +// ==== +// The JSON representation of an `Any` value uses the regular +// representation of the deserialized, embedded message, with an +// additional field `@type` which contains the type URL. Example: +// +// package google.profile; +// message Person { +// string first_name = 1; +// string last_name = 2; +// } +// +// { +// "@type": "type.googleapis.com/google.profile.Person", +// "firstName": , +// "lastName": +// } +// +// If the embedded message type is well-known and has a custom JSON +// representation, that representation will be embedded adding a field +// `value` which holds the custom JSON in addition to the `@type` +// field. Example (for message [google.protobuf.Duration][]): +// +// { +// "@type": "type.googleapis.com/google.protobuf.Duration", +// "value": "1.212s" +// } +// +message Any { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. As of May 2023, there are no widely used type server + // implementations and no plans to implement one. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + // + string type_url = 1; + + // Must be a valid serialized protocol buffer of the above specified type. + bytes value = 2; +} diff --git a/packages/corks/proto/google/protobuf/descriptor.proto b/packages/corks/proto/google/protobuf/descriptor.proto new file mode 100644 index 00000000..a8fb4b24 --- /dev/null +++ b/packages/corks/proto/google/protobuf/descriptor.proto @@ -0,0 +1,1248 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// The messages in this file describe the definitions found in .proto files. +// A valid .proto file can be translated directly to a FileDescriptorProto +// without any other information (e.g. without reading its imports). + +syntax = "proto2"; + +package google.protobuf; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Protobuf.Reflection"; +option go_package = "google.golang.org/protobuf/types/descriptorpb"; +option java_outer_classname = "DescriptorProtos"; +option java_package = "com.google.protobuf"; +option objc_class_prefix = "GPB"; +// descriptor.proto must be optimized for speed because reflection-based +// algorithms don't work during bootstrapping. +option optimize_for = SPEED; + +// The protocol compiler can output a FileDescriptorSet containing the .proto +// files it parses. +message FileDescriptorSet { + repeated FileDescriptorProto file = 1; +} + +// The full set of known editions. +enum Edition { + // A placeholder for an unknown edition value. + EDITION_UNKNOWN = 0; + + // Legacy syntax "editions". These pre-date editions, but behave much like + // distinct editions. These can't be used to specify the edition of proto + // files, but feature definitions must supply proto2/proto3 defaults for + // backwards compatibility. + EDITION_PROTO2 = 998; + EDITION_PROTO3 = 999; + + // Editions that have been released. The specific values are arbitrary and + // should not be depended on, but they will always be time-ordered for easy + // comparison. + EDITION_2023 = 1000; + + // Placeholder editions for testing feature resolution. These should not be + // used or relyed on outside of tests. + EDITION_1_TEST_ONLY = 1; + EDITION_2_TEST_ONLY = 2; + EDITION_99997_TEST_ONLY = 99997; + EDITION_99998_TEST_ONLY = 99998; + EDITION_99999_TEST_ONLY = 99999; +} + +// Describes a complete .proto file. +message FileDescriptorProto { + optional string name = 1; // file name, relative to root of source tree + optional string package = 2; // e.g. "foo", "foo.bar", etc. + + // Names of files imported by this file. + repeated string dependency = 3; + // Indexes of the public imported files in the dependency list above. + repeated int32 public_dependency = 10; + // Indexes of the weak imported files in the dependency list. + // For Google-internal migration only. Do not use. + repeated int32 weak_dependency = 11; + + // All top-level definitions in this file. + repeated DescriptorProto message_type = 4; + repeated EnumDescriptorProto enum_type = 5; + repeated ServiceDescriptorProto service = 6; + repeated FieldDescriptorProto extension = 7; + + optional FileOptions options = 8; + + // This field contains optional information about the original source code. + // You may safely remove this entire field without harming runtime + // functionality of the descriptors -- the information is needed only by + // development tools. + optional SourceCodeInfo source_code_info = 9; + + // The syntax of the proto file. + // The supported values are "proto2", "proto3", and "editions". + // + // If `edition` is present, this value must be "editions". + optional string syntax = 12; + + // The edition of the proto file. + optional Edition edition = 14; +} + +// Describes a message type. +message DescriptorProto { + optional string name = 1; + + repeated FieldDescriptorProto field = 2; + repeated FieldDescriptorProto extension = 6; + + repeated DescriptorProto nested_type = 3; + repeated EnumDescriptorProto enum_type = 4; + + message ExtensionRange { + optional int32 start = 1; // Inclusive. + optional int32 end = 2; // Exclusive. + + optional ExtensionRangeOptions options = 3; + } + repeated ExtensionRange extension_range = 5; + + repeated OneofDescriptorProto oneof_decl = 8; + + optional MessageOptions options = 7; + + // Range of reserved tag numbers. Reserved tag numbers may not be used by + // fields or extension ranges in the same message. Reserved ranges may + // not overlap. + message ReservedRange { + optional int32 start = 1; // Inclusive. + optional int32 end = 2; // Exclusive. + } + repeated ReservedRange reserved_range = 9; + // Reserved field names, which may not be used by fields in the same message. + // A given name may only be reserved once. + repeated string reserved_name = 10; +} + +message ExtensionRangeOptions { + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + message Declaration { + // The extension number declared within the extension range. + optional int32 number = 1; + + // The fully-qualified name of the extension field. There must be a leading + // dot in front of the full name. + optional string full_name = 2; + + // The fully-qualified type name of the extension field. Unlike + // Metadata.type, Declaration.type must have a leading dot for messages + // and enums. + optional string type = 3; + + // If true, indicates that the number is reserved in the extension range, + // and any extension field with the number will fail to compile. Set this + // when a declared extension field is deleted. + optional bool reserved = 5; + + // If true, indicates that the extension must be defined as repeated. + // Otherwise the extension must be defined as optional. + optional bool repeated = 6; + + reserved 4; // removed is_repeated + } + + // For external users: DO NOT USE. We are in the process of open sourcing + // extension declaration and executing internal cleanups before it can be + // used externally. + repeated Declaration declaration = 2 [retention = RETENTION_SOURCE]; + + // Any features defined in the specific edition. + optional FeatureSet features = 50; + + // The verification state of the extension range. + enum VerificationState { + // All the extensions of the range must be declared. + DECLARATION = 0; + UNVERIFIED = 1; + } + + // The verification state of the range. + // TODO: flip the default to DECLARATION once all empty ranges + // are marked as UNVERIFIED. + optional VerificationState verification = 3 [default = UNVERIFIED]; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +// Describes a field within a message. +message FieldDescriptorProto { + enum Type { + // 0 is reserved for errors. + // Order is weird for historical reasons. + TYPE_DOUBLE = 1; + TYPE_FLOAT = 2; + // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if + // negative values are likely. + TYPE_INT64 = 3; + TYPE_UINT64 = 4; + // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if + // negative values are likely. + TYPE_INT32 = 5; + TYPE_FIXED64 = 6; + TYPE_FIXED32 = 7; + TYPE_BOOL = 8; + TYPE_STRING = 9; + // Tag-delimited aggregate. + // Group type is deprecated and not supported after google.protobuf. However, Proto3 + // implementations should still be able to parse the group wire format and + // treat group fields as unknown fields. In Editions, the group wire format + // can be enabled via the `message_encoding` feature. + TYPE_GROUP = 10; + TYPE_MESSAGE = 11; // Length-delimited aggregate. + + // New in version 2. + TYPE_BYTES = 12; + TYPE_UINT32 = 13; + TYPE_ENUM = 14; + TYPE_SFIXED32 = 15; + TYPE_SFIXED64 = 16; + TYPE_SINT32 = 17; // Uses ZigZag encoding. + TYPE_SINT64 = 18; // Uses ZigZag encoding. + } + + enum Label { + // 0 is reserved for errors + LABEL_OPTIONAL = 1; + LABEL_REPEATED = 3; + // The required label is only allowed in google.protobuf. In proto3 and Editions + // it's explicitly prohibited. In Editions, the `field_presence` feature + // can be used to get this behavior. + LABEL_REQUIRED = 2; + } + + optional string name = 1; + optional int32 number = 3; + optional Label label = 4; + + // If type_name is set, this need not be set. If both this and type_name + // are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + optional Type type = 5; + + // For message and enum types, this is the name of the type. If the name + // starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + // rules are used to find the type (i.e. first the nested types within this + // message are searched, then within the parent, on up to the root + // namespace). + optional string type_name = 6; + + // For extensions, this is the name of the type being extended. It is + // resolved in the same manner as type_name. + optional string extendee = 2; + + // For numeric types, contains the original text representation of the value. + // For booleans, "true" or "false". + // For strings, contains the default text contents (not escaped in any way). + // For bytes, contains the C escaped value. All bytes >= 128 are escaped. + optional string default_value = 7; + + // If set, gives the index of a oneof in the containing type's oneof_decl + // list. This field is a member of that oneof. + optional int32 oneof_index = 9; + + // JSON name of this field. The value is set by protocol compiler. If the + // user has set a "json_name" option on this field, that option's value + // will be used. Otherwise, it's deduced from the field's name by converting + // it to camelCase. + optional string json_name = 10; + + optional FieldOptions options = 8; + + // If true, this is a proto3 "optional". When a proto3 field is optional, it + // tracks presence regardless of field type. + // + // When proto3_optional is true, this field must be belong to a oneof to + // signal to old proto3 clients that presence is tracked for this field. This + // oneof is known as a "synthetic" oneof, and this field must be its sole + // member (each proto3 optional field gets its own synthetic oneof). Synthetic + // oneofs exist in the descriptor only, and do not generate any API. Synthetic + // oneofs must be ordered after all "real" oneofs. + // + // For message fields, proto3_optional doesn't create any semantic change, + // since non-repeated message fields always track presence. However it still + // indicates the semantic detail of whether the user wrote "optional" or not. + // This can be useful for round-tripping the .proto file. For consistency we + // give message fields a synthetic oneof also, even though it is not required + // to track presence. This is especially important because the parser can't + // tell if a field is a message or an enum, so it must always create a + // synthetic oneof. + // + // Proto2 optional fields do not set this flag, because they already indicate + // optional with `LABEL_OPTIONAL`. + optional bool proto3_optional = 17; +} + +// Describes a oneof. +message OneofDescriptorProto { + optional string name = 1; + optional OneofOptions options = 2; +} + +// Describes an enum type. +message EnumDescriptorProto { + optional string name = 1; + + repeated EnumValueDescriptorProto value = 2; + + optional EnumOptions options = 3; + + // Range of reserved numeric values. Reserved values may not be used by + // entries in the same enum. Reserved ranges may not overlap. + // + // Note that this is distinct from DescriptorProto.ReservedRange in that it + // is inclusive such that it can appropriately represent the entire int32 + // domain. + message EnumReservedRange { + optional int32 start = 1; // Inclusive. + optional int32 end = 2; // Inclusive. + } + + // Range of reserved numeric values. Reserved numeric values may not be used + // by enum values in the same enum declaration. Reserved ranges may not + // overlap. + repeated EnumReservedRange reserved_range = 4; + + // Reserved enum value names, which may not be reused. A given name may only + // be reserved once. + repeated string reserved_name = 5; +} + +// Describes a value within an enum. +message EnumValueDescriptorProto { + optional string name = 1; + optional int32 number = 2; + + optional EnumValueOptions options = 3; +} + +// Describes a service. +message ServiceDescriptorProto { + optional string name = 1; + repeated MethodDescriptorProto method = 2; + + optional ServiceOptions options = 3; +} + +// Describes a method of a service. +message MethodDescriptorProto { + optional string name = 1; + + // Input and output type names. These are resolved in the same way as + // FieldDescriptorProto.type_name, but must refer to a message type. + optional string input_type = 2; + optional string output_type = 3; + + optional MethodOptions options = 4; + + // Identifies if client streams multiple client messages + optional bool client_streaming = 5 [default = false]; + // Identifies if server streams multiple server messages + optional bool server_streaming = 6 [default = false]; +} + +// =================================================================== +// Options + +// Each of the definitions above may have "options" attached. These are +// just annotations which may cause code to be generated slightly differently +// or may contain hints for code that manipulates protocol messages. +// +// Clients may define custom options as extensions of the *Options messages. +// These extensions may not yet be known at parsing time, so the parser cannot +// store the values in them. Instead it stores them in a field in the *Options +// message called uninterpreted_option. This field must have the same name +// across all *Options messages. We then use this field to populate the +// extensions when we build a descriptor, at which point all protos have been +// parsed and so all extensions are known. +// +// Extension numbers for custom options may be chosen as follows: +// * For options which will only be used within a single application or +// organization, or for experimental options, use field numbers 50000 +// through 99999. It is up to you to ensure that you do not use the +// same number for multiple options. +// * For options which will be published and used publicly by multiple +// independent entities, e-mail protobuf-global-extension-registry@google.com +// to reserve extension numbers. Simply provide your project name (e.g. +// Objective-C plugin) and your project website (if available) -- there's no +// need to explain how you intend to use them. Usually you only need one +// extension number. You can declare multiple options with only one extension +// number by putting them in a sub-message. See the Custom Options section of +// the docs for examples: +// https://developers.google.com/protocol-buffers/docs/proto#options +// If this turns out to be popular, a web service will be set up +// to automatically assign option numbers. + +message FileOptions { + // Sets the Java package where classes generated from this .proto will be + // placed. By default, the proto package is used, but this is often + // inappropriate because proto packages do not normally start with backwards + // domain names. + optional string java_package = 1; + + // Controls the name of the wrapper Java class generated for the .proto file. + // That class will always contain the .proto file's getDescriptor() method as + // well as any top-level extensions defined in the .proto file. + // If java_multiple_files is disabled, then all the other classes from the + // .proto file will be nested inside the single wrapper outer class. + optional string java_outer_classname = 8; + + // If enabled, then the Java code generator will generate a separate .java + // file for each top-level message, enum, and service defined in the .proto + // file. Thus, these types will *not* be nested inside the wrapper class + // named by java_outer_classname. However, the wrapper class will still be + // generated to contain the file's getDescriptor() method as well as any + // top-level extensions defined in the file. + optional bool java_multiple_files = 10 [default = false]; + + // This option does nothing. + optional bool java_generate_equals_and_hash = 20 [deprecated = true]; + + // If set true, then the Java2 code generator will generate code that + // throws an exception whenever an attempt is made to assign a non-UTF-8 + // byte sequence to a string field. + // Message reflection will do the same. + // However, an extension field still accepts non-UTF-8 byte sequences. + // This option has no effect on when used with the lite runtime. + optional bool java_string_check_utf8 = 27 [default = false]; + + // Generated classes can be optimized for speed or code size. + enum OptimizeMode { + SPEED = 1; // Generate complete code for parsing, serialization, + // etc. + CODE_SIZE = 2; // Use ReflectionOps to implement these methods. + LITE_RUNTIME = 3; // Generate code using MessageLite and the lite runtime. + } + optional OptimizeMode optimize_for = 9 [default = SPEED]; + + // Sets the Go package where structs generated from this .proto will be + // placed. If omitted, the Go package will be derived from the following: + // - The basename of the package import path, if provided. + // - Otherwise, the package statement in the .proto file, if present. + // - Otherwise, the basename of the .proto file, without extension. + optional string go_package = 11; + + // Should generic services be generated in each language? "Generic" services + // are not specific to any particular RPC system. They are generated by the + // main code generators in each language (without additional plugins). + // Generic services were the only kind of service generation supported by + // early versions of google.protobuf. + // + // Generic services are now considered deprecated in favor of using plugins + // that generate code specific to your particular RPC system. Therefore, + // these default to false. Old code which depends on generic services should + // explicitly set them to true. + optional bool cc_generic_services = 16 [default = false]; + optional bool java_generic_services = 17 [default = false]; + optional bool py_generic_services = 18 [default = false]; + optional bool php_generic_services = 42 [default = false]; + + // Is this file deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for everything in the file, or it will be completely ignored; in the very + // least, this is a formalization for deprecating files. + optional bool deprecated = 23 [default = false]; + + // Enables the use of arenas for the proto messages in this file. This applies + // only to generated classes for C++. + optional bool cc_enable_arenas = 31 [default = true]; + + // Sets the objective c class prefix which is prepended to all objective c + // generated classes from this .proto. There is no default. + optional string objc_class_prefix = 36; + + // Namespace for generated classes; defaults to the package. + optional string csharp_namespace = 37; + + // By default Swift generators will take the proto package and CamelCase it + // replacing '.' with underscore and use that to prefix the types/symbols + // defined. When this options is provided, they will use this value instead + // to prefix the types/symbols defined. + optional string swift_prefix = 39; + + // Sets the php class prefix which is prepended to all php generated classes + // from this .proto. Default is empty. + optional string php_class_prefix = 40; + + // Use this option to change the namespace of php generated classes. Default + // is empty. When this option is empty, the package name will be used for + // determining the namespace. + optional string php_namespace = 41; + + // Use this option to change the namespace of php generated metadata classes. + // Default is empty. When this option is empty, the proto file name will be + // used for determining the namespace. + optional string php_metadata_namespace = 44; + + // Use this option to change the package of ruby generated classes. Default + // is empty. When this option is not set, the package name will be used for + // determining the ruby package. + optional string ruby_package = 45; + + // Any features defined in the specific edition. + optional FeatureSet features = 50; + + // The parser stores options it doesn't recognize here. + // See the documentation for the "Options" section above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. + // See the documentation for the "Options" section above. + extensions 1000 to max; + + reserved 38; +} + +message MessageOptions { + // Set true to use the old proto1 MessageSet wire format for extensions. + // This is provided for backwards-compatibility with the MessageSet wire + // format. You should not use this for any other reason: It's less + // efficient, has fewer features, and is more complicated. + // + // The message must be defined exactly as follows: + // message Foo { + // option message_set_wire_format = true; + // extensions 4 to max; + // } + // Note that the message cannot have any defined fields; MessageSets only + // have extensions. + // + // All extensions of your type must be singular messages; e.g. they cannot + // be int32s, enums, or repeated messages. + // + // Because this is an option, the above two restrictions are not enforced by + // the protocol compiler. + optional bool message_set_wire_format = 1 [default = false]; + + // Disables the generation of the standard "descriptor()" accessor, which can + // conflict with a field of the same name. This is meant to make migration + // from proto1 easier; new code should avoid fields named "descriptor". + optional bool no_standard_descriptor_accessor = 2 [default = false]; + + // Is this message deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the message, or it will be completely ignored; in the very least, + // this is a formalization for deprecating messages. + optional bool deprecated = 3 [default = false]; + + reserved 4, 5, 6; + + // NOTE: Do not set the option in .proto files. Always use the maps syntax + // instead. The option should only be implicitly set by the proto compiler + // parser. + // + // Whether the message is an automatically generated map entry type for the + // maps field. + // + // For maps fields: + // map map_field = 1; + // The parsed descriptor looks like: + // message MapFieldEntry { + // option map_entry = true; + // optional KeyType key = 1; + // optional ValueType value = 2; + // } + // repeated MapFieldEntry map_field = 1; + // + // Implementations may choose not to generate the map_entry=true message, but + // use a native map in the target language to hold the keys and values. + // The reflection APIs in such implementations still need to work as + // if the field is a repeated message field. + optional bool map_entry = 7; + + reserved 8; // javalite_serializable + reserved 9; // javanano_as_lite + + // Enable the legacy handling of JSON field name conflicts. This lowercases + // and strips underscored from the fields before comparison in proto3 only. + // The new behavior takes `json_name` into account and applies to proto2 as + // well. + // + // This should only be used as a temporary measure against broken builds due + // to the change in behavior for JSON field name conflicts. + // + // TODO This is legacy behavior we plan to remove once downstream + // teams have had time to migrate. + optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true]; + + // Any features defined in the specific edition. + optional FeatureSet features = 12; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message FieldOptions { + // The ctype option instructs the C++ code generator to use a different + // representation of the field than it normally would. See the specific + // options below. This option is only implemented to support use of + // [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of + // type "bytes" in the open source release -- sorry, we'll try to include + // other types in a future version! + optional CType ctype = 1 [default = STRING]; + enum CType { + // Default mode. + STRING = 0; + + // The option [ctype=CORD] may be applied to a non-repeated field of type + // "bytes". It indicates that in C++, the data should be stored in a Cord + // instead of a string. For very large strings, this may reduce memory + // fragmentation. It may also allow better performance when parsing from a + // Cord, or when parsing with aliasing enabled, as the parsed Cord may then + // alias the original buffer. + CORD = 1; + + STRING_PIECE = 2; + } + // The packed option can be enabled for repeated primitive fields to enable + // a more efficient representation on the wire. Rather than repeatedly + // writing the tag and type for each element, the entire array is encoded as + // a single length-delimited blob. In proto3, only explicit setting it to + // false will avoid using packed encoding. This option is prohibited in + // Editions, but the `repeated_field_encoding` feature can be used to control + // the behavior. + optional bool packed = 2; + + // The jstype option determines the JavaScript type used for values of the + // field. The option is permitted only for 64 bit integral and fixed types + // (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + // is represented as JavaScript string, which avoids loss of precision that + // can happen when a large value is converted to a floating point JavaScript. + // Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + // use the JavaScript "number" type. The behavior of the default option + // JS_NORMAL is implementation dependent. + // + // This option is an enum to permit additional types to be added, e.g. + // goog.math.Integer. + optional JSType jstype = 6 [default = JS_NORMAL]; + enum JSType { + // Use the default type. + JS_NORMAL = 0; + + // Use JavaScript strings. + JS_STRING = 1; + + // Use JavaScript numbers. + JS_NUMBER = 2; + } + + // Should this field be parsed lazily? Lazy applies only to message-type + // fields. It means that when the outer message is initially parsed, the + // inner message's contents will not be parsed but instead stored in encoded + // form. The inner message will actually be parsed when it is first accessed. + // + // This is only a hint. Implementations are free to choose whether to use + // eager or lazy parsing regardless of the value of this option. However, + // setting this option true suggests that the protocol author believes that + // using lazy parsing on this field is worth the additional bookkeeping + // overhead typically needed to implement it. + // + // This option does not affect the public interface of any generated code; + // all method signatures remain the same. Furthermore, thread-safety of the + // interface is not affected by this option; const methods remain safe to + // call from multiple threads concurrently, while non-const methods continue + // to require exclusive access. + // + // Note that implementations may choose not to check required fields within + // a lazy sub-message. That is, calling IsInitialized() on the outer message + // may return true even if the inner message has missing required fields. + // This is necessary because otherwise the inner message would have to be + // parsed in order to perform the check, defeating the purpose of lazy + // parsing. An implementation which chooses not to check required fields + // must be consistent about it. That is, for any particular sub-message, the + // implementation must either *always* check its required fields, or *never* + // check its required fields, regardless of whether or not the message has + // been parsed. + // + // As of May 2022, lazy verifies the contents of the byte stream during + // parsing. An invalid byte stream will cause the overall parsing to fail. + optional bool lazy = 5 [default = false]; + + // unverified_lazy does no correctness checks on the byte stream. This should + // only be used where lazy with verification is prohibitive for performance + // reasons. + optional bool unverified_lazy = 15 [default = false]; + + // Is this field deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for accessors, or it will be completely ignored; in the very least, this + // is a formalization for deprecating fields. + optional bool deprecated = 3 [default = false]; + + // For Google-internal migration only. Do not use. + optional bool weak = 10 [default = false]; + + // Indicate that the field value should not be printed out when using debug + // formats, e.g. when the field contains sensitive credentials. + optional bool debug_redact = 16 [default = false]; + + // If set to RETENTION_SOURCE, the option will be omitted from the binary. + // Note: as of January 2023, support for this is in progress and does not yet + // have an effect (b/264593489). + enum OptionRetention { + RETENTION_UNKNOWN = 0; + RETENTION_RUNTIME = 1; + RETENTION_SOURCE = 2; + } + + optional OptionRetention retention = 17; + + // This indicates the types of entities that the field may apply to when used + // as an option. If it is unset, then the field may be freely used as an + // option on any kind of entity. Note: as of January 2023, support for this is + // in progress and does not yet have an effect (b/264593489). + enum OptionTargetType { + TARGET_TYPE_UNKNOWN = 0; + TARGET_TYPE_FILE = 1; + TARGET_TYPE_EXTENSION_RANGE = 2; + TARGET_TYPE_MESSAGE = 3; + TARGET_TYPE_FIELD = 4; + TARGET_TYPE_ONEOF = 5; + TARGET_TYPE_ENUM = 6; + TARGET_TYPE_ENUM_ENTRY = 7; + TARGET_TYPE_SERVICE = 8; + TARGET_TYPE_METHOD = 9; + } + + repeated OptionTargetType targets = 19; + + message EditionDefault { + optional Edition edition = 3; + optional string value = 2; // Textproto value. + } + repeated EditionDefault edition_defaults = 20; + + // Any features defined in the specific edition. + optional FeatureSet features = 21; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; + + reserved 4; // removed jtype + reserved 18; // reserve target, target_obsolete_do_not_use +} + +message OneofOptions { + // Any features defined in the specific edition. + optional FeatureSet features = 1; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message EnumOptions { + // Set this option to true to allow mapping different tag names to the same + // value. + optional bool allow_alias = 2; + + // Is this enum deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the enum, or it will be completely ignored; in the very least, this + // is a formalization for deprecating enums. + optional bool deprecated = 3 [default = false]; + + reserved 5; // javanano_as_lite + + // Enable the legacy handling of JSON field name conflicts. This lowercases + // and strips underscored from the fields before comparison in proto3 only. + // The new behavior takes `json_name` into account and applies to proto2 as + // well. + // TODO Remove this legacy behavior once downstream teams have + // had time to migrate. + optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true]; + + // Any features defined in the specific edition. + optional FeatureSet features = 7; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message EnumValueOptions { + // Is this enum value deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the enum value, or it will be completely ignored; in the very least, + // this is a formalization for deprecating enum values. + optional bool deprecated = 1 [default = false]; + + // Any features defined in the specific edition. + optional FeatureSet features = 2; + + // Indicate that fields annotated with this enum value should not be printed + // out when using debug formats, e.g. when the field contains sensitive + // credentials. + optional bool debug_redact = 3 [default = false]; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message ServiceOptions { + // Any features defined in the specific edition. + optional FeatureSet features = 34; + + // Note: Field numbers 1 through 32 are reserved for Google's internal RPC + // framework. We apologize for hoarding these numbers to ourselves, but + // we were already using them long before we decided to release Protocol + // Buffers. + + // Is this service deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the service, or it will be completely ignored; in the very least, + // this is a formalization for deprecating services. + optional bool deprecated = 33 [default = false]; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message MethodOptions { + // Note: Field numbers 1 through 32 are reserved for Google's internal RPC + // framework. We apologize for hoarding these numbers to ourselves, but + // we were already using them long before we decided to release Protocol + // Buffers. + + // Is this method deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the method, or it will be completely ignored; in the very least, + // this is a formalization for deprecating methods. + optional bool deprecated = 33 [default = false]; + + // Is this method side-effect-free (or safe in HTTP parlance), or idempotent, + // or neither? HTTP based RPC implementation may choose GET verb for safe + // methods, and PUT verb for idempotent methods instead of the default POST. + enum IdempotencyLevel { + IDEMPOTENCY_UNKNOWN = 0; + NO_SIDE_EFFECTS = 1; // implies idempotent + IDEMPOTENT = 2; // idempotent, but may have side effects + } + optional IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN]; + + // Any features defined in the specific edition. + optional FeatureSet features = 35; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +// A message representing a option the parser does not recognize. This only +// appears in options protos created by the compiler::Parser class. +// DescriptorPool resolves these when building Descriptor objects. Therefore, +// options protos in descriptor objects (e.g. returned by Descriptor::options(), +// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions +// in them. +message UninterpretedOption { + // The name of the uninterpreted option. Each string represents a segment in + // a dot-separated name. is_extension is true iff a segment represents an + // extension (denoted with parentheses in options specs in .proto files). + // E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents + // "foo.(bar.baz).moo". + message NamePart { + required string name_part = 1; + required bool is_extension = 2; + } + repeated NamePart name = 2; + + // The value of the uninterpreted option, in whatever type the tokenizer + // identified it as during parsing. Exactly one of these should be set. + optional string identifier_value = 3; + optional uint64 positive_int_value = 4; + optional int64 negative_int_value = 5; + optional double double_value = 6; + optional bytes string_value = 7; + optional string aggregate_value = 8; +} + +// =================================================================== +// Features + +// TODO Enums in C++ gencode (and potentially other languages) are +// not well scoped. This means that each of the feature enums below can clash +// with each other. The short names we've chosen maximize call-site +// readability, but leave us very open to this scenario. A future feature will +// be designed and implemented to handle this, hopefully before we ever hit a +// conflict here. +message FeatureSet { + enum FieldPresence { + FIELD_PRESENCE_UNKNOWN = 0; + EXPLICIT = 1; + IMPLICIT = 2; + LEGACY_REQUIRED = 3; + } + optional FieldPresence field_presence = 1 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_FILE, + edition_defaults = { + edition: EDITION_PROTO2, + value: "EXPLICIT" + }, + edition_defaults = { + edition: EDITION_PROTO3, + value: "IMPLICIT" + }, + edition_defaults = { + edition: EDITION_2023, + value: "EXPLICIT" + } + ]; + + enum EnumType { + ENUM_TYPE_UNKNOWN = 0; + OPEN = 1; + CLOSED = 2; + } + optional EnumType enum_type = 2 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_ENUM, + targets = TARGET_TYPE_FILE, + edition_defaults = { + edition: EDITION_PROTO2, + value: "CLOSED" + }, + edition_defaults = { + edition: EDITION_PROTO3, + value: "OPEN" + } + ]; + + enum RepeatedFieldEncoding { + REPEATED_FIELD_ENCODING_UNKNOWN = 0; + PACKED = 1; + EXPANDED = 2; + } + optional RepeatedFieldEncoding repeated_field_encoding = 3 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_FILE, + edition_defaults = { + edition: EDITION_PROTO2, + value: "EXPANDED" + }, + edition_defaults = { + edition: EDITION_PROTO3, + value: "PACKED" + } + ]; + + enum Utf8Validation { + UTF8_VALIDATION_UNKNOWN = 0; + NONE = 1; + VERIFY = 2; + } + optional Utf8Validation utf8_validation = 4 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_FILE, + edition_defaults = { + edition: EDITION_PROTO2, + value: "NONE" + }, + edition_defaults = { + edition: EDITION_PROTO3, + value: "VERIFY" + } + ]; + + enum MessageEncoding { + MESSAGE_ENCODING_UNKNOWN = 0; + LENGTH_PREFIXED = 1; + DELIMITED = 2; + } + optional MessageEncoding message_encoding = 5 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_FILE, + edition_defaults = { + edition: EDITION_PROTO2, + value: "LENGTH_PREFIXED" + } + ]; + + enum JsonFormat { + JSON_FORMAT_UNKNOWN = 0; + ALLOW = 1; + LEGACY_BEST_EFFORT = 2; + } + optional JsonFormat json_format = 6 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_MESSAGE, + targets = TARGET_TYPE_ENUM, + targets = TARGET_TYPE_FILE, + edition_defaults = { + edition: EDITION_PROTO2, + value: "LEGACY_BEST_EFFORT" + }, + edition_defaults = { + edition: EDITION_PROTO3, + value: "ALLOW" + } + ]; + + reserved 999; + + extensions 1000; // for Protobuf C++ + extensions 1001; // for Protobuf Java + + extensions 9995 to 9999; // For internal testing +} + +// A compiled specification for the defaults of a set of features. These +// messages are generated from FeatureSet extensions and can be used to seed +// feature resolution. The resolution with this object becomes a simple search +// for the closest matching edition, followed by proto merges. +message FeatureSetDefaults { + // A map from every known edition with a unique set of defaults to its + // defaults. Not all editions may be contained here. For a given edition, + // the defaults at the closest matching edition ordered at or before it should + // be used. This field must be in strict ascending order by edition. + message FeatureSetEditionDefault { + optional Edition edition = 3; + optional FeatureSet features = 2; + } + repeated FeatureSetEditionDefault defaults = 1; + + // The minimum supported edition (inclusive) when this was constructed. + // Editions before this will not have defaults. + optional Edition minimum_edition = 4; + + // The maximum known edition (inclusive) when this was constructed. Editions + // after this will not have reliable defaults. + optional Edition maximum_edition = 5; +} + +// =================================================================== +// Optional source code info + +// Encapsulates information about the original source file from which a +// FileDescriptorProto was generated. +message SourceCodeInfo { + // A Location identifies a piece of source code in a .proto file which + // corresponds to a particular definition. This information is intended + // to be useful to IDEs, code indexers, documentation generators, and similar + // tools. + // + // For example, say we have a file like: + // message Foo { + // optional string foo = 1; + // } + // Let's look at just the field definition: + // optional string foo = 1; + // ^ ^^ ^^ ^ ^^^ + // a bc de f ghi + // We have the following locations: + // span path represents + // [a,i) [ 4, 0, 2, 0 ] The whole field definition. + // [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). + // [c,d) [ 4, 0, 2, 0, 5 ] The type (string). + // [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). + // [g,h) [ 4, 0, 2, 0, 3 ] The number (1). + // + // Notes: + // - A location may refer to a repeated field itself (i.e. not to any + // particular index within it). This is used whenever a set of elements are + // logically enclosed in a single code segment. For example, an entire + // extend block (possibly containing multiple extension definitions) will + // have an outer location whose path refers to the "extensions" repeated + // field without an index. + // - Multiple locations may have the same path. This happens when a single + // logical declaration is spread out across multiple places. The most + // obvious example is the "extend" block again -- there may be multiple + // extend blocks in the same scope, each of which will have the same path. + // - A location's span is not always a subset of its parent's span. For + // example, the "extendee" of an extension declaration appears at the + // beginning of the "extend" block and is shared by all extensions within + // the block. + // - Just because a location's span is a subset of some other location's span + // does not mean that it is a descendant. For example, a "group" defines + // both a type and a field in a single declaration. Thus, the locations + // corresponding to the type and field and their components will overlap. + // - Code which tries to interpret locations should probably be designed to + // ignore those that it doesn't understand, as more types of locations could + // be recorded in the future. + repeated Location location = 1; + message Location { + // Identifies which part of the FileDescriptorProto was defined at this + // location. + // + // Each element is a field number or an index. They form a path from + // the root FileDescriptorProto to the place where the definition occurs. + // For example, this path: + // [ 4, 3, 2, 7, 1 ] + // refers to: + // file.message_type(3) // 4, 3 + // .field(7) // 2, 7 + // .name() // 1 + // This is because FileDescriptorProto.message_type has field number 4: + // repeated DescriptorProto message_type = 4; + // and DescriptorProto.field has field number 2: + // repeated FieldDescriptorProto field = 2; + // and FieldDescriptorProto.name has field number 1: + // optional string name = 1; + // + // Thus, the above path gives the location of a field name. If we removed + // the last element: + // [ 4, 3, 2, 7 ] + // this path refers to the whole field declaration (from the beginning + // of the label to the terminating semicolon). + repeated int32 path = 1 [packed = true]; + + // Always has exactly three or four elements: start line, start column, + // end line (optional, otherwise assumed same as start line), end column. + // These are packed into a single field for efficiency. Note that line + // and column numbers are zero-based -- typically you will want to add + // 1 to each before displaying to a user. + repeated int32 span = 2 [packed = true]; + + // If this SourceCodeInfo represents a complete declaration, these are any + // comments appearing before and after the declaration which appear to be + // attached to the declaration. + // + // A series of line comments appearing on consecutive lines, with no other + // tokens appearing on those lines, will be treated as a single comment. + // + // leading_detached_comments will keep paragraphs of comments that appear + // before (but not connected to) the current element. Each paragraph, + // separated by empty lines, will be one comment element in the repeated + // field. + // + // Only the comment content is provided; comment markers (e.g. //) are + // stripped out. For block comments, leading whitespace and an asterisk + // will be stripped from the beginning of each line other than the first. + // Newlines are included in the output. + // + // Examples: + // + // optional int32 foo = 1; // Comment attached to foo. + // // Comment attached to bar. + // optional int32 bar = 2; + // + // optional string baz = 3; + // // Comment attached to baz. + // // Another line attached to baz. + // + // // Comment attached to moo. + // // + // // Another line attached to moo. + // optional double moo = 4; + // + // // Detached comment for corge. This is not leading or trailing comments + // // to moo or corge because there are blank lines separating it from + // // both. + // + // // Detached comment for corge paragraph 2. + // + // optional string corge = 5; + // /* Block comment attached + // * to corge. Leading asterisks + // * will be removed. */ + // /* Block comment attached to + // * grault. */ + // optional int32 grault = 6; + // + // // ignored detached comments. + optional string leading_comments = 3; + optional string trailing_comments = 4; + repeated string leading_detached_comments = 6; + } +} + +// Describes the relationship between generated code and its original source +// file. A GeneratedCodeInfo message is associated with only one generated +// source file, but may contain references to different source .proto files. +message GeneratedCodeInfo { + // An Annotation connects some span of text in generated code to an element + // of its generating .proto file. + repeated Annotation annotation = 1; + message Annotation { + // Identifies the element in the original source .proto file. This field + // is formatted the same as SourceCodeInfo.Location.path. + repeated int32 path = 1 [packed = true]; + + // Identifies the filesystem path to the original source .proto. + optional string source_file = 2; + + // Identifies the starting offset in bytes in the generated code + // that relates to the identified object. + optional int32 begin = 3; + + // Identifies the ending offset in bytes in the generated code that + // relates to the identified object. The end offset should be one past + // the last relevant byte (so the length of the text = end - begin). + optional int32 end = 4; + + // Represents the identified object's effect on the element in the original + // .proto file. + enum Semantic { + // There is no effect or the effect is indescribable. + NONE = 0; + // The element is set or otherwise mutated. + SET = 1; + // An alias to the element is returned. + ALIAS = 2; + } + optional Semantic semantic = 5; + } +} diff --git a/packages/corks/proto/google/protobuf/duration.proto b/packages/corks/proto/google/protobuf/duration.proto new file mode 100644 index 00000000..a4f3a1cd --- /dev/null +++ b/packages/corks/proto/google/protobuf/duration.proto @@ -0,0 +1,115 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option go_package = "google.golang.org/protobuf/types/known/durationpb"; +option java_multiple_files = true; +option java_outer_classname = "DurationProto"; +option java_package = "com.google.protobuf"; +option objc_class_prefix = "GPB"; + +// A Duration represents a signed, fixed-length span of time represented +// as a count of seconds and fractions of seconds at nanosecond +// resolution. It is independent of any calendar and concepts like "day" +// or "month". It is related to Timestamp in that the difference between +// two Timestamp values is a Duration and it can be added or subtracted +// from a Timestamp. Range is approximately +-10,000 years. +// +// # Examples +// +// Example 1: Compute Duration from two Timestamps in pseudo code. +// +// Timestamp start = ...; +// Timestamp end = ...; +// Duration duration = ...; +// +// duration.seconds = end.seconds - start.seconds; +// duration.nanos = end.nanos - start.nanos; +// +// if (duration.seconds < 0 && duration.nanos > 0) { +// duration.seconds += 1; +// duration.nanos -= 1000000000; +// } else if (duration.seconds > 0 && duration.nanos < 0) { +// duration.seconds -= 1; +// duration.nanos += 1000000000; +// } +// +// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. +// +// Timestamp start = ...; +// Duration duration = ...; +// Timestamp end = ...; +// +// end.seconds = start.seconds + duration.seconds; +// end.nanos = start.nanos + duration.nanos; +// +// if (end.nanos < 0) { +// end.seconds -= 1; +// end.nanos += 1000000000; +// } else if (end.nanos >= 1000000000) { +// end.seconds += 1; +// end.nanos -= 1000000000; +// } +// +// Example 3: Compute Duration from datetime.timedelta in Python. +// +// td = datetime.timedelta(days=3, minutes=10) +// duration = Duration() +// duration.FromTimedelta(td) +// +// # JSON Mapping +// +// In JSON format, the Duration type is encoded as a string rather than an +// object, where the string ends in the suffix "s" (indicating seconds) and +// is preceded by the number of seconds, with nanoseconds expressed as +// fractional seconds. For example, 3 seconds with 0 nanoseconds should be +// encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should +// be expressed in JSON format as "3.000000001s", and 3 seconds and 1 +// microsecond should be expressed in JSON format as "3.000001s". +// +message Duration { + // Signed seconds of the span of time. Must be from -315,576,000,000 + // to +315,576,000,000 inclusive. Note: these bounds are computed from: + // 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + int64 seconds = 1; + + // Signed fractions of a second at nanosecond resolution of the span + // of time. Durations less than one second are represented with a 0 + // `seconds` field and a positive or negative `nanos` field. For durations + // of one second or more, a non-zero value for the `nanos` field must be + // of the same sign as the `seconds` field. Must be from -999,999,999 + // to +999,999,999 inclusive. + int32 nanos = 2; +} diff --git a/packages/corks/proto/google/protobuf/plugin.proto b/packages/corks/proto/google/protobuf/plugin.proto new file mode 100644 index 00000000..735e4bfa --- /dev/null +++ b/packages/corks/proto/google/protobuf/plugin.proto @@ -0,0 +1,182 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// +// WARNING: The plugin interface is currently EXPERIMENTAL and is subject to +// change. +// +// protoc (aka the Protocol Compiler) can be extended via plugins. A plugin is +// just a program that reads a CodeGeneratorRequest from stdin and writes a +// CodeGeneratorResponse to stdout. +// +// Plugins written using C++ can use google/protobuf/compiler/plugin.h instead +// of dealing with the raw protocol defined here. +// +// A plugin executable needs only to be placed somewhere in the path. The +// plugin should be named "protoc-gen-$NAME", and will then be used when the +// flag "--${NAME}_out" is passed to protoc. + +syntax = "proto2"; + +package google.protobuf.compiler; + +import "google/protobuf/descriptor.proto"; + +option go_package = "google.golang.org/protobuf/types/pluginpb"; +option java_outer_classname = "PluginProtos"; +option java_package = "com.google.protobuf.compiler"; + +// The version number of protocol compiler. +message Version { + optional int32 major = 1; + optional int32 minor = 2; + optional int32 patch = 3; + // A suffix for alpha, beta or rc release, e.g., "alpha-1", "rc2". It should + // be empty for mainline stable releases. + optional string suffix = 4; +} + +// An encoded CodeGeneratorRequest is written to the plugin's stdin. +message CodeGeneratorRequest { + // The .proto files that were explicitly listed on the command-line. The + // code generator should generate code only for these files. Each file's + // descriptor will be included in proto_file, below. + repeated string file_to_generate = 1; + + // The generator parameter passed on the command-line. + optional string parameter = 2; + + // FileDescriptorProtos for all files in files_to_generate and everything + // they import. The files will appear in topological order, so each file + // appears before any file that imports it. + // + // protoc guarantees that all proto_files will be written after + // the fields above, even though this is not technically guaranteed by the + // protobuf wire format. This theoretically could allow a plugin to stream + // in the FileDescriptorProtos and handle them one by one rather than read + // the entire set into memory at once. However, as of this writing, this + // is not similarly optimized on protoc's end -- it will store all fields in + // memory at once before sending them to the plugin. + // + // Type names of fields and extensions in the FileDescriptorProto are always + // fully qualified. + repeated FileDescriptorProto proto_file = 15; + + // The version number of protocol compiler. + optional Version compiler_version = 3; +} + +// The plugin writes an encoded CodeGeneratorResponse to stdout. +message CodeGeneratorResponse { + // Error message. If non-empty, code generation failed. The plugin process + // should exit with status code zero even if it reports an error in this way. + // + // This should be used to indicate errors in .proto files which prevent the + // code generator from generating correct code. Errors which indicate a + // problem in protoc itself -- such as the input CodeGeneratorRequest being + // unparseable -- should be reported by writing a message to stderr and + // exiting with a non-zero status code. + optional string error = 1; + + // A bitmask of supported features that the code generator supports. + // This is a bitwise "or" of values from the Feature enum. + optional uint64 supported_features = 2; + + // Sync with code_generator.h. + enum Feature { + FEATURE_NONE = 0; + FEATURE_PROTO3_OPTIONAL = 1; + } + + // Represents a single generated file. + message File { + // The file name, relative to the output directory. The name must not + // contain "." or ".." components and must be relative, not be absolute (so, + // the file cannot lie outside the output directory). "/" must be used as + // the path separator, not "\". + // + // If the name is omitted, the content will be appended to the previous + // file. This allows the generator to break large files into small chunks, + // and allows the generated text to be streamed back to protoc so that large + // files need not reside completely in memory at one time. Note that as of + // this writing protoc does not optimize for this -- it will read the entire + // CodeGeneratorResponse before writing files to disk. + optional string name = 1; + + // If non-empty, indicates that the named file should already exist, and the + // content here is to be inserted into that file at a defined insertion + // point. This feature allows a code generator to extend the output + // produced by another code generator. The original generator may provide + // insertion points by placing special annotations in the file that look + // like: + // @@protoc_insertion_point(NAME) + // The annotation can have arbitrary text before and after it on the line, + // which allows it to be placed in a comment. NAME should be replaced with + // an identifier naming the point -- this is what other generators will use + // as the insertion_point. Code inserted at this point will be placed + // immediately above the line containing the insertion point (thus multiple + // insertions to the same point will come out in the order they were added). + // The double-@ is intended to make it unlikely that the generated code + // could contain things that look like insertion points by accident. + // + // For example, the C++ code generator places the following line in the + // .pb.h files that it generates: + // // @@protoc_insertion_point(namespace_scope) + // This line appears within the scope of the file's package namespace, but + // outside of any particular class. Another plugin can then specify the + // insertion_point "namespace_scope" to generate additional classes or + // other declarations that should be placed in this scope. + // + // Note that if the line containing the insertion point begins with + // whitespace, the same whitespace will be added to every line of the + // inserted text. This is useful for languages like Python, where + // indentation matters. In these languages, the insertion point comment + // should be indented the same amount as any inserted code will need to be + // in order to work correctly in that context. + // + // The code generator that generates the initial file and the one which + // inserts into it must both run as part of a single invocation of protoc. + // Code generators are executed in the order in which they appear on the + // command line. + // + // If |insertion_point| is present, |name| must also be present. + optional string insertion_point = 2; + + // The file contents. + optional string content = 15; + + // Information describing the file content being inserted. If an insertion + // point is used, this information will be appropriately offset and inserted + // into the code generation metadata for the generated files. + optional GeneratedCodeInfo generated_code_info = 16; + } + repeated File file = 15; +} diff --git a/packages/corks/proto/google/protobuf/timestamp.proto b/packages/corks/proto/google/protobuf/timestamp.proto new file mode 100644 index 00000000..354c5be3 --- /dev/null +++ b/packages/corks/proto/google/protobuf/timestamp.proto @@ -0,0 +1,144 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option go_package = "google.golang.org/protobuf/types/known/timestamppb"; +option java_multiple_files = true; +option java_outer_classname = "TimestampProto"; +option java_package = "com.google.protobuf"; +option objc_class_prefix = "GPB"; + +// A Timestamp represents a point in time independent of any time zone or local +// calendar, encoded as a count of seconds and fractions of seconds at +// nanosecond resolution. The count is relative to an epoch at UTC midnight on +// January 1, 1970, in the proleptic Gregorian calendar which extends the +// Gregorian calendar backwards to year one. +// +// All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap +// second table is needed for interpretation, using a [24-hour linear +// smear](https://developers.google.com/time/smear). +// +// The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By +// restricting to that range, we ensure that we can convert to and from [RFC +// 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. +// +// # Examples +// +// Example 1: Compute Timestamp from POSIX `time()`. +// +// Timestamp timestamp; +// timestamp.set_seconds(time(NULL)); +// timestamp.set_nanos(0); +// +// Example 2: Compute Timestamp from POSIX `gettimeofday()`. +// +// struct timeval tv; +// gettimeofday(&tv, NULL); +// +// Timestamp timestamp; +// timestamp.set_seconds(tv.tv_sec); +// timestamp.set_nanos(tv.tv_usec * 1000); +// +// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. +// +// FILETIME ft; +// GetSystemTimeAsFileTime(&ft); +// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; +// +// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z +// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. +// Timestamp timestamp; +// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); +// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); +// +// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. +// +// long millis = System.currentTimeMillis(); +// +// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) +// .setNanos((int) ((millis % 1000) * 1000000)).build(); +// +// Example 5: Compute Timestamp from Java `Instant.now()`. +// +// Instant now = Instant.now(); +// +// Timestamp timestamp = +// Timestamp.newBuilder().setSeconds(now.getEpochSecond()) +// .setNanos(now.getNano()).build(); +// +// Example 6: Compute Timestamp from current time in Python. +// +// timestamp = Timestamp() +// timestamp.GetCurrentTime() +// +// # JSON Mapping +// +// In JSON format, the Timestamp type is encoded as a string in the +// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the +// format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" +// where {year} is always expressed using four digits while {month}, {day}, +// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional +// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), +// are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone +// is required. A proto3 JSON serializer should always use UTC (as indicated by +// "Z") when printing the Timestamp type and a proto3 JSON parser should be +// able to accept both UTC and other timezones (as indicated by an offset). +// +// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past +// 01:30 UTC on January 15, 2017. +// +// In JavaScript, one can convert a Date object to this format using the +// standard +// [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) +// method. In Python, a standard `datetime.datetime` object can be converted +// to this format using +// [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with +// the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use +// the Joda Time's [`ISODateTimeFormat.dateTime()`]( +// http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() +// ) to obtain a formatter capable of generating timestamps in this format. +// +message Timestamp { + // Represents seconds of UTC time since Unix epoch + // 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + // 9999-12-31T23:59:59Z inclusive. + int64 seconds = 1; + + // Non-negative fractions of a second at nanosecond resolution. Negative + // second values with fractions must still have non-negative nanos values + // that count forward in time. Must be from 0 to 999,999,999 + // inclusive. + int32 nanos = 2; +} diff --git a/packages/corks/pubspec.yaml b/packages/corks/pubspec.yaml new file mode 100644 index 00000000..58de4309 --- /dev/null +++ b/packages/corks/pubspec.yaml @@ -0,0 +1,19 @@ +name: corks +description: A starting point for Dart libraries or applications. +version: 0.1.0 +publish_to: none + +environment: + sdk: ^3.3.0 + +dependencies: + cedar_common: + path: ../cedar_common + crypto: ^3.0.3 + fixnum: ^1.1.0 + meta: ^1.10.0 + protobuf: ^3.1.0 + +dev_dependencies: + lints: ^3.0.0 + test: ^1.24.0 diff --git a/packages/corks/test/cedar_test_todo.dart b/packages/corks/test/cedar_test_todo.dart new file mode 100644 index 00000000..958bccd0 --- /dev/null +++ b/packages/corks/test/cedar_test_todo.dart @@ -0,0 +1,34 @@ +// TODO(dnys1): Get this working with a dependency on cedar_dart. + +// import 'package:cedar_common/cedar_common.dart' as cedar; +// import 'package:cedar_dart/testing/cedar_test_corpus.dart'; +// import 'package:corks/src/interop/proto_interop.dart'; +// import 'package:test/test.dart'; + +// void main() { +// group('Corpus', () { +// for (final CedarTest( +// :name, +// :policiesCedar, +// ) in cedarCorpusTests.values) { +// group(name, () { +// test('can interop policies', () async { +// final policies = cedar.CedarPolicySet.parse(policiesCedar); +// for (final policy in policies.policies.values.cast()) { +// final protoJson = policy.toProtoJson(); +// expect( +// CedarPolicy.fromProtoJson(protoJson).toJson(), +// equals(policy.toJson()), +// ); + +// final protoBuffer = policy.toProtoBuffer(); +// expect( +// CedarPolicy.fromProtoBuffer(protoBuffer).toJson(), +// equals(policy.toJson()), +// ); +// } +// }); +// }); +// } +// }); +// } diff --git a/packages/corks/test/cork_test.dart b/packages/corks/test/cork_test.dart new file mode 100644 index 00000000..859b46c9 --- /dev/null +++ b/packages/corks/test/cork_test.dart @@ -0,0 +1,76 @@ +import 'dart:convert'; +import 'dart:math'; +import 'dart:typed_data'; + +import 'package:cedar_common/cedar_common.dart'; +import 'package:corks/corks.dart'; +import 'package:test/test.dart'; + +final random = Random.secure(); +Uint8List get secretKey { + const size = 32; + final key = Uint8List(size); + for (var i = 0; i < size; i++) { + key[i] = random.nextInt(256); + } + return key; +} + +final secretKeys = { + 'a': secretKey, + 'b': secretKey, + 'c': secretKey, +}; + +extension on String { + Uint8List get bytes => Uint8List.fromList(codeUnits); +} + +void main() { + group('Cork', () { + group('build and verify', () { + const keyId = 'a'; + final key = secretKeys[keyId]!; + + test('no bearer/id', () async { + final cork = await Cork.builder( + keyId: keyId.bytes, + ).build(Signer(key)); + expect(await cork.verify(Signer(key)), isTrue); + expect(await cork.verify(Signer(secretKeys['b']!)), isFalse); + }); + + test('with id', () async { + final cork = await Cork.builder( + id: utf8.encode(jsonEncode(const CedarEntityId('User', 'alice'))), + keyId: keyId.bytes, + ).build(Signer(key)); + expect(await cork.verify(Signer(key)), isTrue); + expect(await cork.verify(Signer(secretKeys['b']!)), isFalse); + }); + + test('with bearer', () async { + final cork = await Cork.builder( + keyId: keyId.bytes, + bearer: Bearer.entityId( + entityId: const CedarEntityId('User', 'alice'), + ), + ).build(Signer(key)); + expect(await cork.verify(Signer(key)), isTrue); + expect(await cork.verify(Signer(secretKeys['b']!)), isFalse); + }); + + test('with id and bearer', () async { + final cork = await Cork.builder( + id: utf8.encode(jsonEncode(const CedarEntityId('User', 'alice'))), + keyId: keyId.bytes, + bearer: Bearer.entityId( + entityId: const CedarEntityId('User', 'alice'), + ), + ).build(Signer(key)); + expect(await cork.verify(Signer(key)), isTrue); + expect(await cork.verify(Signer(secretKeys['b']!)), isFalse); + }); + }); + }); +} From f7bebeeb760f4a74af05f8b023d21d4ea1de1d2b Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Sun, 3 Mar 2024 23:43:29 -0800 Subject: [PATCH 05/33] Clean up and cancellation support --- .../dev/celest/celest_auth/CelestAuth.kt | 111 +++++++--------- .../darwin/Classes/CelestAuth.swift | 73 ++++++++--- .../example/ios/Runner/Runner.entitlements | 2 +- packages/celest_auth/example/lib/main.dart | 106 ++++++++++++--- .../macos/Runner/DebugProfile.entitlements | 2 +- .../example/macos/Runner/Release.entitlements | 2 +- .../lib/src/client/auth_platform.android.dart | 3 +- .../passkeys/passkey_platform.android.dart | 123 +++++++++--------- .../src/client/passkeys/passkey_platform.dart | 11 ++ .../passkeys/passkey_platform.darwin.dart | 44 +++++-- .../client/passkeys/passkey_platform.web.dart | 12 ++ .../platform/android/jni_bindings.ffi.dart | 106 +++++++-------- .../src/platform/darwin/celest_auth.ffi.dart | 10 ++ .../lib/src/auth/passkey_exception.dart | 24 ++++ 14 files changed, 396 insertions(+), 233 deletions(-) diff --git a/packages/celest_auth/android/src/main/kotlin/dev/celest/celest_auth/CelestAuth.kt b/packages/celest_auth/android/src/main/kotlin/dev/celest/celest_auth/CelestAuth.kt index ecee1ae9..defd47b9 100644 --- a/packages/celest_auth/android/src/main/kotlin/dev/celest/celest_auth/CelestAuth.kt +++ b/packages/celest_auth/android/src/main/kotlin/dev/celest/celest_auth/CelestAuth.kt @@ -1,79 +1,64 @@ package dev.celest.celest_auth -import android.content.BroadcastReceiver +import android.app.Activity import android.content.Context -import android.content.Intent -import android.net.Uri +import android.os.CancellationSignal +import android.service.voice.VoiceInteractionSession.ActivityId import androidx.annotation.Keep +import androidx.credentials.CreateCredentialResponse +import androidx.credentials.CreatePublicKeyCredentialRequest import androidx.credentials.CredentialManager -import androidx.credentials.CustomCredential +import androidx.credentials.CredentialManagerCallback import androidx.credentials.GetCredentialRequest import androidx.credentials.GetCredentialResponse +import androidx.credentials.GetPublicKeyCredentialOption +import androidx.credentials.exceptions.CreateCredentialException import androidx.credentials.exceptions.GetCredentialException -import com.google.android.gms.tasks.OnSuccessListener -import com.google.android.libraries.identity.googleid.GetGoogleIdOption -import com.google.android.libraries.identity.googleid.GoogleIdTokenCredential +import com.google.android.gms.fido.Fido import kotlinx.coroutines.coroutineScope +import java.util.concurrent.Executors +import kotlin.coroutines.resume +import kotlin.coroutines.suspendCoroutine @Keep -class CelestAuthListener: BroadcastReceiver() { - override fun onReceive(context: Context, intent: Intent?) { - TODO("Not yet implemented") - } -} - -@Keep -class CelestAuth { - private lateinit var context: Context - private lateinit var credentialManager: CredentialManager - - fun init(context: Context) { - this.context = context - credentialManager = CredentialManager.create(context) - } - - fun signInWithCustomTabs( - uri: Uri, - onSuccess: () -> Unit, - onError: (Exception) -> Unit, - ) { - - } +class CelestAuth(private val mainActivity: Activity) { + private val credentialManager: CredentialManager = CredentialManager.create(mainActivity) + private val executor = Executors.newCachedThreadPool() - // Adapted from: https://developer.android.com/training/sign-in/credential-manager - suspend fun signInWithGoogle( - clientId: String, - nonce: String - ) { - // TODO: GetSignInWithGoogleOption? - val googleIdOption = GetGoogleIdOption.Builder() - .setFilterByAuthorizedAccounts(true) - .setAutoSelectEnabled(true) - .setServerClientId(clientId) - .setNonce(nonce) - .build() - val request = GetCredentialRequest.Builder() - .addCredentialOption(googleIdOption) - .build() - coroutineScope { - try { - val result = credentialManager.getCredential(context, request) - } catch (e: GetCredentialException) { - TODO() - } - } + fun register( + requestJson: String, + callback: CredentialManagerCallback, + ): CancellationSignal { + val request = CreatePublicKeyCredentialRequest( + requestJson = requestJson, + preferImmediatelyAvailableCredentials = true + ) + val cancellationSignal = CancellationSignal() + credentialManager.createCredentialAsync( + mainActivity, + request, + cancellationSignal, + executor, + callback, + ) + return cancellationSignal } - fun handleSignIn(result: GetCredentialResponse) { - when (val credential = result.credential) { - is CustomCredential -> { - if (credential.type == GoogleIdTokenCredential.TYPE_GOOGLE_ID_TOKEN_CREDENTIAL) { - // Use googleIdTokenCredential and extract id to validate and - // authenticate on your server. - val googleIdTokenCredential = GoogleIdTokenCredential - .createFrom(credential.data) - } - } - } + fun authenticate( + requestJson: String, + callback: CredentialManagerCallback, + ): CancellationSignal { + val request = GetCredentialRequest.Builder().addCredentialOption( + GetPublicKeyCredentialOption(requestJson = requestJson) + ).build() + val cancellationSignal = CancellationSignal() + credentialManager.getCredentialAsync( + mainActivity, + request, + cancellationSignal, + executor, + callback, + ) + return cancellationSignal } } \ No newline at end of file diff --git a/packages/celest_auth/darwin/Classes/CelestAuth.swift b/packages/celest_auth/darwin/Classes/CelestAuth.swift index 18b2554e..051778b0 100644 --- a/packages/celest_auth/darwin/Classes/CelestAuth.swift +++ b/packages/celest_auth/darwin/Classes/CelestAuth.swift @@ -7,6 +7,7 @@ import AppKit #endif import AuthenticationServices +import OSLog public typealias OnSuccess = (UnsafePointer) -> Void public typealias OnError = (CelestAuthErrorCode, UnsafePointer) -> Void @@ -15,6 +16,13 @@ public typealias OnError = (CelestAuthErrorCode, UnsafePointer) -> Void case unknown = 0 case unsupported = 1 case serde = 2 + + // From ASAuthorizationError.Code + case canceled = 1001 + case invalidResponse = 1002 + case notHandled = 1003 + case failed = 1004 + case notInteractive = 1005 } @objc protocol CelestAuthProtocol: NSObjectProtocol { @@ -36,6 +44,8 @@ public typealias OnError = (CelestAuthErrorCode, UnsafePointer) -> Void onSuccess: @escaping OnSuccess, onError: @escaping OnError ) + + @objc func cancel() } @objc public class CelestAuth: NSObject, CelestAuthProtocol { @@ -53,6 +63,10 @@ public typealias OnError = (CelestAuthErrorCode, UnsafePointer) -> Void impl.isPasskeysSupported } + @objc public func cancel() { + impl.cancel() + } + @objc public func register(request: String, onSuccess: @escaping OnSuccess, onError: @escaping OnError) { impl.register(request: request, onSuccess: onSuccess, onError: onError) } @@ -68,12 +82,21 @@ public typealias OnError = (CelestAuthErrorCode, UnsafePointer) -> Void @available(iOS 15.0, macOS 12.0, *) class CelestAuthSupported: NSObject, CelestAuthProtocol, ASAuthorizationControllerDelegate, ASAuthorizationControllerPresentationContextProviding { + + private let logger = Logger(subsystem: "dev.celest.celest_auth", category: "debug") + private weak var controller: ASAuthorizationController? private var onSuccess: OnSuccess? private var onError: OnError? var isPasskeysSupported: Bool { true } + func cancel() { + if #available(iOS 16.0, macOS 13.0, *) { + controller?.cancel() + } + } + func register( request: String, onSuccess: @escaping OnSuccess, @@ -84,8 +107,7 @@ class CelestAuthSupported: NSObject, CelestAuthProtocol, ASAuthorizationControll let challenge = Data(base64URLEncoded: options.challenge), let userID = options.user.id.data(using: .utf8) else { - onError(.serde, "Failed to deserialize registration request") - return + return onError(.serde, "Failed to deserialize registration request".unsafePointer) } self.onSuccess = onSuccess self.onError = onError @@ -98,7 +120,12 @@ class CelestAuthSupported: NSObject, CelestAuthProtocol, ASAuthorizationControll let authController = ASAuthorizationController(authorizationRequests: [platformKeyRequest]) authController.delegate = self authController.presentationContextProvider = self - authController.performRequests() + if #available(iOS 16.0, macOS 13.0, *) { + authController.performRequests(options: .preferImmediatelyAvailableCredentials) + } else { + authController.performRequests() + } + self.controller = authController } func authenticate( @@ -110,8 +137,7 @@ class CelestAuthSupported: NSObject, CelestAuthProtocol, ASAuthorizationControll let options = try? JSONDecoder().decode(PasskeyAuthenticationOptions.self, from: data), let challenge = Data(base64URLEncoded: options.challenge) else { - onError(.serde, "Failed to deserialize authentication request") - return + return onError(.serde, "Failed to deserialize authentication request".unsafePointer) } self.onSuccess = onSuccess self.onError = onError @@ -120,7 +146,12 @@ class CelestAuthSupported: NSObject, CelestAuthProtocol, ASAuthorizationControll let authController = ASAuthorizationController(authorizationRequests: [platformKeyRequest]) authController.delegate = self authController.presentationContextProvider = self - authController.performRequests() + if #available(iOS 16.0, macOS 13.0, *) { + authController.performRequests(options: .preferImmediatelyAvailableCredentials) + } else { + authController.performRequests() + } + self.controller = authController } private func reset() { @@ -133,12 +164,14 @@ class CelestAuthSupported: NSObject, CelestAuthProtocol, ASAuthorizationControll reset() } - private func complete(error: CelestAuthErrorCode, _ message: String) { + private func complete(error: CelestAuthErrorCode, message: String) { + logger.error("Authorization completed with error: \(message)") onError?(error, message.unsafePointer) reset() } private func complete(error: Error) { + logger.error("Authorization completed with error: \(error)") onError?(.unknown, error.localizedDescription.unsafePointer) reset() } @@ -159,26 +192,30 @@ class CelestAuthSupported: NSObject, CelestAuthProtocol, ASAuthorizationControll } public func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) { - if let credential = authorization.credential as? ASAuthorizationPlatformPublicKeyCredentialRegistration { + logger.debug("Authorization completed successfully with result: \(authorization)") + switch authorization.credential { + case let credential as ASAuthorizationPlatformPublicKeyCredentialRegistration: let response = PasskeyRegistration(credential: credential) guard let responseJson = try? JSONEncoder().encode(response) else { - complete(error: .serde, "Failed to serialize registration response") - return + return complete(error: .serde, message: "Failed to serialize registration response") } - return complete(value: responseJson) - } else if let credential = authorization.credential as? ASAuthorizationPlatformPublicKeyCredentialAssertion { + complete(value: responseJson) + case let credential as ASAuthorizationPlatformPublicKeyCredentialAssertion: let response = PasskeyAuthentication(credential: credential) guard let responseJson = try? JSONEncoder().encode(response) else { - complete(error: .serde, "Failed to serialize authentication response") - return + return complete(error: .serde, message: "Failed to serialize authentication response") } - return complete(value: responseJson) - } else { - complete(error: .unknown, "Unknown credential type: \(authorization.self)") + complete(value: responseJson) + default: + complete(error: .unknown, message: "Unknown credential type: \(authorization.self)") } } public func authorizationController(controller: ASAuthorizationController, didCompleteWithError error: Error) { + logger.error("Authorization completed with error: \(error)") + if let error = error as? ASAuthorizationError { + return complete(error: .init(rawValue: error.errorCode) ?? .unknown, message: error.localizedDescription) + } complete(error: error) } } @@ -186,6 +223,8 @@ class CelestAuthSupported: NSObject, CelestAuthProtocol, ASAuthorizationControll class CelestAuthUnsupported: NSObject, CelestAuthProtocol { var isPasskeysSupported: Bool { false } + func cancel() {} + func register(request: String, onSuccess: @escaping OnSuccess, onError: @escaping OnError) { onError(.unsupported, "Unsupported platform".unsafePointer) } diff --git a/packages/celest_auth/example/ios/Runner/Runner.entitlements b/packages/celest_auth/example/ios/Runner/Runner.entitlements index 328f4467..c9c0c10e 100644 --- a/packages/celest_auth/example/ios/Runner/Runner.entitlements +++ b/packages/celest_auth/example/ios/Runner/Runner.entitlements @@ -4,7 +4,7 @@ com.apple.developer.associated-domains - webcredentials:65b7-136-24-157-119.ngrok-free.app?mode=developer + webcredentials:a102-136-24-157-119.ngrok-free.app?developer=true diff --git a/packages/celest_auth/example/lib/main.dart b/packages/celest_auth/example/lib/main.dart index e6345805..06199ddf 100644 --- a/packages/celest_auth/example/lib/main.dart +++ b/packages/celest_auth/example/lib/main.dart @@ -2,9 +2,10 @@ import 'package:celest_auth/celest_auth.dart'; import 'package:celest_core/celest_core.dart'; import 'package:corks/corks.dart'; import 'package:flutter/material.dart'; +import 'package:http/http.dart' as http; final authClient = AuthClient( - baseUri: Uri.http('localhost:8080'), + baseUri: Uri.https('a102-136-24-157-119.ngrok-free.app'), ); final passkeys = PasskeyPlatform(protocol: authClient.passkeys); @@ -36,13 +37,15 @@ final class _State { class _MainAppState extends State { final _state = ValueNotifier(_State(false)); + final _controller = TextEditingController(); + Future? _request; Future signInWithPasskey() async { try { _state.value = _State(true); final response = await passkeys.register( - const PasskeyRegistrationRequest( - username: 'dillon@celest.dev', + PasskeyRegistrationRequest( + username: _controller.text, ), ); await authClient.passkeys.verifyRegistration( @@ -72,23 +75,86 @@ class _MainAppState extends State { return MaterialApp( home: Scaffold( body: Center( - child: ValueListenableBuilder( - valueListenable: _state, - builder: (context, state, child) { - return Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text('Currently signed in: ${state.user?.email}'), - const SizedBox(height: 16), - TextButton( - onPressed: !state.signingIn && state.user == null - ? signInWithPasskey - : null, - child: const Text('Sign in with Passkey'), - ), - ], - ); - }, + child: Padding( + padding: const EdgeInsets.all(20.0), + child: ValueListenableBuilder( + valueListenable: _state, + builder: (context, state, child) { + final isSignedIn = state.user != null; + return Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + if (state.user case final user?) + Text('Currently signed in: ${user.email}') + else + const Text('Currently signed out'), + if (_request case final request?) ...[ + const SizedBox(height: 16), + SizedBox( + height: 50, + child: Center( + child: FutureBuilder( + future: request, + builder: (context, snapshot) => switch (snapshot) { + AsyncSnapshot(:final Object error) || + AsyncSnapshot( + data: http.Response( + statusCode: != 200, + body: final Object error + ) + ) => + Text('Error: $error'), + AsyncSnapshot(data: final response?) => + Text('Response: ${response.body}'), + _ => const CircularProgressIndicator(), + }, + ), + ), + ), + ], + const SizedBox(height: 16), + if (!isSignedIn) ...[ + TextField( + controller: _controller, + decoration: const InputDecoration( + labelText: 'Email', + ), + autofillHints: const [ + AutofillHints.username, + AutofillHints.email, + ], + keyboardType: TextInputType.emailAddress, + ), + const SizedBox(height: 16), + TextButton( + onPressed: !state.signingIn ? signInWithPasskey : null, + child: const Text('Sign in with Passkey'), + ), + ] else ...[ + TextButton( + onPressed: () { + _state.value = _State(false); + }, + child: const Text('Sign out'), + ), + ], + const SizedBox(height: 16), + TextButton( + onPressed: () { + setState(() { + _request = http.get( + Uri.parse( + 'https://a102-136-24-157-119.ngrok-free.app/authenticated', + ), + ); + }); + }, + child: const Text('Make HTTP request'), + ), + ], + ); + }, + ), ), ), ), diff --git a/packages/celest_auth/example/macos/Runner/DebugProfile.entitlements b/packages/celest_auth/example/macos/Runner/DebugProfile.entitlements index 4fe45f71..8682becb 100644 --- a/packages/celest_auth/example/macos/Runner/DebugProfile.entitlements +++ b/packages/celest_auth/example/macos/Runner/DebugProfile.entitlements @@ -4,7 +4,7 @@ com.apple.developer.associated-domains - webcredentials:65b7-136-24-157-119.ngrok-free.app?mode=developer + webcredentials:a102-136-24-157-119.ngrok-free.app?mode=developer com.apple.security.app-sandbox diff --git a/packages/celest_auth/example/macos/Runner/Release.entitlements b/packages/celest_auth/example/macos/Runner/Release.entitlements index 6e10687a..188738b3 100644 --- a/packages/celest_auth/example/macos/Runner/Release.entitlements +++ b/packages/celest_auth/example/macos/Runner/Release.entitlements @@ -4,7 +4,7 @@ com.apple.developer.associated-domains - webcredentials:65b7-136-24-157-119.ngrok-free.app?mode=developer + webcredentials:a102-136-24-157-119.ngrok-free.app?mode=developer com.apple.security.app-sandbox diff --git a/packages/celest_auth/lib/src/client/auth_platform.android.dart b/packages/celest_auth/lib/src/client/auth_platform.android.dart index ba593514..d6febbd8 100644 --- a/packages/celest_auth/lib/src/client/auth_platform.android.dart +++ b/packages/celest_auth/lib/src/client/auth_platform.android.dart @@ -13,7 +13,6 @@ final class AuthPlatformAndroid extends AuthPlatformImpl { required super.protocol, }) : super.base() { Jni.initDLApi(); - _celestAuth.init(_applicationContext); } static final Logger _logger = Logger('Celest.AuthClientAndroid'); @@ -21,7 +20,7 @@ final class AuthPlatformAndroid extends AuthPlatformImpl { /// A code to identify the result of the custom tabs request. static const int _customTabsRequestCode = 7777; - late final CelestAuth _celestAuth = CelestAuth(); + late final CelestAuth _celestAuth = CelestAuth(_mainActivity); late final Activity _mainActivity = Activity.fromRef(Jni.getCurrentActivity()); diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_platform.android.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_platform.android.dart index 4a8da748..19139d4c 100644 --- a/packages/celest_auth/lib/src/client/passkeys/passkey_platform.android.dart +++ b/packages/celest_auth/lib/src/client/passkeys/passkey_platform.android.dart @@ -11,66 +11,73 @@ import 'package:jni/jni.dart'; final class PasskeyPlatformAndroid extends PasskeyPlatformImpl { PasskeyPlatformAndroid({ required super.protocol, - }) : super.base(); + }) : super.base() { + Jni.initDLApi(); + } late final Activity _mainActivity = Activity.fromRef(Jni.getCurrentActivity()); - late final Context _mainActivityContext = - Context.fromRef(_mainActivity.reference); - late final Context _applicationContext = - Context.fromRef(Jni.getCachedApplicationContext()); - late final Executor _threadPool = Executor.fromRef( - Executors.newCachedThreadPool().reference, - ); - late final CredentialManager _credentialManager = - CredentialManager.create(_applicationContext); + late final CelestAuth _celestAuth = CelestAuth(_mainActivity); + CancellationSignal? _cancellationSignal; + + // Throws with java.lang.NoSuchMethodError: no static method + // "Landroidx/credentials/CredentialManager;.create(Landroid/content/Context;)Landroidx/credentials/CredentialManager;" + // late final CredentialManager _credentialManager = + // CredentialManager.create(_mainActivityContext); @override Future get isSupported async { - final callback = Completer(); + final callback = Completer(); final client = Fido.getFido2ApiClient(_mainActivity); final isAvailable = client.isUserVerifyingPlatformAuthenticatorAvailable(); + final onSuccess = OnSuccessListener.implement( + $OnSuccessListenerImpl( + TResult: isAvailable.TResult, + onSuccess: callback.complete, + ), + ); + final onError = OnFailureListener.implement( + // TODO(dnys1): Convert to PasskeyException + $OnFailureListenerImpl(onFailure: (error) { + callback.completeError(error); + }), + ); isAvailable - ..addOnSuccessListener( - OnSuccessListener.implement( - $OnSuccessListenerImpl( - TResult: isAvailable.TResult, - onSuccess: (boolean) => callback.complete( - boolean.booleanValue(releaseOriginal: true), - ), - ), - ), - ) - ..addOnFailureListener( - OnFailureListener.implement( - // TODO(dnys1): Convert to PasskeyException - $OnFailureListenerImpl(onFailure: callback.completeError), - ), - ); - return callback.future; + ..addOnSuccessListener(onSuccess) + ..addOnFailureListener(onError); + final result = await callback.future; + return result.booleanValue(); + } + + @override + void cancel() { + if (_cancellationSignal case final cancellationSignal?) { + cancellationSignal.cancel(); + if (!cancellationSignal.isReleased) { + cancellationSignal.release(); + } + } + _cancellationSignal = null; } @override Future register( PasskeyRegistrationRequest request, ) async { + if (!await isSupported) { + throw const PasskeyUnsupportedException(); + } final options = await protocol.requestRegistration(request: request); - final jRequest = CreatePublicKeyCredentialRequest.new7( - jsonEncode(options.toJson()).toJString(), - ); - final responseCallback = Completer(); - _credentialManager.createCredentialAsync( - _mainActivityContext, - jRequest, - CancellationSignal(), - _threadPool, + final requestJson = jsonEncode(options.toJson()).toJString(); + final responseCallback = Completer(); + _cancellationSignal = _celestAuth.register( + requestJson, CredentialManagerCallback.implement( $CredentialManagerCallbackImpl( R: CreateCredentialResponse.type, E: CreateCredentialException.type, - onResult: (resp) => responseCallback - .complete(resp.as(CreatePublicKeyCredentialResponse.type)), + onResult: responseCallback.complete, onError: responseCallback.completeError, ), ), @@ -78,8 +85,9 @@ final class PasskeyPlatformAndroid extends PasskeyPlatformImpl { try { final response = await responseCallback.future; final passkeyJson = response + .as(CreatePublicKeyCredentialResponse.type) .getRegistrationResponseJson() - .toDartString(releaseOriginal: true); + .toDartString(); return PasskeyRegistrationResponse.fromJson( jsonDecode(passkeyJson) as Map, ); @@ -123,8 +131,7 @@ final class PasskeyPlatformAndroid extends PasskeyPlatformImpl { "An unknown error occurred from a 3rd party SDK. Check logs for additional details."); } throw Exception( - "Unexpected exception type: " - "${e.getType().toDartString(releaseOriginal: true)}", + "Unexpected exception type: ${e.getType().toDartString()}", ); } } @@ -133,26 +140,25 @@ final class PasskeyPlatformAndroid extends PasskeyPlatformImpl { Future authenticate( PasskeyAuthenticationRequest request, ) async { + if (!await isSupported) { + throw const PasskeyUnsupportedException(); + } final options = await protocol.requestAuthentication(request: request); - final jRequest = GetCredentialRequest_Builder() - .addCredentialOption( - GetPublicKeyCredentialOption.new3( - jsonEncode(options.toJson()).toJString(), - ), - ) - .build(); + final requestJson = jsonEncode(options.toJson()).toJString(); + // final jRequest = GetCredentialRequest_Builder() + // .addCredentialOption( + // GetPublicKeyCredentialOption.new3(requestJson), + // ) + // .build(); final responseCallback = Completer(); - _credentialManager.getCredentialAsync( - _mainActivityContext, - jRequest, - CancellationSignal(), - _threadPool, + _cancellationSignal = _celestAuth.authenticate( + requestJson, CredentialManagerCallback.implement( $CredentialManagerCallbackImpl( R: GetCredentialResponse.type, E: GetCredentialException.type, - onResult: (resp) => responseCallback.complete(resp), + onResult: responseCallback.complete, onError: responseCallback.completeError, ), ), @@ -163,7 +169,7 @@ final class PasskeyPlatformAndroid extends PasskeyPlatformImpl { .getCredential() .as(PublicKeyCredential.type) .getAuthenticationResponseJson() - .toDartString(releaseOriginal: true); + .toDartString(); return PasskeyAuthenticationResponse.fromJson( jsonDecode(passkeyJson) as Map, ); @@ -178,14 +184,13 @@ final class PasskeyPlatformAndroid extends PasskeyPlatformImpl { // TODO(dnys1): Handle } if (e.instanceOf(GetPublicKeyCredentialDomException.type)) { - final message = e.getMessage().toDartString(releaseOriginal: true); + final message = e.getMessage().toDartString(); if (message == 'Failed to decrypt credential.') { // TODO(dnys1): Sync account not available } } throw Exception( - "Unexpected exception type: " - "${e.getType().toDartString(releaseOriginal: true)}", + 'Unexpected exception type: ${e.getType().toDartString()}', ); } } diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_platform.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_platform.dart index 63e0f5ae..0ce04041 100644 --- a/packages/celest_auth/lib/src/client/passkeys/passkey_platform.dart +++ b/packages/celest_auth/lib/src/client/passkeys/passkey_platform.dart @@ -16,10 +16,21 @@ abstract base class PasskeyPlatform { @protected final PasskeyProtocol protocol; + /// Returns `true` if the platform supports passkeys. + /// + /// If the platform does not support passkeys, the [register] and [authenticate] + /// methods will throw a [PasskeyException]. Future get isSupported; + + /// Cancels the in-progress operation, if any. + void cancel(); + + /// Registers a new passkey. Future register( PasskeyRegistrationRequest request, ); + + /// Authenticates with an existing passkey. Future authenticate( PasskeyAuthenticationRequest request, ); diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_platform.darwin.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_platform.darwin.dart index 83da0523..f08efa57 100644 --- a/packages/celest_auth/lib/src/client/passkeys/passkey_platform.darwin.dart +++ b/packages/celest_auth/lib/src/client/passkeys/passkey_platform.darwin.dart @@ -22,14 +22,18 @@ final class PasskeyPlatformDarwin extends PasskeyPlatformImpl { return kIsFlutter && _celestAuth.isPasskeysSupported; } + @override + void cancel() { + _celestAuth.cancel(); + // TODO(dnys1): Ignore results? + } + @override Future register( PasskeyRegistrationRequest request, ) async { if (!await isSupported) { - throw const PasskeyException( - message: 'Passkeys are not supported in this environment', - ); + throw const PasskeyUnsupportedException(); } final options = await protocol.requestRegistration(request: request); @@ -50,9 +54,9 @@ final class PasskeyPlatformDarwin extends PasskeyPlatformImpl { if (error == nullptr) { return completer.completeError(StateError('Bad pointer')); } - completer.completeError( - PasskeyException(message: error.cast().toDartString()), - ); + final message = error.cast().toDartString(); + final exception = _CelestAuthError(code).toException(message); + completer.completeError(exception); _celestAuth.freePointer_(error); }, ); @@ -72,9 +76,7 @@ final class PasskeyPlatformDarwin extends PasskeyPlatformImpl { PasskeyAuthenticationRequest request, ) async { if (!await isSupported) { - throw const PasskeyException( - message: 'Passkeys are not supported in this environment', - ); + throw const PasskeyUnsupportedException(); } final options = await protocol.requestAuthentication(request: request); final completer = Completer(); @@ -94,9 +96,9 @@ final class PasskeyPlatformDarwin extends PasskeyPlatformImpl { if (error == nullptr) { return completer.completeError(StateError('Bad pointer')); } - completer.completeError( - PasskeyException(message: error.cast().toString()), - ); + final message = error.cast().toString(); + final exception = _CelestAuthError(code).toException(message); + completer.completeError(exception); _celestAuth.freePointer_(error); }, ); @@ -111,3 +113,21 @@ final class PasskeyPlatformDarwin extends PasskeyPlatformImpl { return response; } } + +extension type _CelestAuthError(int code) { + Object toException(String message) { + return switch (code) { + CelestAuthErrorCode.CelestAuthErrorCodeCanceled => + const PasskeyCancellationException(), + CelestAuthErrorCode.CelestAuthErrorCodeUnsupported => + const PasskeyUnsupportedException(), + CelestAuthErrorCode.CelestAuthErrorCodeFailed => + PasskeyFailedException(message), + // This shouldn't happen + CelestAuthErrorCode.CelestAuthErrorCodeSerde => StateError(message), + // This shouldn't happen + CelestAuthErrorCode.CelestAuthErrorCodeNotHandled => StateError(message), + _ => PasskeyUnknownException(message), + }; + } +} diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_platform.web.dart b/packages/celest_auth/lib/src/client/passkeys/passkey_platform.web.dart index 74b5fe44..5e98900a 100644 --- a/packages/celest_auth/lib/src/client/passkeys/passkey_platform.web.dart +++ b/packages/celest_auth/lib/src/client/passkeys/passkey_platform.web.dart @@ -19,6 +19,8 @@ final class PasskeyPlatformWeb extends PasskeyPlatformImpl { required super.protocol, }) : super.base(); + AbortController? _abortController; + @override Future get isSupported async { final publicKeyCredential = window.getProperty('PublicKeyCredential'.toJS); @@ -32,6 +34,12 @@ final class PasskeyPlatformWeb extends PasskeyPlatformImpl { .then((value) => value.toDart); } + @override + void cancel() { + _abortController?.abort(); + _abortController = null; + } + @override Future register( PasskeyRegistrationRequest request, @@ -42,9 +50,11 @@ final class PasskeyPlatformWeb extends PasskeyPlatformImpl { ); } final options = await protocol.requestRegistration(request: request); + _abortController = AbortController(); final credential = await window.navigator.credentials .create( CredentialCreationOptions( + signal: _abortController!.signal, publicKey: PublicKeyCredentialCreationOptions( challenge: options.challenge.buffer.toJS, pubKeyCredParams: [ @@ -111,9 +121,11 @@ final class PasskeyPlatformWeb extends PasskeyPlatformImpl { ); } final options = await protocol.requestAuthentication(request: request); + _abortController = AbortController(); final credential = await window.navigator.credentials .get( CredentialRequestOptions( + signal: _abortController!.signal, publicKey: PublicKeyCredential.parseRequestOptionsFromJSON( options.toJson().jsify() as PublicKeyCredentialRequestOptionsJSON, ), diff --git a/packages/celest_auth/lib/src/platform/android/jni_bindings.ffi.dart b/packages/celest_auth/lib/src/platform/android/jni_bindings.ffi.dart index 9ae7b6ad..13c345f4 100644 --- a/packages/celest_auth/lib/src/platform/android/jni_bindings.ffi.dart +++ b/packages/celest_auth/lib/src/platform/android/jni_bindings.ffi.dart @@ -19306,83 +19306,75 @@ class CelestAuth extends jni.JObject { /// The type which includes information such as the signature of this class. static const type = $CelestAuthType(); - static final _id_new0 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + static final _id_new0 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Landroid/app/Activity;)V"); - /// from: public void () + /// from: public void (android.app.Activity activity) /// The returned object must be released after use, by calling the [release] method. - factory CelestAuth() { - return CelestAuth.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, []).object); - } - - static final _id_init = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"init", r"(Landroid/content/Context;)V"); - - /// from: public final void init(android.content.Context context) - void init( - Context context, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_init, - jni.JniCallType.voidType, [context.reference]).check(); - } - - static final _id_signInWithCustomTabs = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"signInWithCustomTabs", - r"(Landroid/net/Uri;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;)V"); - - /// from: public final void signInWithCustomTabs(android.net.Uri uri, kotlin.jvm.functions.Function0 function0, kotlin.jvm.functions.Function1 function1) - void signInWithCustomTabs( - Uri uri, - jni.JObject function0, - jni.JObject function1, + factory CelestAuth( + Activity activity, ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_signInWithCustomTabs, - jni.JniCallType.voidType, - [uri.reference, function0.reference, function1.reference]).check(); + return CelestAuth.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new0, [activity.reference]).object); } - static final _id_signInWithGoogle = jni.Jni.accessors.getMethodIDOf( + static final _id_isSupported = jni.Jni.accessors.getMethodIDOf( _class.reference, - r"signInWithGoogle", - r"(Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;"); + r"isSupported", + r"(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;"); - /// from: public final java.lang.Object signInWithGoogle(java.lang.String string, java.lang.String string1, kotlin.coroutines.Continuation continuation) + /// from: public final java.lang.Object isSupported(kotlin.coroutines.Continuation continuation) /// The returned object must be released after use, by calling the [release] method. - Future signInWithGoogle( - jni.JString string, - jni.JString string1, - ) async { + Future isSupported() async { final $p = ReceivePort(); final $c = jni.JObject.fromRef(ProtectedJniExtensions.newPortContinuation($p)); - jni.Jni.accessors.callMethodWithArgs( - reference, - _id_signInWithGoogle, - jni.JniCallType.objectType, - [string.reference, string1.reference, $c.reference]).object; + jni.Jni.accessors.callMethodWithArgs(reference, _id_isSupported, + jni.JniCallType.objectType, [$c.reference]).object; final $o = jni.JObjectPtr.fromAddress(await $p.first); - final $k = const jni.JObjectType().getClass().reference; + final $k = const jni.JBooleanType().getClass().reference; if (!jni.Jni.env.IsInstanceOf($o, $k)) { throw "Failed"; } - return const jni.JObjectType().fromRef($o); + return const jni.JBooleanType().fromRef($o); } - static final _id_handleSignIn = jni.Jni.accessors.getMethodIDOf( + static final _id_register = jni.Jni.accessors.getMethodIDOf( _class.reference, - r"handleSignIn", - r"(Landroidx/credentials/GetCredentialResponse;)V"); + r"register", + r"(Ljava/lang/String;Landroidx/credentials/CredentialManagerCallback;)Landroid/os/CancellationSignal;"); - /// from: public final void handleSignIn(androidx.credentials.GetCredentialResponse getCredentialResponse) - void handleSignIn( - GetCredentialResponse getCredentialResponse, + /// from: public final android.os.CancellationSignal register(java.lang.String string, androidx.credentials.CredentialManagerCallback credentialManagerCallback) + /// The returned object must be released after use, by calling the [release] method. + CancellationSignal register( + jni.JString string, + CredentialManagerCallback + credentialManagerCallback, ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_handleSignIn, - jni.JniCallType.voidType, [getCredentialResponse.reference]).check(); + return const $CancellationSignalType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_register, jni.JniCallType.objectType, + [string.reference, credentialManagerCallback.reference]).object); + } + + static final _id_authenticate = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"authenticate", + r"(Ljava/lang/String;Landroidx/credentials/CredentialManagerCallback;)Landroid/os/CancellationSignal;"); + + /// from: public final android.os.CancellationSignal authenticate(java.lang.String string, androidx.credentials.CredentialManagerCallback credentialManagerCallback) + /// The returned object must be released after use, by calling the [release] method. + CancellationSignal authenticate( + jni.JString string, + CredentialManagerCallback + credentialManagerCallback, + ) { + return const $CancellationSignalType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_authenticate, + jni.JniCallType.objectType, + [string.reference, credentialManagerCallback.reference]).object); } } diff --git a/packages/celest_auth/lib/src/platform/darwin/celest_auth.ffi.dart b/packages/celest_auth/lib/src/platform/darwin/celest_auth.ffi.dart index 3e20fff2..376c1037 100644 --- a/packages/celest_auth/lib/src/platform/darwin/celest_auth.ffi.dart +++ b/packages/celest_auth/lib/src/platform/darwin/celest_auth.ffi.dart @@ -932,6 +932,7 @@ class CelestAuthDarwin { late final _sel_debugDescription1 = _registerName1("debugDescription"); late final _sel_isPasskeysSupported1 = _registerName1("isPasskeysSupported"); + late final _sel_cancel1 = _registerName1("cancel"); ffi.Pointer<_ObjCBlockDesc> _newBlockDesc1() { final d = pkg_ffi.calloc.allocate<_ObjCBlockDesc>(ffi.sizeOf<_ObjCBlockDesc>()); @@ -1128,6 +1129,10 @@ class CelestAuth extends NSObject { return _lib._objc_msgSend_12(_id, _lib._sel_isPasskeysSupported1); } + void cancel() { + _lib._objc_msgSend_1(_id, _lib._sel_cancel1); + } + void registerWithRequest_onSuccess_onError_( NSString request, ObjCBlock_ffiVoid_Uint8 onSuccess, @@ -2117,4 +2122,9 @@ abstract class CelestAuthErrorCode { static const int CelestAuthErrorCodeUnknown = 0; static const int CelestAuthErrorCodeUnsupported = 1; static const int CelestAuthErrorCodeSerde = 2; + static const int CelestAuthErrorCodeCanceled = 1001; + static const int CelestAuthErrorCodeInvalidResponse = 1002; + static const int CelestAuthErrorCodeNotHandled = 1003; + static const int CelestAuthErrorCodeFailed = 1004; + static const int CelestAuthErrorCodeNotInteractive = 1005; } diff --git a/packages/celest_core/lib/src/auth/passkey_exception.dart b/packages/celest_core/lib/src/auth/passkey_exception.dart index 0084b774..92f87c2c 100644 --- a/packages/celest_core/lib/src/auth/passkey_exception.dart +++ b/packages/celest_core/lib/src/auth/passkey_exception.dart @@ -1,5 +1,6 @@ import 'package:celest_core/celest_core.dart'; +// TODO(dnys1): Make sealed final class PasskeyException implements CelestException { const PasskeyException({ required this.message, @@ -11,3 +12,26 @@ final class PasskeyException implements CelestException { @override String toString() => 'PasskeyException: $message'; } + +final class PasskeyCancellationException extends PasskeyException { + const PasskeyCancellationException() + : super(message: 'Passkey registration was canceled by the user'); +} + +final class PasskeyUnknownException extends PasskeyException { + const PasskeyUnknownException([String? message]) + : super( + message: message ?? + 'An unknown error occurred during passkey registration', + ); +} + +final class PasskeyUnsupportedException extends PasskeyException { + const PasskeyUnsupportedException() + : super(message: 'Passkeys are not supported on this platform'); +} + +final class PasskeyFailedException extends PasskeyException { + const PasskeyFailedException([String? message]) + : super(message: message ?? 'Passkey registration failed'); +} From 68f562a0f5683cd1a343e6671db4f5aecbeeb069 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Mon, 4 Mar 2024 12:16:01 -0800 Subject: [PATCH 06/33] Refactor and add secure storage module --- packages/celest_auth/analysis_options.yaml | 2 +- packages/celest_auth/android/build.gradle | 3 + .../celest/celest_auth/CelestSecureStorage.kt | 61 + .../example/android/app/build.gradle | 1 + .../example/ios/Runner/Runner.entitlements | 2 +- packages/celest_auth/example/lib/main.dart | 14 +- .../ffigen.authentication_services.yaml | 59 - .../celest_auth/ffigen.core_foundation.yaml | 50 + packages/celest_auth/ffigen.darwin.yaml | 4 +- packages/celest_auth/ffigen.foundation.yaml | 6 +- packages/celest_auth/ffigen.security.yaml | 76 + packages/celest_auth/ffigen.uikit.yaml | 41 - packages/celest_auth/generate.sh | 20 +- packages/celest_auth/jnigen.yaml | 29 +- packages/celest_auth/lib/celest_auth.dart | 4 +- .../lib/src/client/auth_platform.android.dart | 124 - .../lib/src/client/auth_platform.darwin.dart | 69 - .../src/native/android/jni_bindings.ffi.dart | 14485 ++++++++ .../android/jni_helpers.dart | 0 .../darwin/celest_auth.ffi.dart | 2 +- .../native/darwin/core_foundation.ffi.dart | 754 + .../src/native/darwin/darwin_ffi_helpers.dart | 116 + .../darwin/foundation.ffi.dart | 0 .../darwin/foundation.yaml | 14 +- .../lib/src/native/darwin/security.ffi.dart | 1594 + .../platform/android/jni_bindings.ffi.dart | 28819 ---------------- .../src/platform/auth_platform.android.dart | 7 + .../{client => platform}/auth_platform.dart | 4 +- .../src/platform/auth_platform.darwin.dart | 7 + .../auth_platform.native.dart | 2 +- .../auth_platform.web.dart | 2 +- .../auth_platform_impl.vm.dart | 8 +- .../auth_platform_impl.web.dart | 4 +- .../darwin/authentication_services.ffi.dart | 24748 ------------- .../darwin/authentication_services.yaml | 366 - .../lib/src/platform/darwin/uikit.ffi.dart | 8880 ----- .../passkeys/passkey_platform.android.dart | 8 +- .../passkeys/passkey_platform.dart | 4 +- .../passkeys/passkey_platform.darwin.dart | 4 +- .../passkeys/passkey_platform.web.dart | 2 +- .../passkeys/passkey_platform_impl.vm.dart | 6 +- .../passkeys/passkey_platform_impl.web.dart | 4 +- .../social/oauth_parameters.dart | 0 .../social/oauth_parameters.g.dart | 0 .../src/storage/secure_storage.android.dart | 41 + .../lib/src/storage/secure_storage.dart | 37 + .../src/storage/secure_storage.darwin.dart | 179 + .../lib/src/storage/secure_storage.stub.dart | 26 + .../secure_storage_exception_impl.dart | 71 + packages/celest_auth/pubspec.yaml | 14 +- packages/celest_core/lib/celest_core.dart | 8 +- .../lib/src/auth/auth_exception.dart | 3 + .../{ => passkeys}/passkey_exception.dart | 2 +- .../auth/{ => passkeys}/passkey_types.dart | 47 +- .../src/storage/secure_storage_exception.dart | 3 + packages/corks/lib/src/cork.dart | 13 +- packages/corks/lib/src/signer.dart | 8 +- packages/corks/test/cork_test.dart | 41 +- 58 files changed, 17657 insertions(+), 63241 deletions(-) create mode 100644 packages/celest_auth/android/src/main/kotlin/dev/celest/celest_auth/CelestSecureStorage.kt delete mode 100644 packages/celest_auth/ffigen.authentication_services.yaml create mode 100644 packages/celest_auth/ffigen.core_foundation.yaml create mode 100644 packages/celest_auth/ffigen.security.yaml delete mode 100644 packages/celest_auth/ffigen.uikit.yaml delete mode 100644 packages/celest_auth/lib/src/client/auth_platform.android.dart delete mode 100644 packages/celest_auth/lib/src/client/auth_platform.darwin.dart create mode 100644 packages/celest_auth/lib/src/native/android/jni_bindings.ffi.dart rename packages/celest_auth/lib/src/{platform => native}/android/jni_helpers.dart (100%) rename packages/celest_auth/lib/src/{platform => native}/darwin/celest_auth.ffi.dart (99%) create mode 100644 packages/celest_auth/lib/src/native/darwin/core_foundation.ffi.dart create mode 100644 packages/celest_auth/lib/src/native/darwin/darwin_ffi_helpers.dart rename packages/celest_auth/lib/src/{platform => native}/darwin/foundation.ffi.dart (100%) rename packages/celest_auth/lib/src/{platform => native}/darwin/foundation.yaml (88%) create mode 100644 packages/celest_auth/lib/src/native/darwin/security.ffi.dart delete mode 100644 packages/celest_auth/lib/src/platform/android/jni_bindings.ffi.dart create mode 100644 packages/celest_auth/lib/src/platform/auth_platform.android.dart rename packages/celest_auth/lib/src/{client => platform}/auth_platform.dart (65%) create mode 100644 packages/celest_auth/lib/src/platform/auth_platform.darwin.dart rename packages/celest_auth/lib/src/{client => platform}/auth_platform.native.dart (97%) rename packages/celest_auth/lib/src/{client => platform}/auth_platform.web.dart (88%) rename packages/celest_auth/lib/src/{client => platform}/auth_platform_impl.vm.dart (75%) rename packages/celest_auth/lib/src/{client => platform}/auth_platform_impl.web.dart (82%) delete mode 100644 packages/celest_auth/lib/src/platform/darwin/authentication_services.ffi.dart delete mode 100644 packages/celest_auth/lib/src/platform/darwin/authentication_services.yaml delete mode 100644 packages/celest_auth/lib/src/platform/darwin/uikit.ffi.dart rename packages/celest_auth/lib/src/{client => platform}/passkeys/passkey_platform.android.dart (96%) rename packages/celest_auth/lib/src/{client => platform}/passkeys/passkey_platform.dart (82%) rename packages/celest_auth/lib/src/{client => platform}/passkeys/passkey_platform.darwin.dart (96%) rename packages/celest_auth/lib/src/{client => platform}/passkeys/passkey_platform.web.dart (98%) rename packages/celest_auth/lib/src/{client => platform}/passkeys/passkey_platform_impl.vm.dart (73%) rename packages/celest_auth/lib/src/{client => platform}/passkeys/passkey_platform_impl.web.dart (80%) rename packages/celest_auth/lib/src/{client => platform}/social/oauth_parameters.dart (100%) rename packages/celest_auth/lib/src/{client => platform}/social/oauth_parameters.g.dart (100%) create mode 100644 packages/celest_auth/lib/src/storage/secure_storage.android.dart create mode 100644 packages/celest_auth/lib/src/storage/secure_storage.dart create mode 100644 packages/celest_auth/lib/src/storage/secure_storage.darwin.dart create mode 100644 packages/celest_auth/lib/src/storage/secure_storage.stub.dart create mode 100644 packages/celest_auth/lib/src/storage/secure_storage_exception_impl.dart create mode 100644 packages/celest_core/lib/src/auth/auth_exception.dart rename packages/celest_core/lib/src/auth/{ => passkeys}/passkey_exception.dart (94%) rename packages/celest_core/lib/src/auth/{ => passkeys}/passkey_types.dart (95%) create mode 100644 packages/celest_core/lib/src/storage/secure_storage_exception.dart diff --git a/packages/celest_auth/analysis_options.yaml b/packages/celest_auth/analysis_options.yaml index 0db01dc0..4b9370ea 100644 --- a/packages/celest_auth/analysis_options.yaml +++ b/packages/celest_auth/analysis_options.yaml @@ -10,4 +10,4 @@ analyzer: depend_on_referenced_packages: error public_member_api_docs: ignore # TODO exclude: - - lib/src/platform/**/*.ffi.dart + - "**/*.ffi.dart" diff --git a/packages/celest_auth/android/build.gradle b/packages/celest_auth/android/build.gradle index ad9b3ee3..27f50d18 100644 --- a/packages/celest_auth/android/build.gradle +++ b/packages/celest_auth/android/build.gradle @@ -66,4 +66,7 @@ dependencies { implementation "androidx.biometric:biometric:1.2.0-alpha05" implementation "com.google.android.gms:play-services-auth:21.0.0" implementation "com.google.android.gms:play-services-fido:20.1.0" + + // Secure Storage + implementation 'androidx.security:security-crypto:1.1.0-alpha06' } diff --git a/packages/celest_auth/android/src/main/kotlin/dev/celest/celest_auth/CelestSecureStorage.kt b/packages/celest_auth/android/src/main/kotlin/dev/celest/celest_auth/CelestSecureStorage.kt new file mode 100644 index 00000000..a4777740 --- /dev/null +++ b/packages/celest_auth/android/src/main/kotlin/dev/celest/celest_auth/CelestSecureStorage.kt @@ -0,0 +1,61 @@ +package dev.celest.celest_auth + +import android.annotation.SuppressLint +import android.app.Activity +import android.content.SharedPreferences +import androidx.annotation.Keep +import androidx.annotation.Nullable +import androidx.security.crypto.EncryptedSharedPreferences +import androidx.security.crypto.MasterKey + +// TODO(dnys1): Exclude from backup: +// - https://developer.android.com/reference/androidx/security/crypto/EncryptedSharedPreferences +// - https://developer.android.com/guide/topics/data/autobackup#IncludingFiles +@Keep +class CelestSecureStorage(private val mainActivity: Activity) { + + private val sharedPreferences: SharedPreferences by lazy { + val masterKey = MasterKey.Builder(mainActivity) + .setKeyScheme(MasterKey.KeyScheme.AES256_GCM) + .build() + val sharedPreferences = EncryptedSharedPreferences.create( + mainActivity, + "auth_secrets", + masterKey, + EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV, + EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM, + ) + sharedPreferences + } + + private val editor: SharedPreferences.Editor + get() = sharedPreferences.edit() + + fun write(dataKey: String, value: String?) { + with(editor) { + putString(dataKey, value) + apply() + } + } + + fun read(dataKey: String): String? = sharedPreferences.getString(dataKey, null) + + fun readAll(): Map = sharedPreferences.all.mapValues { it.value as String } + + fun delete(dataKey: String): String? { + val current = read(dataKey) + with(editor) { + remove(dataKey) + apply() + } + return current + } + + fun clear() { + with(editor) { + clear() + apply() + } + } + +} \ No newline at end of file diff --git a/packages/celest_auth/example/android/app/build.gradle b/packages/celest_auth/example/android/app/build.gradle index 81d5ad3c..615231fb 100644 --- a/packages/celest_auth/example/android/app/build.gradle +++ b/packages/celest_auth/example/android/app/build.gradle @@ -71,4 +71,5 @@ dependencies { implementation "androidx.biometric:biometric:1.2.0-alpha05" implementation "com.google.android.gms:play-services-auth:21.0.0" implementation "com.google.android.gms:play-services-fido:20.1.0" + implementation 'androidx.security:security-crypto:1.1.0-alpha06' } diff --git a/packages/celest_auth/example/ios/Runner/Runner.entitlements b/packages/celest_auth/example/ios/Runner/Runner.entitlements index c9c0c10e..bc664a94 100644 --- a/packages/celest_auth/example/ios/Runner/Runner.entitlements +++ b/packages/celest_auth/example/ios/Runner/Runner.entitlements @@ -4,7 +4,7 @@ com.apple.developer.associated-domains - webcredentials:a102-136-24-157-119.ngrok-free.app?developer=true + webcredentials:0a3b-136-24-157-119.ngrok-free.app?developer=true diff --git a/packages/celest_auth/example/lib/main.dart b/packages/celest_auth/example/lib/main.dart index 06199ddf..d0801592 100644 --- a/packages/celest_auth/example/lib/main.dart +++ b/packages/celest_auth/example/lib/main.dart @@ -4,9 +4,8 @@ import 'package:corks/corks.dart'; import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; -final authClient = AuthClient( - baseUri: Uri.https('a102-136-24-157-119.ngrok-free.app'), -); +final baseUri = Uri.https('0a3b-136-24-157-119.ngrok-free.app'); +final authClient = AuthClient(baseUri: baseUri); final passkeys = PasskeyPlatform(protocol: authClient.passkeys); void main() { @@ -46,6 +45,11 @@ class _MainAppState extends State { final response = await passkeys.register( PasskeyRegistrationRequest( username: _controller.text, + authenticatorSelection: const AuthenticatorSelectionCriteria( + authenticatorAttachment: AuthenticatorAttachment.platform, + residentKey: ResidentKeyRequirement.preferred, + userVerification: UserVerificationRequirement.discouraged, + ), ), ); await authClient.passkeys.verifyRegistration( @@ -143,9 +147,7 @@ class _MainAppState extends State { onPressed: () { setState(() { _request = http.get( - Uri.parse( - 'https://a102-136-24-157-119.ngrok-free.app/authenticated', - ), + baseUri.resolve('/authenticated'), ); }); }, diff --git a/packages/celest_auth/ffigen.authentication_services.yaml b/packages/celest_auth/ffigen.authentication_services.yaml deleted file mode 100644 index 4b2a1e0a..00000000 --- a/packages/celest_auth/ffigen.authentication_services.yaml +++ /dev/null @@ -1,59 +0,0 @@ -name: AuthenticationServices -description: | - Bindings for AuthenticationServices on macOS/iOS. - - Regenerate bindings with `dart run ffigen --config=ffigen.authentication_services.yaml`. -language: "objc" -output: - bindings: "lib/src/platform/darwin/authentication_services.ffi.dart" - symbol-file: - output: "package:celest_auth/src/platform/darwin/authentication_services.yaml" - import-path: "package:celest_auth/src/platform/darwin/authentication_services.ffi.dart" -headers: - entry-points: - - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASWebAuthenticationSession.h" - - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h" - - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h" - - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/runtime.h" - include-directives: - - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/**/*.h" - - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASWebAuthenticationSession.h" - - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASFoundation.h" - - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h" - - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/AppKit.h" - - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h" - - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h" -# import: -# symbol-files: -# - 'package:celest_auth/src/platform/darwin/foundation.yaml' -preamble: | - // ignore_for_file: type=lint - // ignore_for_file: return_of_invalid_type - // ignore_for_file: unnecessary_non_null_assertion -comments: - style: any - length: full - -exclude-all-by-default: true -objc-interfaces: - include: - - ASWebAuthenticationSession - - NSWindow - - NSApplication - exclude: - - NS.* -functions: - include: - - objc_.* - - protocol_.* -structs: - include: - - objc_.* -typedefs: - include: - - ASWebAuthenticationSessionCompletionHandler - - ASPresentationAnchor - - Protocol -enums: - include: - - AS.* diff --git a/packages/celest_auth/ffigen.core_foundation.yaml b/packages/celest_auth/ffigen.core_foundation.yaml new file mode 100644 index 00000000..10a3cb3c --- /dev/null +++ b/packages/celest_auth/ffigen.core_foundation.yaml @@ -0,0 +1,50 @@ +name: CoreFoundation +description: | + Bindings for Core Foundation on iOS/macOS. + + Regenerate bindings with `dart run ffigen --config=ffigen.core_foundation.yaml`. +language: "c" +output: + bindings: "lib/src/native/darwin/core_foundation.ffi.dart" +compiler-opts: + - "-F/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks" +headers: + entry-points: + - "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFDictionary.h" + - "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFString.h" + - "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFData.h" +preamble: | + // ignore_for_file: type=lint + // ignore_for_file: return_of_invalid_type + // ignore_for_file: unnecessary_non_null_assertion +comments: + style: any + length: full + +ffi-native: +exclude-all-by-default: true +typedefs: + include: + - "CF.*" +globals: + include: + - "kCF.*" +functions: + include: + - CFDictionaryCreate + - CFDataCreate + - CFStringGetCStringPtr + - CFStringGetCString + - CFStringGetLength + - CFStringGetMaximumSizeForEncoding + - CFStringCreateWithCString + - CFDataGetBytePtr + - CFRelease +structs: + rename: + "__CFString": CFString + "__CFData": CFData + "__CFDictionary": CFDictionary +unnamed-enums: + include: + - "kCF.*" diff --git a/packages/celest_auth/ffigen.darwin.yaml b/packages/celest_auth/ffigen.darwin.yaml index bfbe03e8..2f5458db 100644 --- a/packages/celest_auth/ffigen.darwin.yaml +++ b/packages/celest_auth/ffigen.darwin.yaml @@ -5,7 +5,7 @@ description: | Regenerate bindings with `dart run ffigen --config=ffigen.darwin.yaml`. language: "objc" output: - bindings: "lib/src/platform/darwin/celest_auth.ffi.dart" + bindings: "lib/src/native/darwin/celest_auth.ffi.dart" headers: entry-points: - "example/build/macos/Build/Products/Release/celest_auth/celest_auth.framework/Headers/celest_auth-Swift.h" @@ -14,7 +14,7 @@ headers: - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h" import: symbol-files: - - "package:celest_auth/src/platform/darwin/foundation.yaml" + - "package:celest_auth/src/native/darwin/foundation.yaml" preamble: | // ignore_for_file: type=lint // ignore_for_file: return_of_invalid_type diff --git a/packages/celest_auth/ffigen.foundation.yaml b/packages/celest_auth/ffigen.foundation.yaml index bdcf007c..97604b55 100644 --- a/packages/celest_auth/ffigen.foundation.yaml +++ b/packages/celest_auth/ffigen.foundation.yaml @@ -5,10 +5,10 @@ description: | Regenerate bindings with `dart run ffigen --config=ffigen.foundation.yaml`. language: "objc" output: - bindings: "lib/src/platform/darwin/foundation.ffi.dart" + bindings: "lib/src/native/darwin/foundation.ffi.dart" symbol-file: - output: "package:celest_auth/src/platform/darwin/foundation.yaml" - import-path: "package:celest_auth/src/platform/darwin/foundation.ffi.dart" + output: "package:celest_auth/src/native/darwin/foundation.yaml" + import-path: "package:celest_auth/src/native/darwin/foundation.ffi.dart" headers: entry-points: - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSString.h" diff --git a/packages/celest_auth/ffigen.security.yaml b/packages/celest_auth/ffigen.security.yaml new file mode 100644 index 00000000..ed33002c --- /dev/null +++ b/packages/celest_auth/ffigen.security.yaml @@ -0,0 +1,76 @@ +name: SecurityFramework +description: | + Bindings for Security framework on iOS/macOS. + + Regenerate bindings with `dart run ffigen --config=ffigen.security.yaml`. +language: "c" +output: + bindings: "lib/src/native/darwin/security.ffi.dart" +compiler-opts: + - "-F/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks" +headers: + entry-points: + - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/SecItem.h" +preamble: | + // ignore_for_file: type=lint + // ignore_for_file: return_of_invalid_type + // ignore_for_file: unnecessary_non_null_assertion +comments: + style: any + length: full +library-imports: + cf: "package:celest_auth/src/native/darwin/core_foundation.ffi.dart" + +ffi-native: +exclude-all-by-default: true +functions: + include: + - SecItemAdd + - SecItemUpdate + - SecItemCopyMatching + - SecItemDelete + - SecCopyErrorMessageString +globals: + include: + - "kSec.*" + - "kCF.*" +unnamed-enums: + include: + - errSecSuccess + - errSecItemNotFound + - errSecDuplicateItem + - errSecUserCanceled + - errSecAuthFailed + - errSecInteractionRequired + - errSecMissingEntitlement + - errSecInvalidOwnerEdit +type-map: + typedefs: + CFString: + lib: cf + c-type: CFString + dart-type: CFString + CFType: + lib: cf + c-type: CFType + dart-type: CFType + CFData: + lib: cf + c-type: CFData + dart-type: CFData + CFDictionary: + lib: cf + c-type: CFDictionary + dart-type: CFDictionary + CFStringRef: + lib: cf + c-type: CFStringRef + dart-type: CFStringRef + CFTypeRef: + lib: cf + c-type: CFTypeRef + dart-type: CFTypeRef + CFDictionaryRef: + lib: cf + c-type: CFDictionaryRef + dart-type: CFDictionaryRef diff --git a/packages/celest_auth/ffigen.uikit.yaml b/packages/celest_auth/ffigen.uikit.yaml deleted file mode 100644 index 272e3160..00000000 --- a/packages/celest_auth/ffigen.uikit.yaml +++ /dev/null @@ -1,41 +0,0 @@ -name: UIKit -description: | - Bindings for UIKit on iOS. - - Regenerate bindings with `dart run ffigen --config=ffigen.uikit.yaml`. -language: "objc" -output: - bindings: "lib/src/platform/darwin/uikit.ffi.dart" -compiler-opts: - - "-F/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks" - - "-mios-version-min=15.0" - - "-isysroot" - - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk" -headers: - entry-points: - - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h" - include-directives: - - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/*.h" - - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h" - - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h" - - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h" -import: - symbol-files: - - "package:celest_auth/src/platform/darwin/foundation.yaml" -preamble: | - // ignore_for_file: type=lint - // ignore_for_file: return_of_invalid_type - // ignore_for_file: unnecessary_non_null_assertion -comments: - style: any - length: full - -compiler-opts-automatic: - macos: - include-c-standard-library: true -exclude-all-by-default: true -objc-interfaces: - include: - - UIWindow - - UIViewController - - UIImage diff --git a/packages/celest_auth/generate.sh b/packages/celest_auth/generate.sh index d1853c67..7da44ca9 100755 --- a/packages/celest_auth/generate.sh +++ b/packages/celest_auth/generate.sh @@ -2,23 +2,23 @@ set -euo pipefail -FOUNDATION_SYMBOLS=lib/src/platform/darwin/foundation.yaml -FOUNDATION_URI=package:celest_auth/src/platform/darwin/foundation.ffi.dart +FOUNDATION_SYMBOLS=lib/src/native/darwin/foundation.yaml +FOUNDATION_URI=package:celest_auth/src/native/darwin/foundation.ffi.dart echo "Building example app..." -pushd example -flutter pub get -flutter build apk -flutter build macos -popd +# pushd example +# flutter pub get +# flutter build apk +# flutter build macos +# popd echo "Generating FFI bindings..." +dart run ffigen --config=ffigen.core_foundation.yaml dart run ffigen --config=ffigen.foundation.yaml echo "Removing 'instancetype' from FFI bindings..." yq -i "del(.files.\"${FOUNDATION_URI}\".symbols.\"c:@T@instancetype\")" ${FOUNDATION_SYMBOLS} -dart run ffigen --config=ffigen.authentication_services.yaml -dart run ffigen --config=ffigen.uikit.yaml +dart run ffigen --config=ffigen.security.yaml dart run ffigen --config=ffigen.darwin.yaml echo "Generating JNI bindings..." -dart run jnigen --config=jnigen.yaml +# dart run jnigen --config=jnigen.yaml diff --git a/packages/celest_auth/jnigen.yaml b/packages/celest_auth/jnigen.yaml index be8b94ea..1ea01fba 100644 --- a/packages/celest_auth/jnigen.yaml +++ b/packages/celest_auth/jnigen.yaml @@ -12,21 +12,22 @@ suspend_fun_to_async: true output: bindings_type: dart_only dart: - path: "lib/src/platform/android/jni_bindings.ffi.dart" + path: "lib/src/native/android/jni_bindings.ffi.dart" structure: single_file classes: - - android.net.Uri - - androidx.browser.customtabs.CustomTabsIntent - - androidx.browser.customtabs.CustomTabsService + - dev.celest.celest_auth.CelestAuth + - dev.celest.celest_auth.CelestSecureStorage + + # Core Android/Java types - android.app.Activity - android.content.Context - - android.content.Intent - - android.content.pm.PackageManager - - android.content.pm.ResolveInfo - - android.content.pm.ActivityInfo - - android.content.pm.PackageItemInfo - - dev.celest.celest_auth.CelestAuth + - android.os.CancellationSignal + - java.lang.Runnable + - java.lang.Exception + - java.lang.Throwable + + # Passkey types - androidx.credentials.CreateCredentialRequest - androidx.credentials.CreateCredentialResponse - androidx.credentials.CreatePublicKeyCredentialRequest @@ -50,14 +51,6 @@ classes: - androidx.credentials.exceptions.publickeycredential.CreatePublicKeyCredentialDomException - androidx.credentials.exceptions.publickeycredential.CreatePublicKeyCredentialException - androidx.credentials.exceptions.publickeycredential.GetPublicKeyCredentialDomException - - android.os.CancellationSignal - - android.os.Bundle - - android.os.BaseBundle - - java.lang.Runnable - - java.lang.Exception - - java.lang.Throwable - - java.util.concurrent.Executor - - java.util.concurrent.Executors - com.google.android.gms.fido.Fido - com.google.android.gms.fido.fido2.Fido2ApiClient - com.google.android.gms.tasks.Task diff --git a/packages/celest_auth/lib/celest_auth.dart b/packages/celest_auth/lib/celest_auth.dart index 77d9b395..f2689255 100644 --- a/packages/celest_auth/lib/celest_auth.dart +++ b/packages/celest_auth/lib/celest_auth.dart @@ -1,4 +1,4 @@ library; -export 'src/client/auth_platform.dart'; -export 'src/client/passkeys/passkey_platform.dart'; +export 'src/platform/auth_platform.dart'; +export 'src/platform/passkeys/passkey_platform.dart'; diff --git a/packages/celest_auth/lib/src/client/auth_platform.android.dart b/packages/celest_auth/lib/src/client/auth_platform.android.dart deleted file mode 100644 index d6febbd8..00000000 --- a/packages/celest_auth/lib/src/client/auth_platform.android.dart +++ /dev/null @@ -1,124 +0,0 @@ -import 'dart:async'; - -import 'package:celest_auth/src/client/auth_platform_impl.vm.dart'; -import 'package:celest_auth/src/platform/android/jni_bindings.ffi.dart' - as android show Uri; -import 'package:celest_auth/src/platform/android/jni_bindings.ffi.dart' - hide Uri, Exception; -import 'package:jni/jni.dart'; -import 'package:logging/logging.dart'; - -final class AuthPlatformAndroid extends AuthPlatformImpl { - AuthPlatformAndroid({ - required super.protocol, - }) : super.base() { - Jni.initDLApi(); - } - - static final Logger _logger = Logger('Celest.AuthClientAndroid'); - - /// A code to identify the result of the custom tabs request. - static const int _customTabsRequestCode = 7777; - - late final CelestAuth _celestAuth = CelestAuth(_mainActivity); - - late final Activity _mainActivity = - Activity.fromRef(Jni.getCurrentActivity()); - late final Context _applicationContext = - Context.fromRef(Jni.getCachedApplicationContext()); - - /// The application ID of the installed package which can handle custom tabs, - /// typically a browser like Chrome. - /// - /// Adapted from: https://github.com/GoogleChrome/custom-tabs-client/blob/f55501961a211a92eacbe3c2f15d7c58c19c8ef9/shared/src/main/java/org/chromium/customtabsclient/shared/CustomTabsHelper.java#L64 - String? get browserPackageName { - final packageManager = _applicationContext.getPackageManager(); - final browserIntent = Intent() - ..setAction(Intent.ACTION_VIEW.toJString()) - ..addCategory(Intent.CATEGORY_BROWSABLE.toJString()) - ..setData(android.Uri.parse('https://google.com'.toJString())); - final defaultBrowserHandler = packageManager.resolveActivity1( - browserIntent, - PackageManager_ResolveInfoFlags.of(PackageManager.MATCH_DEFAULT_ONLY), - ); - final defaultBroswerPackageName = defaultBrowserHandler.resolvedPackageName; - - // Get all apps that can handle browser intents. - final resolvedActivityList = packageManager.queryIntentActivities1( - browserIntent, - PackageManager_ResolveInfoFlags.of(PackageManager.MATCH_ALL), - ); - final packagesSupportingCustomTabs = []; - for (final info in resolvedActivityList) { - final infoPackageName = info.resolvedPackageName; - assert(infoPackageName != null); - final customTabsIntent = Intent() - ..setAction(CustomTabsService.ACTION_CUSTOM_TABS_CONNECTION.toJString()) - ..setPackage(infoPackageName!.toJString()); - // Check if the package also resolves the Custom Tabs service. - final resolvedService = packageManager.resolveService1( - customTabsIntent, - PackageManager_ResolveInfoFlags.of(0), - ); - if (resolvedService.resolvedPackageName case final resolvedPackage?) { - packagesSupportingCustomTabs.add(resolvedPackage); - } - } - _logger - ..fine('defaultBroswerPackageName: $defaultBroswerPackageName') - ..fine('packagesSupportingCustomTabs: $packagesSupportingCustomTabs'); - if (packagesSupportingCustomTabs.isEmpty) { - return null; - } - if (defaultBroswerPackageName != null && - packagesSupportingCustomTabs.contains(defaultBroswerPackageName)) { - return defaultBroswerPackageName; - } - return packagesSupportingCustomTabs.first; - } - - Future _launchCustomTabsIntent({ - required Uri uri, - }) async { - final intent = CustomTabsIntent_Builder() - .setShareState(CustomTabsIntent.SHARE_STATE_OFF) - .build(); - final useBrowserPackage = browserPackageName; - if (useBrowserPackage == null) { - throw Exception('No browser supporting custom tabs found'); - } - _logger.fine('Using browser package: $useBrowserPackage'); - final thisApplicationPackage = _applicationContext - .getPackageName() - .toDartString(releaseOriginal: true); - intent.intent - ..setPackage(useBrowserPackage.toJString()) - ..putExtra12( - Intent.EXTRA_REFERRER.toJString(), - android.Uri.parse('android-app://$thisApplicationPackage'.toJString()), - ) - ..setData(android.Uri.parse(uri.toString().toJString())); - - // Should be launched from the main activity and not the application context so that - // FLAG_ACTIVITY_NEW_TASK does not have to be used which would always launch the tab - // in a separate process instead of an embedded tab. - _mainActivity.startActivityForResult(intent.intent, _customTabsRequestCode); - } - - Future> startSignIn({ - required Uri uri, - String? callbackUrlScheme, - }) async { - throw UnimplementedError(); - } -} - -extension on ResolveInfo { - String? get resolvedPackageName { - if (isNull) return null; - if (activityInfo.isNull) return null; - return PackageItemInfo.fromRef(activityInfo.reference) - .packageName - .toDartString(releaseOriginal: true); - } -} diff --git a/packages/celest_auth/lib/src/client/auth_platform.darwin.dart b/packages/celest_auth/lib/src/client/auth_platform.darwin.dart deleted file mode 100644 index 479aabaf..00000000 --- a/packages/celest_auth/lib/src/client/auth_platform.darwin.dart +++ /dev/null @@ -1,69 +0,0 @@ -import 'dart:async'; -import 'dart:ffi'; -import 'dart:io'; - -import 'package:celest_auth/src/client/auth_platform_impl.vm.dart'; -import 'package:celest_auth/src/platform/darwin/authentication_services.ffi.dart'; - -final class AuthPlatformDarwin extends AuthPlatformImpl { - AuthPlatformDarwin({ - required super.protocol, - }) : super.base(); - - final _authenticationServices = - AuthenticationServices(DynamicLibrary.process()); - - Future> startSignIn({ - required Uri uri, - String? callbackUrlScheme, - }) async { - final url = NSURL.URLWithString_( - _authenticationServices, - uri.toString().toNSString(_authenticationServices), - ); - if (url == null) { - throw ArgumentError.value(uri, 'uri', 'Invalid URI'); - } - final parameters = Completer>(); - final session = ASWebAuthenticationSession.alloc(_authenticationServices) - .initWithURL_callbackURLScheme_completionHandler_( - url, - callbackUrlScheme?.toNSString(_authenticationServices), - DartASWebAuthenticationSessionCompletionHandler.listener( - _authenticationServices, - (url, error) { - if (error case final error?) { - return parameters.completeError(error); - } - if (url?.absoluteString case final url?) { - final uri = Uri.parse(url.toString()); - return parameters.complete(uri.queryParameters); - } - parameters.completeError( - StateError('Invalid response from authentication session'), - ); - }, - ), - ); - - NSObject? presentationAnchor; - if (Platform.isMacOS) { - final windows = - NSApplication.getSharedApplication(_authenticationServices).windows; - for (var i = 0; i < windows.count; i++) { - final window = NSWindow.castFrom(windows.objectAtIndex_(i)); - presentationAnchor ??= window; - if (window.keyWindow) { - presentationAnchor = window; - break; - } - } - } - session.presentationContextProvider = presentationAnchor; - session.prefersEphemeralWebBrowserSession = false; - if (!session.start()) { - throw StateError('Failed to start authentication session'); - } - return parameters.future; - } -} diff --git a/packages/celest_auth/lib/src/native/android/jni_bindings.ffi.dart b/packages/celest_auth/lib/src/native/android/jni_bindings.ffi.dart new file mode 100644 index 00000000..74e4d351 --- /dev/null +++ b/packages/celest_auth/lib/src/native/android/jni_bindings.ffi.dart @@ -0,0 +1,14485 @@ +// Autogenerated by jnigen. DO NOT EDIT! + +// ignore_for_file: annotate_overrides +// ignore_for_file: camel_case_extensions +// ignore_for_file: camel_case_types +// ignore_for_file: constant_identifier_names +// ignore_for_file: file_names +// ignore_for_file: lines_longer_than_80_chars +// ignore_for_file: no_leading_underscores_for_local_identifiers +// ignore_for_file: non_constant_identifier_names +// ignore_for_file: overridden_fields +// ignore_for_file: unnecessary_cast +// ignore_for_file: unused_element +// ignore_for_file: unused_field +// ignore_for_file: unused_import +// ignore_for_file: unused_local_variable +// ignore_for_file: unused_shown_name + +import "dart:isolate" show ReceivePort; +import "dart:ffi" as ffi; +import "package:jni/internal_helpers_for_jnigen.dart"; +import "package:jni/jni.dart" as jni; + +/// from: dev.celest.celest_auth.CelestAuth +class CelestAuth extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CelestAuth.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"dev/celest/celest_auth/CelestAuth"); + + /// The type which includes information such as the signature of this class. + static const type = $CelestAuthType(); + static final _id_new0 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Landroid/app/Activity;)V"); + + /// from: public void (android.app.Activity activity) + /// The returned object must be released after use, by calling the [release] method. + factory CelestAuth( + Activity activity, + ) { + return CelestAuth.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new0, [activity.reference]).object); + } + + static final _id_register = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"register", + r"(Ljava/lang/String;Landroidx/credentials/CredentialManagerCallback;)Landroid/os/CancellationSignal;"); + + /// from: public final android.os.CancellationSignal register(java.lang.String string, androidx.credentials.CredentialManagerCallback credentialManagerCallback) + /// The returned object must be released after use, by calling the [release] method. + CancellationSignal register( + jni.JString string, + CredentialManagerCallback + credentialManagerCallback, + ) { + return const $CancellationSignalType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_register, jni.JniCallType.objectType, + [string.reference, credentialManagerCallback.reference]).object); + } + + static final _id_authenticate = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"authenticate", + r"(Ljava/lang/String;Landroidx/credentials/CredentialManagerCallback;)Landroid/os/CancellationSignal;"); + + /// from: public final android.os.CancellationSignal authenticate(java.lang.String string, androidx.credentials.CredentialManagerCallback credentialManagerCallback) + /// The returned object must be released after use, by calling the [release] method. + CancellationSignal authenticate( + jni.JString string, + CredentialManagerCallback + credentialManagerCallback, + ) { + return const $CancellationSignalType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_authenticate, + jni.JniCallType.objectType, + [string.reference, credentialManagerCallback.reference]).object); + } +} + +final class $CelestAuthType extends jni.JObjType { + const $CelestAuthType(); + + @override + String get signature => r"Ldev/celest/celest_auth/CelestAuth;"; + + @override + CelestAuth fromRef(jni.JObjectPtr ref) => CelestAuth.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CelestAuthType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CelestAuthType) && other is $CelestAuthType; + } +} + +/// from: dev.celest.celest_auth.CelestSecureStorage +class CelestSecureStorage extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CelestSecureStorage.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"dev/celest/celest_auth/CelestSecureStorage"); + + /// The type which includes information such as the signature of this class. + static const type = $CelestSecureStorageType(); + static final _id_new0 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Landroid/app/Activity;)V"); + + /// from: public void (android.app.Activity activity) + /// The returned object must be released after use, by calling the [release] method. + factory CelestSecureStorage( + Activity activity, + ) { + return CelestSecureStorage.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new0, [activity.reference]).object); + } + + static final _id_write = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"write", r"(Ljava/lang/String;Ljava/lang/String;)V"); + + /// from: public final void write(java.lang.String string, java.lang.String string1) + void write( + jni.JString string, + jni.JString string1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_write, + jni.JniCallType.voidType, + [string.reference, string1.reference]).check(); + } + + static final _id_read = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"read", r"(Ljava/lang/String;)Ljava/lang/String;"); + + /// from: public final java.lang.String read(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JString read( + jni.JString string, + ) { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_read, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_readAll = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"readAll", r"()Ljava/util/Map;"); + + /// from: public final java.util.Map readAll() + /// The returned object must be released after use, by calling the [release] method. + jni.JMap readAll() { + return const jni.JMapType(jni.JStringType(), jni.JStringType()).fromRef( + jni.Jni.accessors.callMethodWithArgs( + reference, _id_readAll, jni.JniCallType.objectType, []).object); + } + + static final _id_delete = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"delete", r"(Ljava/lang/String;)Ljava/lang/String;"); + + /// from: public final java.lang.String delete(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JString delete( + jni.JString string, + ) { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_delete, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_clear = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"clear", r"()V"); + + /// from: public final void clear() + void clear() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_clear, jni.JniCallType.voidType, []).check(); + } +} + +final class $CelestSecureStorageType extends jni.JObjType { + const $CelestSecureStorageType(); + + @override + String get signature => r"Ldev/celest/celest_auth/CelestSecureStorage;"; + + @override + CelestSecureStorage fromRef(jni.JObjectPtr ref) => + CelestSecureStorage.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CelestSecureStorageType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CelestSecureStorageType) && + other is $CelestSecureStorageType; + } +} + +/// from: android.app.Activity$ScreenCaptureCallback +class Activity_ScreenCaptureCallback extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Activity_ScreenCaptureCallback.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"android/app/Activity$ScreenCaptureCallback"); + + /// The type which includes information such as the signature of this class. + static const type = $Activity_ScreenCaptureCallbackType(); + static final _id_onScreenCaptured = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onScreenCaptured", r"()V"); + + /// from: public abstract void onScreenCaptured() + void onScreenCaptured() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onScreenCaptured, jni.JniCallType.voidType, []).check(); + } + + /// Maps a specific port to the implemented interface. + static final Map _$impls = {}; + ReceivePort? _$p; + + static jni.JObjectPtr _$invoke( + int port, + jni.JObjectPtr descriptor, + jni.JObjectPtr args, + ) { + return _$invokeMethod( + port, + $MethodInvocation.fromAddresses( + 0, + descriptor.address, + args.address, + ), + ); + } + + static final ffi.Pointer< + ffi.NativeFunction< + jni.JObjectPtr Function( + ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> + _$invokePointer = ffi.Pointer.fromFunction(_$invoke); + + static ffi.Pointer _$invokeMethod( + int $p, + $MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + if ($d == r"onScreenCaptured()V") { + _$impls[$p]!.onScreenCaptured(); + return jni.nullptr; + } + } catch (e) { + return ProtectedJniExtensions.newDartException(e.toString()); + } + return jni.nullptr; + } + + factory Activity_ScreenCaptureCallback.implement( + $Activity_ScreenCaptureCallbackImpl $impl, + ) { + final $p = ReceivePort(); + final $x = Activity_ScreenCaptureCallback.fromRef( + ProtectedJniExtensions.newPortProxy( + r"android.app.Activity$ScreenCaptureCallback", + $p, + _$invokePointer, + ), + ).._$p = $p; + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + $p.listen(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = $MethodInvocation.fromMessage($m as List); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + ProtectedJniExtensions.returnResult($i.result, $r); + }); + return $x; + } +} + +abstract class $Activity_ScreenCaptureCallbackImpl { + factory $Activity_ScreenCaptureCallbackImpl({ + required void Function() onScreenCaptured, + }) = _$Activity_ScreenCaptureCallbackImpl; + + void onScreenCaptured(); +} + +class _$Activity_ScreenCaptureCallbackImpl + implements $Activity_ScreenCaptureCallbackImpl { + _$Activity_ScreenCaptureCallbackImpl({ + required void Function() onScreenCaptured, + }) : _onScreenCaptured = onScreenCaptured; + + final void Function() _onScreenCaptured; + + void onScreenCaptured() { + return _onScreenCaptured(); + } +} + +final class $Activity_ScreenCaptureCallbackType + extends jni.JObjType { + const $Activity_ScreenCaptureCallbackType(); + + @override + String get signature => r"Landroid/app/Activity$ScreenCaptureCallback;"; + + @override + Activity_ScreenCaptureCallback fromRef(jni.JObjectPtr ref) => + Activity_ScreenCaptureCallback.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($Activity_ScreenCaptureCallbackType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($Activity_ScreenCaptureCallbackType) && + other is $Activity_ScreenCaptureCallbackType; + } +} + +/// from: android.app.Activity +class Activity extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Activity.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"android/app/Activity"); + + /// The type which includes information such as the signature of this class. + static const type = $ActivityType(); + + /// from: static public final int DEFAULT_KEYS_DIALER + static const DEFAULT_KEYS_DIALER = 1; + + /// from: static public final int DEFAULT_KEYS_DISABLE + static const DEFAULT_KEYS_DISABLE = 0; + + /// from: static public final int DEFAULT_KEYS_SEARCH_GLOBAL + static const DEFAULT_KEYS_SEARCH_GLOBAL = 4; + + /// from: static public final int DEFAULT_KEYS_SEARCH_LOCAL + static const DEFAULT_KEYS_SEARCH_LOCAL = 3; + + /// from: static public final int DEFAULT_KEYS_SHORTCUT + static const DEFAULT_KEYS_SHORTCUT = 2; + + static final _id_FOCUSED_STATE_SET = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"FOCUSED_STATE_SET", + r"[I", + ); + + /// from: static protected final int[] FOCUSED_STATE_SET + /// The returned object must be released after use, by calling the [release] method. + static jni.JArray get FOCUSED_STATE_SET => + const jni.JArrayType(jni.jintType()).fromRef(jni.Jni.accessors + .getStaticField(_class.reference, _id_FOCUSED_STATE_SET, + jni.JniCallType.objectType) + .object); + + /// from: static public final int FULLSCREEN_MODE_REQUEST_ENTER + static const FULLSCREEN_MODE_REQUEST_ENTER = 1; + + /// from: static public final int FULLSCREEN_MODE_REQUEST_EXIT + static const FULLSCREEN_MODE_REQUEST_EXIT = 0; + + /// from: static public final int OVERRIDE_TRANSITION_CLOSE + static const OVERRIDE_TRANSITION_CLOSE = 1; + + /// from: static public final int OVERRIDE_TRANSITION_OPEN + static const OVERRIDE_TRANSITION_OPEN = 0; + + /// from: static public final int RESULT_CANCELED + static const RESULT_CANCELED = 0; + + /// from: static public final int RESULT_FIRST_USER + static const RESULT_FIRST_USER = 1; + + /// from: static public final int RESULT_OK + static const RESULT_OK = -1; + + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory Activity() { + return Activity.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_getIntent = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getIntent", r"()Landroid/content/Intent;"); + + /// from: public android.content.Intent getIntent() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getIntent() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getIntent, jni.JniCallType.objectType, []).object); + } + + static final _id_setIntent = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setIntent", r"(Landroid/content/Intent;)V"); + + /// from: public void setIntent(android.content.Intent intent) + void setIntent( + jni.JObject intent, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setIntent, + jni.JniCallType.voidType, [intent.reference]).check(); + } + + static final _id_setLocusContext = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setLocusContext", + r"(Landroid/content/LocusId;Landroid/os/Bundle;)V"); + + /// from: public void setLocusContext(android.content.LocusId locusId, android.os.Bundle bundle) + void setLocusContext( + jni.JObject locusId, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setLocusContext, + jni.JniCallType.voidType, + [locusId.reference, bundle.reference]).check(); + } + + static final _id_getApplication = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getApplication", r"()Landroid/app/Application;"); + + /// from: public final android.app.Application getApplication() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getApplication() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getApplication, jni.JniCallType.objectType, []).object); + } + + static final _id_isChild = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isChild", r"()Z"); + + /// from: public final boolean isChild() + bool isChild() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isChild, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_getParent = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getParent", r"()Landroid/app/Activity;"); + + /// from: public final android.app.Activity getParent() + /// The returned object must be released after use, by calling the [release] method. + Activity getParent() { + return const $ActivityType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getParent, jni.JniCallType.objectType, []).object); + } + + static final _id_getWindowManager = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getWindowManager", r"()Landroid/view/WindowManager;"); + + /// from: public android.view.WindowManager getWindowManager() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getWindowManager() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getWindowManager, + jni.JniCallType.objectType, []).object); + } + + static final _id_getWindow = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getWindow", r"()Landroid/view/Window;"); + + /// from: public android.view.Window getWindow() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getWindow() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getWindow, jni.JniCallType.objectType, []).object); + } + + static final _id_getLoaderManager = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getLoaderManager", r"()Landroid/app/LoaderManager;"); + + /// from: public android.app.LoaderManager getLoaderManager() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getLoaderManager() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getLoaderManager, + jni.JniCallType.objectType, []).object); + } + + static final _id_getCurrentFocus = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getCurrentFocus", r"()Landroid/view/View;"); + + /// from: public android.view.View getCurrentFocus() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getCurrentFocus() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getCurrentFocus, jni.JniCallType.objectType, []).object); + } + + static final _id_attachBaseContext = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"attachBaseContext", r"(Landroid/content/Context;)V"); + + /// from: protected void attachBaseContext(android.content.Context context) + void attachBaseContext( + Context context, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_attachBaseContext, + jni.JniCallType.voidType, + [context.reference]).check(); + } + + static final _id_registerActivityLifecycleCallbacks = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"registerActivityLifecycleCallbacks", + r"(Landroid/app/Application$ActivityLifecycleCallbacks;)V"); + + /// from: public void registerActivityLifecycleCallbacks(android.app.Application$ActivityLifecycleCallbacks activityLifecycleCallbacks) + void registerActivityLifecycleCallbacks( + jni.JObject activityLifecycleCallbacks, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_registerActivityLifecycleCallbacks, + jni.JniCallType.voidType, + [activityLifecycleCallbacks.reference]).check(); + } + + static final _id_unregisterActivityLifecycleCallbacks = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"unregisterActivityLifecycleCallbacks", + r"(Landroid/app/Application$ActivityLifecycleCallbacks;)V"); + + /// from: public void unregisterActivityLifecycleCallbacks(android.app.Application$ActivityLifecycleCallbacks activityLifecycleCallbacks) + void unregisterActivityLifecycleCallbacks( + jni.JObject activityLifecycleCallbacks, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_unregisterActivityLifecycleCallbacks, + jni.JniCallType.voidType, + [activityLifecycleCallbacks.reference]).check(); + } + + static final _id_registerComponentCallbacks = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"registerComponentCallbacks", + r"(Landroid/content/ComponentCallbacks;)V"); + + /// from: public void registerComponentCallbacks(android.content.ComponentCallbacks componentCallbacks) + void registerComponentCallbacks( + jni.JObject componentCallbacks, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_registerComponentCallbacks, + jni.JniCallType.voidType, + [componentCallbacks.reference]).check(); + } + + static final _id_unregisterComponentCallbacks = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"unregisterComponentCallbacks", + r"(Landroid/content/ComponentCallbacks;)V"); + + /// from: public void unregisterComponentCallbacks(android.content.ComponentCallbacks componentCallbacks) + void unregisterComponentCallbacks( + jni.JObject componentCallbacks, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_unregisterComponentCallbacks, + jni.JniCallType.voidType, + [componentCallbacks.reference]).check(); + } + + static final _id_onCreate = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onCreate", r"(Landroid/os/Bundle;)V"); + + /// from: protected void onCreate(android.os.Bundle bundle) + void onCreate( + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onCreate, + jni.JniCallType.voidType, [bundle.reference]).check(); + } + + static final _id_getSplashScreen = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getSplashScreen", r"()Landroid/window/SplashScreen;"); + + /// from: public final android.window.SplashScreen getSplashScreen() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getSplashScreen() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getSplashScreen, jni.JniCallType.objectType, []).object); + } + + static final _id_onCreate1 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"onCreate", r"(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V"); + + /// from: public void onCreate(android.os.Bundle bundle, android.os.PersistableBundle persistableBundle) + void onCreate1( + jni.JObject bundle, + jni.JObject persistableBundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onCreate1, + jni.JniCallType.voidType, + [bundle.reference, persistableBundle.reference]).check(); + } + + static final _id_onRestoreInstanceState = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onRestoreInstanceState", r"(Landroid/os/Bundle;)V"); + + /// from: protected void onRestoreInstanceState(android.os.Bundle bundle) + void onRestoreInstanceState( + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onRestoreInstanceState, + jni.JniCallType.voidType, + [bundle.reference]).check(); + } + + static final _id_onRestoreInstanceState1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onRestoreInstanceState", + r"(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V"); + + /// from: public void onRestoreInstanceState(android.os.Bundle bundle, android.os.PersistableBundle persistableBundle) + void onRestoreInstanceState1( + jni.JObject bundle, + jni.JObject persistableBundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onRestoreInstanceState1, + jni.JniCallType.voidType, + [bundle.reference, persistableBundle.reference]).check(); + } + + static final _id_onPostCreate = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onPostCreate", r"(Landroid/os/Bundle;)V"); + + /// from: protected void onPostCreate(android.os.Bundle bundle) + void onPostCreate( + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onPostCreate, + jni.JniCallType.voidType, [bundle.reference]).check(); + } + + static final _id_onPostCreate1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onPostCreate", + r"(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V"); + + /// from: public void onPostCreate(android.os.Bundle bundle, android.os.PersistableBundle persistableBundle) + void onPostCreate1( + jni.JObject bundle, + jni.JObject persistableBundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onPostCreate1, + jni.JniCallType.voidType, + [bundle.reference, persistableBundle.reference]).check(); + } + + static final _id_onStart = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"onStart", r"()V"); + + /// from: protected void onStart() + void onStart() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onStart, jni.JniCallType.voidType, []).check(); + } + + static final _id_onRestart = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"onRestart", r"()V"); + + /// from: protected void onRestart() + void onRestart() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onRestart, jni.JniCallType.voidType, []).check(); + } + + static final _id_onStateNotSaved = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onStateNotSaved", r"()V"); + + /// from: public void onStateNotSaved() + void onStateNotSaved() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onStateNotSaved, jni.JniCallType.voidType, []).check(); + } + + static final _id_onResume = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"onResume", r"()V"); + + /// from: protected void onResume() + void onResume() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onResume, jni.JniCallType.voidType, []).check(); + } + + static final _id_onPostResume = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onPostResume", r"()V"); + + /// from: protected void onPostResume() + void onPostResume() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onPostResume, jni.JniCallType.voidType, []).check(); + } + + static final _id_onTopResumedActivityChanged = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onTopResumedActivityChanged", r"(Z)V"); + + /// from: public void onTopResumedActivityChanged(boolean z) + void onTopResumedActivityChanged( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onTopResumedActivityChanged, + jni.JniCallType.voidType, + [z ? 1 : 0]).check(); + } + + static final _id_isVoiceInteraction = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isVoiceInteraction", r"()Z"); + + /// from: public boolean isVoiceInteraction() + bool isVoiceInteraction() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_isVoiceInteraction, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_isVoiceInteractionRoot = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isVoiceInteractionRoot", r"()Z"); + + /// from: public boolean isVoiceInteractionRoot() + bool isVoiceInteractionRoot() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_isVoiceInteractionRoot, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_getVoiceInteractor = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getVoiceInteractor", + r"()Landroid/app/VoiceInteractor;"); + + /// from: public android.app.VoiceInteractor getVoiceInteractor() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getVoiceInteractor() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getVoiceInteractor, + jni.JniCallType.objectType, []).object); + } + + static final _id_isLocalVoiceInteractionSupported = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"isLocalVoiceInteractionSupported", r"()Z"); + + /// from: public boolean isLocalVoiceInteractionSupported() + bool isLocalVoiceInteractionSupported() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_isLocalVoiceInteractionSupported, + jni.JniCallType.booleanType, []).boolean; + } + + static final _id_startLocalVoiceInteraction = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startLocalVoiceInteraction", + r"(Landroid/os/Bundle;)V"); + + /// from: public void startLocalVoiceInteraction(android.os.Bundle bundle) + void startLocalVoiceInteraction( + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startLocalVoiceInteraction, + jni.JniCallType.voidType, + [bundle.reference]).check(); + } + + static final _id_onLocalVoiceInteractionStarted = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"onLocalVoiceInteractionStarted", r"()V"); + + /// from: public void onLocalVoiceInteractionStarted() + void onLocalVoiceInteractionStarted() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onLocalVoiceInteractionStarted, + jni.JniCallType.voidType, []).check(); + } + + static final _id_onLocalVoiceInteractionStopped = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"onLocalVoiceInteractionStopped", r"()V"); + + /// from: public void onLocalVoiceInteractionStopped() + void onLocalVoiceInteractionStopped() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onLocalVoiceInteractionStopped, + jni.JniCallType.voidType, []).check(); + } + + static final _id_stopLocalVoiceInteraction = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"stopLocalVoiceInteraction", r"()V"); + + /// from: public void stopLocalVoiceInteraction() + void stopLocalVoiceInteraction() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_stopLocalVoiceInteraction, jni.JniCallType.voidType, []).check(); + } + + static final _id_onNewIntent = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onNewIntent", r"(Landroid/content/Intent;)V"); + + /// from: protected void onNewIntent(android.content.Intent intent) + void onNewIntent( + jni.JObject intent, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onNewIntent, + jni.JniCallType.voidType, [intent.reference]).check(); + } + + static final _id_onSaveInstanceState = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onSaveInstanceState", r"(Landroid/os/Bundle;)V"); + + /// from: protected void onSaveInstanceState(android.os.Bundle bundle) + void onSaveInstanceState( + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onSaveInstanceState, + jni.JniCallType.voidType, + [bundle.reference]).check(); + } + + static final _id_onSaveInstanceState1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onSaveInstanceState", + r"(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V"); + + /// from: public void onSaveInstanceState(android.os.Bundle bundle, android.os.PersistableBundle persistableBundle) + void onSaveInstanceState1( + jni.JObject bundle, + jni.JObject persistableBundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onSaveInstanceState1, + jni.JniCallType.voidType, + [bundle.reference, persistableBundle.reference]).check(); + } + + static final _id_onPause = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"onPause", r"()V"); + + /// from: protected void onPause() + void onPause() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onPause, jni.JniCallType.voidType, []).check(); + } + + static final _id_onUserLeaveHint = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onUserLeaveHint", r"()V"); + + /// from: protected void onUserLeaveHint() + void onUserLeaveHint() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onUserLeaveHint, jni.JniCallType.voidType, []).check(); + } + + static final _id_onCreateThumbnail = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onCreateThumbnail", + r"(Landroid/graphics/Bitmap;Landroid/graphics/Canvas;)Z"); + + /// from: public boolean onCreateThumbnail(android.graphics.Bitmap bitmap, android.graphics.Canvas canvas) + bool onCreateThumbnail( + jni.JObject bitmap, + jni.JObject canvas, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onCreateThumbnail, + jni.JniCallType.booleanType, + [bitmap.reference, canvas.reference]).boolean; + } + + static final _id_onCreateDescription = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onCreateDescription", r"()Ljava/lang/CharSequence;"); + + /// from: public java.lang.CharSequence onCreateDescription() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject onCreateDescription() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onCreateDescription, + jni.JniCallType.objectType, []).object); + } + + static final _id_onProvideAssistData = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onProvideAssistData", r"(Landroid/os/Bundle;)V"); + + /// from: public void onProvideAssistData(android.os.Bundle bundle) + void onProvideAssistData( + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onProvideAssistData, + jni.JniCallType.voidType, + [bundle.reference]).check(); + } + + static final _id_onProvideAssistContent = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onProvideAssistContent", + r"(Landroid/app/assist/AssistContent;)V"); + + /// from: public void onProvideAssistContent(android.app.assist.AssistContent assistContent) + void onProvideAssistContent( + jni.JObject assistContent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onProvideAssistContent, + jni.JniCallType.voidType, + [assistContent.reference]).check(); + } + + static final _id_onGetDirectActions = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onGetDirectActions", + r"(Landroid/os/CancellationSignal;Ljava/util/function/Consumer;)V"); + + /// from: public void onGetDirectActions(android.os.CancellationSignal cancellationSignal, java.util.function.Consumer consumer) + void onGetDirectActions( + CancellationSignal cancellationSignal, + jni.JObject consumer, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onGetDirectActions, + jni.JniCallType.voidType, + [cancellationSignal.reference, consumer.reference]).check(); + } + + static final _id_onPerformDirectAction = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onPerformDirectAction", + r"(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;Ljava/util/function/Consumer;)V"); + + /// from: public void onPerformDirectAction(java.lang.String string, android.os.Bundle bundle, android.os.CancellationSignal cancellationSignal, java.util.function.Consumer consumer) + void onPerformDirectAction( + jni.JString string, + jni.JObject bundle, + CancellationSignal cancellationSignal, + jni.JObject consumer, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onPerformDirectAction, jni.JniCallType.voidType, [ + string.reference, + bundle.reference, + cancellationSignal.reference, + consumer.reference + ]).check(); + } + + static final _id_requestShowKeyboardShortcuts = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"requestShowKeyboardShortcuts", r"()V"); + + /// from: public final void requestShowKeyboardShortcuts() + void requestShowKeyboardShortcuts() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_requestShowKeyboardShortcuts, jni.JniCallType.voidType, []).check(); + } + + static final _id_dismissKeyboardShortcutsHelper = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"dismissKeyboardShortcutsHelper", r"()V"); + + /// from: public final void dismissKeyboardShortcutsHelper() + void dismissKeyboardShortcutsHelper() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_dismissKeyboardShortcutsHelper, + jni.JniCallType.voidType, []).check(); + } + + static final _id_onProvideKeyboardShortcuts = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onProvideKeyboardShortcuts", + r"(Ljava/util/List;Landroid/view/Menu;I)V"); + + /// from: public void onProvideKeyboardShortcuts(java.util.List list, android.view.Menu menu, int i) + void onProvideKeyboardShortcuts( + jni.JList list, + jni.JObject menu, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onProvideKeyboardShortcuts, + jni.JniCallType.voidType, + [list.reference, menu.reference, jni.JValueInt(i)]).check(); + } + + static final _id_showAssist = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"showAssist", r"(Landroid/os/Bundle;)Z"); + + /// from: public boolean showAssist(android.os.Bundle bundle) + bool showAssist( + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_showAssist, + jni.JniCallType.booleanType, [bundle.reference]).boolean; + } + + static final _id_onStop = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"onStop", r"()V"); + + /// from: protected void onStop() + void onStop() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onStop, jni.JniCallType.voidType, []).check(); + } + + static final _id_onDestroy = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"onDestroy", r"()V"); + + /// from: protected void onDestroy() + void onDestroy() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onDestroy, jni.JniCallType.voidType, []).check(); + } + + static final _id_reportFullyDrawn = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"reportFullyDrawn", r"()V"); + + /// from: public void reportFullyDrawn() + void reportFullyDrawn() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_reportFullyDrawn, jni.JniCallType.voidType, []).check(); + } + + static final _id_onMultiWindowModeChanged = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onMultiWindowModeChanged", + r"(ZLandroid/content/res/Configuration;)V"); + + /// from: public void onMultiWindowModeChanged(boolean z, android.content.res.Configuration configuration) + void onMultiWindowModeChanged( + bool z, + jni.JObject configuration, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onMultiWindowModeChanged, + jni.JniCallType.voidType, + [z ? 1 : 0, configuration.reference]).check(); + } + + static final _id_onMultiWindowModeChanged1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onMultiWindowModeChanged", r"(Z)V"); + + /// from: public void onMultiWindowModeChanged(boolean z) + void onMultiWindowModeChanged1( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onMultiWindowModeChanged1, + jni.JniCallType.voidType, + [z ? 1 : 0]).check(); + } + + static final _id_isInMultiWindowMode = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isInMultiWindowMode", r"()Z"); + + /// from: public boolean isInMultiWindowMode() + bool isInMultiWindowMode() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_isInMultiWindowMode, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_onPictureInPictureModeChanged = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onPictureInPictureModeChanged", + r"(ZLandroid/content/res/Configuration;)V"); + + /// from: public void onPictureInPictureModeChanged(boolean z, android.content.res.Configuration configuration) + void onPictureInPictureModeChanged( + bool z, + jni.JObject configuration, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onPictureInPictureModeChanged, + jni.JniCallType.voidType, + [z ? 1 : 0, configuration.reference]).check(); + } + + static final _id_onPictureInPictureUiStateChanged = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onPictureInPictureUiStateChanged", + r"(Landroid/app/PictureInPictureUiState;)V"); + + /// from: public void onPictureInPictureUiStateChanged(android.app.PictureInPictureUiState pictureInPictureUiState) + void onPictureInPictureUiStateChanged( + jni.JObject pictureInPictureUiState, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onPictureInPictureUiStateChanged, + jni.JniCallType.voidType, + [pictureInPictureUiState.reference]).check(); + } + + static final _id_onPictureInPictureModeChanged1 = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"onPictureInPictureModeChanged", r"(Z)V"); + + /// from: public void onPictureInPictureModeChanged(boolean z) + void onPictureInPictureModeChanged1( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onPictureInPictureModeChanged1, + jni.JniCallType.voidType, + [z ? 1 : 0]).check(); + } + + static final _id_isInPictureInPictureMode = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isInPictureInPictureMode", r"()Z"); + + /// from: public boolean isInPictureInPictureMode() + bool isInPictureInPictureMode() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_isInPictureInPictureMode, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_enterPictureInPictureMode = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"enterPictureInPictureMode", r"()V"); + + /// from: public void enterPictureInPictureMode() + void enterPictureInPictureMode() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_enterPictureInPictureMode, jni.JniCallType.voidType, []).check(); + } + + static final _id_enterPictureInPictureMode1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"enterPictureInPictureMode", + r"(Landroid/app/PictureInPictureParams;)Z"); + + /// from: public boolean enterPictureInPictureMode(android.app.PictureInPictureParams pictureInPictureParams) + bool enterPictureInPictureMode1( + jni.JObject pictureInPictureParams, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_enterPictureInPictureMode1, + jni.JniCallType.booleanType, + [pictureInPictureParams.reference]).boolean; + } + + static final _id_setPictureInPictureParams = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setPictureInPictureParams", + r"(Landroid/app/PictureInPictureParams;)V"); + + /// from: public void setPictureInPictureParams(android.app.PictureInPictureParams pictureInPictureParams) + void setPictureInPictureParams( + jni.JObject pictureInPictureParams, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setPictureInPictureParams, + jni.JniCallType.voidType, + [pictureInPictureParams.reference]).check(); + } + + static final _id_getMaxNumPictureInPictureActions = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"getMaxNumPictureInPictureActions", r"()I"); + + /// from: public int getMaxNumPictureInPictureActions() + int getMaxNumPictureInPictureActions() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getMaxNumPictureInPictureActions, + jni.JniCallType.intType, []).integer; + } + + static final _id_onPictureInPictureRequested = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onPictureInPictureRequested", r"()Z"); + + /// from: public boolean onPictureInPictureRequested() + bool onPictureInPictureRequested() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onPictureInPictureRequested, + jni.JniCallType.booleanType, []).boolean; + } + + static final _id_requestFullscreenMode = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"requestFullscreenMode", + r"(ILandroid/os/OutcomeReceiver;)V"); + + /// from: public void requestFullscreenMode(int i, android.os.OutcomeReceiver outcomeReceiver) + void requestFullscreenMode( + int i, + jni.JObject outcomeReceiver, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_requestFullscreenMode, + jni.JniCallType.voidType, + [jni.JValueInt(i), outcomeReceiver.reference]).check(); + } + + static final _id_setShouldDockBigOverlays = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setShouldDockBigOverlays", r"(Z)V"); + + /// from: public void setShouldDockBigOverlays(boolean z) + void setShouldDockBigOverlays( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setShouldDockBigOverlays, + jni.JniCallType.voidType, + [z ? 1 : 0]).check(); + } + + static final _id_shouldDockBigOverlays = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"shouldDockBigOverlays", r"()Z"); + + /// from: public boolean shouldDockBigOverlays() + bool shouldDockBigOverlays() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_shouldDockBigOverlays, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_onConfigurationChanged = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onConfigurationChanged", + r"(Landroid/content/res/Configuration;)V"); + + /// from: public void onConfigurationChanged(android.content.res.Configuration configuration) + void onConfigurationChanged( + jni.JObject configuration, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onConfigurationChanged, + jni.JniCallType.voidType, + [configuration.reference]).check(); + } + + static final _id_getChangingConfigurations = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getChangingConfigurations", r"()I"); + + /// from: public int getChangingConfigurations() + int getChangingConfigurations() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_getChangingConfigurations, jni.JniCallType.intType, []).integer; + } + + static final _id_getLastNonConfigurationInstance = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getLastNonConfigurationInstance", + r"()Ljava/lang/Object;"); + + /// from: public java.lang.Object getLastNonConfigurationInstance() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getLastNonConfigurationInstance() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getLastNonConfigurationInstance, + jni.JniCallType.objectType, []).object); + } + + static final _id_onRetainNonConfigurationInstance = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onRetainNonConfigurationInstance", + r"()Ljava/lang/Object;"); + + /// from: public java.lang.Object onRetainNonConfigurationInstance() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject onRetainNonConfigurationInstance() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onRetainNonConfigurationInstance, + jni.JniCallType.objectType, []).object); + } + + static final _id_onLowMemory = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"onLowMemory", r"()V"); + + /// from: public void onLowMemory() + void onLowMemory() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onLowMemory, jni.JniCallType.voidType, []).check(); + } + + static final _id_onTrimMemory = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onTrimMemory", r"(I)V"); + + /// from: public void onTrimMemory(int i) + void onTrimMemory( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onTrimMemory, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_getFragmentManager = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getFragmentManager", + r"()Landroid/app/FragmentManager;"); + + /// from: public android.app.FragmentManager getFragmentManager() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getFragmentManager() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getFragmentManager, + jni.JniCallType.objectType, []).object); + } + + static final _id_onAttachFragment = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onAttachFragment", r"(Landroid/app/Fragment;)V"); + + /// from: public void onAttachFragment(android.app.Fragment fragment) + void onAttachFragment( + jni.JObject fragment, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onAttachFragment, + jni.JniCallType.voidType, [fragment.reference]).check(); + } + + static final _id_managedQuery = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"managedQuery", + r"(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;"); + + /// from: public final android.database.Cursor managedQuery(android.net.Uri uri, java.lang.String[] strings, java.lang.String string, java.lang.String[] strings1, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject managedQuery( + jni.JObject uri, + jni.JArray strings, + jni.JString string, + jni.JArray strings1, + jni.JString string1, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_managedQuery, jni.JniCallType.objectType, [ + uri.reference, + strings.reference, + string.reference, + strings1.reference, + string1.reference + ]).object); + } + + static final _id_startManagingCursor = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startManagingCursor", + r"(Landroid/database/Cursor;)V"); + + /// from: public void startManagingCursor(android.database.Cursor cursor) + void startManagingCursor( + jni.JObject cursor, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startManagingCursor, + jni.JniCallType.voidType, + [cursor.reference]).check(); + } + + static final _id_stopManagingCursor = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"stopManagingCursor", r"(Landroid/database/Cursor;)V"); + + /// from: public void stopManagingCursor(android.database.Cursor cursor) + void stopManagingCursor( + jni.JObject cursor, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_stopManagingCursor, + jni.JniCallType.voidType, + [cursor.reference]).check(); + } + + static final _id_findViewById = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"findViewById", r"(I)Landroid/view/View;"); + + /// from: public T findViewById(int i) + /// The returned object must be released after use, by calling the [release] method. + $T findViewById<$T extends jni.JObject>( + int i, { + required jni.JObjType<$T> T, + }) { + return T.fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_findViewById, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_requireViewById = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"requireViewById", r"(I)Landroid/view/View;"); + + /// from: public final T requireViewById(int i) + /// The returned object must be released after use, by calling the [release] method. + $T requireViewById<$T extends jni.JObject>( + int i, { + required jni.JObjType<$T> T, + }) { + return T.fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_requireViewById, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_getActionBar = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getActionBar", r"()Landroid/app/ActionBar;"); + + /// from: public android.app.ActionBar getActionBar() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getActionBar() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getActionBar, jni.JniCallType.objectType, []).object); + } + + static final _id_setActionBar = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setActionBar", r"(Landroid/widget/Toolbar;)V"); + + /// from: public void setActionBar(android.widget.Toolbar toolbar) + void setActionBar( + jni.JObject toolbar, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setActionBar, + jni.JniCallType.voidType, [toolbar.reference]).check(); + } + + static final _id_setContentView = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setContentView", r"(I)V"); + + /// from: public void setContentView(int i) + void setContentView( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setContentView, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_setContentView1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setContentView", r"(Landroid/view/View;)V"); + + /// from: public void setContentView(android.view.View view) + void setContentView1( + jni.JObject view, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setContentView1, + jni.JniCallType.voidType, [view.reference]).check(); + } + + static final _id_setContentView2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setContentView", + r"(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V"); + + /// from: public void setContentView(android.view.View view, android.view.ViewGroup$LayoutParams layoutParams) + void setContentView2( + jni.JObject view, + jni.JObject layoutParams, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setContentView2, + jni.JniCallType.voidType, + [view.reference, layoutParams.reference]).check(); + } + + static final _id_addContentView = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addContentView", + r"(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V"); + + /// from: public void addContentView(android.view.View view, android.view.ViewGroup$LayoutParams layoutParams) + void addContentView( + jni.JObject view, + jni.JObject layoutParams, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addContentView, + jni.JniCallType.voidType, + [view.reference, layoutParams.reference]).check(); + } + + static final _id_getContentTransitionManager = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getContentTransitionManager", + r"()Landroid/transition/TransitionManager;"); + + /// from: public android.transition.TransitionManager getContentTransitionManager() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getContentTransitionManager() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getContentTransitionManager, + jni.JniCallType.objectType, []).object); + } + + static final _id_setContentTransitionManager = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setContentTransitionManager", + r"(Landroid/transition/TransitionManager;)V"); + + /// from: public void setContentTransitionManager(android.transition.TransitionManager transitionManager) + void setContentTransitionManager( + jni.JObject transitionManager, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setContentTransitionManager, + jni.JniCallType.voidType, + [transitionManager.reference]).check(); + } + + static final _id_getContentScene = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getContentScene", r"()Landroid/transition/Scene;"); + + /// from: public android.transition.Scene getContentScene() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getContentScene() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getContentScene, jni.JniCallType.objectType, []).object); + } + + static final _id_setFinishOnTouchOutside = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setFinishOnTouchOutside", r"(Z)V"); + + /// from: public void setFinishOnTouchOutside(boolean z) + void setFinishOnTouchOutside( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setFinishOnTouchOutside, + jni.JniCallType.voidType, + [z ? 1 : 0]).check(); + } + + static final _id_setDefaultKeyMode = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setDefaultKeyMode", r"(I)V"); + + /// from: public final void setDefaultKeyMode(int i) + void setDefaultKeyMode( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setDefaultKeyMode, + jni.JniCallType.voidType, + [jni.JValueInt(i)]).check(); + } + + static final _id_onKeyDown = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onKeyDown", r"(ILandroid/view/KeyEvent;)Z"); + + /// from: public boolean onKeyDown(int i, android.view.KeyEvent keyEvent) + bool onKeyDown( + int i, + jni.JObject keyEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onKeyDown, + jni.JniCallType.booleanType, + [jni.JValueInt(i), keyEvent.reference]).boolean; + } + + static final _id_onKeyLongPress = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onKeyLongPress", r"(ILandroid/view/KeyEvent;)Z"); + + /// from: public boolean onKeyLongPress(int i, android.view.KeyEvent keyEvent) + bool onKeyLongPress( + int i, + jni.JObject keyEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onKeyLongPress, + jni.JniCallType.booleanType, + [jni.JValueInt(i), keyEvent.reference]).boolean; + } + + static final _id_onKeyUp = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onKeyUp", r"(ILandroid/view/KeyEvent;)Z"); + + /// from: public boolean onKeyUp(int i, android.view.KeyEvent keyEvent) + bool onKeyUp( + int i, + jni.JObject keyEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onKeyUp, + jni.JniCallType.booleanType, + [jni.JValueInt(i), keyEvent.reference]).boolean; + } + + static final _id_onKeyMultiple = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onKeyMultiple", r"(IILandroid/view/KeyEvent;)Z"); + + /// from: public boolean onKeyMultiple(int i, int i1, android.view.KeyEvent keyEvent) + bool onKeyMultiple( + int i, + int i1, + jni.JObject keyEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onKeyMultiple, + jni.JniCallType.booleanType, + [jni.JValueInt(i), jni.JValueInt(i1), keyEvent.reference]).boolean; + } + + static final _id_onBackPressed = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onBackPressed", r"()V"); + + /// from: public void onBackPressed() + void onBackPressed() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onBackPressed, jni.JniCallType.voidType, []).check(); + } + + static final _id_onKeyShortcut = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onKeyShortcut", r"(ILandroid/view/KeyEvent;)Z"); + + /// from: public boolean onKeyShortcut(int i, android.view.KeyEvent keyEvent) + bool onKeyShortcut( + int i, + jni.JObject keyEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onKeyShortcut, + jni.JniCallType.booleanType, + [jni.JValueInt(i), keyEvent.reference]).boolean; + } + + static final _id_onTouchEvent = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onTouchEvent", r"(Landroid/view/MotionEvent;)Z"); + + /// from: public boolean onTouchEvent(android.view.MotionEvent motionEvent) + bool onTouchEvent( + jni.JObject motionEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onTouchEvent, + jni.JniCallType.booleanType, [motionEvent.reference]).boolean; + } + + static final _id_onTrackballEvent = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onTrackballEvent", r"(Landroid/view/MotionEvent;)Z"); + + /// from: public boolean onTrackballEvent(android.view.MotionEvent motionEvent) + bool onTrackballEvent( + jni.JObject motionEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onTrackballEvent, + jni.JniCallType.booleanType, [motionEvent.reference]).boolean; + } + + static final _id_onGenericMotionEvent = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onGenericMotionEvent", + r"(Landroid/view/MotionEvent;)Z"); + + /// from: public boolean onGenericMotionEvent(android.view.MotionEvent motionEvent) + bool onGenericMotionEvent( + jni.JObject motionEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onGenericMotionEvent, + jni.JniCallType.booleanType, + [motionEvent.reference]).boolean; + } + + static final _id_onUserInteraction = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onUserInteraction", r"()V"); + + /// from: public void onUserInteraction() + void onUserInteraction() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onUserInteraction, jni.JniCallType.voidType, []).check(); + } + + static final _id_onWindowAttributesChanged = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onWindowAttributesChanged", + r"(Landroid/view/WindowManager$LayoutParams;)V"); + + /// from: public void onWindowAttributesChanged(android.view.WindowManager$LayoutParams layoutParams) + void onWindowAttributesChanged( + jni.JObject layoutParams, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onWindowAttributesChanged, + jni.JniCallType.voidType, + [layoutParams.reference]).check(); + } + + static final _id_onContentChanged = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onContentChanged", r"()V"); + + /// from: public void onContentChanged() + void onContentChanged() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onContentChanged, jni.JniCallType.voidType, []).check(); + } + + static final _id_onWindowFocusChanged = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onWindowFocusChanged", r"(Z)V"); + + /// from: public void onWindowFocusChanged(boolean z) + void onWindowFocusChanged( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onWindowFocusChanged, + jni.JniCallType.voidType, + [z ? 1 : 0]).check(); + } + + static final _id_onAttachedToWindow = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onAttachedToWindow", r"()V"); + + /// from: public void onAttachedToWindow() + void onAttachedToWindow() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_onAttachedToWindow, jni.JniCallType.voidType, []).check(); + } + + static final _id_onDetachedFromWindow = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onDetachedFromWindow", r"()V"); + + /// from: public void onDetachedFromWindow() + void onDetachedFromWindow() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_onDetachedFromWindow, jni.JniCallType.voidType, []).check(); + } + + static final _id_hasWindowFocus = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"hasWindowFocus", r"()Z"); + + /// from: public boolean hasWindowFocus() + bool hasWindowFocus() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_hasWindowFocus, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_dispatchKeyEvent = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"dispatchKeyEvent", r"(Landroid/view/KeyEvent;)Z"); + + /// from: public boolean dispatchKeyEvent(android.view.KeyEvent keyEvent) + bool dispatchKeyEvent( + jni.JObject keyEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_dispatchKeyEvent, + jni.JniCallType.booleanType, [keyEvent.reference]).boolean; + } + + static final _id_dispatchKeyShortcutEvent = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"dispatchKeyShortcutEvent", + r"(Landroid/view/KeyEvent;)Z"); + + /// from: public boolean dispatchKeyShortcutEvent(android.view.KeyEvent keyEvent) + bool dispatchKeyShortcutEvent( + jni.JObject keyEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_dispatchKeyShortcutEvent, + jni.JniCallType.booleanType, + [keyEvent.reference]).boolean; + } + + static final _id_dispatchTouchEvent = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"dispatchTouchEvent", + r"(Landroid/view/MotionEvent;)Z"); + + /// from: public boolean dispatchTouchEvent(android.view.MotionEvent motionEvent) + bool dispatchTouchEvent( + jni.JObject motionEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_dispatchTouchEvent, + jni.JniCallType.booleanType, + [motionEvent.reference]).boolean; + } + + static final _id_dispatchTrackballEvent = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"dispatchTrackballEvent", + r"(Landroid/view/MotionEvent;)Z"); + + /// from: public boolean dispatchTrackballEvent(android.view.MotionEvent motionEvent) + bool dispatchTrackballEvent( + jni.JObject motionEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_dispatchTrackballEvent, + jni.JniCallType.booleanType, + [motionEvent.reference]).boolean; + } + + static final _id_dispatchGenericMotionEvent = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"dispatchGenericMotionEvent", + r"(Landroid/view/MotionEvent;)Z"); + + /// from: public boolean dispatchGenericMotionEvent(android.view.MotionEvent motionEvent) + bool dispatchGenericMotionEvent( + jni.JObject motionEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_dispatchGenericMotionEvent, + jni.JniCallType.booleanType, + [motionEvent.reference]).boolean; + } + + static final _id_dispatchPopulateAccessibilityEvent = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"dispatchPopulateAccessibilityEvent", + r"(Landroid/view/accessibility/AccessibilityEvent;)Z"); + + /// from: public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent accessibilityEvent) + bool dispatchPopulateAccessibilityEvent( + jni.JObject accessibilityEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_dispatchPopulateAccessibilityEvent, + jni.JniCallType.booleanType, + [accessibilityEvent.reference]).boolean; + } + + static final _id_onCreatePanelView = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onCreatePanelView", r"(I)Landroid/view/View;"); + + /// from: public android.view.View onCreatePanelView(int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject onCreatePanelView( + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onCreatePanelView, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_onCreatePanelMenu = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onCreatePanelMenu", r"(ILandroid/view/Menu;)Z"); + + /// from: public boolean onCreatePanelMenu(int i, android.view.Menu menu) + bool onCreatePanelMenu( + int i, + jni.JObject menu, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onCreatePanelMenu, + jni.JniCallType.booleanType, + [jni.JValueInt(i), menu.reference]).boolean; + } + + static final _id_onPreparePanel = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onPreparePanel", + r"(ILandroid/view/View;Landroid/view/Menu;)Z"); + + /// from: public boolean onPreparePanel(int i, android.view.View view, android.view.Menu menu) + bool onPreparePanel( + int i, + jni.JObject view, + jni.JObject menu, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onPreparePanel, + jni.JniCallType.booleanType, + [jni.JValueInt(i), view.reference, menu.reference]).boolean; + } + + static final _id_onMenuOpened = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onMenuOpened", r"(ILandroid/view/Menu;)Z"); + + /// from: public boolean onMenuOpened(int i, android.view.Menu menu) + bool onMenuOpened( + int i, + jni.JObject menu, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onMenuOpened, + jni.JniCallType.booleanType, + [jni.JValueInt(i), menu.reference]).boolean; + } + + static final _id_onMenuItemSelected = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onMenuItemSelected", r"(ILandroid/view/MenuItem;)Z"); + + /// from: public boolean onMenuItemSelected(int i, android.view.MenuItem menuItem) + bool onMenuItemSelected( + int i, + jni.JObject menuItem, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onMenuItemSelected, + jni.JniCallType.booleanType, + [jni.JValueInt(i), menuItem.reference]).boolean; + } + + static final _id_onPanelClosed = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onPanelClosed", r"(ILandroid/view/Menu;)V"); + + /// from: public void onPanelClosed(int i, android.view.Menu menu) + void onPanelClosed( + int i, + jni.JObject menu, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onPanelClosed, + jni.JniCallType.voidType, [jni.JValueInt(i), menu.reference]).check(); + } + + static final _id_invalidateOptionsMenu = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"invalidateOptionsMenu", r"()V"); + + /// from: public void invalidateOptionsMenu() + void invalidateOptionsMenu() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_invalidateOptionsMenu, jni.JniCallType.voidType, []).check(); + } + + static final _id_onCreateOptionsMenu = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onCreateOptionsMenu", r"(Landroid/view/Menu;)Z"); + + /// from: public boolean onCreateOptionsMenu(android.view.Menu menu) + bool onCreateOptionsMenu( + jni.JObject menu, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onCreateOptionsMenu, + jni.JniCallType.booleanType, + [menu.reference]).boolean; + } + + static final _id_onPrepareOptionsMenu = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onPrepareOptionsMenu", r"(Landroid/view/Menu;)Z"); + + /// from: public boolean onPrepareOptionsMenu(android.view.Menu menu) + bool onPrepareOptionsMenu( + jni.JObject menu, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onPrepareOptionsMenu, + jni.JniCallType.booleanType, + [menu.reference]).boolean; + } + + static final _id_onOptionsItemSelected = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onOptionsItemSelected", + r"(Landroid/view/MenuItem;)Z"); + + /// from: public boolean onOptionsItemSelected(android.view.MenuItem menuItem) + bool onOptionsItemSelected( + jni.JObject menuItem, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onOptionsItemSelected, + jni.JniCallType.booleanType, + [menuItem.reference]).boolean; + } + + static final _id_onNavigateUp = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onNavigateUp", r"()Z"); + + /// from: public boolean onNavigateUp() + bool onNavigateUp() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onNavigateUp, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_onNavigateUpFromChild = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onNavigateUpFromChild", r"(Landroid/app/Activity;)Z"); + + /// from: public boolean onNavigateUpFromChild(android.app.Activity activity) + bool onNavigateUpFromChild( + Activity activity, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onNavigateUpFromChild, + jni.JniCallType.booleanType, + [activity.reference]).boolean; + } + + static final _id_onCreateNavigateUpTaskStack = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onCreateNavigateUpTaskStack", + r"(Landroid/app/TaskStackBuilder;)V"); + + /// from: public void onCreateNavigateUpTaskStack(android.app.TaskStackBuilder taskStackBuilder) + void onCreateNavigateUpTaskStack( + jni.JObject taskStackBuilder, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onCreateNavigateUpTaskStack, + jni.JniCallType.voidType, + [taskStackBuilder.reference]).check(); + } + + static final _id_onPrepareNavigateUpTaskStack = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onPrepareNavigateUpTaskStack", + r"(Landroid/app/TaskStackBuilder;)V"); + + /// from: public void onPrepareNavigateUpTaskStack(android.app.TaskStackBuilder taskStackBuilder) + void onPrepareNavigateUpTaskStack( + jni.JObject taskStackBuilder, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onPrepareNavigateUpTaskStack, + jni.JniCallType.voidType, + [taskStackBuilder.reference]).check(); + } + + static final _id_onOptionsMenuClosed = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onOptionsMenuClosed", r"(Landroid/view/Menu;)V"); + + /// from: public void onOptionsMenuClosed(android.view.Menu menu) + void onOptionsMenuClosed( + jni.JObject menu, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onOptionsMenuClosed, + jni.JniCallType.voidType, + [menu.reference]).check(); + } + + static final _id_openOptionsMenu = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"openOptionsMenu", r"()V"); + + /// from: public void openOptionsMenu() + void openOptionsMenu() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_openOptionsMenu, jni.JniCallType.voidType, []).check(); + } + + static final _id_closeOptionsMenu = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"closeOptionsMenu", r"()V"); + + /// from: public void closeOptionsMenu() + void closeOptionsMenu() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_closeOptionsMenu, jni.JniCallType.voidType, []).check(); + } + + static final _id_onCreateContextMenu = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onCreateContextMenu", + r"(Landroid/view/ContextMenu;Landroid/view/View;Landroid/view/ContextMenu$ContextMenuInfo;)V"); + + /// from: public void onCreateContextMenu(android.view.ContextMenu contextMenu, android.view.View view, android.view.ContextMenu$ContextMenuInfo contextMenuInfo) + void onCreateContextMenu( + jni.JObject contextMenu, + jni.JObject view, + jni.JObject contextMenuInfo, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onCreateContextMenu, jni.JniCallType.voidType, [ + contextMenu.reference, + view.reference, + contextMenuInfo.reference + ]).check(); + } + + static final _id_registerForContextMenu = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"registerForContextMenu", r"(Landroid/view/View;)V"); + + /// from: public void registerForContextMenu(android.view.View view) + void registerForContextMenu( + jni.JObject view, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_registerForContextMenu, + jni.JniCallType.voidType, + [view.reference]).check(); + } + + static final _id_unregisterForContextMenu = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"unregisterForContextMenu", r"(Landroid/view/View;)V"); + + /// from: public void unregisterForContextMenu(android.view.View view) + void unregisterForContextMenu( + jni.JObject view, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_unregisterForContextMenu, + jni.JniCallType.voidType, + [view.reference]).check(); + } + + static final _id_openContextMenu = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"openContextMenu", r"(Landroid/view/View;)V"); + + /// from: public void openContextMenu(android.view.View view) + void openContextMenu( + jni.JObject view, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_openContextMenu, + jni.JniCallType.voidType, [view.reference]).check(); + } + + static final _id_closeContextMenu = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"closeContextMenu", r"()V"); + + /// from: public void closeContextMenu() + void closeContextMenu() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_closeContextMenu, jni.JniCallType.voidType, []).check(); + } + + static final _id_onContextItemSelected = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onContextItemSelected", + r"(Landroid/view/MenuItem;)Z"); + + /// from: public boolean onContextItemSelected(android.view.MenuItem menuItem) + bool onContextItemSelected( + jni.JObject menuItem, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onContextItemSelected, + jni.JniCallType.booleanType, + [menuItem.reference]).boolean; + } + + static final _id_onContextMenuClosed = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onContextMenuClosed", r"(Landroid/view/Menu;)V"); + + /// from: public void onContextMenuClosed(android.view.Menu menu) + void onContextMenuClosed( + jni.JObject menu, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onContextMenuClosed, + jni.JniCallType.voidType, + [menu.reference]).check(); + } + + static final _id_onCreateDialog = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onCreateDialog", r"(I)Landroid/app/Dialog;"); + + /// from: protected android.app.Dialog onCreateDialog(int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject onCreateDialog( + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onCreateDialog, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_onCreateDialog1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onCreateDialog", + r"(ILandroid/os/Bundle;)Landroid/app/Dialog;"); + + /// from: protected android.app.Dialog onCreateDialog(int i, android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject onCreateDialog1( + int i, + jni.JObject bundle, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onCreateDialog1, + jni.JniCallType.objectType, + [jni.JValueInt(i), bundle.reference]).object); + } + + static final _id_onPrepareDialog = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onPrepareDialog", r"(ILandroid/app/Dialog;)V"); + + /// from: protected void onPrepareDialog(int i, android.app.Dialog dialog) + void onPrepareDialog( + int i, + jni.JObject dialog, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onPrepareDialog, + jni.JniCallType.voidType, [jni.JValueInt(i), dialog.reference]).check(); + } + + static final _id_onPrepareDialog1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onPrepareDialog", + r"(ILandroid/app/Dialog;Landroid/os/Bundle;)V"); + + /// from: protected void onPrepareDialog(int i, android.app.Dialog dialog, android.os.Bundle bundle) + void onPrepareDialog1( + int i, + jni.JObject dialog, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onPrepareDialog1, + jni.JniCallType.voidType, + [jni.JValueInt(i), dialog.reference, bundle.reference]).check(); + } + + static final _id_showDialog = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"showDialog", r"(I)V"); + + /// from: public final void showDialog(int i) + void showDialog( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_showDialog, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_showDialog1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"showDialog", r"(ILandroid/os/Bundle;)Z"); + + /// from: public final boolean showDialog(int i, android.os.Bundle bundle) + bool showDialog1( + int i, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_showDialog1, + jni.JniCallType.booleanType, + [jni.JValueInt(i), bundle.reference]).boolean; + } + + static final _id_dismissDialog = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"dismissDialog", r"(I)V"); + + /// from: public final void dismissDialog(int i) + void dismissDialog( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_dismissDialog, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_removeDialog = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"removeDialog", r"(I)V"); + + /// from: public final void removeDialog(int i) + void removeDialog( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_removeDialog, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_onSearchRequested = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onSearchRequested", r"(Landroid/view/SearchEvent;)Z"); + + /// from: public boolean onSearchRequested(android.view.SearchEvent searchEvent) + bool onSearchRequested( + jni.JObject searchEvent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onSearchRequested, + jni.JniCallType.booleanType, + [searchEvent.reference]).boolean; + } + + static final _id_onSearchRequested1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onSearchRequested", r"()Z"); + + /// from: public boolean onSearchRequested() + bool onSearchRequested1() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_onSearchRequested1, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_getSearchEvent = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getSearchEvent", r"()Landroid/view/SearchEvent;"); + + /// from: public final android.view.SearchEvent getSearchEvent() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getSearchEvent() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getSearchEvent, jni.JniCallType.objectType, []).object); + } + + static final _id_startSearch = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startSearch", + r"(Ljava/lang/String;ZLandroid/os/Bundle;Z)V"); + + /// from: public void startSearch(java.lang.String string, boolean z, android.os.Bundle bundle, boolean z1) + void startSearch( + jni.JString string, + bool z, + jni.JObject bundle, + bool z1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startSearch, + jni.JniCallType.voidType, + [string.reference, z ? 1 : 0, bundle.reference, z1 ? 1 : 0]).check(); + } + + static final _id_triggerSearch = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"triggerSearch", + r"(Ljava/lang/String;Landroid/os/Bundle;)V"); + + /// from: public void triggerSearch(java.lang.String string, android.os.Bundle bundle) + void triggerSearch( + jni.JString string, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_triggerSearch, + jni.JniCallType.voidType, [string.reference, bundle.reference]).check(); + } + + static final _id_takeKeyEvents = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"takeKeyEvents", r"(Z)V"); + + /// from: public void takeKeyEvents(boolean z) + void takeKeyEvents( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_takeKeyEvents, + jni.JniCallType.voidType, [z ? 1 : 0]).check(); + } + + static final _id_requestWindowFeature = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"requestWindowFeature", r"(I)Z"); + + /// from: public final boolean requestWindowFeature(int i) + bool requestWindowFeature( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_requestWindowFeature, + jni.JniCallType.booleanType, + [jni.JValueInt(i)]).boolean; + } + + static final _id_setFeatureDrawableResource = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setFeatureDrawableResource", r"(II)V"); + + /// from: public final void setFeatureDrawableResource(int i, int i1) + void setFeatureDrawableResource( + int i, + int i1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setFeatureDrawableResource, + jni.JniCallType.voidType, + [jni.JValueInt(i), jni.JValueInt(i1)]).check(); + } + + static final _id_setFeatureDrawableUri = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setFeatureDrawableUri", r"(ILandroid/net/Uri;)V"); + + /// from: public final void setFeatureDrawableUri(int i, android.net.Uri uri) + void setFeatureDrawableUri( + int i, + jni.JObject uri, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setFeatureDrawableUri, + jni.JniCallType.voidType, + [jni.JValueInt(i), uri.reference]).check(); + } + + static final _id_setFeatureDrawable = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setFeatureDrawable", + r"(ILandroid/graphics/drawable/Drawable;)V"); + + /// from: public final void setFeatureDrawable(int i, android.graphics.drawable.Drawable drawable) + void setFeatureDrawable( + int i, + jni.JObject drawable, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setFeatureDrawable, + jni.JniCallType.voidType, + [jni.JValueInt(i), drawable.reference]).check(); + } + + static final _id_setFeatureDrawableAlpha = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setFeatureDrawableAlpha", r"(II)V"); + + /// from: public final void setFeatureDrawableAlpha(int i, int i1) + void setFeatureDrawableAlpha( + int i, + int i1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setFeatureDrawableAlpha, + jni.JniCallType.voidType, + [jni.JValueInt(i), jni.JValueInt(i1)]).check(); + } + + static final _id_getLayoutInflater = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getLayoutInflater", + r"()Landroid/view/LayoutInflater;"); + + /// from: public android.view.LayoutInflater getLayoutInflater() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getLayoutInflater() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getLayoutInflater, + jni.JniCallType.objectType, []).object); + } + + static final _id_getMenuInflater = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getMenuInflater", r"()Landroid/view/MenuInflater;"); + + /// from: public android.view.MenuInflater getMenuInflater() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getMenuInflater() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getMenuInflater, jni.JniCallType.objectType, []).object); + } + + static final _id_setTheme = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"setTheme", r"(I)V"); + + /// from: public void setTheme(int i) + void setTheme( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setTheme, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_onApplyThemeResource = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onApplyThemeResource", + r"(Landroid/content/res/Resources$Theme;IZ)V"); + + /// from: protected void onApplyThemeResource(android.content.res.Resources$Theme theme, int i, boolean z) + void onApplyThemeResource( + jni.JObject theme, + int i, + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onApplyThemeResource, + jni.JniCallType.voidType, + [theme.reference, jni.JValueInt(i), z ? 1 : 0]).check(); + } + + static final _id_requestPermissions = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"requestPermissions", r"([Ljava/lang/String;I)V"); + + /// from: public final void requestPermissions(java.lang.String[] strings, int i) + void requestPermissions( + jni.JArray strings, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_requestPermissions, + jni.JniCallType.voidType, + [strings.reference, jni.JValueInt(i)]).check(); + } + + static final _id_onRequestPermissionsResult = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onRequestPermissionsResult", + r"(I[Ljava/lang/String;[I)V"); + + /// from: public void onRequestPermissionsResult(int i, java.lang.String[] strings, int[] is) + void onRequestPermissionsResult( + int i, + jni.JArray strings, + jni.JArray is0, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onRequestPermissionsResult, + jni.JniCallType.voidType, + [jni.JValueInt(i), strings.reference, is0.reference]).check(); + } + + static final _id_shouldShowRequestPermissionRationale = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"shouldShowRequestPermissionRationale", + r"(Ljava/lang/String;)Z"); + + /// from: public boolean shouldShowRequestPermissionRationale(java.lang.String string) + bool shouldShowRequestPermissionRationale( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_shouldShowRequestPermissionRationale, + jni.JniCallType.booleanType, + [string.reference]).boolean; + } + + static final _id_startActivityForResult = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActivityForResult", + r"(Landroid/content/Intent;I)V"); + + /// from: public void startActivityForResult(android.content.Intent intent, int i) + void startActivityForResult( + jni.JObject intent, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startActivityForResult, + jni.JniCallType.voidType, + [intent.reference, jni.JValueInt(i)]).check(); + } + + static final _id_startActivityForResult1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActivityForResult", + r"(Landroid/content/Intent;ILandroid/os/Bundle;)V"); + + /// from: public void startActivityForResult(android.content.Intent intent, int i, android.os.Bundle bundle) + void startActivityForResult1( + jni.JObject intent, + int i, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startActivityForResult1, + jni.JniCallType.voidType, + [intent.reference, jni.JValueInt(i), bundle.reference]).check(); + } + + static final _id_isActivityTransitionRunning = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isActivityTransitionRunning", r"()Z"); + + /// from: public boolean isActivityTransitionRunning() + bool isActivityTransitionRunning() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_isActivityTransitionRunning, + jni.JniCallType.booleanType, []).boolean; + } + + static final _id_startIntentSenderForResult = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startIntentSenderForResult", + r"(Landroid/content/IntentSender;ILandroid/content/Intent;III)V"); + + /// from: public void startIntentSenderForResult(android.content.IntentSender intentSender, int i, android.content.Intent intent, int i1, int i2, int i3) + void startIntentSenderForResult( + jni.JObject intentSender, + int i, + jni.JObject intent, + int i1, + int i2, + int i3, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_startIntentSenderForResult, jni.JniCallType.voidType, [ + intentSender.reference, + jni.JValueInt(i), + intent.reference, + jni.JValueInt(i1), + jni.JValueInt(i2), + jni.JValueInt(i3) + ]).check(); + } + + static final _id_startIntentSenderForResult1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startIntentSenderForResult", + r"(Landroid/content/IntentSender;ILandroid/content/Intent;IIILandroid/os/Bundle;)V"); + + /// from: public void startIntentSenderForResult(android.content.IntentSender intentSender, int i, android.content.Intent intent, int i1, int i2, int i3, android.os.Bundle bundle) + void startIntentSenderForResult1( + jni.JObject intentSender, + int i, + jni.JObject intent, + int i1, + int i2, + int i3, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_startIntentSenderForResult1, jni.JniCallType.voidType, [ + intentSender.reference, + jni.JValueInt(i), + intent.reference, + jni.JValueInt(i1), + jni.JValueInt(i2), + jni.JValueInt(i3), + bundle.reference + ]).check(); + } + + static final _id_startActivity = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"startActivity", r"(Landroid/content/Intent;)V"); + + /// from: public void startActivity(android.content.Intent intent) + void startActivity( + jni.JObject intent, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_startActivity, + jni.JniCallType.voidType, [intent.reference]).check(); + } + + static final _id_startActivity1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActivity", + r"(Landroid/content/Intent;Landroid/os/Bundle;)V"); + + /// from: public void startActivity(android.content.Intent intent, android.os.Bundle bundle) + void startActivity1( + jni.JObject intent, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_startActivity1, + jni.JniCallType.voidType, [intent.reference, bundle.reference]).check(); + } + + static final _id_startActivities = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"startActivities", r"([Landroid/content/Intent;)V"); + + /// from: public void startActivities(android.content.Intent[] intents) + void startActivities( + jni.JArray intents, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_startActivities, + jni.JniCallType.voidType, [intents.reference]).check(); + } + + static final _id_startActivities1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActivities", + r"([Landroid/content/Intent;Landroid/os/Bundle;)V"); + + /// from: public void startActivities(android.content.Intent[] intents, android.os.Bundle bundle) + void startActivities1( + jni.JArray intents, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startActivities1, + jni.JniCallType.voidType, + [intents.reference, bundle.reference]).check(); + } + + static final _id_startIntentSender = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startIntentSender", + r"(Landroid/content/IntentSender;Landroid/content/Intent;III)V"); + + /// from: public void startIntentSender(android.content.IntentSender intentSender, android.content.Intent intent, int i, int i1, int i2) + void startIntentSender( + jni.JObject intentSender, + jni.JObject intent, + int i, + int i1, + int i2, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_startIntentSender, jni.JniCallType.voidType, [ + intentSender.reference, + intent.reference, + jni.JValueInt(i), + jni.JValueInt(i1), + jni.JValueInt(i2) + ]).check(); + } + + static final _id_startIntentSender1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startIntentSender", + r"(Landroid/content/IntentSender;Landroid/content/Intent;IIILandroid/os/Bundle;)V"); + + /// from: public void startIntentSender(android.content.IntentSender intentSender, android.content.Intent intent, int i, int i1, int i2, android.os.Bundle bundle) + void startIntentSender1( + jni.JObject intentSender, + jni.JObject intent, + int i, + int i1, + int i2, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_startIntentSender1, jni.JniCallType.voidType, [ + intentSender.reference, + intent.reference, + jni.JValueInt(i), + jni.JValueInt(i1), + jni.JValueInt(i2), + bundle.reference + ]).check(); + } + + static final _id_startActivityIfNeeded = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActivityIfNeeded", + r"(Landroid/content/Intent;I)Z"); + + /// from: public boolean startActivityIfNeeded(android.content.Intent intent, int i) + bool startActivityIfNeeded( + jni.JObject intent, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startActivityIfNeeded, + jni.JniCallType.booleanType, + [intent.reference, jni.JValueInt(i)]).boolean; + } + + static final _id_startActivityIfNeeded1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActivityIfNeeded", + r"(Landroid/content/Intent;ILandroid/os/Bundle;)Z"); + + /// from: public boolean startActivityIfNeeded(android.content.Intent intent, int i, android.os.Bundle bundle) + bool startActivityIfNeeded1( + jni.JObject intent, + int i, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startActivityIfNeeded1, + jni.JniCallType.booleanType, + [intent.reference, jni.JValueInt(i), bundle.reference]).boolean; + } + + static final _id_startNextMatchingActivity = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startNextMatchingActivity", + r"(Landroid/content/Intent;)Z"); + + /// from: public boolean startNextMatchingActivity(android.content.Intent intent) + bool startNextMatchingActivity( + jni.JObject intent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startNextMatchingActivity, + jni.JniCallType.booleanType, + [intent.reference]).boolean; + } + + static final _id_startNextMatchingActivity1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startNextMatchingActivity", + r"(Landroid/content/Intent;Landroid/os/Bundle;)Z"); + + /// from: public boolean startNextMatchingActivity(android.content.Intent intent, android.os.Bundle bundle) + bool startNextMatchingActivity1( + jni.JObject intent, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startNextMatchingActivity1, + jni.JniCallType.booleanType, + [intent.reference, bundle.reference]).boolean; + } + + static final _id_startActivityFromChild = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActivityFromChild", + r"(Landroid/app/Activity;Landroid/content/Intent;I)V"); + + /// from: public void startActivityFromChild(android.app.Activity activity, android.content.Intent intent, int i) + void startActivityFromChild( + Activity activity, + jni.JObject intent, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startActivityFromChild, + jni.JniCallType.voidType, + [activity.reference, intent.reference, jni.JValueInt(i)]).check(); + } + + static final _id_startActivityFromChild1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActivityFromChild", + r"(Landroid/app/Activity;Landroid/content/Intent;ILandroid/os/Bundle;)V"); + + /// from: public void startActivityFromChild(android.app.Activity activity, android.content.Intent intent, int i, android.os.Bundle bundle) + void startActivityFromChild1( + Activity activity, + jni.JObject intent, + int i, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_startActivityFromChild1, jni.JniCallType.voidType, [ + activity.reference, + intent.reference, + jni.JValueInt(i), + bundle.reference + ]).check(); + } + + static final _id_startActivityFromFragment = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActivityFromFragment", + r"(Landroid/app/Fragment;Landroid/content/Intent;I)V"); + + /// from: public void startActivityFromFragment(android.app.Fragment fragment, android.content.Intent intent, int i) + void startActivityFromFragment( + jni.JObject fragment, + jni.JObject intent, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startActivityFromFragment, + jni.JniCallType.voidType, + [fragment.reference, intent.reference, jni.JValueInt(i)]).check(); + } + + static final _id_startActivityFromFragment1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActivityFromFragment", + r"(Landroid/app/Fragment;Landroid/content/Intent;ILandroid/os/Bundle;)V"); + + /// from: public void startActivityFromFragment(android.app.Fragment fragment, android.content.Intent intent, int i, android.os.Bundle bundle) + void startActivityFromFragment1( + jni.JObject fragment, + jni.JObject intent, + int i, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_startActivityFromFragment1, jni.JniCallType.voidType, [ + fragment.reference, + intent.reference, + jni.JValueInt(i), + bundle.reference + ]).check(); + } + + static final _id_startIntentSenderFromChild = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startIntentSenderFromChild", + r"(Landroid/app/Activity;Landroid/content/IntentSender;ILandroid/content/Intent;III)V"); + + /// from: public void startIntentSenderFromChild(android.app.Activity activity, android.content.IntentSender intentSender, int i, android.content.Intent intent, int i1, int i2, int i3) + void startIntentSenderFromChild( + Activity activity, + jni.JObject intentSender, + int i, + jni.JObject intent, + int i1, + int i2, + int i3, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_startIntentSenderFromChild, jni.JniCallType.voidType, [ + activity.reference, + intentSender.reference, + jni.JValueInt(i), + intent.reference, + jni.JValueInt(i1), + jni.JValueInt(i2), + jni.JValueInt(i3) + ]).check(); + } + + static final _id_startIntentSenderFromChild1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startIntentSenderFromChild", + r"(Landroid/app/Activity;Landroid/content/IntentSender;ILandroid/content/Intent;IIILandroid/os/Bundle;)V"); + + /// from: public void startIntentSenderFromChild(android.app.Activity activity, android.content.IntentSender intentSender, int i, android.content.Intent intent, int i1, int i2, int i3, android.os.Bundle bundle) + void startIntentSenderFromChild1( + Activity activity, + jni.JObject intentSender, + int i, + jni.JObject intent, + int i1, + int i2, + int i3, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_startIntentSenderFromChild1, jni.JniCallType.voidType, [ + activity.reference, + intentSender.reference, + jni.JValueInt(i), + intent.reference, + jni.JValueInt(i1), + jni.JValueInt(i2), + jni.JValueInt(i3), + bundle.reference + ]).check(); + } + + static final _id_overrideActivityTransition = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"overrideActivityTransition", r"(III)V"); + + /// from: public void overrideActivityTransition(int i, int i1, int i2) + void overrideActivityTransition( + int i, + int i1, + int i2, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_overrideActivityTransition, + jni.JniCallType.voidType, + [jni.JValueInt(i), jni.JValueInt(i1), jni.JValueInt(i2)]).check(); + } + + static final _id_overrideActivityTransition1 = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"overrideActivityTransition", r"(IIII)V"); + + /// from: public void overrideActivityTransition(int i, int i1, int i2, int i3) + void overrideActivityTransition1( + int i, + int i1, + int i2, + int i3, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_overrideActivityTransition1, jni.JniCallType.voidType, [ + jni.JValueInt(i), + jni.JValueInt(i1), + jni.JValueInt(i2), + jni.JValueInt(i3) + ]).check(); + } + + static final _id_clearOverrideActivityTransition = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"clearOverrideActivityTransition", r"(I)V"); + + /// from: public void clearOverrideActivityTransition(int i) + void clearOverrideActivityTransition( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_clearOverrideActivityTransition, + jni.JniCallType.voidType, + [jni.JValueInt(i)]).check(); + } + + static final _id_overridePendingTransition = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"overridePendingTransition", r"(II)V"); + + /// from: public void overridePendingTransition(int i, int i1) + void overridePendingTransition( + int i, + int i1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_overridePendingTransition, + jni.JniCallType.voidType, + [jni.JValueInt(i), jni.JValueInt(i1)]).check(); + } + + static final _id_overridePendingTransition1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"overridePendingTransition", r"(III)V"); + + /// from: public void overridePendingTransition(int i, int i1, int i2) + void overridePendingTransition1( + int i, + int i1, + int i2, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_overridePendingTransition1, + jni.JniCallType.voidType, + [jni.JValueInt(i), jni.JValueInt(i1), jni.JValueInt(i2)]).check(); + } + + static final _id_setResult = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"setResult", r"(I)V"); + + /// from: public final void setResult(int i) + void setResult( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setResult, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_setResult1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setResult", r"(ILandroid/content/Intent;)V"); + + /// from: public final void setResult(int i, android.content.Intent intent) + void setResult1( + int i, + jni.JObject intent, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setResult1, + jni.JniCallType.voidType, [jni.JValueInt(i), intent.reference]).check(); + } + + static final _id_getReferrer = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getReferrer", r"()Landroid/net/Uri;"); + + /// from: public android.net.Uri getReferrer() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getReferrer() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getReferrer, jni.JniCallType.objectType, []).object); + } + + static final _id_onProvideReferrer = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onProvideReferrer", r"()Landroid/net/Uri;"); + + /// from: public android.net.Uri onProvideReferrer() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject onProvideReferrer() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onProvideReferrer, + jni.JniCallType.objectType, []).object); + } + + static final _id_getCallingPackage = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getCallingPackage", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getCallingPackage() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getCallingPackage() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getCallingPackage, + jni.JniCallType.objectType, []).object); + } + + static final _id_getCallingActivity = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getCallingActivity", + r"()Landroid/content/ComponentName;"); + + /// from: public android.content.ComponentName getCallingActivity() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getCallingActivity() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getCallingActivity, + jni.JniCallType.objectType, []).object); + } + + static final _id_getLaunchedFromUid = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getLaunchedFromUid", r"()I"); + + /// from: public int getLaunchedFromUid() + int getLaunchedFromUid() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getLaunchedFromUid, jni.JniCallType.intType, []).integer; + } + + static final _id_getLaunchedFromPackage = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getLaunchedFromPackage", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getLaunchedFromPackage() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getLaunchedFromPackage() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getLaunchedFromPackage, + jni.JniCallType.objectType, []).object); + } + + static final _id_setVisible = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"setVisible", r"(Z)V"); + + /// from: public void setVisible(boolean z) + void setVisible( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setVisible, + jni.JniCallType.voidType, [z ? 1 : 0]).check(); + } + + static final _id_isFinishing = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isFinishing", r"()Z"); + + /// from: public boolean isFinishing() + bool isFinishing() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isFinishing, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_isDestroyed = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isDestroyed", r"()Z"); + + /// from: public boolean isDestroyed() + bool isDestroyed() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isDestroyed, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_isChangingConfigurations = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isChangingConfigurations", r"()Z"); + + /// from: public boolean isChangingConfigurations() + bool isChangingConfigurations() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_isChangingConfigurations, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_recreate = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"recreate", r"()V"); + + /// from: public void recreate() + void recreate() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_recreate, jni.JniCallType.voidType, []).check(); + } + + static final _id_finish = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"finish", r"()V"); + + /// from: public void finish() + void finish() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_finish, jni.JniCallType.voidType, []).check(); + } + + static final _id_finishAffinity = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"finishAffinity", r"()V"); + + /// from: public void finishAffinity() + void finishAffinity() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_finishAffinity, jni.JniCallType.voidType, []).check(); + } + + static final _id_finishFromChild = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"finishFromChild", r"(Landroid/app/Activity;)V"); + + /// from: public void finishFromChild(android.app.Activity activity) + void finishFromChild( + Activity activity, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_finishFromChild, + jni.JniCallType.voidType, [activity.reference]).check(); + } + + static final _id_finishAfterTransition = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"finishAfterTransition", r"()V"); + + /// from: public void finishAfterTransition() + void finishAfterTransition() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_finishAfterTransition, jni.JniCallType.voidType, []).check(); + } + + static final _id_finishActivity = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"finishActivity", r"(I)V"); + + /// from: public void finishActivity(int i) + void finishActivity( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_finishActivity, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_finishActivityFromChild = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"finishActivityFromChild", + r"(Landroid/app/Activity;I)V"); + + /// from: public void finishActivityFromChild(android.app.Activity activity, int i) + void finishActivityFromChild( + Activity activity, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_finishActivityFromChild, + jni.JniCallType.voidType, + [activity.reference, jni.JValueInt(i)]).check(); + } + + static final _id_finishAndRemoveTask = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"finishAndRemoveTask", r"()V"); + + /// from: public void finishAndRemoveTask() + void finishAndRemoveTask() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_finishAndRemoveTask, jni.JniCallType.voidType, []).check(); + } + + static final _id_releaseInstance = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"releaseInstance", r"()Z"); + + /// from: public boolean releaseInstance() + bool releaseInstance() { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_releaseInstance, + jni.JniCallType.booleanType, []).boolean; + } + + static final _id_onActivityResult = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onActivityResult", r"(IILandroid/content/Intent;)V"); + + /// from: protected void onActivityResult(int i, int i1, android.content.Intent intent) + void onActivityResult( + int i, + int i1, + jni.JObject intent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onActivityResult, + jni.JniCallType.voidType, + [jni.JValueInt(i), jni.JValueInt(i1), intent.reference]).check(); + } + + static final _id_onActivityReenter = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onActivityReenter", r"(ILandroid/content/Intent;)V"); + + /// from: public void onActivityReenter(int i, android.content.Intent intent) + void onActivityReenter( + int i, + jni.JObject intent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onActivityReenter, + jni.JniCallType.voidType, + [jni.JValueInt(i), intent.reference]).check(); + } + + static final _id_createPendingResult = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createPendingResult", + r"(ILandroid/content/Intent;I)Landroid/app/PendingIntent;"); + + /// from: public android.app.PendingIntent createPendingResult(int i, android.content.Intent intent, int i1) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject createPendingResult( + int i, + jni.JObject intent, + int i1, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createPendingResult, + jni.JniCallType.objectType, + [jni.JValueInt(i), intent.reference, jni.JValueInt(i1)]).object); + } + + static final _id_setRequestedOrientation = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setRequestedOrientation", r"(I)V"); + + /// from: public void setRequestedOrientation(int i) + void setRequestedOrientation( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setRequestedOrientation, + jni.JniCallType.voidType, + [jni.JValueInt(i)]).check(); + } + + static final _id_getRequestedOrientation = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getRequestedOrientation", r"()I"); + + /// from: public int getRequestedOrientation() + int getRequestedOrientation() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_getRequestedOrientation, jni.JniCallType.intType, []).integer; + } + + static final _id_getTaskId = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"getTaskId", r"()I"); + + /// from: public int getTaskId() + int getTaskId() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getTaskId, jni.JniCallType.intType, []).integer; + } + + static final _id_isTaskRoot = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isTaskRoot", r"()Z"); + + /// from: public boolean isTaskRoot() + bool isTaskRoot() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isTaskRoot, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_moveTaskToBack = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"moveTaskToBack", r"(Z)Z"); + + /// from: public boolean moveTaskToBack(boolean z) + bool moveTaskToBack( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_moveTaskToBack, + jni.JniCallType.booleanType, [z ? 1 : 0]).boolean; + } + + static final _id_getLocalClassName = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getLocalClassName", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getLocalClassName() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getLocalClassName() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getLocalClassName, + jni.JniCallType.objectType, []).object); + } + + static final _id_getComponentName = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getComponentName", + r"()Landroid/content/ComponentName;"); + + /// from: public android.content.ComponentName getComponentName() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getComponentName() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getComponentName, + jni.JniCallType.objectType, []).object); + } + + static final _id_getPreferences = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getPreferences", + r"(I)Landroid/content/SharedPreferences;"); + + /// from: public android.content.SharedPreferences getPreferences(int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getPreferences( + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getPreferences, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_isLaunchedFromBubble = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isLaunchedFromBubble", r"()Z"); + + /// from: public boolean isLaunchedFromBubble() + bool isLaunchedFromBubble() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_isLaunchedFromBubble, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_getSystemService = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getSystemService", + r"(Ljava/lang/String;)Ljava/lang/Object;"); + + /// from: public java.lang.Object getSystemService(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getSystemService( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getSystemService, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_setTitle = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setTitle", r"(Ljava/lang/CharSequence;)V"); + + /// from: public void setTitle(java.lang.CharSequence charSequence) + void setTitle( + jni.JObject charSequence, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setTitle, + jni.JniCallType.voidType, [charSequence.reference]).check(); + } + + static final _id_setTitle1 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"setTitle", r"(I)V"); + + /// from: public void setTitle(int i) + void setTitle1( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setTitle1, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_setTitleColor = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setTitleColor", r"(I)V"); + + /// from: public void setTitleColor(int i) + void setTitleColor( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setTitleColor, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_getTitle = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getTitle", r"()Ljava/lang/CharSequence;"); + + /// from: public final java.lang.CharSequence getTitle() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getTitle() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getTitle, jni.JniCallType.objectType, []).object); + } + + static final _id_getTitleColor = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getTitleColor", r"()I"); + + /// from: public final int getTitleColor() + int getTitleColor() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getTitleColor, jni.JniCallType.intType, []).integer; + } + + static final _id_onTitleChanged = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onTitleChanged", r"(Ljava/lang/CharSequence;I)V"); + + /// from: protected void onTitleChanged(java.lang.CharSequence charSequence, int i) + void onTitleChanged( + jni.JObject charSequence, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onTitleChanged, + jni.JniCallType.voidType, + [charSequence.reference, jni.JValueInt(i)]).check(); + } + + static final _id_onChildTitleChanged = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onChildTitleChanged", + r"(Landroid/app/Activity;Ljava/lang/CharSequence;)V"); + + /// from: protected void onChildTitleChanged(android.app.Activity activity, java.lang.CharSequence charSequence) + void onChildTitleChanged( + Activity activity, + jni.JObject charSequence, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onChildTitleChanged, + jni.JniCallType.voidType, + [activity.reference, charSequence.reference]).check(); + } + + static final _id_setTaskDescription = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setTaskDescription", + r"(Landroid/app/ActivityManager$TaskDescription;)V"); + + /// from: public void setTaskDescription(android.app.ActivityManager$TaskDescription taskDescription) + void setTaskDescription( + jni.JObject taskDescription, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setTaskDescription, + jni.JniCallType.voidType, + [taskDescription.reference]).check(); + } + + static final _id_setProgressBarVisibility = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setProgressBarVisibility", r"(Z)V"); + + /// from: public final void setProgressBarVisibility(boolean z) + void setProgressBarVisibility( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setProgressBarVisibility, + jni.JniCallType.voidType, + [z ? 1 : 0]).check(); + } + + static final _id_setProgressBarIndeterminateVisibility = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"setProgressBarIndeterminateVisibility", r"(Z)V"); + + /// from: public final void setProgressBarIndeterminateVisibility(boolean z) + void setProgressBarIndeterminateVisibility( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setProgressBarIndeterminateVisibility, + jni.JniCallType.voidType, + [z ? 1 : 0]).check(); + } + + static final _id_setProgressBarIndeterminate = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setProgressBarIndeterminate", r"(Z)V"); + + /// from: public final void setProgressBarIndeterminate(boolean z) + void setProgressBarIndeterminate( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setProgressBarIndeterminate, + jni.JniCallType.voidType, + [z ? 1 : 0]).check(); + } + + static final _id_setProgress = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setProgress", r"(I)V"); + + /// from: public final void setProgress(int i) + void setProgress( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setProgress, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_setSecondaryProgress = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setSecondaryProgress", r"(I)V"); + + /// from: public final void setSecondaryProgress(int i) + void setSecondaryProgress( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setSecondaryProgress, + jni.JniCallType.voidType, + [jni.JValueInt(i)]).check(); + } + + static final _id_setVolumeControlStream = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setVolumeControlStream", r"(I)V"); + + /// from: public final void setVolumeControlStream(int i) + void setVolumeControlStream( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setVolumeControlStream, + jni.JniCallType.voidType, + [jni.JValueInt(i)]).check(); + } + + static final _id_getVolumeControlStream = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getVolumeControlStream", r"()I"); + + /// from: public final int getVolumeControlStream() + int getVolumeControlStream() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_getVolumeControlStream, jni.JniCallType.intType, []).integer; + } + + static final _id_setMediaController = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setMediaController", + r"(Landroid/media/session/MediaController;)V"); + + /// from: public final void setMediaController(android.media.session.MediaController mediaController) + void setMediaController( + jni.JObject mediaController, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setMediaController, + jni.JniCallType.voidType, + [mediaController.reference]).check(); + } + + static final _id_getMediaController = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getMediaController", + r"()Landroid/media/session/MediaController;"); + + /// from: public final android.media.session.MediaController getMediaController() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getMediaController() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getMediaController, + jni.JniCallType.objectType, []).object); + } + + static final _id_runOnUiThread = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"runOnUiThread", r"(Ljava/lang/Runnable;)V"); + + /// from: public final void runOnUiThread(java.lang.Runnable runnable) + void runOnUiThread( + Runnable runnable, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_runOnUiThread, + jni.JniCallType.voidType, [runnable.reference]).check(); + } + + static final _id_onCreateView = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onCreateView", + r"(Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;"); + + /// from: public android.view.View onCreateView(java.lang.String string, android.content.Context context, android.util.AttributeSet attributeSet) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject onCreateView( + jni.JString string, + Context context, + jni.JObject attributeSet, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onCreateView, + jni.JniCallType.objectType, + [string.reference, context.reference, attributeSet.reference]).object); + } + + static final _id_onCreateView1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onCreateView", + r"(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;"); + + /// from: public android.view.View onCreateView(android.view.View view, java.lang.String string, android.content.Context context, android.util.AttributeSet attributeSet) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject onCreateView1( + jni.JObject view, + jni.JString string, + Context context, + jni.JObject attributeSet, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_onCreateView1, jni.JniCallType.objectType, [ + view.reference, + string.reference, + context.reference, + attributeSet.reference + ]).object); + } + + static final _id_dump = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"dump", + r"(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V"); + + /// from: public void dump(java.lang.String string, java.io.FileDescriptor fileDescriptor, java.io.PrintWriter printWriter, java.lang.String[] strings) + void dump( + jni.JString string, + jni.JObject fileDescriptor, + jni.JObject printWriter, + jni.JArray strings, + ) { + return jni.Jni.accessors + .callMethodWithArgs(reference, _id_dump, jni.JniCallType.voidType, [ + string.reference, + fileDescriptor.reference, + printWriter.reference, + strings.reference + ]).check(); + } + + static final _id_isImmersive = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isImmersive", r"()Z"); + + /// from: public boolean isImmersive() + bool isImmersive() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isImmersive, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_setTranslucent = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setTranslucent", r"(Z)Z"); + + /// from: public boolean setTranslucent(boolean z) + bool setTranslucent( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setTranslucent, + jni.JniCallType.booleanType, [z ? 1 : 0]).boolean; + } + + static final _id_requestVisibleBehind = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"requestVisibleBehind", r"(Z)Z"); + + /// from: public boolean requestVisibleBehind(boolean z) + bool requestVisibleBehind( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_requestVisibleBehind, + jni.JniCallType.booleanType, + [z ? 1 : 0]).boolean; + } + + static final _id_onVisibleBehindCanceled = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onVisibleBehindCanceled", r"()V"); + + /// from: public void onVisibleBehindCanceled() + void onVisibleBehindCanceled() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_onVisibleBehindCanceled, jni.JniCallType.voidType, []).check(); + } + + static final _id_onEnterAnimationComplete = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onEnterAnimationComplete", r"()V"); + + /// from: public void onEnterAnimationComplete() + void onEnterAnimationComplete() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_onEnterAnimationComplete, jni.JniCallType.voidType, []).check(); + } + + static final _id_setImmersive = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setImmersive", r"(Z)V"); + + /// from: public void setImmersive(boolean z) + void setImmersive( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setImmersive, + jni.JniCallType.voidType, [z ? 1 : 0]).check(); + } + + static final _id_setVrModeEnabled = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setVrModeEnabled", + r"(ZLandroid/content/ComponentName;)V"); + + /// from: public void setVrModeEnabled(boolean z, android.content.ComponentName componentName) + void setVrModeEnabled( + bool z, + jni.JObject componentName, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setVrModeEnabled, + jni.JniCallType.voidType, [z ? 1 : 0, componentName.reference]).check(); + } + + static final _id_startActionMode = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActionMode", + r"(Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode;"); + + /// from: public android.view.ActionMode startActionMode(android.view.ActionMode$Callback callback) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject startActionMode( + jni.JObject callback, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startActionMode, + jni.JniCallType.objectType, + [callback.reference]).object); + } + + static final _id_startActionMode1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActionMode", + r"(Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;"); + + /// from: public android.view.ActionMode startActionMode(android.view.ActionMode$Callback callback, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject startActionMode1( + jni.JObject callback, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startActionMode1, + jni.JniCallType.objectType, + [callback.reference, jni.JValueInt(i)]).object); + } + + static final _id_onWindowStartingActionMode = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onWindowStartingActionMode", + r"(Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode;"); + + /// from: public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode$Callback callback) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject onWindowStartingActionMode( + jni.JObject callback, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onWindowStartingActionMode, + jni.JniCallType.objectType, + [callback.reference]).object); + } + + static final _id_onWindowStartingActionMode1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onWindowStartingActionMode", + r"(Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;"); + + /// from: public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode$Callback callback, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject onWindowStartingActionMode1( + jni.JObject callback, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onWindowStartingActionMode1, + jni.JniCallType.objectType, + [callback.reference, jni.JValueInt(i)]).object); + } + + static final _id_onActionModeStarted = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onActionModeStarted", + r"(Landroid/view/ActionMode;)V"); + + /// from: public void onActionModeStarted(android.view.ActionMode actionMode) + void onActionModeStarted( + jni.JObject actionMode, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onActionModeStarted, + jni.JniCallType.voidType, + [actionMode.reference]).check(); + } + + static final _id_onActionModeFinished = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onActionModeFinished", + r"(Landroid/view/ActionMode;)V"); + + /// from: public void onActionModeFinished(android.view.ActionMode actionMode) + void onActionModeFinished( + jni.JObject actionMode, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_onActionModeFinished, + jni.JniCallType.voidType, + [actionMode.reference]).check(); + } + + static final _id_shouldUpRecreateTask = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"shouldUpRecreateTask", + r"(Landroid/content/Intent;)Z"); + + /// from: public boolean shouldUpRecreateTask(android.content.Intent intent) + bool shouldUpRecreateTask( + jni.JObject intent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_shouldUpRecreateTask, + jni.JniCallType.booleanType, + [intent.reference]).boolean; + } + + static final _id_navigateUpTo = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"navigateUpTo", r"(Landroid/content/Intent;)Z"); + + /// from: public boolean navigateUpTo(android.content.Intent intent) + bool navigateUpTo( + jni.JObject intent, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_navigateUpTo, + jni.JniCallType.booleanType, [intent.reference]).boolean; + } + + static final _id_navigateUpToFromChild = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"navigateUpToFromChild", + r"(Landroid/app/Activity;Landroid/content/Intent;)Z"); + + /// from: public boolean navigateUpToFromChild(android.app.Activity activity, android.content.Intent intent) + bool navigateUpToFromChild( + Activity activity, + jni.JObject intent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_navigateUpToFromChild, + jni.JniCallType.booleanType, + [activity.reference, intent.reference]).boolean; + } + + static final _id_getParentActivityIntent = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getParentActivityIntent", + r"()Landroid/content/Intent;"); + + /// from: public android.content.Intent getParentActivityIntent() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getParentActivityIntent() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getParentActivityIntent, + jni.JniCallType.objectType, []).object); + } + + static final _id_setEnterSharedElementCallback = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setEnterSharedElementCallback", + r"(Landroid/app/SharedElementCallback;)V"); + + /// from: public void setEnterSharedElementCallback(android.app.SharedElementCallback sharedElementCallback) + void setEnterSharedElementCallback( + jni.JObject sharedElementCallback, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setEnterSharedElementCallback, + jni.JniCallType.voidType, + [sharedElementCallback.reference]).check(); + } + + static final _id_setExitSharedElementCallback = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setExitSharedElementCallback", + r"(Landroid/app/SharedElementCallback;)V"); + + /// from: public void setExitSharedElementCallback(android.app.SharedElementCallback sharedElementCallback) + void setExitSharedElementCallback( + jni.JObject sharedElementCallback, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setExitSharedElementCallback, + jni.JniCallType.voidType, + [sharedElementCallback.reference]).check(); + } + + static final _id_postponeEnterTransition = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"postponeEnterTransition", r"()V"); + + /// from: public void postponeEnterTransition() + void postponeEnterTransition() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_postponeEnterTransition, jni.JniCallType.voidType, []).check(); + } + + static final _id_startPostponedEnterTransition = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"startPostponedEnterTransition", r"()V"); + + /// from: public void startPostponedEnterTransition() + void startPostponedEnterTransition() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startPostponedEnterTransition, + jni.JniCallType.voidType, []).check(); + } + + static final _id_requestDragAndDropPermissions = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"requestDragAndDropPermissions", + r"(Landroid/view/DragEvent;)Landroid/view/DragAndDropPermissions;"); + + /// from: public android.view.DragAndDropPermissions requestDragAndDropPermissions(android.view.DragEvent dragEvent) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject requestDragAndDropPermissions( + jni.JObject dragEvent, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_requestDragAndDropPermissions, + jni.JniCallType.objectType, + [dragEvent.reference]).object); + } + + static final _id_startLockTask = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"startLockTask", r"()V"); + + /// from: public void startLockTask() + void startLockTask() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_startLockTask, jni.JniCallType.voidType, []).check(); + } + + static final _id_stopLockTask = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"stopLockTask", r"()V"); + + /// from: public void stopLockTask() + void stopLockTask() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_stopLockTask, jni.JniCallType.voidType, []).check(); + } + + static final _id_showLockTaskEscapeMessage = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"showLockTaskEscapeMessage", r"()V"); + + /// from: public void showLockTaskEscapeMessage() + void showLockTaskEscapeMessage() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_showLockTaskEscapeMessage, jni.JniCallType.voidType, []).check(); + } + + static final _id_setRecentsScreenshotEnabled = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setRecentsScreenshotEnabled", r"(Z)V"); + + /// from: public void setRecentsScreenshotEnabled(boolean z) + void setRecentsScreenshotEnabled( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setRecentsScreenshotEnabled, + jni.JniCallType.voidType, + [z ? 1 : 0]).check(); + } + + static final _id_setShowWhenLocked = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setShowWhenLocked", r"(Z)V"); + + /// from: public void setShowWhenLocked(boolean z) + void setShowWhenLocked( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_setShowWhenLocked, jni.JniCallType.voidType, [z ? 1 : 0]).check(); + } + + static final _id_setInheritShowWhenLocked = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setInheritShowWhenLocked", r"(Z)V"); + + /// from: public void setInheritShowWhenLocked(boolean z) + void setInheritShowWhenLocked( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setInheritShowWhenLocked, + jni.JniCallType.voidType, + [z ? 1 : 0]).check(); + } + + static final _id_setTurnScreenOn = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setTurnScreenOn", r"(Z)V"); + + /// from: public void setTurnScreenOn(boolean z) + void setTurnScreenOn( + bool z, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setTurnScreenOn, + jni.JniCallType.voidType, [z ? 1 : 0]).check(); + } + + static final _id_getOnBackInvokedDispatcher = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getOnBackInvokedDispatcher", + r"()Landroid/window/OnBackInvokedDispatcher;"); + + /// from: public android.window.OnBackInvokedDispatcher getOnBackInvokedDispatcher() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getOnBackInvokedDispatcher() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getOnBackInvokedDispatcher, + jni.JniCallType.objectType, []).object); + } + + static final _id_registerScreenCaptureCallback = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"registerScreenCaptureCallback", + r"(Ljava/util/concurrent/Executor;Landroid/app/Activity$ScreenCaptureCallback;)V"); + + /// from: public void registerScreenCaptureCallback(java.util.concurrent.Executor executor, android.app.Activity$ScreenCaptureCallback screenCaptureCallback) + void registerScreenCaptureCallback( + jni.JObject executor, + Activity_ScreenCaptureCallback screenCaptureCallback, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_registerScreenCaptureCallback, + jni.JniCallType.voidType, + [executor.reference, screenCaptureCallback.reference]).check(); + } + + static final _id_unregisterScreenCaptureCallback = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"unregisterScreenCaptureCallback", + r"(Landroid/app/Activity$ScreenCaptureCallback;)V"); + + /// from: public void unregisterScreenCaptureCallback(android.app.Activity$ScreenCaptureCallback screenCaptureCallback) + void unregisterScreenCaptureCallback( + Activity_ScreenCaptureCallback screenCaptureCallback, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_unregisterScreenCaptureCallback, + jni.JniCallType.voidType, + [screenCaptureCallback.reference]).check(); + } +} + +final class $ActivityType extends jni.JObjType { + const $ActivityType(); + + @override + String get signature => r"Landroid/app/Activity;"; + + @override + Activity fromRef(jni.JObjectPtr ref) => Activity.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($ActivityType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($ActivityType) && other is $ActivityType; + } +} + +/// from: android.content.Context$BindServiceFlags +class Context_BindServiceFlags extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Context_BindServiceFlags.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"android/content/Context$BindServiceFlags"); + + /// The type which includes information such as the signature of this class. + static const type = $Context_BindServiceFlagsType(); + static final _id_of = jni.Jni.accessors.getStaticMethodIDOf(_class.reference, + r"of", r"(J)Landroid/content/Context$BindServiceFlags;"); + + /// from: static public android.content.Context$BindServiceFlags of(long j) + /// The returned object must be released after use, by calling the [release] method. + static Context_BindServiceFlags of( + int j, + ) { + return const $Context_BindServiceFlagsType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, _id_of, jni.JniCallType.objectType, [j]).object); + } +} + +final class $Context_BindServiceFlagsType + extends jni.JObjType { + const $Context_BindServiceFlagsType(); + + @override + String get signature => r"Landroid/content/Context$BindServiceFlags;"; + + @override + Context_BindServiceFlags fromRef(jni.JObjectPtr ref) => + Context_BindServiceFlags.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($Context_BindServiceFlagsType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($Context_BindServiceFlagsType) && + other is $Context_BindServiceFlagsType; + } +} + +/// from: android.content.Context +class Context extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Context.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"android/content/Context"); + + /// The type which includes information such as the signature of this class. + static const type = $ContextType(); + + /// from: static public final java.lang.String ACCESSIBILITY_SERVICE + static const ACCESSIBILITY_SERVICE = r"""accessibility"""; + + /// from: static public final java.lang.String ACCOUNT_SERVICE + static const ACCOUNT_SERVICE = r"""account"""; + + /// from: static public final java.lang.String ACTIVITY_SERVICE + static const ACTIVITY_SERVICE = r"""activity"""; + + /// from: static public final java.lang.String ALARM_SERVICE + static const ALARM_SERVICE = r"""alarm"""; + + /// from: static public final java.lang.String APPWIDGET_SERVICE + static const APPWIDGET_SERVICE = r"""appwidget"""; + + /// from: static public final java.lang.String APP_OPS_SERVICE + static const APP_OPS_SERVICE = r"""appops"""; + + /// from: static public final java.lang.String APP_SEARCH_SERVICE + static const APP_SEARCH_SERVICE = r"""app_search"""; + + /// from: static public final java.lang.String AUDIO_SERVICE + static const AUDIO_SERVICE = r"""audio"""; + + /// from: static public final java.lang.String BATTERY_SERVICE + static const BATTERY_SERVICE = r"""batterymanager"""; + + /// from: static public final int BIND_ABOVE_CLIENT + static const BIND_ABOVE_CLIENT = 8; + + /// from: static public final int BIND_ADJUST_WITH_ACTIVITY + static const BIND_ADJUST_WITH_ACTIVITY = 128; + + /// from: static public final int BIND_ALLOW_ACTIVITY_STARTS + static const BIND_ALLOW_ACTIVITY_STARTS = 512; + + /// from: static public final int BIND_ALLOW_OOM_MANAGEMENT + static const BIND_ALLOW_OOM_MANAGEMENT = 16; + + /// from: static public final int BIND_AUTO_CREATE + static const BIND_AUTO_CREATE = 1; + + /// from: static public final int BIND_DEBUG_UNBIND + static const BIND_DEBUG_UNBIND = 2; + + /// from: static public final int BIND_EXTERNAL_SERVICE + static const BIND_EXTERNAL_SERVICE = -2147483648; + + /// from: static public final long BIND_EXTERNAL_SERVICE_LONG + static const BIND_EXTERNAL_SERVICE_LONG = 4611686018427387904; + + /// from: static public final int BIND_IMPORTANT + static const BIND_IMPORTANT = 64; + + /// from: static public final int BIND_INCLUDE_CAPABILITIES + static const BIND_INCLUDE_CAPABILITIES = 4096; + + /// from: static public final int BIND_NOT_FOREGROUND + static const BIND_NOT_FOREGROUND = 4; + + /// from: static public final int BIND_NOT_PERCEPTIBLE + static const BIND_NOT_PERCEPTIBLE = 256; + + /// from: static public final int BIND_SHARED_ISOLATED_PROCESS + static const BIND_SHARED_ISOLATED_PROCESS = 8192; + + /// from: static public final int BIND_WAIVE_PRIORITY + static const BIND_WAIVE_PRIORITY = 32; + + /// from: static public final java.lang.String BIOMETRIC_SERVICE + static const BIOMETRIC_SERVICE = r"""biometric"""; + + /// from: static public final java.lang.String BLOB_STORE_SERVICE + static const BLOB_STORE_SERVICE = r"""blob_store"""; + + /// from: static public final java.lang.String BLUETOOTH_SERVICE + static const BLUETOOTH_SERVICE = r"""bluetooth"""; + + /// from: static public final java.lang.String BUGREPORT_SERVICE + static const BUGREPORT_SERVICE = r"""bugreport"""; + + /// from: static public final java.lang.String CAMERA_SERVICE + static const CAMERA_SERVICE = r"""camera"""; + + /// from: static public final java.lang.String CAPTIONING_SERVICE + static const CAPTIONING_SERVICE = r"""captioning"""; + + /// from: static public final java.lang.String CARRIER_CONFIG_SERVICE + static const CARRIER_CONFIG_SERVICE = r"""carrier_config"""; + + /// from: static public final java.lang.String CLIPBOARD_SERVICE + static const CLIPBOARD_SERVICE = r"""clipboard"""; + + /// from: static public final java.lang.String COMPANION_DEVICE_SERVICE + static const COMPANION_DEVICE_SERVICE = r"""companiondevice"""; + + /// from: static public final java.lang.String CONNECTIVITY_DIAGNOSTICS_SERVICE + static const CONNECTIVITY_DIAGNOSTICS_SERVICE = + r"""connectivity_diagnostics"""; + + /// from: static public final java.lang.String CONNECTIVITY_SERVICE + static const CONNECTIVITY_SERVICE = r"""connectivity"""; + + /// from: static public final java.lang.String CONSUMER_IR_SERVICE + static const CONSUMER_IR_SERVICE = r"""consumer_ir"""; + + /// from: static public final int CONTEXT_IGNORE_SECURITY + static const CONTEXT_IGNORE_SECURITY = 2; + + /// from: static public final int CONTEXT_INCLUDE_CODE + static const CONTEXT_INCLUDE_CODE = 1; + + /// from: static public final int CONTEXT_RESTRICTED + static const CONTEXT_RESTRICTED = 4; + + /// from: static public final java.lang.String CREDENTIAL_SERVICE + static const CREDENTIAL_SERVICE = r"""credential"""; + + /// from: static public final java.lang.String CROSS_PROFILE_APPS_SERVICE + static const CROSS_PROFILE_APPS_SERVICE = r"""crossprofileapps"""; + + /// from: static public final int DEVICE_ID_DEFAULT + static const DEVICE_ID_DEFAULT = 0; + + /// from: static public final int DEVICE_ID_INVALID + static const DEVICE_ID_INVALID = -1; + + /// from: static public final java.lang.String DEVICE_LOCK_SERVICE + static const DEVICE_LOCK_SERVICE = r"""device_lock"""; + + /// from: static public final java.lang.String DEVICE_POLICY_SERVICE + static const DEVICE_POLICY_SERVICE = r"""device_policy"""; + + /// from: static public final java.lang.String DISPLAY_HASH_SERVICE + static const DISPLAY_HASH_SERVICE = r"""display_hash"""; + + /// from: static public final java.lang.String DISPLAY_SERVICE + static const DISPLAY_SERVICE = r"""display"""; + + /// from: static public final java.lang.String DOMAIN_VERIFICATION_SERVICE + static const DOMAIN_VERIFICATION_SERVICE = r"""domain_verification"""; + + /// from: static public final java.lang.String DOWNLOAD_SERVICE + static const DOWNLOAD_SERVICE = r"""download"""; + + /// from: static public final java.lang.String DROPBOX_SERVICE + static const DROPBOX_SERVICE = r"""dropbox"""; + + /// from: static public final java.lang.String EUICC_SERVICE + static const EUICC_SERVICE = r"""euicc"""; + + /// from: static public final java.lang.String FILE_INTEGRITY_SERVICE + static const FILE_INTEGRITY_SERVICE = r"""file_integrity"""; + + /// from: static public final java.lang.String FINGERPRINT_SERVICE + static const FINGERPRINT_SERVICE = r"""fingerprint"""; + + /// from: static public final java.lang.String GAME_SERVICE + static const GAME_SERVICE = r"""game"""; + + /// from: static public final java.lang.String GRAMMATICAL_INFLECTION_SERVICE + static const GRAMMATICAL_INFLECTION_SERVICE = r"""grammatical_inflection"""; + + /// from: static public final java.lang.String HARDWARE_PROPERTIES_SERVICE + static const HARDWARE_PROPERTIES_SERVICE = r"""hardware_properties"""; + + /// from: static public final java.lang.String HEALTHCONNECT_SERVICE + static const HEALTHCONNECT_SERVICE = r"""healthconnect"""; + + /// from: static public final java.lang.String INPUT_METHOD_SERVICE + static const INPUT_METHOD_SERVICE = r"""input_method"""; + + /// from: static public final java.lang.String INPUT_SERVICE + static const INPUT_SERVICE = r"""input"""; + + /// from: static public final java.lang.String IPSEC_SERVICE + static const IPSEC_SERVICE = r"""ipsec"""; + + /// from: static public final java.lang.String JOB_SCHEDULER_SERVICE + static const JOB_SCHEDULER_SERVICE = r"""jobscheduler"""; + + /// from: static public final java.lang.String KEYGUARD_SERVICE + static const KEYGUARD_SERVICE = r"""keyguard"""; + + /// from: static public final java.lang.String LAUNCHER_APPS_SERVICE + static const LAUNCHER_APPS_SERVICE = r"""launcherapps"""; + + /// from: static public final java.lang.String LAYOUT_INFLATER_SERVICE + static const LAYOUT_INFLATER_SERVICE = r"""layout_inflater"""; + + /// from: static public final java.lang.String LOCALE_SERVICE + static const LOCALE_SERVICE = r"""locale"""; + + /// from: static public final java.lang.String LOCATION_SERVICE + static const LOCATION_SERVICE = r"""location"""; + + /// from: static public final java.lang.String MEDIA_COMMUNICATION_SERVICE + static const MEDIA_COMMUNICATION_SERVICE = r"""media_communication"""; + + /// from: static public final java.lang.String MEDIA_METRICS_SERVICE + static const MEDIA_METRICS_SERVICE = r"""media_metrics"""; + + /// from: static public final java.lang.String MEDIA_PROJECTION_SERVICE + static const MEDIA_PROJECTION_SERVICE = r"""media_projection"""; + + /// from: static public final java.lang.String MEDIA_ROUTER_SERVICE + static const MEDIA_ROUTER_SERVICE = r"""media_router"""; + + /// from: static public final java.lang.String MEDIA_SESSION_SERVICE + static const MEDIA_SESSION_SERVICE = r"""media_session"""; + + /// from: static public final java.lang.String MIDI_SERVICE + static const MIDI_SERVICE = r"""midi"""; + + /// from: static public final int MODE_APPEND + static const MODE_APPEND = 32768; + + /// from: static public final int MODE_ENABLE_WRITE_AHEAD_LOGGING + static const MODE_ENABLE_WRITE_AHEAD_LOGGING = 8; + + /// from: static public final int MODE_MULTI_PROCESS + static const MODE_MULTI_PROCESS = 4; + + /// from: static public final int MODE_NO_LOCALIZED_COLLATORS + static const MODE_NO_LOCALIZED_COLLATORS = 16; + + /// from: static public final int MODE_PRIVATE + static const MODE_PRIVATE = 0; + + /// from: static public final int MODE_WORLD_READABLE + static const MODE_WORLD_READABLE = 1; + + /// from: static public final int MODE_WORLD_WRITEABLE + static const MODE_WORLD_WRITEABLE = 2; + + /// from: static public final java.lang.String NETWORK_STATS_SERVICE + static const NETWORK_STATS_SERVICE = r"""netstats"""; + + /// from: static public final java.lang.String NFC_SERVICE + static const NFC_SERVICE = r"""nfc"""; + + /// from: static public final java.lang.String NOTIFICATION_SERVICE + static const NOTIFICATION_SERVICE = r"""notification"""; + + /// from: static public final java.lang.String NSD_SERVICE + static const NSD_SERVICE = r"""servicediscovery"""; + + /// from: static public final java.lang.String OVERLAY_SERVICE + static const OVERLAY_SERVICE = r"""overlay"""; + + /// from: static public final java.lang.String PEOPLE_SERVICE + static const PEOPLE_SERVICE = r"""people"""; + + /// from: static public final java.lang.String PERFORMANCE_HINT_SERVICE + static const PERFORMANCE_HINT_SERVICE = r"""performance_hint"""; + + /// from: static public final java.lang.String POWER_SERVICE + static const POWER_SERVICE = r"""power"""; + + /// from: static public final java.lang.String PRINT_SERVICE + static const PRINT_SERVICE = r"""print"""; + + /// from: static public final int RECEIVER_EXPORTED + static const RECEIVER_EXPORTED = 2; + + /// from: static public final int RECEIVER_NOT_EXPORTED + static const RECEIVER_NOT_EXPORTED = 4; + + /// from: static public final int RECEIVER_VISIBLE_TO_INSTANT_APPS + static const RECEIVER_VISIBLE_TO_INSTANT_APPS = 1; + + /// from: static public final java.lang.String RESTRICTIONS_SERVICE + static const RESTRICTIONS_SERVICE = r"""restrictions"""; + + /// from: static public final java.lang.String ROLE_SERVICE + static const ROLE_SERVICE = r"""role"""; + + /// from: static public final java.lang.String SEARCH_SERVICE + static const SEARCH_SERVICE = r"""search"""; + + /// from: static public final java.lang.String SENSOR_SERVICE + static const SENSOR_SERVICE = r"""sensor"""; + + /// from: static public final java.lang.String SHORTCUT_SERVICE + static const SHORTCUT_SERVICE = r"""shortcut"""; + + /// from: static public final java.lang.String STATUS_BAR_SERVICE + static const STATUS_BAR_SERVICE = r"""statusbar"""; + + /// from: static public final java.lang.String STORAGE_SERVICE + static const STORAGE_SERVICE = r"""storage"""; + + /// from: static public final java.lang.String STORAGE_STATS_SERVICE + static const STORAGE_STATS_SERVICE = r"""storagestats"""; + + /// from: static public final java.lang.String SYSTEM_HEALTH_SERVICE + static const SYSTEM_HEALTH_SERVICE = r"""systemhealth"""; + + /// from: static public final java.lang.String TELECOM_SERVICE + static const TELECOM_SERVICE = r"""telecom"""; + + /// from: static public final java.lang.String TELEPHONY_IMS_SERVICE + static const TELEPHONY_IMS_SERVICE = r"""telephony_ims"""; + + /// from: static public final java.lang.String TELEPHONY_SERVICE + static const TELEPHONY_SERVICE = r"""phone"""; + + /// from: static public final java.lang.String TELEPHONY_SUBSCRIPTION_SERVICE + static const TELEPHONY_SUBSCRIPTION_SERVICE = + r"""telephony_subscription_service"""; + + /// from: static public final java.lang.String TEXT_CLASSIFICATION_SERVICE + static const TEXT_CLASSIFICATION_SERVICE = r"""textclassification"""; + + /// from: static public final java.lang.String TEXT_SERVICES_MANAGER_SERVICE + static const TEXT_SERVICES_MANAGER_SERVICE = r"""textservices"""; + + /// from: static public final java.lang.String TV_INPUT_SERVICE + static const TV_INPUT_SERVICE = r"""tv_input"""; + + /// from: static public final java.lang.String TV_INTERACTIVE_APP_SERVICE + static const TV_INTERACTIVE_APP_SERVICE = r"""tv_interactive_app"""; + + /// from: static public final java.lang.String UI_MODE_SERVICE + static const UI_MODE_SERVICE = r"""uimode"""; + + /// from: static public final java.lang.String USAGE_STATS_SERVICE + static const USAGE_STATS_SERVICE = r"""usagestats"""; + + /// from: static public final java.lang.String USB_SERVICE + static const USB_SERVICE = r"""usb"""; + + /// from: static public final java.lang.String USER_SERVICE + static const USER_SERVICE = r"""user"""; + + /// from: static public final java.lang.String VIBRATOR_MANAGER_SERVICE + static const VIBRATOR_MANAGER_SERVICE = r"""vibrator_manager"""; + + /// from: static public final java.lang.String VIBRATOR_SERVICE + static const VIBRATOR_SERVICE = r"""vibrator"""; + + /// from: static public final java.lang.String VIRTUAL_DEVICE_SERVICE + static const VIRTUAL_DEVICE_SERVICE = r"""virtualdevice"""; + + /// from: static public final java.lang.String VPN_MANAGEMENT_SERVICE + static const VPN_MANAGEMENT_SERVICE = r"""vpn_management"""; + + /// from: static public final java.lang.String WALLPAPER_SERVICE + static const WALLPAPER_SERVICE = r"""wallpaper"""; + + /// from: static public final java.lang.String WIFI_AWARE_SERVICE + static const WIFI_AWARE_SERVICE = r"""wifiaware"""; + + /// from: static public final java.lang.String WIFI_P2P_SERVICE + static const WIFI_P2P_SERVICE = r"""wifip2p"""; + + /// from: static public final java.lang.String WIFI_RTT_RANGING_SERVICE + static const WIFI_RTT_RANGING_SERVICE = r"""wifirtt"""; + + /// from: static public final java.lang.String WIFI_SERVICE + static const WIFI_SERVICE = r"""wifi"""; + + /// from: static public final java.lang.String WINDOW_SERVICE + static const WINDOW_SERVICE = r"""window"""; + + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory Context() { + return Context.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_getAssets = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getAssets", r"()Landroid/content/res/AssetManager;"); + + /// from: public abstract android.content.res.AssetManager getAssets() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getAssets() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getAssets, jni.JniCallType.objectType, []).object); + } + + static final _id_getResources = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getResources", r"()Landroid/content/res/Resources;"); + + /// from: public abstract android.content.res.Resources getResources() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getResources() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getResources, jni.JniCallType.objectType, []).object); + } + + static final _id_getPackageManager = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getPackageManager", + r"()Landroid/content/pm/PackageManager;"); + + /// from: public abstract android.content.pm.PackageManager getPackageManager() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getPackageManager() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getPackageManager, + jni.JniCallType.objectType, []).object); + } + + static final _id_getContentResolver = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getContentResolver", + r"()Landroid/content/ContentResolver;"); + + /// from: public abstract android.content.ContentResolver getContentResolver() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getContentResolver() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getContentResolver, + jni.JniCallType.objectType, []).object); + } + + static final _id_getMainLooper = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getMainLooper", r"()Landroid/os/Looper;"); + + /// from: public abstract android.os.Looper getMainLooper() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getMainLooper() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getMainLooper, jni.JniCallType.objectType, []).object); + } + + static final _id_getMainExecutor = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getMainExecutor", + r"()Ljava/util/concurrent/Executor;"); + + /// from: public java.util.concurrent.Executor getMainExecutor() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getMainExecutor() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getMainExecutor, jni.JniCallType.objectType, []).object); + } + + static final _id_getApplicationContext = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getApplicationContext", + r"()Landroid/content/Context;"); + + /// from: public abstract android.content.Context getApplicationContext() + /// The returned object must be released after use, by calling the [release] method. + Context getApplicationContext() { + return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getApplicationContext, + jni.JniCallType.objectType, []).object); + } + + static final _id_registerComponentCallbacks = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"registerComponentCallbacks", + r"(Landroid/content/ComponentCallbacks;)V"); + + /// from: public void registerComponentCallbacks(android.content.ComponentCallbacks componentCallbacks) + void registerComponentCallbacks( + jni.JObject componentCallbacks, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_registerComponentCallbacks, + jni.JniCallType.voidType, + [componentCallbacks.reference]).check(); + } + + static final _id_unregisterComponentCallbacks = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"unregisterComponentCallbacks", + r"(Landroid/content/ComponentCallbacks;)V"); + + /// from: public void unregisterComponentCallbacks(android.content.ComponentCallbacks componentCallbacks) + void unregisterComponentCallbacks( + jni.JObject componentCallbacks, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_unregisterComponentCallbacks, + jni.JniCallType.voidType, + [componentCallbacks.reference]).check(); + } + + static final _id_getText = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getText", r"(I)Ljava/lang/CharSequence;"); + + /// from: public final java.lang.CharSequence getText(int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getText( + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getText, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_getString = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getString", r"(I)Ljava/lang/String;"); + + /// from: public final java.lang.String getString(int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JString getString( + int i, + ) { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getString, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_getString1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getString", + r"(I[Ljava/lang/Object;)Ljava/lang/String;"); + + /// from: public final java.lang.String getString(int i, java.lang.Object[] objects) + /// The returned object must be released after use, by calling the [release] method. + jni.JString getString1( + int i, + jni.JArray objects, + ) { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getString1, + jni.JniCallType.objectType, + [jni.JValueInt(i), objects.reference]).object); + } + + static final _id_getColor = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"getColor", r"(I)I"); + + /// from: public final int getColor(int i) + int getColor( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_getColor, + jni.JniCallType.intType, [jni.JValueInt(i)]).integer; + } + + static final _id_getDrawable = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getDrawable", + r"(I)Landroid/graphics/drawable/Drawable;"); + + /// from: public final android.graphics.drawable.Drawable getDrawable(int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getDrawable( + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getDrawable, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_getColorStateList = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getColorStateList", + r"(I)Landroid/content/res/ColorStateList;"); + + /// from: public final android.content.res.ColorStateList getColorStateList(int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getColorStateList( + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getColorStateList, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_setTheme = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"setTheme", r"(I)V"); + + /// from: public abstract void setTheme(int i) + void setTheme( + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setTheme, + jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); + } + + static final _id_getTheme = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"getTheme", r"()Landroid/content/res/Resources$Theme;"); + + /// from: public abstract android.content.res.Resources$Theme getTheme() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getTheme() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getTheme, jni.JniCallType.objectType, []).object); + } + + static final _id_obtainStyledAttributes = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"obtainStyledAttributes", + r"([I)Landroid/content/res/TypedArray;"); + + /// from: public final android.content.res.TypedArray obtainStyledAttributes(int[] is) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject obtainStyledAttributes( + jni.JArray is0, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_obtainStyledAttributes, + jni.JniCallType.objectType, + [is0.reference]).object); + } + + static final _id_obtainStyledAttributes1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"obtainStyledAttributes", + r"(I[I)Landroid/content/res/TypedArray;"); + + /// from: public final android.content.res.TypedArray obtainStyledAttributes(int i, int[] is) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject obtainStyledAttributes1( + int i, + jni.JArray is0, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_obtainStyledAttributes1, + jni.JniCallType.objectType, + [jni.JValueInt(i), is0.reference]).object); + } + + static final _id_obtainStyledAttributes2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"obtainStyledAttributes", + r"(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;"); + + /// from: public final android.content.res.TypedArray obtainStyledAttributes(android.util.AttributeSet attributeSet, int[] is) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject obtainStyledAttributes2( + jni.JObject attributeSet, + jni.JArray is0, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_obtainStyledAttributes2, + jni.JniCallType.objectType, + [attributeSet.reference, is0.reference]).object); + } + + static final _id_obtainStyledAttributes3 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"obtainStyledAttributes", + r"(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;"); + + /// from: public final android.content.res.TypedArray obtainStyledAttributes(android.util.AttributeSet attributeSet, int[] is, int i, int i1) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject obtainStyledAttributes3( + jni.JObject attributeSet, + jni.JArray is0, + int i, + int i1, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_obtainStyledAttributes3, jni.JniCallType.objectType, [ + attributeSet.reference, + is0.reference, + jni.JValueInt(i), + jni.JValueInt(i1) + ]).object); + } + + static final _id_getClassLoader = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getClassLoader", r"()Ljava/lang/ClassLoader;"); + + /// from: public abstract java.lang.ClassLoader getClassLoader() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getClassLoader() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getClassLoader, jni.JniCallType.objectType, []).object); + } + + static final _id_getPackageName = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getPackageName", r"()Ljava/lang/String;"); + + /// from: public abstract java.lang.String getPackageName() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getPackageName() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getPackageName, jni.JniCallType.objectType, []).object); + } + + static final _id_getOpPackageName = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getOpPackageName", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getOpPackageName() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getOpPackageName() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getOpPackageName, + jni.JniCallType.objectType, []).object); + } + + static final _id_getAttributionTag = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getAttributionTag", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getAttributionTag() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getAttributionTag() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getAttributionTag, + jni.JniCallType.objectType, []).object); + } + + static final _id_getAttributionSource = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getAttributionSource", + r"()Landroid/content/AttributionSource;"); + + /// from: public android.content.AttributionSource getAttributionSource() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getAttributionSource() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getAttributionSource, + jni.JniCallType.objectType, []).object); + } + + static final _id_getParams = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getParams", r"()Landroid/content/ContextParams;"); + + /// from: public android.content.ContextParams getParams() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getParams() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getParams, jni.JniCallType.objectType, []).object); + } + + static final _id_getApplicationInfo = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getApplicationInfo", + r"()Landroid/content/pm/ApplicationInfo;"); + + /// from: public abstract android.content.pm.ApplicationInfo getApplicationInfo() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getApplicationInfo() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getApplicationInfo, + jni.JniCallType.objectType, []).object); + } + + static final _id_getPackageResourcePath = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getPackageResourcePath", r"()Ljava/lang/String;"); + + /// from: public abstract java.lang.String getPackageResourcePath() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getPackageResourcePath() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getPackageResourcePath, + jni.JniCallType.objectType, []).object); + } + + static final _id_getPackageCodePath = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getPackageCodePath", r"()Ljava/lang/String;"); + + /// from: public abstract java.lang.String getPackageCodePath() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getPackageCodePath() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getPackageCodePath, + jni.JniCallType.objectType, []).object); + } + + static final _id_getSharedPreferences = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getSharedPreferences", + r"(Ljava/lang/String;I)Landroid/content/SharedPreferences;"); + + /// from: public abstract android.content.SharedPreferences getSharedPreferences(java.lang.String string, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getSharedPreferences( + jni.JString string, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getSharedPreferences, + jni.JniCallType.objectType, + [string.reference, jni.JValueInt(i)]).object); + } + + static final _id_moveSharedPreferencesFrom = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"moveSharedPreferencesFrom", + r"(Landroid/content/Context;Ljava/lang/String;)Z"); + + /// from: public abstract boolean moveSharedPreferencesFrom(android.content.Context context, java.lang.String string) + bool moveSharedPreferencesFrom( + Context context, + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_moveSharedPreferencesFrom, + jni.JniCallType.booleanType, + [context.reference, string.reference]).boolean; + } + + static final _id_deleteSharedPreferences = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"deleteSharedPreferences", r"(Ljava/lang/String;)Z"); + + /// from: public abstract boolean deleteSharedPreferences(java.lang.String string) + bool deleteSharedPreferences( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_deleteSharedPreferences, + jni.JniCallType.booleanType, + [string.reference]).boolean; + } + + static final _id_openFileInput = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"openFileInput", + r"(Ljava/lang/String;)Ljava/io/FileInputStream;"); + + /// from: public abstract java.io.FileInputStream openFileInput(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject openFileInput( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_openFileInput, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_openFileOutput = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"openFileOutput", + r"(Ljava/lang/String;I)Ljava/io/FileOutputStream;"); + + /// from: public abstract java.io.FileOutputStream openFileOutput(java.lang.String string, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject openFileOutput( + jni.JString string, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_openFileOutput, + jni.JniCallType.objectType, + [string.reference, jni.JValueInt(i)]).object); + } + + static final _id_deleteFile = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"deleteFile", r"(Ljava/lang/String;)Z"); + + /// from: public abstract boolean deleteFile(java.lang.String string) + bool deleteFile( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_deleteFile, + jni.JniCallType.booleanType, [string.reference]).boolean; + } + + static final _id_getFileStreamPath = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getFileStreamPath", + r"(Ljava/lang/String;)Ljava/io/File;"); + + /// from: public abstract java.io.File getFileStreamPath(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getFileStreamPath( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getFileStreamPath, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getDataDir = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getDataDir", r"()Ljava/io/File;"); + + /// from: public abstract java.io.File getDataDir() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getDataDir() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getDataDir, jni.JniCallType.objectType, []).object); + } + + static final _id_getFilesDir = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getFilesDir", r"()Ljava/io/File;"); + + /// from: public abstract java.io.File getFilesDir() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getFilesDir() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getFilesDir, jni.JniCallType.objectType, []).object); + } + + static final _id_getNoBackupFilesDir = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getNoBackupFilesDir", r"()Ljava/io/File;"); + + /// from: public abstract java.io.File getNoBackupFilesDir() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getNoBackupFilesDir() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getNoBackupFilesDir, + jni.JniCallType.objectType, []).object); + } + + static final _id_getExternalFilesDir = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getExternalFilesDir", + r"(Ljava/lang/String;)Ljava/io/File;"); + + /// from: public abstract java.io.File getExternalFilesDir(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getExternalFilesDir( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getExternalFilesDir, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getExternalFilesDirs = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getExternalFilesDirs", + r"(Ljava/lang/String;)[Ljava/io/File;"); + + /// from: public abstract java.io.File[] getExternalFilesDirs(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getExternalFilesDirs( + jni.JString string, + ) { + return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getExternalFilesDirs, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_getObbDir = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getObbDir", r"()Ljava/io/File;"); + + /// from: public abstract java.io.File getObbDir() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getObbDir() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getObbDir, jni.JniCallType.objectType, []).object); + } + + static final _id_getObbDirs = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getObbDirs", r"()[Ljava/io/File;"); + + /// from: public abstract java.io.File[] getObbDirs() + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getObbDirs() { + return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, _id_getObbDirs, jni.JniCallType.objectType, []).object); + } + + static final _id_getCacheDir = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getCacheDir", r"()Ljava/io/File;"); + + /// from: public abstract java.io.File getCacheDir() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getCacheDir() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getCacheDir, jni.JniCallType.objectType, []).object); + } + + static final _id_getCodeCacheDir = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getCodeCacheDir", r"()Ljava/io/File;"); + + /// from: public abstract java.io.File getCodeCacheDir() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getCodeCacheDir() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getCodeCacheDir, jni.JniCallType.objectType, []).object); + } + + static final _id_getExternalCacheDir = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getExternalCacheDir", r"()Ljava/io/File;"); + + /// from: public abstract java.io.File getExternalCacheDir() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getExternalCacheDir() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getExternalCacheDir, + jni.JniCallType.objectType, []).object); + } + + static final _id_getExternalCacheDirs = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getExternalCacheDirs", r"()[Ljava/io/File;"); + + /// from: public abstract java.io.File[] getExternalCacheDirs() + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getExternalCacheDirs() { + return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getExternalCacheDirs, + jni.JniCallType.objectType, []).object); + } + + static final _id_getExternalMediaDirs = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getExternalMediaDirs", r"()[Ljava/io/File;"); + + /// from: public abstract java.io.File[] getExternalMediaDirs() + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getExternalMediaDirs() { + return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getExternalMediaDirs, + jni.JniCallType.objectType, []).object); + } + + static final _id_fileList = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"fileList", r"()[Ljava/lang/String;"); + + /// from: public abstract java.lang.String[] fileList() + /// The returned object must be released after use, by calling the [release] method. + jni.JArray fileList() { + return const jni.JArrayType(jni.JStringType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, _id_fileList, jni.JniCallType.objectType, []).object); + } + + static final _id_getDir = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getDir", r"(Ljava/lang/String;I)Ljava/io/File;"); + + /// from: public abstract java.io.File getDir(java.lang.String string, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getDir( + jni.JString string, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getDir, + jni.JniCallType.objectType, + [string.reference, jni.JValueInt(i)]).object); + } + + static final _id_openOrCreateDatabase = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"openOrCreateDatabase", + r"(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;"); + + /// from: public abstract android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String string, int i, android.database.sqlite.SQLiteDatabase$CursorFactory cursorFactory) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject openOrCreateDatabase( + jni.JString string, + int i, + jni.JObject cursorFactory, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_openOrCreateDatabase, + jni.JniCallType.objectType, + [string.reference, jni.JValueInt(i), cursorFactory.reference]).object); + } + + static final _id_openOrCreateDatabase1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"openOrCreateDatabase", + r"(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;)Landroid/database/sqlite/SQLiteDatabase;"); + + /// from: public abstract android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String string, int i, android.database.sqlite.SQLiteDatabase$CursorFactory cursorFactory, android.database.DatabaseErrorHandler databaseErrorHandler) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject openOrCreateDatabase1( + jni.JString string, + int i, + jni.JObject cursorFactory, + jni.JObject databaseErrorHandler, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_openOrCreateDatabase1, jni.JniCallType.objectType, [ + string.reference, + jni.JValueInt(i), + cursorFactory.reference, + databaseErrorHandler.reference + ]).object); + } + + static final _id_moveDatabaseFrom = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"moveDatabaseFrom", + r"(Landroid/content/Context;Ljava/lang/String;)Z"); + + /// from: public abstract boolean moveDatabaseFrom(android.content.Context context, java.lang.String string) + bool moveDatabaseFrom( + Context context, + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_moveDatabaseFrom, + jni.JniCallType.booleanType, + [context.reference, string.reference]).boolean; + } + + static final _id_deleteDatabase = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"deleteDatabase", r"(Ljava/lang/String;)Z"); + + /// from: public abstract boolean deleteDatabase(java.lang.String string) + bool deleteDatabase( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_deleteDatabase, + jni.JniCallType.booleanType, [string.reference]).boolean; + } + + static final _id_getDatabasePath = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getDatabasePath", + r"(Ljava/lang/String;)Ljava/io/File;"); + + /// from: public abstract java.io.File getDatabasePath(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getDatabasePath( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getDatabasePath, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_databaseList = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"databaseList", r"()[Ljava/lang/String;"); + + /// from: public abstract java.lang.String[] databaseList() + /// The returned object must be released after use, by calling the [release] method. + jni.JArray databaseList() { + return const jni.JArrayType(jni.JStringType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_databaseList, + jni.JniCallType.objectType, []).object); + } + + static final _id_getWallpaper = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getWallpaper", + r"()Landroid/graphics/drawable/Drawable;"); + + /// from: public abstract android.graphics.drawable.Drawable getWallpaper() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getWallpaper() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getWallpaper, jni.JniCallType.objectType, []).object); + } + + static final _id_peekWallpaper = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"peekWallpaper", + r"()Landroid/graphics/drawable/Drawable;"); + + /// from: public abstract android.graphics.drawable.Drawable peekWallpaper() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject peekWallpaper() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_peekWallpaper, jni.JniCallType.objectType, []).object); + } + + static final _id_getWallpaperDesiredMinimumWidth = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"getWallpaperDesiredMinimumWidth", r"()I"); + + /// from: public abstract int getWallpaperDesiredMinimumWidth() + int getWallpaperDesiredMinimumWidth() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getWallpaperDesiredMinimumWidth, + jni.JniCallType.intType, []).integer; + } + + static final _id_getWallpaperDesiredMinimumHeight = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"getWallpaperDesiredMinimumHeight", r"()I"); + + /// from: public abstract int getWallpaperDesiredMinimumHeight() + int getWallpaperDesiredMinimumHeight() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getWallpaperDesiredMinimumHeight, + jni.JniCallType.intType, []).integer; + } + + static final _id_setWallpaper = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setWallpaper", r"(Landroid/graphics/Bitmap;)V"); + + /// from: public abstract void setWallpaper(android.graphics.Bitmap bitmap) + void setWallpaper( + jni.JObject bitmap, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setWallpaper, + jni.JniCallType.voidType, [bitmap.reference]).check(); + } + + static final _id_setWallpaper1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setWallpaper", r"(Ljava/io/InputStream;)V"); + + /// from: public abstract void setWallpaper(java.io.InputStream inputStream) + void setWallpaper1( + jni.JObject inputStream, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setWallpaper1, + jni.JniCallType.voidType, [inputStream.reference]).check(); + } + + static final _id_clearWallpaper = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"clearWallpaper", r"()V"); + + /// from: public abstract void clearWallpaper() + void clearWallpaper() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_clearWallpaper, jni.JniCallType.voidType, []).check(); + } + + static final _id_startActivity = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"startActivity", r"(Landroid/content/Intent;)V"); + + /// from: public abstract void startActivity(android.content.Intent intent) + void startActivity( + jni.JObject intent, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_startActivity, + jni.JniCallType.voidType, [intent.reference]).check(); + } + + static final _id_startActivity1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActivity", + r"(Landroid/content/Intent;Landroid/os/Bundle;)V"); + + /// from: public abstract void startActivity(android.content.Intent intent, android.os.Bundle bundle) + void startActivity1( + jni.JObject intent, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_startActivity1, + jni.JniCallType.voidType, [intent.reference, bundle.reference]).check(); + } + + static final _id_startActivities = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"startActivities", r"([Landroid/content/Intent;)V"); + + /// from: public abstract void startActivities(android.content.Intent[] intents) + void startActivities( + jni.JArray intents, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_startActivities, + jni.JniCallType.voidType, [intents.reference]).check(); + } + + static final _id_startActivities1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startActivities", + r"([Landroid/content/Intent;Landroid/os/Bundle;)V"); + + /// from: public abstract void startActivities(android.content.Intent[] intents, android.os.Bundle bundle) + void startActivities1( + jni.JArray intents, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startActivities1, + jni.JniCallType.voidType, + [intents.reference, bundle.reference]).check(); + } + + static final _id_startIntentSender = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startIntentSender", + r"(Landroid/content/IntentSender;Landroid/content/Intent;III)V"); + + /// from: public abstract void startIntentSender(android.content.IntentSender intentSender, android.content.Intent intent, int i, int i1, int i2) + void startIntentSender( + jni.JObject intentSender, + jni.JObject intent, + int i, + int i1, + int i2, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_startIntentSender, jni.JniCallType.voidType, [ + intentSender.reference, + intent.reference, + jni.JValueInt(i), + jni.JValueInt(i1), + jni.JValueInt(i2) + ]).check(); + } + + static final _id_startIntentSender1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startIntentSender", + r"(Landroid/content/IntentSender;Landroid/content/Intent;IIILandroid/os/Bundle;)V"); + + /// from: public abstract void startIntentSender(android.content.IntentSender intentSender, android.content.Intent intent, int i, int i1, int i2, android.os.Bundle bundle) + void startIntentSender1( + jni.JObject intentSender, + jni.JObject intent, + int i, + int i1, + int i2, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_startIntentSender1, jni.JniCallType.voidType, [ + intentSender.reference, + intent.reference, + jni.JValueInt(i), + jni.JValueInt(i1), + jni.JValueInt(i2), + bundle.reference + ]).check(); + } + + static final _id_sendBroadcast = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"sendBroadcast", r"(Landroid/content/Intent;)V"); + + /// from: public abstract void sendBroadcast(android.content.Intent intent) + void sendBroadcast( + jni.JObject intent, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_sendBroadcast, + jni.JniCallType.voidType, [intent.reference]).check(); + } + + static final _id_sendBroadcast1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendBroadcast", + r"(Landroid/content/Intent;Ljava/lang/String;)V"); + + /// from: public abstract void sendBroadcast(android.content.Intent intent, java.lang.String string) + void sendBroadcast1( + jni.JObject intent, + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_sendBroadcast1, + jni.JniCallType.voidType, [intent.reference, string.reference]).check(); + } + + static final _id_sendBroadcastWithMultiplePermissions = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"sendBroadcastWithMultiplePermissions", + r"(Landroid/content/Intent;[Ljava/lang/String;)V"); + + /// from: public void sendBroadcastWithMultiplePermissions(android.content.Intent intent, java.lang.String[] strings) + void sendBroadcastWithMultiplePermissions( + jni.JObject intent, + jni.JArray strings, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_sendBroadcastWithMultiplePermissions, + jni.JniCallType.voidType, + [intent.reference, strings.reference]).check(); + } + + static final _id_sendBroadcast2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendBroadcast", + r"(Landroid/content/Intent;Ljava/lang/String;Landroid/os/Bundle;)V"); + + /// from: public void sendBroadcast(android.content.Intent intent, java.lang.String string, android.os.Bundle bundle) + void sendBroadcast2( + jni.JObject intent, + jni.JString string, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_sendBroadcast2, + jni.JniCallType.voidType, + [intent.reference, string.reference, bundle.reference]).check(); + } + + static final _id_sendOrderedBroadcast = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendOrderedBroadcast", + r"(Landroid/content/Intent;Ljava/lang/String;)V"); + + /// from: public abstract void sendOrderedBroadcast(android.content.Intent intent, java.lang.String string) + void sendOrderedBroadcast( + jni.JObject intent, + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_sendOrderedBroadcast, + jni.JniCallType.voidType, + [intent.reference, string.reference]).check(); + } + + static final _id_sendOrderedBroadcast1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendOrderedBroadcast", + r"(Landroid/content/Intent;Ljava/lang/String;Landroid/os/Bundle;)V"); + + /// from: public void sendOrderedBroadcast(android.content.Intent intent, java.lang.String string, android.os.Bundle bundle) + void sendOrderedBroadcast1( + jni.JObject intent, + jni.JString string, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_sendOrderedBroadcast1, + jni.JniCallType.voidType, + [intent.reference, string.reference, bundle.reference]).check(); + } + + static final _id_sendOrderedBroadcast2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendOrderedBroadcast", + r"(Landroid/content/Intent;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V"); + + /// from: public abstract void sendOrderedBroadcast(android.content.Intent intent, java.lang.String string, android.content.BroadcastReceiver broadcastReceiver, android.os.Handler handler, int i, java.lang.String string1, android.os.Bundle bundle) + void sendOrderedBroadcast2( + jni.JObject intent, + jni.JString string, + jni.JObject broadcastReceiver, + jni.JObject handler, + int i, + jni.JString string1, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_sendOrderedBroadcast2, jni.JniCallType.voidType, [ + intent.reference, + string.reference, + broadcastReceiver.reference, + handler.reference, + jni.JValueInt(i), + string1.reference, + bundle.reference + ]).check(); + } + + static final _id_sendOrderedBroadcast3 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendOrderedBroadcast", + r"(Landroid/content/Intent;Ljava/lang/String;Landroid/os/Bundle;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V"); + + /// from: public void sendOrderedBroadcast(android.content.Intent intent, java.lang.String string, android.os.Bundle bundle, android.content.BroadcastReceiver broadcastReceiver, android.os.Handler handler, int i, java.lang.String string1, android.os.Bundle bundle1) + void sendOrderedBroadcast3( + jni.JObject intent, + jni.JString string, + jni.JObject bundle, + jni.JObject broadcastReceiver, + jni.JObject handler, + int i, + jni.JString string1, + jni.JObject bundle1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_sendOrderedBroadcast3, jni.JniCallType.voidType, [ + intent.reference, + string.reference, + bundle.reference, + broadcastReceiver.reference, + handler.reference, + jni.JValueInt(i), + string1.reference, + bundle1.reference + ]).check(); + } + + static final _id_sendBroadcastAsUser = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendBroadcastAsUser", + r"(Landroid/content/Intent;Landroid/os/UserHandle;)V"); + + /// from: public abstract void sendBroadcastAsUser(android.content.Intent intent, android.os.UserHandle userHandle) + void sendBroadcastAsUser( + jni.JObject intent, + jni.JObject userHandle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_sendBroadcastAsUser, + jni.JniCallType.voidType, + [intent.reference, userHandle.reference]).check(); + } + + static final _id_sendBroadcastAsUser1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendBroadcastAsUser", + r"(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;)V"); + + /// from: public abstract void sendBroadcastAsUser(android.content.Intent intent, android.os.UserHandle userHandle, java.lang.String string) + void sendBroadcastAsUser1( + jni.JObject intent, + jni.JObject userHandle, + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_sendBroadcastAsUser1, + jni.JniCallType.voidType, + [intent.reference, userHandle.reference, string.reference]).check(); + } + + static final _id_sendOrderedBroadcastAsUser = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendOrderedBroadcastAsUser", + r"(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V"); + + /// from: public abstract void sendOrderedBroadcastAsUser(android.content.Intent intent, android.os.UserHandle userHandle, java.lang.String string, android.content.BroadcastReceiver broadcastReceiver, android.os.Handler handler, int i, java.lang.String string1, android.os.Bundle bundle) + void sendOrderedBroadcastAsUser( + jni.JObject intent, + jni.JObject userHandle, + jni.JString string, + jni.JObject broadcastReceiver, + jni.JObject handler, + int i, + jni.JString string1, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_sendOrderedBroadcastAsUser, jni.JniCallType.voidType, [ + intent.reference, + userHandle.reference, + string.reference, + broadcastReceiver.reference, + handler.reference, + jni.JValueInt(i), + string1.reference, + bundle.reference + ]).check(); + } + + static final _id_sendOrderedBroadcast4 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendOrderedBroadcast", + r"(Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V"); + + /// from: public void sendOrderedBroadcast(android.content.Intent intent, java.lang.String string, java.lang.String string1, android.content.BroadcastReceiver broadcastReceiver, android.os.Handler handler, int i, java.lang.String string2, android.os.Bundle bundle) + void sendOrderedBroadcast4( + jni.JObject intent, + jni.JString string, + jni.JString string1, + jni.JObject broadcastReceiver, + jni.JObject handler, + int i, + jni.JString string2, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_sendOrderedBroadcast4, jni.JniCallType.voidType, [ + intent.reference, + string.reference, + string1.reference, + broadcastReceiver.reference, + handler.reference, + jni.JValueInt(i), + string2.reference, + bundle.reference + ]).check(); + } + + static final _id_sendStickyBroadcast = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"sendStickyBroadcast", r"(Landroid/content/Intent;)V"); + + /// from: public abstract void sendStickyBroadcast(android.content.Intent intent) + void sendStickyBroadcast( + jni.JObject intent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_sendStickyBroadcast, + jni.JniCallType.voidType, + [intent.reference]).check(); + } + + static final _id_sendStickyBroadcast1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendStickyBroadcast", + r"(Landroid/content/Intent;Landroid/os/Bundle;)V"); + + /// from: public void sendStickyBroadcast(android.content.Intent intent, android.os.Bundle bundle) + void sendStickyBroadcast1( + jni.JObject intent, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_sendStickyBroadcast1, + jni.JniCallType.voidType, + [intent.reference, bundle.reference]).check(); + } + + static final _id_sendStickyOrderedBroadcast = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendStickyOrderedBroadcast", + r"(Landroid/content/Intent;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V"); + + /// from: public abstract void sendStickyOrderedBroadcast(android.content.Intent intent, android.content.BroadcastReceiver broadcastReceiver, android.os.Handler handler, int i, java.lang.String string, android.os.Bundle bundle) + void sendStickyOrderedBroadcast( + jni.JObject intent, + jni.JObject broadcastReceiver, + jni.JObject handler, + int i, + jni.JString string, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_sendStickyOrderedBroadcast, jni.JniCallType.voidType, [ + intent.reference, + broadcastReceiver.reference, + handler.reference, + jni.JValueInt(i), + string.reference, + bundle.reference + ]).check(); + } + + static final _id_removeStickyBroadcast = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"removeStickyBroadcast", + r"(Landroid/content/Intent;)V"); + + /// from: public abstract void removeStickyBroadcast(android.content.Intent intent) + void removeStickyBroadcast( + jni.JObject intent, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_removeStickyBroadcast, + jni.JniCallType.voidType, + [intent.reference]).check(); + } + + static final _id_sendStickyBroadcastAsUser = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"sendStickyBroadcastAsUser", + r"(Landroid/content/Intent;Landroid/os/UserHandle;)V"); + + /// from: public abstract void sendStickyBroadcastAsUser(android.content.Intent intent, android.os.UserHandle userHandle) + void sendStickyBroadcastAsUser( + jni.JObject intent, + jni.JObject userHandle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_sendStickyBroadcastAsUser, + jni.JniCallType.voidType, + [intent.reference, userHandle.reference]).check(); + } + + static final _id_sendStickyOrderedBroadcastAsUser = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"sendStickyOrderedBroadcastAsUser", + r"(Landroid/content/Intent;Landroid/os/UserHandle;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V"); + + /// from: public abstract void sendStickyOrderedBroadcastAsUser(android.content.Intent intent, android.os.UserHandle userHandle, android.content.BroadcastReceiver broadcastReceiver, android.os.Handler handler, int i, java.lang.String string, android.os.Bundle bundle) + void sendStickyOrderedBroadcastAsUser( + jni.JObject intent, + jni.JObject userHandle, + jni.JObject broadcastReceiver, + jni.JObject handler, + int i, + jni.JString string, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_sendStickyOrderedBroadcastAsUser, jni.JniCallType.voidType, [ + intent.reference, + userHandle.reference, + broadcastReceiver.reference, + handler.reference, + jni.JValueInt(i), + string.reference, + bundle.reference + ]).check(); + } + + static final _id_removeStickyBroadcastAsUser = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"removeStickyBroadcastAsUser", + r"(Landroid/content/Intent;Landroid/os/UserHandle;)V"); + + /// from: public abstract void removeStickyBroadcastAsUser(android.content.Intent intent, android.os.UserHandle userHandle) + void removeStickyBroadcastAsUser( + jni.JObject intent, + jni.JObject userHandle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_removeStickyBroadcastAsUser, + jni.JniCallType.voidType, + [intent.reference, userHandle.reference]).check(); + } + + static final _id_registerReceiver = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"registerReceiver", + r"(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;"); + + /// from: public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver broadcastReceiver, android.content.IntentFilter intentFilter) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject registerReceiver( + jni.JObject broadcastReceiver, + jni.JObject intentFilter, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_registerReceiver, + jni.JniCallType.objectType, + [broadcastReceiver.reference, intentFilter.reference]).object); + } + + static final _id_registerReceiver1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"registerReceiver", + r"(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent;"); + + /// from: public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver broadcastReceiver, android.content.IntentFilter intentFilter, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject registerReceiver1( + jni.JObject broadcastReceiver, + jni.JObject intentFilter, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_registerReceiver1, jni.JniCallType.objectType, [ + broadcastReceiver.reference, + intentFilter.reference, + jni.JValueInt(i) + ]).object); + } + + static final _id_registerReceiver2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"registerReceiver", + r"(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;"); + + /// from: public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver broadcastReceiver, android.content.IntentFilter intentFilter, java.lang.String string, android.os.Handler handler) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject registerReceiver2( + jni.JObject broadcastReceiver, + jni.JObject intentFilter, + jni.JString string, + jni.JObject handler, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_registerReceiver2, jni.JniCallType.objectType, [ + broadcastReceiver.reference, + intentFilter.reference, + string.reference, + handler.reference + ]).object); + } + + static final _id_registerReceiver3 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"registerReceiver", + r"(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;I)Landroid/content/Intent;"); + + /// from: public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver broadcastReceiver, android.content.IntentFilter intentFilter, java.lang.String string, android.os.Handler handler, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject registerReceiver3( + jni.JObject broadcastReceiver, + jni.JObject intentFilter, + jni.JString string, + jni.JObject handler, + int i, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_registerReceiver3, jni.JniCallType.objectType, [ + broadcastReceiver.reference, + intentFilter.reference, + string.reference, + handler.reference, + jni.JValueInt(i) + ]).object); + } + + static final _id_unregisterReceiver = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"unregisterReceiver", + r"(Landroid/content/BroadcastReceiver;)V"); + + /// from: public abstract void unregisterReceiver(android.content.BroadcastReceiver broadcastReceiver) + void unregisterReceiver( + jni.JObject broadcastReceiver, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_unregisterReceiver, + jni.JniCallType.voidType, + [broadcastReceiver.reference]).check(); + } + + static final _id_startService = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startService", + r"(Landroid/content/Intent;)Landroid/content/ComponentName;"); + + /// from: public abstract android.content.ComponentName startService(android.content.Intent intent) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject startService( + jni.JObject intent, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startService, + jni.JniCallType.objectType, + [intent.reference]).object); + } + + static final _id_startForegroundService = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startForegroundService", + r"(Landroid/content/Intent;)Landroid/content/ComponentName;"); + + /// from: public abstract android.content.ComponentName startForegroundService(android.content.Intent intent) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject startForegroundService( + jni.JObject intent, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startForegroundService, + jni.JniCallType.objectType, + [intent.reference]).object); + } + + static final _id_stopService = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"stopService", r"(Landroid/content/Intent;)Z"); + + /// from: public abstract boolean stopService(android.content.Intent intent) + bool stopService( + jni.JObject intent, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_stopService, + jni.JniCallType.booleanType, [intent.reference]).boolean; + } + + static final _id_bindService = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"bindService", + r"(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z"); + + /// from: public abstract boolean bindService(android.content.Intent intent, android.content.ServiceConnection serviceConnection, int i) + bool bindService( + jni.JObject intent, + jni.JObject serviceConnection, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_bindService, jni.JniCallType.booleanType, [ + intent.reference, + serviceConnection.reference, + jni.JValueInt(i) + ]).boolean; + } + + static final _id_bindService1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"bindService", + r"(Landroid/content/Intent;Landroid/content/ServiceConnection;Landroid/content/Context$BindServiceFlags;)Z"); + + /// from: public boolean bindService(android.content.Intent intent, android.content.ServiceConnection serviceConnection, android.content.Context$BindServiceFlags bindServiceFlags) + bool bindService1( + jni.JObject intent, + jni.JObject serviceConnection, + Context_BindServiceFlags bindServiceFlags, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_bindService1, jni.JniCallType.booleanType, [ + intent.reference, + serviceConnection.reference, + bindServiceFlags.reference + ]).boolean; + } + + static final _id_bindService2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"bindService", + r"(Landroid/content/Intent;ILjava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z"); + + /// from: public boolean bindService(android.content.Intent intent, int i, java.util.concurrent.Executor executor, android.content.ServiceConnection serviceConnection) + bool bindService2( + jni.JObject intent, + int i, + jni.JObject executor, + jni.JObject serviceConnection, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_bindService2, jni.JniCallType.booleanType, [ + intent.reference, + jni.JValueInt(i), + executor.reference, + serviceConnection.reference + ]).boolean; + } + + static final _id_bindService3 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"bindService", + r"(Landroid/content/Intent;Landroid/content/Context$BindServiceFlags;Ljava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z"); + + /// from: public boolean bindService(android.content.Intent intent, android.content.Context$BindServiceFlags bindServiceFlags, java.util.concurrent.Executor executor, android.content.ServiceConnection serviceConnection) + bool bindService3( + jni.JObject intent, + Context_BindServiceFlags bindServiceFlags, + jni.JObject executor, + jni.JObject serviceConnection, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_bindService3, jni.JniCallType.booleanType, [ + intent.reference, + bindServiceFlags.reference, + executor.reference, + serviceConnection.reference + ]).boolean; + } + + static final _id_bindIsolatedService = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"bindIsolatedService", + r"(Landroid/content/Intent;ILjava/lang/String;Ljava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z"); + + /// from: public boolean bindIsolatedService(android.content.Intent intent, int i, java.lang.String string, java.util.concurrent.Executor executor, android.content.ServiceConnection serviceConnection) + bool bindIsolatedService( + jni.JObject intent, + int i, + jni.JString string, + jni.JObject executor, + jni.JObject serviceConnection, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_bindIsolatedService, jni.JniCallType.booleanType, [ + intent.reference, + jni.JValueInt(i), + string.reference, + executor.reference, + serviceConnection.reference + ]).boolean; + } + + static final _id_bindIsolatedService1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"bindIsolatedService", + r"(Landroid/content/Intent;Landroid/content/Context$BindServiceFlags;Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z"); + + /// from: public boolean bindIsolatedService(android.content.Intent intent, android.content.Context$BindServiceFlags bindServiceFlags, java.lang.String string, java.util.concurrent.Executor executor, android.content.ServiceConnection serviceConnection) + bool bindIsolatedService1( + jni.JObject intent, + Context_BindServiceFlags bindServiceFlags, + jni.JString string, + jni.JObject executor, + jni.JObject serviceConnection, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_bindIsolatedService1, jni.JniCallType.booleanType, [ + intent.reference, + bindServiceFlags.reference, + string.reference, + executor.reference, + serviceConnection.reference + ]).boolean; + } + + static final _id_bindServiceAsUser = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"bindServiceAsUser", + r"(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/UserHandle;)Z"); + + /// from: public boolean bindServiceAsUser(android.content.Intent intent, android.content.ServiceConnection serviceConnection, int i, android.os.UserHandle userHandle) + bool bindServiceAsUser( + jni.JObject intent, + jni.JObject serviceConnection, + int i, + jni.JObject userHandle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_bindServiceAsUser, jni.JniCallType.booleanType, [ + intent.reference, + serviceConnection.reference, + jni.JValueInt(i), + userHandle.reference + ]).boolean; + } + + static final _id_bindServiceAsUser1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"bindServiceAsUser", + r"(Landroid/content/Intent;Landroid/content/ServiceConnection;Landroid/content/Context$BindServiceFlags;Landroid/os/UserHandle;)Z"); + + /// from: public boolean bindServiceAsUser(android.content.Intent intent, android.content.ServiceConnection serviceConnection, android.content.Context$BindServiceFlags bindServiceFlags, android.os.UserHandle userHandle) + bool bindServiceAsUser1( + jni.JObject intent, + jni.JObject serviceConnection, + Context_BindServiceFlags bindServiceFlags, + jni.JObject userHandle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_bindServiceAsUser1, jni.JniCallType.booleanType, [ + intent.reference, + serviceConnection.reference, + bindServiceFlags.reference, + userHandle.reference + ]).boolean; + } + + static final _id_updateServiceGroup = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"updateServiceGroup", + r"(Landroid/content/ServiceConnection;II)V"); + + /// from: public void updateServiceGroup(android.content.ServiceConnection serviceConnection, int i, int i1) + void updateServiceGroup( + jni.JObject serviceConnection, + int i, + int i1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_updateServiceGroup, jni.JniCallType.voidType, [ + serviceConnection.reference, + jni.JValueInt(i), + jni.JValueInt(i1) + ]).check(); + } + + static final _id_unbindService = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"unbindService", + r"(Landroid/content/ServiceConnection;)V"); + + /// from: public abstract void unbindService(android.content.ServiceConnection serviceConnection) + void unbindService( + jni.JObject serviceConnection, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_unbindService, + jni.JniCallType.voidType, [serviceConnection.reference]).check(); + } + + static final _id_startInstrumentation = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"startInstrumentation", + r"(Landroid/content/ComponentName;Ljava/lang/String;Landroid/os/Bundle;)Z"); + + /// from: public abstract boolean startInstrumentation(android.content.ComponentName componentName, java.lang.String string, android.os.Bundle bundle) + bool startInstrumentation( + jni.JObject componentName, + jni.JString string, + jni.JObject bundle, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_startInstrumentation, + jni.JniCallType.booleanType, + [componentName.reference, string.reference, bundle.reference]).boolean; + } + + static final _id_getSystemService = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getSystemService", + r"(Ljava/lang/String;)Ljava/lang/Object;"); + + /// from: public abstract java.lang.Object getSystemService(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getSystemService( + jni.JString string, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getSystemService, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_getSystemService1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getSystemService", + r"(Ljava/lang/Class;)Ljava/lang/Object;"); + + /// from: public final T getSystemService(java.lang.Class class) + /// The returned object must be released after use, by calling the [release] method. + $T getSystemService1<$T extends jni.JObject>( + jni.JObject class0, { + required jni.JObjType<$T> T, + }) { + return T.fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getSystemService1, + jni.JniCallType.objectType, + [class0.reference]).object); + } + + static final _id_getSystemServiceName = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getSystemServiceName", + r"(Ljava/lang/Class;)Ljava/lang/String;"); + + /// from: public abstract java.lang.String getSystemServiceName(java.lang.Class class) + /// The returned object must be released after use, by calling the [release] method. + jni.JString getSystemServiceName( + jni.JObject class0, + ) { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getSystemServiceName, + jni.JniCallType.objectType, + [class0.reference]).object); + } + + static final _id_checkPermission = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"checkPermission", r"(Ljava/lang/String;II)I"); + + /// from: public abstract int checkPermission(java.lang.String string, int i, int i1) + int checkPermission( + jni.JString string, + int i, + int i1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_checkPermission, + jni.JniCallType.intType, + [string.reference, jni.JValueInt(i), jni.JValueInt(i1)]).integer; + } + + static final _id_checkCallingPermission = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"checkCallingPermission", r"(Ljava/lang/String;)I"); + + /// from: public abstract int checkCallingPermission(java.lang.String string) + int checkCallingPermission( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_checkCallingPermission, + jni.JniCallType.intType, + [string.reference]).integer; + } + + static final _id_checkCallingOrSelfPermission = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"checkCallingOrSelfPermission", + r"(Ljava/lang/String;)I"); + + /// from: public abstract int checkCallingOrSelfPermission(java.lang.String string) + int checkCallingOrSelfPermission( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_checkCallingOrSelfPermission, + jni.JniCallType.intType, + [string.reference]).integer; + } + + static final _id_checkSelfPermission = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"checkSelfPermission", r"(Ljava/lang/String;)I"); + + /// from: public abstract int checkSelfPermission(java.lang.String string) + int checkSelfPermission( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_checkSelfPermission, + jni.JniCallType.intType, + [string.reference]).integer; + } + + static final _id_enforcePermission = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"enforcePermission", + r"(Ljava/lang/String;IILjava/lang/String;)V"); + + /// from: public abstract void enforcePermission(java.lang.String string, int i, int i1, java.lang.String string1) + void enforcePermission( + jni.JString string, + int i, + int i1, + jni.JString string1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_enforcePermission, jni.JniCallType.voidType, [ + string.reference, + jni.JValueInt(i), + jni.JValueInt(i1), + string1.reference + ]).check(); + } + + static final _id_enforceCallingPermission = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"enforceCallingPermission", + r"(Ljava/lang/String;Ljava/lang/String;)V"); + + /// from: public abstract void enforceCallingPermission(java.lang.String string, java.lang.String string1) + void enforceCallingPermission( + jni.JString string, + jni.JString string1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_enforceCallingPermission, + jni.JniCallType.voidType, + [string.reference, string1.reference]).check(); + } + + static final _id_enforceCallingOrSelfPermission = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"enforceCallingOrSelfPermission", + r"(Ljava/lang/String;Ljava/lang/String;)V"); + + /// from: public abstract void enforceCallingOrSelfPermission(java.lang.String string, java.lang.String string1) + void enforceCallingOrSelfPermission( + jni.JString string, + jni.JString string1, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_enforceCallingOrSelfPermission, + jni.JniCallType.voidType, + [string.reference, string1.reference]).check(); + } + + static final _id_grantUriPermission = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"grantUriPermission", + r"(Ljava/lang/String;Landroid/net/Uri;I)V"); + + /// from: public abstract void grantUriPermission(java.lang.String string, android.net.Uri uri, int i) + void grantUriPermission( + jni.JString string, + jni.JObject uri, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_grantUriPermission, + jni.JniCallType.voidType, + [string.reference, uri.reference, jni.JValueInt(i)]).check(); + } + + static final _id_revokeUriPermission = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"revokeUriPermission", r"(Landroid/net/Uri;I)V"); + + /// from: public abstract void revokeUriPermission(android.net.Uri uri, int i) + void revokeUriPermission( + jni.JObject uri, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_revokeUriPermission, + jni.JniCallType.voidType, + [uri.reference, jni.JValueInt(i)]).check(); + } + + static final _id_revokeUriPermission1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"revokeUriPermission", + r"(Ljava/lang/String;Landroid/net/Uri;I)V"); + + /// from: public abstract void revokeUriPermission(java.lang.String string, android.net.Uri uri, int i) + void revokeUriPermission1( + jni.JString string, + jni.JObject uri, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_revokeUriPermission1, + jni.JniCallType.voidType, + [string.reference, uri.reference, jni.JValueInt(i)]).check(); + } + + static final _id_checkUriPermission = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"checkUriPermission", r"(Landroid/net/Uri;III)I"); + + /// from: public abstract int checkUriPermission(android.net.Uri uri, int i, int i1, int i2) + int checkUriPermission( + jni.JObject uri, + int i, + int i1, + int i2, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_checkUriPermission, jni.JniCallType.intType, [ + uri.reference, + jni.JValueInt(i), + jni.JValueInt(i1), + jni.JValueInt(i2) + ]).integer; + } + + static final _id_checkUriPermissions = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"checkUriPermissions", r"(Ljava/util/List;III)[I"); + + /// from: public java.lang.Object[] checkUriPermissions(java.util.List list, int i, int i1, int i2) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray checkUriPermissions( + jni.JList list, + int i, + int i1, + int i2, + ) { + return const jni.JArrayType(jni.jintType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, _id_checkUriPermissions, jni.JniCallType.objectType, [ + list.reference, + jni.JValueInt(i), + jni.JValueInt(i1), + jni.JValueInt(i2) + ]).object); + } + + static final _id_checkCallingUriPermission = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"checkCallingUriPermission", r"(Landroid/net/Uri;I)I"); + + /// from: public abstract int checkCallingUriPermission(android.net.Uri uri, int i) + int checkCallingUriPermission( + jni.JObject uri, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_checkCallingUriPermission, + jni.JniCallType.intType, + [uri.reference, jni.JValueInt(i)]).integer; + } + + static final _id_checkCallingUriPermissions = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"checkCallingUriPermissions", + r"(Ljava/util/List;I)[I"); + + /// from: public java.lang.Object[] checkCallingUriPermissions(java.util.List list, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray checkCallingUriPermissions( + jni.JList list, + int i, + ) { + return const jni.JArrayType(jni.jintType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_checkCallingUriPermissions, + jni.JniCallType.objectType, + [list.reference, jni.JValueInt(i)]).object); + } + + static final _id_checkCallingOrSelfUriPermission = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"checkCallingOrSelfUriPermission", + r"(Landroid/net/Uri;I)I"); + + /// from: public abstract int checkCallingOrSelfUriPermission(android.net.Uri uri, int i) + int checkCallingOrSelfUriPermission( + jni.JObject uri, + int i, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_checkCallingOrSelfUriPermission, + jni.JniCallType.intType, + [uri.reference, jni.JValueInt(i)]).integer; + } + + static final _id_checkCallingOrSelfUriPermissions = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"checkCallingOrSelfUriPermissions", + r"(Ljava/util/List;I)[I"); + + /// from: public java.lang.Object[] checkCallingOrSelfUriPermissions(java.util.List list, int i) + /// The returned object must be released after use, by calling the [release] method. + jni.JArray checkCallingOrSelfUriPermissions( + jni.JList list, + int i, + ) { + return const jni.JArrayType(jni.jintType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_checkCallingOrSelfUriPermissions, + jni.JniCallType.objectType, + [list.reference, jni.JValueInt(i)]).object); + } + + static final _id_checkUriPermission1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"checkUriPermission", + r"(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;III)I"); + + /// from: public abstract int checkUriPermission(android.net.Uri uri, java.lang.String string, java.lang.String string1, int i, int i1, int i2) + int checkUriPermission1( + jni.JObject uri, + jni.JString string, + jni.JString string1, + int i, + int i1, + int i2, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_checkUriPermission1, jni.JniCallType.intType, [ + uri.reference, + string.reference, + string1.reference, + jni.JValueInt(i), + jni.JValueInt(i1), + jni.JValueInt(i2) + ]).integer; + } + + static final _id_enforceUriPermission = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"enforceUriPermission", + r"(Landroid/net/Uri;IIILjava/lang/String;)V"); + + /// from: public abstract void enforceUriPermission(android.net.Uri uri, int i, int i1, int i2, java.lang.String string) + void enforceUriPermission( + jni.JObject uri, + int i, + int i1, + int i2, + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_enforceUriPermission, jni.JniCallType.voidType, [ + uri.reference, + jni.JValueInt(i), + jni.JValueInt(i1), + jni.JValueInt(i2), + string.reference + ]).check(); + } + + static final _id_enforceCallingUriPermission = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"enforceCallingUriPermission", + r"(Landroid/net/Uri;ILjava/lang/String;)V"); + + /// from: public abstract void enforceCallingUriPermission(android.net.Uri uri, int i, java.lang.String string) + void enforceCallingUriPermission( + jni.JObject uri, + int i, + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_enforceCallingUriPermission, + jni.JniCallType.voidType, + [uri.reference, jni.JValueInt(i), string.reference]).check(); + } + + static final _id_enforceCallingOrSelfUriPermission = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"enforceCallingOrSelfUriPermission", + r"(Landroid/net/Uri;ILjava/lang/String;)V"); + + /// from: public abstract void enforceCallingOrSelfUriPermission(android.net.Uri uri, int i, java.lang.String string) + void enforceCallingOrSelfUriPermission( + jni.JObject uri, + int i, + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_enforceCallingOrSelfUriPermission, + jni.JniCallType.voidType, + [uri.reference, jni.JValueInt(i), string.reference]).check(); + } + + static final _id_enforceUriPermission1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"enforceUriPermission", + r"(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;)V"); + + /// from: public abstract void enforceUriPermission(android.net.Uri uri, java.lang.String string, java.lang.String string1, int i, int i1, int i2, java.lang.String string2) + void enforceUriPermission1( + jni.JObject uri, + jni.JString string, + jni.JString string1, + int i, + int i1, + int i2, + jni.JString string2, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_enforceUriPermission1, jni.JniCallType.voidType, [ + uri.reference, + string.reference, + string1.reference, + jni.JValueInt(i), + jni.JValueInt(i1), + jni.JValueInt(i2), + string2.reference + ]).check(); + } + + static final _id_revokeSelfPermissionOnKill = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"revokeSelfPermissionOnKill", + r"(Ljava/lang/String;)V"); + + /// from: public void revokeSelfPermissionOnKill(java.lang.String string) + void revokeSelfPermissionOnKill( + jni.JString string, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_revokeSelfPermissionOnKill, + jni.JniCallType.voidType, + [string.reference]).check(); + } + + static final _id_revokeSelfPermissionsOnKill = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"revokeSelfPermissionsOnKill", + r"(Ljava/util/Collection;)V"); + + /// from: public void revokeSelfPermissionsOnKill(java.util.Collection collection) + void revokeSelfPermissionsOnKill( + jni.JObject collection, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_revokeSelfPermissionsOnKill, + jni.JniCallType.voidType, + [collection.reference]).check(); + } + + static final _id_createPackageContext = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createPackageContext", + r"(Ljava/lang/String;I)Landroid/content/Context;"); + + /// from: public abstract android.content.Context createPackageContext(java.lang.String string, int i) + /// The returned object must be released after use, by calling the [release] method. + Context createPackageContext( + jni.JString string, + int i, + ) { + return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createPackageContext, + jni.JniCallType.objectType, + [string.reference, jni.JValueInt(i)]).object); + } + + static final _id_createContextForSplit = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createContextForSplit", + r"(Ljava/lang/String;)Landroid/content/Context;"); + + /// from: public abstract android.content.Context createContextForSplit(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Context createContextForSplit( + jni.JString string, + ) { + return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createContextForSplit, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_createConfigurationContext = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createConfigurationContext", + r"(Landroid/content/res/Configuration;)Landroid/content/Context;"); + + /// from: public abstract android.content.Context createConfigurationContext(android.content.res.Configuration configuration) + /// The returned object must be released after use, by calling the [release] method. + Context createConfigurationContext( + jni.JObject configuration, + ) { + return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createConfigurationContext, + jni.JniCallType.objectType, + [configuration.reference]).object); + } + + static final _id_createDisplayContext = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createDisplayContext", + r"(Landroid/view/Display;)Landroid/content/Context;"); + + /// from: public abstract android.content.Context createDisplayContext(android.view.Display display) + /// The returned object must be released after use, by calling the [release] method. + Context createDisplayContext( + jni.JObject display, + ) { + return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createDisplayContext, + jni.JniCallType.objectType, + [display.reference]).object); + } + + static final _id_createDeviceContext = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createDeviceContext", + r"(I)Landroid/content/Context;"); + + /// from: public android.content.Context createDeviceContext(int i) + /// The returned object must be released after use, by calling the [release] method. + Context createDeviceContext( + int i, + ) { + return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createDeviceContext, + jni.JniCallType.objectType, + [jni.JValueInt(i)]).object); + } + + static final _id_createWindowContext = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createWindowContext", + r"(ILandroid/os/Bundle;)Landroid/content/Context;"); + + /// from: public android.content.Context createWindowContext(int i, android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + Context createWindowContext( + int i, + jni.JObject bundle, + ) { + return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createWindowContext, + jni.JniCallType.objectType, + [jni.JValueInt(i), bundle.reference]).object); + } + + static final _id_createWindowContext1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createWindowContext", + r"(Landroid/view/Display;ILandroid/os/Bundle;)Landroid/content/Context;"); + + /// from: public android.content.Context createWindowContext(android.view.Display display, int i, android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + Context createWindowContext1( + jni.JObject display, + int i, + jni.JObject bundle, + ) { + return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createWindowContext1, + jni.JniCallType.objectType, + [display.reference, jni.JValueInt(i), bundle.reference]).object); + } + + static final _id_createContext = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createContext", + r"(Landroid/content/ContextParams;)Landroid/content/Context;"); + + /// from: public android.content.Context createContext(android.content.ContextParams contextParams) + /// The returned object must be released after use, by calling the [release] method. + Context createContext( + jni.JObject contextParams, + ) { + return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createContext, + jni.JniCallType.objectType, + [contextParams.reference]).object); + } + + static final _id_createAttributionContext = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createAttributionContext", + r"(Ljava/lang/String;)Landroid/content/Context;"); + + /// from: public android.content.Context createAttributionContext(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + Context createAttributionContext( + jni.JString string, + ) { + return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createAttributionContext, + jni.JniCallType.objectType, + [string.reference]).object); + } + + static final _id_createDeviceProtectedStorageContext = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"createDeviceProtectedStorageContext", + r"()Landroid/content/Context;"); + + /// from: public abstract android.content.Context createDeviceProtectedStorageContext() + /// The returned object must be released after use, by calling the [release] method. + Context createDeviceProtectedStorageContext() { + return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createDeviceProtectedStorageContext, + jni.JniCallType.objectType, []).object); + } + + static final _id_getDisplay = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getDisplay", r"()Landroid/view/Display;"); + + /// from: public android.view.Display getDisplay() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getDisplay() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getDisplay, jni.JniCallType.objectType, []).object); + } + + static final _id_getDeviceId = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"getDeviceId", r"()I"); + + /// from: public int getDeviceId() + int getDeviceId() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getDeviceId, jni.JniCallType.intType, []).integer; + } + + static final _id_registerDeviceIdChangeListener = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"registerDeviceIdChangeListener", + r"(Ljava/util/concurrent/Executor;Ljava/util/function/IntConsumer;)V"); + + /// from: public void registerDeviceIdChangeListener(java.util.concurrent.Executor executor, java.util.function.IntConsumer intConsumer) + void registerDeviceIdChangeListener( + jni.JObject executor, + jni.JObject intConsumer, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_registerDeviceIdChangeListener, + jni.JniCallType.voidType, + [executor.reference, intConsumer.reference]).check(); + } + + static final _id_unregisterDeviceIdChangeListener = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"unregisterDeviceIdChangeListener", + r"(Ljava/util/function/IntConsumer;)V"); + + /// from: public void unregisterDeviceIdChangeListener(java.util.function.IntConsumer intConsumer) + void unregisterDeviceIdChangeListener( + jni.JObject intConsumer, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_unregisterDeviceIdChangeListener, + jni.JniCallType.voidType, + [intConsumer.reference]).check(); + } + + static final _id_isRestricted = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isRestricted", r"()Z"); + + /// from: public boolean isRestricted() + bool isRestricted() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isRestricted, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_isDeviceProtectedStorage = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isDeviceProtectedStorage", r"()Z"); + + /// from: public abstract boolean isDeviceProtectedStorage() + bool isDeviceProtectedStorage() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_isDeviceProtectedStorage, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_isUiContext = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isUiContext", r"()Z"); + + /// from: public boolean isUiContext() + bool isUiContext() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isUiContext, jni.JniCallType.booleanType, []).boolean; + } +} + +final class $ContextType extends jni.JObjType { + const $ContextType(); + + @override + String get signature => r"Landroid/content/Context;"; + + @override + Context fromRef(jni.JObjectPtr ref) => Context.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($ContextType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($ContextType) && other is $ContextType; + } +} + +/// from: android.os.CancellationSignal$OnCancelListener +class CancellationSignal_OnCancelListener extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CancellationSignal_OnCancelListener.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"android/os/CancellationSignal$OnCancelListener"); + + /// The type which includes information such as the signature of this class. + static const type = $CancellationSignal_OnCancelListenerType(); + static final _id_onCancel = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"onCancel", r"()V"); + + /// from: public abstract void onCancel() + void onCancel() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_onCancel, jni.JniCallType.voidType, []).check(); + } + + /// Maps a specific port to the implemented interface. + static final Map _$impls = {}; + ReceivePort? _$p; + + static jni.JObjectPtr _$invoke( + int port, + jni.JObjectPtr descriptor, + jni.JObjectPtr args, + ) { + return _$invokeMethod( + port, + $MethodInvocation.fromAddresses( + 0, + descriptor.address, + args.address, + ), + ); + } + + static final ffi.Pointer< + ffi.NativeFunction< + jni.JObjectPtr Function( + ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> + _$invokePointer = ffi.Pointer.fromFunction(_$invoke); + + static ffi.Pointer _$invokeMethod( + int $p, + $MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + if ($d == r"onCancel()V") { + _$impls[$p]!.onCancel(); + return jni.nullptr; + } + } catch (e) { + return ProtectedJniExtensions.newDartException(e.toString()); + } + return jni.nullptr; + } + + factory CancellationSignal_OnCancelListener.implement( + $CancellationSignal_OnCancelListenerImpl $impl, + ) { + final $p = ReceivePort(); + final $x = CancellationSignal_OnCancelListener.fromRef( + ProtectedJniExtensions.newPortProxy( + r"android.os.CancellationSignal$OnCancelListener", + $p, + _$invokePointer, + ), + ).._$p = $p; + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + $p.listen(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = $MethodInvocation.fromMessage($m as List); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + ProtectedJniExtensions.returnResult($i.result, $r); + }); + return $x; + } +} + +abstract class $CancellationSignal_OnCancelListenerImpl { + factory $CancellationSignal_OnCancelListenerImpl({ + required void Function() onCancel, + }) = _$CancellationSignal_OnCancelListenerImpl; + + void onCancel(); +} + +class _$CancellationSignal_OnCancelListenerImpl + implements $CancellationSignal_OnCancelListenerImpl { + _$CancellationSignal_OnCancelListenerImpl({ + required void Function() onCancel, + }) : _onCancel = onCancel; + + final void Function() _onCancel; + + void onCancel() { + return _onCancel(); + } +} + +final class $CancellationSignal_OnCancelListenerType + extends jni.JObjType { + const $CancellationSignal_OnCancelListenerType(); + + @override + String get signature => r"Landroid/os/CancellationSignal$OnCancelListener;"; + + @override + CancellationSignal_OnCancelListener fromRef(jni.JObjectPtr ref) => + CancellationSignal_OnCancelListener.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CancellationSignal_OnCancelListenerType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CancellationSignal_OnCancelListenerType) && + other is $CancellationSignal_OnCancelListenerType; + } +} + +/// from: android.os.CancellationSignal +class CancellationSignal extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CancellationSignal.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"android/os/CancellationSignal"); + + /// The type which includes information such as the signature of this class. + static const type = $CancellationSignalType(); + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory CancellationSignal() { + return CancellationSignal.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_isCanceled = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isCanceled", r"()Z"); + + /// from: public boolean isCanceled() + bool isCanceled() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isCanceled, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_throwIfCanceled = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"throwIfCanceled", r"()V"); + + /// from: public void throwIfCanceled() + void throwIfCanceled() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_throwIfCanceled, jni.JniCallType.voidType, []).check(); + } + + static final _id_cancel = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"cancel", r"()V"); + + /// from: public void cancel() + void cancel() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_cancel, jni.JniCallType.voidType, []).check(); + } + + static final _id_setOnCancelListener = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setOnCancelListener", + r"(Landroid/os/CancellationSignal$OnCancelListener;)V"); + + /// from: public void setOnCancelListener(android.os.CancellationSignal$OnCancelListener onCancelListener) + void setOnCancelListener( + CancellationSignal_OnCancelListener onCancelListener, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_setOnCancelListener, + jni.JniCallType.voidType, + [onCancelListener.reference]).check(); + } +} + +final class $CancellationSignalType extends jni.JObjType { + const $CancellationSignalType(); + + @override + String get signature => r"Landroid/os/CancellationSignal;"; + + @override + CancellationSignal fromRef(jni.JObjectPtr ref) => + CancellationSignal.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CancellationSignalType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CancellationSignalType) && + other is $CancellationSignalType; + } +} + +/// from: java.lang.Runnable +class Runnable extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Runnable.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"java/lang/Runnable"); + + /// The type which includes information such as the signature of this class. + static const type = $RunnableType(); + static final _id_run = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"run", r"()V"); + + /// from: public abstract void run() + void run() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_run, jni.JniCallType.voidType, []).check(); + } + + /// Maps a specific port to the implemented interface. + static final Map _$impls = {}; + ReceivePort? _$p; + + static jni.JObjectPtr _$invoke( + int port, + jni.JObjectPtr descriptor, + jni.JObjectPtr args, + ) { + return _$invokeMethod( + port, + $MethodInvocation.fromAddresses( + 0, + descriptor.address, + args.address, + ), + ); + } + + static final ffi.Pointer< + ffi.NativeFunction< + jni.JObjectPtr Function( + ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> + _$invokePointer = ffi.Pointer.fromFunction(_$invoke); + + static ffi.Pointer _$invokeMethod( + int $p, + $MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + if ($d == r"run()V") { + _$impls[$p]!.run(); + return jni.nullptr; + } + } catch (e) { + return ProtectedJniExtensions.newDartException(e.toString()); + } + return jni.nullptr; + } + + factory Runnable.implement( + $RunnableImpl $impl, + ) { + final $p = ReceivePort(); + final $x = Runnable.fromRef( + ProtectedJniExtensions.newPortProxy( + r"java.lang.Runnable", + $p, + _$invokePointer, + ), + ).._$p = $p; + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + $p.listen(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = $MethodInvocation.fromMessage($m as List); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + ProtectedJniExtensions.returnResult($i.result, $r); + }); + return $x; + } +} + +abstract class $RunnableImpl { + factory $RunnableImpl({ + required void Function() run, + }) = _$RunnableImpl; + + void run(); +} + +class _$RunnableImpl implements $RunnableImpl { + _$RunnableImpl({ + required void Function() run, + }) : _run = run; + + final void Function() _run; + + void run() { + return _run(); + } +} + +final class $RunnableType extends jni.JObjType { + const $RunnableType(); + + @override + String get signature => r"Ljava/lang/Runnable;"; + + @override + Runnable fromRef(jni.JObjectPtr ref) => Runnable.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($RunnableType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($RunnableType) && other is $RunnableType; + } +} + +/// from: java.lang.Exception +class Exception extends Throwable { + @override + late final jni.JObjType $type = type; + + Exception.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"java/lang/Exception"); + + /// The type which includes information such as the signature of this class. + static const type = $ExceptionType(); + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory Exception() { + return Exception.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_new1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); + + /// from: public void (java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory Exception.new1( + jni.JString string, + ) { + return Exception.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new1, [string.reference]).object); + } + + static final _id_new2 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Ljava/lang/String;Ljava/lang/Throwable;)V"); + + /// from: public void (java.lang.String string, java.lang.Throwable throwable) + /// The returned object must be released after use, by calling the [release] method. + factory Exception.new2( + jni.JString string, + Throwable throwable, + ) { + return Exception.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, + _id_new2, + [string.reference, throwable.reference]).object); + } + + static final _id_new3 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/Throwable;)V"); + + /// from: public void (java.lang.Throwable throwable) + /// The returned object must be released after use, by calling the [release] method. + factory Exception.new3( + Throwable throwable, + ) { + return Exception.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new3, [throwable.reference]).object); + } + + static final _id_new4 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Ljava/lang/String;Ljava/lang/Throwable;ZZ)V"); + + /// from: protected void (java.lang.String string, java.lang.Throwable throwable, boolean z, boolean z1) + /// The returned object must be released after use, by calling the [release] method. + factory Exception.new4( + jni.JString string, + Throwable throwable, + bool z, + bool z1, + ) { + return Exception.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, + _id_new4, + [string.reference, throwable.reference, z ? 1 : 0, z1 ? 1 : 0]).object); + } +} + +final class $ExceptionType extends jni.JObjType { + const $ExceptionType(); + + @override + String get signature => r"Ljava/lang/Exception;"; + + @override + Exception fromRef(jni.JObjectPtr ref) => Exception.fromRef(ref); + + @override + jni.JObjType get superType => const $ThrowableType(); + + @override + final superCount = 2; + + @override + int get hashCode => ($ExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($ExceptionType) && other is $ExceptionType; + } +} + +/// from: java.lang.Throwable +class Throwable extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Throwable.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"java/lang/Throwable"); + + /// The type which includes information such as the signature of this class. + static const type = $ThrowableType(); + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory Throwable() { + return Throwable.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_new1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); + + /// from: public void (java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory Throwable.new1( + jni.JString string, + ) { + return Throwable.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new1, [string.reference]).object); + } + + static final _id_new2 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Ljava/lang/String;Ljava/lang/Throwable;)V"); + + /// from: public void (java.lang.String string, java.lang.Throwable throwable) + /// The returned object must be released after use, by calling the [release] method. + factory Throwable.new2( + jni.JString string, + Throwable throwable, + ) { + return Throwable.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, + _id_new2, + [string.reference, throwable.reference]).object); + } + + static final _id_new3 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/Throwable;)V"); + + /// from: public void (java.lang.Throwable throwable) + /// The returned object must be released after use, by calling the [release] method. + factory Throwable.new3( + Throwable throwable, + ) { + return Throwable.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new3, [throwable.reference]).object); + } + + static final _id_new4 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Ljava/lang/String;Ljava/lang/Throwable;ZZ)V"); + + /// from: protected void (java.lang.String string, java.lang.Throwable throwable, boolean z, boolean z1) + /// The returned object must be released after use, by calling the [release] method. + factory Throwable.new4( + jni.JString string, + Throwable throwable, + bool z, + bool z1, + ) { + return Throwable.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, + _id_new4, + [string.reference, throwable.reference, z ? 1 : 0, z1 ? 1 : 0]).object); + } + + static final _id_getMessage = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getMessage", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getMessage() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getMessage() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getMessage, jni.JniCallType.objectType, []).object); + } + + static final _id_getLocalizedMessage = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getLocalizedMessage", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getLocalizedMessage() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getLocalizedMessage() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getLocalizedMessage, + jni.JniCallType.objectType, []).object); + } + + static final _id_getCause = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getCause", r"()Ljava/lang/Throwable;"); + + /// from: public java.lang.Throwable getCause() + /// The returned object must be released after use, by calling the [release] method. + Throwable getCause() { + return const $ThrowableType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getCause, jni.JniCallType.objectType, []).object); + } + + static final _id_initCause = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"initCause", r"(Ljava/lang/Throwable;)Ljava/lang/Throwable;"); + + /// from: public java.lang.Throwable initCause(java.lang.Throwable throwable) + /// The returned object must be released after use, by calling the [release] method. + Throwable initCause( + Throwable throwable, + ) { + return const $ThrowableType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_initCause, + jni.JniCallType.objectType, + [throwable.reference]).object); + } + + static final _id_toString1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"toString", r"()Ljava/lang/String;"); + + /// from: public java.lang.String toString() + /// The returned object must be released after use, by calling the [release] method. + jni.JString toString1() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_toString1, jni.JniCallType.objectType, []).object); + } + + static final _id_printStackTrace = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"printStackTrace", r"()V"); + + /// from: public void printStackTrace() + void printStackTrace() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_printStackTrace, jni.JniCallType.voidType, []).check(); + } + + static final _id_printStackTrace1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"printStackTrace", r"(Ljava/io/PrintStream;)V"); + + /// from: public void printStackTrace(java.io.PrintStream printStream) + void printStackTrace1( + jni.JObject printStream, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_printStackTrace1, + jni.JniCallType.voidType, [printStream.reference]).check(); + } + + static final _id_printStackTrace2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"printStackTrace", r"(Ljava/io/PrintWriter;)V"); + + /// from: public void printStackTrace(java.io.PrintWriter printWriter) + void printStackTrace2( + jni.JObject printWriter, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_printStackTrace2, + jni.JniCallType.voidType, [printWriter.reference]).check(); + } + + static final _id_fillInStackTrace = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"fillInStackTrace", r"()Ljava/lang/Throwable;"); + + /// from: public java.lang.Throwable fillInStackTrace() + /// The returned object must be released after use, by calling the [release] method. + Throwable fillInStackTrace() { + return const $ThrowableType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_fillInStackTrace, + jni.JniCallType.objectType, []).object); + } + + static final _id_getStackTrace = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getStackTrace", r"()[Ljava/lang/StackTraceElement;"); + + /// from: public java.lang.StackTraceElement[] getStackTrace() + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getStackTrace() { + return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getStackTrace, + jni.JniCallType.objectType, []).object); + } + + static final _id_setStackTrace = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"setStackTrace", r"([Ljava/lang/StackTraceElement;)V"); + + /// from: public void setStackTrace(java.lang.StackTraceElement[] stackTraceElements) + void setStackTrace( + jni.JArray stackTraceElements, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_setStackTrace, + jni.JniCallType.voidType, [stackTraceElements.reference]).check(); + } + + static final _id_addSuppressed = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"addSuppressed", r"(Ljava/lang/Throwable;)V"); + + /// from: public final void addSuppressed(java.lang.Throwable throwable) + void addSuppressed( + Throwable throwable, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_addSuppressed, + jni.JniCallType.voidType, [throwable.reference]).check(); + } + + static final _id_getSuppressed = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getSuppressed", r"()[Ljava/lang/Throwable;"); + + /// from: public final java.lang.Throwable[] getSuppressed() + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getSuppressed() { + return const jni.JArrayType($ThrowableType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getSuppressed, + jni.JniCallType.objectType, []).object); + } +} + +final class $ThrowableType extends jni.JObjType { + const $ThrowableType(); + + @override + String get signature => r"Ljava/lang/Throwable;"; + + @override + Throwable fromRef(jni.JObjectPtr ref) => Throwable.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($ThrowableType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($ThrowableType) && other is $ThrowableType; + } +} + +/// from: androidx.credentials.CreateCredentialRequest$Companion +class CreateCredentialRequest_Companion extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CreateCredentialRequest_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/CreateCredentialRequest$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialRequest_CompanionType(); + static final _id_createFrom = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/Bundle;ZLjava/lang/String;)Landroidx/credentials/CreateCredentialRequest;"); + + /// from: public final androidx.credentials.CreateCredentialRequest createFrom(java.lang.String string, android.os.Bundle bundle, android.os.Bundle bundle1, boolean z, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + CreateCredentialRequest createFrom( + jni.JString string, + jni.JObject bundle, + jni.JObject bundle1, + bool z, + jni.JString string1, + ) { + return const $CreateCredentialRequestType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, _id_createFrom, jni.JniCallType.objectType, [ + string.reference, + bundle.reference, + bundle1.reference, + z ? 1 : 0, + string1.reference + ]).object); + } + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialRequest_Companion( + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialRequest_Companion.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $CreateCredentialRequest_CompanionType + extends jni.JObjType { + const $CreateCredentialRequest_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/CreateCredentialRequest$Companion;"; + + @override + CreateCredentialRequest_Companion fromRef(jni.JObjectPtr ref) => + CreateCredentialRequest_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CreateCredentialRequest_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreateCredentialRequest_CompanionType) && + other is $CreateCredentialRequest_CompanionType; + } +} + +/// from: androidx.credentials.CreateCredentialRequest$DisplayInfo$Companion +class CreateCredentialRequest_DisplayInfo_Companion extends jni.JObject { + @override + late final jni.JObjType $type = + type; + + CreateCredentialRequest_DisplayInfo_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/CreateCredentialRequest$DisplayInfo$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialRequest_DisplayInfo_CompanionType(); + static final _id_parseFromCredentialDataBundle = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"parseFromCredentialDataBundle", + r"(Landroid/os/Bundle;)Landroidx/credentials/CreateCredentialRequest$DisplayInfo;"); + + /// from: public final androidx.credentials.CreateCredentialRequest$DisplayInfo parseFromCredentialDataBundle(android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + CreateCredentialRequest_DisplayInfo parseFromCredentialDataBundle( + jni.JObject bundle, + ) { + return const $CreateCredentialRequest_DisplayInfoType().fromRef( + jni.Jni.accessors.callMethodWithArgs( + reference, + _id_parseFromCredentialDataBundle, + jni.JniCallType.objectType, + [bundle.reference]).object); + } + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialRequest_DisplayInfo_Companion( + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialRequest_DisplayInfo_Companion.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $CreateCredentialRequest_DisplayInfo_CompanionType + extends jni.JObjType { + const $CreateCredentialRequest_DisplayInfo_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/CreateCredentialRequest$DisplayInfo$Companion;"; + + @override + CreateCredentialRequest_DisplayInfo_Companion fromRef(jni.JObjectPtr ref) => + CreateCredentialRequest_DisplayInfo_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => + ($CreateCredentialRequest_DisplayInfo_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($CreateCredentialRequest_DisplayInfo_CompanionType) && + other is $CreateCredentialRequest_DisplayInfo_CompanionType; + } +} + +/// from: androidx.credentials.CreateCredentialRequest$DisplayInfo +class CreateCredentialRequest_DisplayInfo extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CreateCredentialRequest_DisplayInfo.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/CreateCredentialRequest$DisplayInfo"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialRequest_DisplayInfoType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/CreateCredentialRequest$DisplayInfo$Companion;", + ); + + /// from: static public final androidx.credentials.CreateCredentialRequest$DisplayInfo$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static CreateCredentialRequest_DisplayInfo_Companion get Companion => + const $CreateCredentialRequest_DisplayInfo_CompanionType().fromRef(jni + .Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String BUNDLE_KEY_REQUEST_DISPLAY_INFO + static const BUNDLE_KEY_REQUEST_DISPLAY_INFO = + r"""androidx.credentials.BUNDLE_KEY_REQUEST_DISPLAY_INFO"""; + + /// from: static public final java.lang.String BUNDLE_KEY_USER_ID + static const BUNDLE_KEY_USER_ID = + r"""androidx.credentials.BUNDLE_KEY_USER_ID"""; + + /// from: static public final java.lang.String BUNDLE_KEY_USER_DISPLAY_NAME + static const BUNDLE_KEY_USER_DISPLAY_NAME = + r"""androidx.credentials.BUNDLE_KEY_USER_DISPLAY_NAME"""; + + /// from: static public final java.lang.String BUNDLE_KEY_CREDENTIAL_TYPE_ICON + static const BUNDLE_KEY_CREDENTIAL_TYPE_ICON = + r"""androidx.credentials.BUNDLE_KEY_CREDENTIAL_TYPE_ICON"""; + + /// from: static public final java.lang.String BUNDLE_KEY_DEFAULT_PROVIDER + static const BUNDLE_KEY_DEFAULT_PROVIDER = + r"""androidx.credentials.BUNDLE_KEY_DEFAULT_PROVIDER"""; + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/graphics/drawable/Icon;Ljava/lang/String;)V"); + + /// from: public void (java.lang.CharSequence charSequence, java.lang.CharSequence charSequence1, android.graphics.drawable.Icon icon, java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialRequest_DisplayInfo( + jni.JObject charSequence, + jni.JObject charSequence1, + jni.JObject icon, + jni.JString string, + ) { + return CreateCredentialRequest_DisplayInfo.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, [ + charSequence.reference, + charSequence1.reference, + icon.reference, + string.reference + ]).object); + } + + static final _id_getUserId = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getUserId", r"()Ljava/lang/CharSequence;"); + + /// from: public final java.lang.CharSequence getUserId() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getUserId() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getUserId, jni.JniCallType.objectType, []).object); + } + + static final _id_getUserDisplayName = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getUserDisplayName", r"()Ljava/lang/CharSequence;"); + + /// from: public final java.lang.CharSequence getUserDisplayName() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getUserDisplayName() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getUserDisplayName, + jni.JniCallType.objectType, []).object); + } + + static final _id_getCredentialTypeIcon = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getCredentialTypeIcon", + r"()Landroid/graphics/drawable/Icon;"); + + /// from: public final android.graphics.drawable.Icon getCredentialTypeIcon() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getCredentialTypeIcon() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getCredentialTypeIcon, + jni.JniCallType.objectType, []).object); + } + + static final _id_getPreferDefaultProvider = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getPreferDefaultProvider", r"()Ljava/lang/String;"); + + /// from: public final java.lang.String getPreferDefaultProvider() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getPreferDefaultProvider() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getPreferDefaultProvider, + jni.JniCallType.objectType, []).object); + } + + static final _id_new1 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V"); + + /// from: public void (java.lang.CharSequence charSequence, java.lang.CharSequence charSequence1) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialRequest_DisplayInfo.new1( + jni.JObject charSequence, + jni.JObject charSequence1, + ) { + return CreateCredentialRequest_DisplayInfo.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new1, + [charSequence.reference, charSequence1.reference]).object); + } + + static final _id_new2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/CharSequence;Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.CharSequence charSequence, java.lang.CharSequence charSequence1, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialRequest_DisplayInfo.new2( + jni.JObject charSequence, + jni.JObject charSequence1, + int i, + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialRequest_DisplayInfo.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new2, [ + charSequence.reference, + charSequence1.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_new3 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/String;)V"); + + /// from: public void (java.lang.CharSequence charSequence, java.lang.CharSequence charSequence1, java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialRequest_DisplayInfo.new3( + jni.JObject charSequence, + jni.JObject charSequence1, + jni.JString string, + ) { + return CreateCredentialRequest_DisplayInfo.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new3, [ + charSequence.reference, + charSequence1.reference, + string.reference + ]).object); + } + + static final _id_toBundle = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"toBundle", r"()Landroid/os/Bundle;"); + + /// from: public final android.os.Bundle toBundle() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject toBundle() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_toBundle, jni.JniCallType.objectType, []).object); + } + + static final _id_new4 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/lang/CharSequence;)V"); + + /// from: public void (java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialRequest_DisplayInfo.new4( + jni.JObject charSequence, + ) { + return CreateCredentialRequest_DisplayInfo.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new4, [charSequence.reference]).object); + } + + static final _id_parseFromCredentialDataBundle = jni.Jni.accessors + .getStaticMethodIDOf(_class.reference, r"parseFromCredentialDataBundle", + r"(Landroid/os/Bundle;)Landroidx/credentials/CreateCredentialRequest$DisplayInfo;"); + + /// from: static public final androidx.credentials.CreateCredentialRequest$DisplayInfo parseFromCredentialDataBundle(android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + static CreateCredentialRequest_DisplayInfo parseFromCredentialDataBundle( + jni.JObject bundle, + ) { + return const $CreateCredentialRequest_DisplayInfoType().fromRef( + jni.Jni.accessors.callStaticMethodWithArgs( + _class.reference, + _id_parseFromCredentialDataBundle, + jni.JniCallType.objectType, + [bundle.reference]).object); + } +} + +final class $CreateCredentialRequest_DisplayInfoType + extends jni.JObjType { + const $CreateCredentialRequest_DisplayInfoType(); + + @override + String get signature => + r"Landroidx/credentials/CreateCredentialRequest$DisplayInfo;"; + + @override + CreateCredentialRequest_DisplayInfo fromRef(jni.JObjectPtr ref) => + CreateCredentialRequest_DisplayInfo.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CreateCredentialRequest_DisplayInfoType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreateCredentialRequest_DisplayInfoType) && + other is $CreateCredentialRequest_DisplayInfoType; + } +} + +/// from: androidx.credentials.CreateCredentialRequest +class CreateCredentialRequest extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CreateCredentialRequest.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/credentials/CreateCredentialRequest"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialRequestType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/CreateCredentialRequest$Companion;", + ); + + /// from: static public final androidx.credentials.CreateCredentialRequest$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static CreateCredentialRequest_Companion get Companion => + const $CreateCredentialRequest_CompanionType().fromRef(jni.Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String BUNDLE_KEY_PREFER_IMMEDIATELY_AVAILABLE_CREDENTIALS + static const BUNDLE_KEY_PREFER_IMMEDIATELY_AVAILABLE_CREDENTIALS = + r"""androidx.credentials.BUNDLE_KEY_PREFER_IMMEDIATELY_AVAILABLE_CREDENTIALS"""; + + /// from: static public final java.lang.String BUNDLE_KEY_IS_AUTO_SELECT_ALLOWED + static const BUNDLE_KEY_IS_AUTO_SELECT_ALLOWED = + r"""androidx.credentials.BUNDLE_KEY_IS_AUTO_SELECT_ALLOWED"""; + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/Bundle;ZZLandroidx/credentials/CreateCredentialRequest$DisplayInfo;Ljava/lang/String;Z)V"); + + /// from: public void (java.lang.String string, android.os.Bundle bundle, android.os.Bundle bundle1, boolean z, boolean z1, androidx.credentials.CreateCredentialRequest$DisplayInfo displayInfo, java.lang.String string1, boolean z2) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialRequest( + jni.JString string, + jni.JObject bundle, + jni.JObject bundle1, + bool z, + bool z1, + CreateCredentialRequest_DisplayInfo displayInfo, + jni.JString string1, + bool z2, + ) { + return CreateCredentialRequest.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, [ + string.reference, + bundle.reference, + bundle1.reference, + z ? 1 : 0, + z1 ? 1 : 0, + displayInfo.reference, + string1.reference, + z2 ? 1 : 0 + ]).object); + } + + static final _id_getType = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getType", r"()Ljava/lang/String;"); + + /// from: public final java.lang.String getType() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getType() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getType, jni.JniCallType.objectType, []).object); + } + + static final _id_getCredentialData = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getCredentialData", r"()Landroid/os/Bundle;"); + + /// from: public final android.os.Bundle getCredentialData() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getCredentialData() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getCredentialData, + jni.JniCallType.objectType, []).object); + } + + static final _id_getCandidateQueryData = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getCandidateQueryData", r"()Landroid/os/Bundle;"); + + /// from: public final android.os.Bundle getCandidateQueryData() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getCandidateQueryData() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getCandidateQueryData, + jni.JniCallType.objectType, []).object); + } + + static final _id_isSystemProviderRequired = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isSystemProviderRequired", r"()Z"); + + /// from: public final boolean isSystemProviderRequired() + bool isSystemProviderRequired() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_isSystemProviderRequired, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_isAutoSelectAllowed = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isAutoSelectAllowed", r"()Z"); + + /// from: public final boolean isAutoSelectAllowed() + bool isAutoSelectAllowed() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_isAutoSelectAllowed, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_getDisplayInfo = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getDisplayInfo", + r"()Landroidx/credentials/CreateCredentialRequest$DisplayInfo;"); + + /// from: public final androidx.credentials.CreateCredentialRequest$DisplayInfo getDisplayInfo() + /// The returned object must be released after use, by calling the [release] method. + CreateCredentialRequest_DisplayInfo getDisplayInfo() { + return const $CreateCredentialRequest_DisplayInfoType().fromRef( + jni.Jni.accessors.callMethodWithArgs(reference, _id_getDisplayInfo, + jni.JniCallType.objectType, []).object); + } + + static final _id_getOrigin = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getOrigin", r"()Ljava/lang/String;"); + + /// from: public final java.lang.String getOrigin() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getOrigin() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getOrigin, jni.JniCallType.objectType, []).object); + } + + static final _id_preferImmediatelyAvailableCredentials = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"preferImmediatelyAvailableCredentials", r"()Z"); + + /// from: public final boolean preferImmediatelyAvailableCredentials() + bool preferImmediatelyAvailableCredentials() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_preferImmediatelyAvailableCredentials, + jni.JniCallType.booleanType, []).boolean; + } + + static final _id_createFrom = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/Bundle;ZLjava/lang/String;)Landroidx/credentials/CreateCredentialRequest;"); + + /// from: static public final androidx.credentials.CreateCredentialRequest createFrom(java.lang.String string, android.os.Bundle bundle, android.os.Bundle bundle1, boolean z, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + static CreateCredentialRequest createFrom( + jni.JString string, + jni.JObject bundle, + jni.JObject bundle1, + bool z, + jni.JString string1, + ) { + return const $CreateCredentialRequestType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, _id_createFrom, jni.JniCallType.objectType, [ + string.reference, + bundle.reference, + bundle1.reference, + z ? 1 : 0, + string1.reference + ]).object); + } +} + +final class $CreateCredentialRequestType + extends jni.JObjType { + const $CreateCredentialRequestType(); + + @override + String get signature => r"Landroidx/credentials/CreateCredentialRequest;"; + + @override + CreateCredentialRequest fromRef(jni.JObjectPtr ref) => + CreateCredentialRequest.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CreateCredentialRequestType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreateCredentialRequestType) && + other is $CreateCredentialRequestType; + } +} + +/// from: androidx.credentials.CreateCredentialResponse$Companion +class CreateCredentialResponse_Companion extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CreateCredentialResponse_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/CreateCredentialResponse$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialResponse_CompanionType(); + static final _id_createFrom = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/lang/String;Landroid/os/Bundle;)Landroidx/credentials/CreateCredentialResponse;"); + + /// from: public final androidx.credentials.CreateCredentialResponse createFrom(java.lang.String string, android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + CreateCredentialResponse createFrom( + jni.JString string, + jni.JObject bundle, + ) { + return const $CreateCredentialResponseType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_createFrom, + jni.JniCallType.objectType, + [string.reference, bundle.reference]).object); + } + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialResponse_Companion( + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialResponse_Companion.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $CreateCredentialResponse_CompanionType + extends jni.JObjType { + const $CreateCredentialResponse_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/CreateCredentialResponse$Companion;"; + + @override + CreateCredentialResponse_Companion fromRef(jni.JObjectPtr ref) => + CreateCredentialResponse_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CreateCredentialResponse_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreateCredentialResponse_CompanionType) && + other is $CreateCredentialResponse_CompanionType; + } +} + +/// from: androidx.credentials.CreateCredentialResponse +class CreateCredentialResponse extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CreateCredentialResponse.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/credentials/CreateCredentialResponse"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialResponseType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/CreateCredentialResponse$Companion;", + ); + + /// from: static public final androidx.credentials.CreateCredentialResponse$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static CreateCredentialResponse_Companion get Companion => + const $CreateCredentialResponse_CompanionType().fromRef(jni.Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/lang/String;Landroid/os/Bundle;)V"); + + /// from: public void (java.lang.String string, android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialResponse( + jni.JString string, + jni.JObject bundle, + ) { + return CreateCredentialResponse.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, + _id_new0, + [string.reference, bundle.reference]).object); + } + + static final _id_getType = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getType", r"()Ljava/lang/String;"); + + /// from: public final java.lang.String getType() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getType() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getType, jni.JniCallType.objectType, []).object); + } + + static final _id_getData = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getData", r"()Landroid/os/Bundle;"); + + /// from: public final android.os.Bundle getData() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getData() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getData, jni.JniCallType.objectType, []).object); + } + + static final _id_createFrom = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/lang/String;Landroid/os/Bundle;)Landroidx/credentials/CreateCredentialResponse;"); + + /// from: static public final androidx.credentials.CreateCredentialResponse createFrom(java.lang.String string, android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + static CreateCredentialResponse createFrom( + jni.JString string, + jni.JObject bundle, + ) { + return const $CreateCredentialResponseType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_createFrom, + jni.JniCallType.objectType, + [string.reference, bundle.reference]).object); + } +} + +final class $CreateCredentialResponseType + extends jni.JObjType { + const $CreateCredentialResponseType(); + + @override + String get signature => r"Landroidx/credentials/CreateCredentialResponse;"; + + @override + CreateCredentialResponse fromRef(jni.JObjectPtr ref) => + CreateCredentialResponse.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CreateCredentialResponseType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreateCredentialResponseType) && + other is $CreateCredentialResponseType; + } +} + +/// from: androidx.credentials.CreatePublicKeyCredentialRequest$Companion +class CreatePublicKeyCredentialRequest_Companion extends jni.JObject { + @override + late final jni.JObjType $type = + type; + + CreatePublicKeyCredentialRequest_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/CreatePublicKeyCredentialRequest$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $CreatePublicKeyCredentialRequest_CompanionType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialRequest_Companion( + jni.JObject defaultConstructorMarker, + ) { + return CreatePublicKeyCredentialRequest_Companion.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $CreatePublicKeyCredentialRequest_CompanionType + extends jni.JObjType { + const $CreatePublicKeyCredentialRequest_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/CreatePublicKeyCredentialRequest$Companion;"; + + @override + CreatePublicKeyCredentialRequest_Companion fromRef(jni.JObjectPtr ref) => + CreatePublicKeyCredentialRequest_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => + ($CreatePublicKeyCredentialRequest_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($CreatePublicKeyCredentialRequest_CompanionType) && + other is $CreatePublicKeyCredentialRequest_CompanionType; + } +} + +/// from: androidx.credentials.CreatePublicKeyCredentialRequest +class CreatePublicKeyCredentialRequest extends CreateCredentialRequest { + @override + late final jni.JObjType $type = type; + + CreatePublicKeyCredentialRequest.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/CreatePublicKeyCredentialRequest"); + + /// The type which includes information such as the signature of this class. + static const type = $CreatePublicKeyCredentialRequestType(); + static final _id_Companion1 = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/CreatePublicKeyCredentialRequest$Companion;", + ); + + /// from: static public final androidx.credentials.CreatePublicKeyCredentialRequest$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static CreatePublicKeyCredentialRequest_Companion get Companion1 => + const $CreatePublicKeyCredentialRequest_CompanionType().fromRef(jni + .Jni.accessors + .getStaticField( + _class.reference, _id_Companion1, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String BUNDLE_KEY_CLIENT_DATA_HASH + static const BUNDLE_KEY_CLIENT_DATA_HASH = + r"""androidx.credentials.BUNDLE_KEY_CLIENT_DATA_HASH"""; + + /// from: static public final java.lang.String BUNDLE_KEY_REQUEST_JSON + static const BUNDLE_KEY_REQUEST_JSON = + r"""androidx.credentials.BUNDLE_KEY_REQUEST_JSON"""; + + /// from: static public final java.lang.String BUNDLE_VALUE_SUBTYPE_CREATE_PUBLIC_KEY_CREDENTIAL_REQUEST + static const BUNDLE_VALUE_SUBTYPE_CREATE_PUBLIC_KEY_CREDENTIAL_REQUEST = + r"""androidx.credentials.BUNDLE_VALUE_SUBTYPE_CREATE_PUBLIC_KEY_CREDENTIAL_REQUEST"""; + + static final _id_getRequestJson = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getRequestJson", r"()Ljava/lang/String;"); + + /// from: public final java.lang.String getRequestJson() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getRequestJson() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getRequestJson, jni.JniCallType.objectType, []).object); + } + + static final _id_getClientDataHash = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getClientDataHash", r"()[B"); + + /// from: public final byte[] getClientDataHash() + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getClientDataHash() { + return const jni.JArrayType(jni.jbyteType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getClientDataHash, + jni.JniCallType.objectType, []).object); + } + + static final _id_new1 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Ljava/lang/String;[BZLjava/lang/String;Z)V"); + + /// from: public void (java.lang.String string, byte[] bs, boolean z, java.lang.String string1, boolean z1) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialRequest.new1( + jni.JString string, + jni.JArray bs, + bool z, + jni.JString string1, + bool z1, + ) { + return CreatePublicKeyCredentialRequest.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new1, [ + string.reference, + bs.reference, + z ? 1 : 0, + string1.reference, + z1 ? 1 : 0 + ]).object); + } + + static final _id_new2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;[BZLjava/lang/String;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.String string, byte[] bs, boolean z, java.lang.String string1, boolean z1, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialRequest.new2( + jni.JString string, + jni.JArray bs, + bool z, + jni.JString string1, + bool z1, + int i, + jni.JObject defaultConstructorMarker, + ) { + return CreatePublicKeyCredentialRequest.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new2, [ + string.reference, + bs.reference, + z ? 1 : 0, + string1.reference, + z1 ? 1 : 0, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_new3 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;[BZLjava/lang/String;Ljava/lang/String;Z)V"); + + /// from: public void (java.lang.String string, byte[] bs, boolean z, java.lang.String string1, java.lang.String string2, boolean z1) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialRequest.new3( + jni.JString string, + jni.JArray bs, + bool z, + jni.JString string1, + jni.JString string2, + bool z1, + ) { + return CreatePublicKeyCredentialRequest.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new3, [ + string.reference, + bs.reference, + z ? 1 : 0, + string1.reference, + string2.reference, + z1 ? 1 : 0 + ]).object); + } + + static final _id_new4 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Ljava/lang/String;[BZLjava/lang/String;)V"); + + /// from: public void (java.lang.String string, byte[] bs, boolean z, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialRequest.new4( + jni.JString string, + jni.JArray bs, + bool z, + jni.JString string1, + ) { + return CreatePublicKeyCredentialRequest.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new4, [ + string.reference, + bs.reference, + z ? 1 : 0, + string1.reference + ]).object); + } + + static final _id_new5 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;[BZ)V"); + + /// from: public void (java.lang.String string, byte[] bs, boolean z) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialRequest.new5( + jni.JString string, + jni.JArray bs, + bool z, + ) { + return CreatePublicKeyCredentialRequest.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new5, + [string.reference, bs.reference, z ? 1 : 0]).object); + } + + static final _id_new6 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;[B)V"); + + /// from: public void (java.lang.String string, byte[] bs) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialRequest.new6( + jni.JString string, + jni.JArray bs, + ) { + return CreatePublicKeyCredentialRequest.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new6, + [string.reference, bs.reference]).object); + } + + static final _id_new7 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); + + /// from: public void (java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialRequest.new7( + jni.JString string, + ) { + return CreatePublicKeyCredentialRequest.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new7, [string.reference]).object); + } + + static final _id_new8 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;[BZZLandroidx/credentials/CreateCredentialRequest$DisplayInfo;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/Bundle;Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.String string, byte[] bs, boolean z, boolean z1, androidx.credentials.CreateCredentialRequest$DisplayInfo displayInfo, java.lang.String string1, android.os.Bundle bundle, android.os.Bundle bundle1, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialRequest.new8( + jni.JString string, + jni.JArray bs, + bool z, + bool z1, + CreateCredentialRequest_DisplayInfo displayInfo, + jni.JString string1, + jni.JObject bundle, + jni.JObject bundle1, + jni.JObject defaultConstructorMarker, + ) { + return CreatePublicKeyCredentialRequest.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new8, [ + string.reference, + bs.reference, + z ? 1 : 0, + z1 ? 1 : 0, + displayInfo.reference, + string1.reference, + bundle.reference, + bundle1.reference, + defaultConstructorMarker.reference + ]).object); + } +} + +final class $CreatePublicKeyCredentialRequestType + extends jni.JObjType { + const $CreatePublicKeyCredentialRequestType(); + + @override + String get signature => + r"Landroidx/credentials/CreatePublicKeyCredentialRequest;"; + + @override + CreatePublicKeyCredentialRequest fromRef(jni.JObjectPtr ref) => + CreatePublicKeyCredentialRequest.fromRef(ref); + + @override + jni.JObjType get superType => const $CreateCredentialRequestType(); + + @override + final superCount = 2; + + @override + int get hashCode => ($CreatePublicKeyCredentialRequestType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreatePublicKeyCredentialRequestType) && + other is $CreatePublicKeyCredentialRequestType; + } +} + +/// from: androidx.credentials.CreatePublicKeyCredentialResponse$Companion +class CreatePublicKeyCredentialResponse_Companion extends jni.JObject { + @override + late final jni.JObjType $type = + type; + + CreatePublicKeyCredentialResponse_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/CreatePublicKeyCredentialResponse$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $CreatePublicKeyCredentialResponse_CompanionType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialResponse_Companion( + jni.JObject defaultConstructorMarker, + ) { + return CreatePublicKeyCredentialResponse_Companion.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $CreatePublicKeyCredentialResponse_CompanionType + extends jni.JObjType { + const $CreatePublicKeyCredentialResponse_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/CreatePublicKeyCredentialResponse$Companion;"; + + @override + CreatePublicKeyCredentialResponse_Companion fromRef(jni.JObjectPtr ref) => + CreatePublicKeyCredentialResponse_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => + ($CreatePublicKeyCredentialResponse_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($CreatePublicKeyCredentialResponse_CompanionType) && + other is $CreatePublicKeyCredentialResponse_CompanionType; + } +} + +/// from: androidx.credentials.CreatePublicKeyCredentialResponse +class CreatePublicKeyCredentialResponse extends CreateCredentialResponse { + @override + late final jni.JObjType $type = type; + + CreatePublicKeyCredentialResponse.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/CreatePublicKeyCredentialResponse"); + + /// The type which includes information such as the signature of this class. + static const type = $CreatePublicKeyCredentialResponseType(); + static final _id_Companion1 = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/CreatePublicKeyCredentialResponse$Companion;", + ); + + /// from: static public final androidx.credentials.CreatePublicKeyCredentialResponse$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static CreatePublicKeyCredentialResponse_Companion get Companion1 => + const $CreatePublicKeyCredentialResponse_CompanionType().fromRef(jni + .Jni.accessors + .getStaticField( + _class.reference, _id_Companion1, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String BUNDLE_KEY_REGISTRATION_RESPONSE_JSON + static const BUNDLE_KEY_REGISTRATION_RESPONSE_JSON = + r"""androidx.credentials.BUNDLE_KEY_REGISTRATION_RESPONSE_JSON"""; + + static final _id_getRegistrationResponseJson = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getRegistrationResponseJson", + r"()Ljava/lang/String;"); + + /// from: public final java.lang.String getRegistrationResponseJson() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getRegistrationResponseJson() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getRegistrationResponseJson, + jni.JniCallType.objectType, []).object); + } + + static final _id_new1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); + + /// from: public void (java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialResponse.new1( + jni.JString string, + ) { + return CreatePublicKeyCredentialResponse.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new1, [string.reference]).object); + } + + static final _id_new2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;Landroid/os/Bundle;Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.String string, android.os.Bundle bundle, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialResponse.new2( + jni.JString string, + jni.JObject bundle, + jni.JObject defaultConstructorMarker, + ) { + return CreatePublicKeyCredentialResponse.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new2, [ + string.reference, + bundle.reference, + defaultConstructorMarker.reference + ]).object); + } +} + +final class $CreatePublicKeyCredentialResponseType + extends jni.JObjType { + const $CreatePublicKeyCredentialResponseType(); + + @override + String get signature => + r"Landroidx/credentials/CreatePublicKeyCredentialResponse;"; + + @override + CreatePublicKeyCredentialResponse fromRef(jni.JObjectPtr ref) => + CreatePublicKeyCredentialResponse.fromRef(ref); + + @override + jni.JObjType get superType => const $CreateCredentialResponseType(); + + @override + final superCount = 2; + + @override + int get hashCode => ($CreatePublicKeyCredentialResponseType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreatePublicKeyCredentialResponseType) && + other is $CreatePublicKeyCredentialResponseType; + } +} + +/// from: androidx.credentials.Credential$Companion +class Credential_Companion extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Credential_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/credentials/Credential$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $Credential_CompanionType(); + static final _id_createFrom = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/lang/String;Landroid/os/Bundle;)Landroidx/credentials/Credential;"); + + /// from: public final androidx.credentials.Credential createFrom(java.lang.String string, android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + Credential createFrom( + jni.JString string, + jni.JObject bundle, + ) { + return const $CredentialType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createFrom, + jni.JniCallType.objectType, + [string.reference, bundle.reference]).object); + } + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory Credential_Companion( + jni.JObject defaultConstructorMarker, + ) { + return Credential_Companion.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, + _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $Credential_CompanionType + extends jni.JObjType { + const $Credential_CompanionType(); + + @override + String get signature => r"Landroidx/credentials/Credential$Companion;"; + + @override + Credential_Companion fromRef(jni.JObjectPtr ref) => + Credential_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($Credential_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($Credential_CompanionType) && + other is $Credential_CompanionType; + } +} + +/// from: androidx.credentials.Credential +class Credential extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Credential.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"androidx/credentials/Credential"); + + /// The type which includes information such as the signature of this class. + static const type = $CredentialType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/Credential$Companion;", + ); + + /// from: static public final androidx.credentials.Credential$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static Credential_Companion get Companion => + const $Credential_CompanionType().fromRef(jni.Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/lang/String;Landroid/os/Bundle;)V"); + + /// from: public void (java.lang.String string, android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + factory Credential( + jni.JString string, + jni.JObject bundle, + ) { + return Credential.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, + _id_new0, + [string.reference, bundle.reference]).object); + } + + static final _id_getType = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getType", r"()Ljava/lang/String;"); + + /// from: public final java.lang.String getType() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getType() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getType, jni.JniCallType.objectType, []).object); + } + + static final _id_getData = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getData", r"()Landroid/os/Bundle;"); + + /// from: public final android.os.Bundle getData() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getData() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getData, jni.JniCallType.objectType, []).object); + } + + static final _id_createFrom = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/lang/String;Landroid/os/Bundle;)Landroidx/credentials/Credential;"); + + /// from: static public final androidx.credentials.Credential createFrom(java.lang.String string, android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + static Credential createFrom( + jni.JString string, + jni.JObject bundle, + ) { + return const $CredentialType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_createFrom, + jni.JniCallType.objectType, + [string.reference, bundle.reference]).object); + } +} + +final class $CredentialType extends jni.JObjType { + const $CredentialType(); + + @override + String get signature => r"Landroidx/credentials/Credential;"; + + @override + Credential fromRef(jni.JObjectPtr ref) => Credential.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CredentialType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CredentialType) && other is $CredentialType; + } +} + +/// from: androidx.credentials.CredentialManager$Companion +class CredentialManager_Companion extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CredentialManager_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/credentials/CredentialManager$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $CredentialManager_CompanionType(); + static final _id_create = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"create", + r"(Landroid/content/Context;)Landroidx/credentials/CredentialManager;"); + + /// from: public final androidx.credentials.CredentialManager create(android.content.Context context) + /// The returned object must be released after use, by calling the [release] method. + CredentialManager create( + Context context, + ) { + return const $CredentialManagerType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_create, jni.JniCallType.objectType, + [context.reference]).object); + } +} + +final class $CredentialManager_CompanionType + extends jni.JObjType { + const $CredentialManager_CompanionType(); + + @override + String get signature => r"Landroidx/credentials/CredentialManager$Companion;"; + + @override + CredentialManager_Companion fromRef(jni.JObjectPtr ref) => + CredentialManager_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CredentialManager_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CredentialManager_CompanionType) && + other is $CredentialManager_CompanionType; + } +} + +/// from: androidx.credentials.CredentialManager +class CredentialManager extends jni.JObject { + @override + late final jni.JObjType $type = type; + + CredentialManager.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/credentials/CredentialManager"); + + /// The type which includes information such as the signature of this class. + static const type = $CredentialManagerType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/CredentialManager$Companion;", + ); + + /// from: static public final androidx.credentials.CredentialManager$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static CredentialManager_Companion get Companion => + const $CredentialManager_CompanionType().fromRef(jni.Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + static final _id_getCredential = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getCredential", + r"(Landroid/content/Context;Landroidx/credentials/GetCredentialRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;"); + + /// from: public java.lang.Object getCredential(android.content.Context context, androidx.credentials.GetCredentialRequest getCredentialRequest, kotlin.coroutines.Continuation continuation) + /// The returned object must be released after use, by calling the [release] method. + Future getCredential( + Context context, + GetCredentialRequest getCredentialRequest, + ) async { + final $p = ReceivePort(); + final $c = + jni.JObject.fromRef(ProtectedJniExtensions.newPortContinuation($p)); + jni.Jni.accessors.callMethodWithArgs( + reference, _id_getCredential, jni.JniCallType.objectType, [ + context.reference, + getCredentialRequest.reference, + $c.reference + ]).object; + final $o = jni.JObjectPtr.fromAddress(await $p.first); + final $k = const $GetCredentialResponseType().getClass().reference; + if (!jni.Jni.env.IsInstanceOf($o, $k)) { + throw "Failed"; + } + return const $GetCredentialResponseType().fromRef($o); + } + + static final _id_getCredential1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getCredential", + r"(Landroid/content/Context;Landroidx/credentials/PrepareGetCredentialResponse$PendingGetCredentialHandle;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;"); + + /// from: public java.lang.Object getCredential(android.content.Context context, androidx.credentials.PrepareGetCredentialResponse$PendingGetCredentialHandle pendingGetCredentialHandle, kotlin.coroutines.Continuation continuation) + /// The returned object must be released after use, by calling the [release] method. + Future getCredential1( + Context context, + jni.JObject pendingGetCredentialHandle, + ) async { + final $p = ReceivePort(); + final $c = + jni.JObject.fromRef(ProtectedJniExtensions.newPortContinuation($p)); + jni.Jni.accessors.callMethodWithArgs( + reference, _id_getCredential1, jni.JniCallType.objectType, [ + context.reference, + pendingGetCredentialHandle.reference, + $c.reference + ]).object; + final $o = jni.JObjectPtr.fromAddress(await $p.first); + final $k = const $GetCredentialResponseType().getClass().reference; + if (!jni.Jni.env.IsInstanceOf($o, $k)) { + throw "Failed"; + } + return const $GetCredentialResponseType().fromRef($o); + } + + static final _id_prepareGetCredential = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"prepareGetCredential", + r"(Landroidx/credentials/GetCredentialRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;"); + + /// from: public java.lang.Object prepareGetCredential(androidx.credentials.GetCredentialRequest getCredentialRequest, kotlin.coroutines.Continuation continuation) + /// The returned object must be released after use, by calling the [release] method. + Future prepareGetCredential( + GetCredentialRequest getCredentialRequest, + ) async { + final $p = ReceivePort(); + final $c = + jni.JObject.fromRef(ProtectedJniExtensions.newPortContinuation($p)); + jni.Jni.accessors.callMethodWithArgs( + reference, + _id_prepareGetCredential, + jni.JniCallType.objectType, + [getCredentialRequest.reference, $c.reference]).object; + final $o = jni.JObjectPtr.fromAddress(await $p.first); + final $k = const jni.JObjectType().getClass().reference; + if (!jni.Jni.env.IsInstanceOf($o, $k)) { + throw "Failed"; + } + return const jni.JObjectType().fromRef($o); + } + + static final _id_createCredential = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createCredential", + r"(Landroid/content/Context;Landroidx/credentials/CreateCredentialRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;"); + + /// from: public java.lang.Object createCredential(android.content.Context context, androidx.credentials.CreateCredentialRequest createCredentialRequest, kotlin.coroutines.Continuation continuation) + /// The returned object must be released after use, by calling the [release] method. + Future createCredential( + Context context, + CreateCredentialRequest createCredentialRequest, + ) async { + final $p = ReceivePort(); + final $c = + jni.JObject.fromRef(ProtectedJniExtensions.newPortContinuation($p)); + jni.Jni.accessors.callMethodWithArgs( + reference, _id_createCredential, jni.JniCallType.objectType, [ + context.reference, + createCredentialRequest.reference, + $c.reference + ]).object; + final $o = jni.JObjectPtr.fromAddress(await $p.first); + final $k = const $CreateCredentialResponseType().getClass().reference; + if (!jni.Jni.env.IsInstanceOf($o, $k)) { + throw "Failed"; + } + return const $CreateCredentialResponseType().fromRef($o); + } + + static final _id_clearCredentialState = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"clearCredentialState", + r"(Landroidx/credentials/ClearCredentialStateRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;"); + + /// from: public java.lang.Object clearCredentialState(androidx.credentials.ClearCredentialStateRequest clearCredentialStateRequest, kotlin.coroutines.Continuation continuation) + /// The returned object must be released after use, by calling the [release] method. + Future clearCredentialState( + jni.JObject clearCredentialStateRequest, + ) async { + final $p = ReceivePort(); + final $c = + jni.JObject.fromRef(ProtectedJniExtensions.newPortContinuation($p)); + jni.Jni.accessors.callMethodWithArgs( + reference, + _id_clearCredentialState, + jni.JniCallType.objectType, + [clearCredentialStateRequest.reference, $c.reference]).object; + final $o = jni.JObjectPtr.fromAddress(await $p.first); + final $k = const jni.JObjectType().getClass().reference; + if (!jni.Jni.env.IsInstanceOf($o, $k)) { + throw "Failed"; + } + return const jni.JObjectType().fromRef($o); + } + + static final _id_getCredentialAsync = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getCredentialAsync", + r"(Landroid/content/Context;Landroidx/credentials/GetCredentialRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V"); + + /// from: public abstract void getCredentialAsync(android.content.Context context, androidx.credentials.GetCredentialRequest getCredentialRequest, android.os.CancellationSignal cancellationSignal, java.util.concurrent.Executor executor, androidx.credentials.CredentialManagerCallback credentialManagerCallback) + void getCredentialAsync( + Context context, + GetCredentialRequest getCredentialRequest, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getCredentialAsync, jni.JniCallType.voidType, [ + context.reference, + getCredentialRequest.reference, + cancellationSignal.reference, + executor.reference, + credentialManagerCallback.reference + ]).check(); + } + + static final _id_getCredentialAsync1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getCredentialAsync", + r"(Landroid/content/Context;Landroidx/credentials/PrepareGetCredentialResponse$PendingGetCredentialHandle;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V"); + + /// from: public abstract void getCredentialAsync(android.content.Context context, androidx.credentials.PrepareGetCredentialResponse$PendingGetCredentialHandle pendingGetCredentialHandle, android.os.CancellationSignal cancellationSignal, java.util.concurrent.Executor executor, androidx.credentials.CredentialManagerCallback credentialManagerCallback) + void getCredentialAsync1( + Context context, + jni.JObject pendingGetCredentialHandle, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_getCredentialAsync1, jni.JniCallType.voidType, [ + context.reference, + pendingGetCredentialHandle.reference, + cancellationSignal.reference, + executor.reference, + credentialManagerCallback.reference + ]).check(); + } + + static final _id_prepareGetCredentialAsync = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"prepareGetCredentialAsync", + r"(Landroidx/credentials/GetCredentialRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V"); + + /// from: public abstract void prepareGetCredentialAsync(androidx.credentials.GetCredentialRequest getCredentialRequest, android.os.CancellationSignal cancellationSignal, java.util.concurrent.Executor executor, androidx.credentials.CredentialManagerCallback credentialManagerCallback) + void prepareGetCredentialAsync( + GetCredentialRequest getCredentialRequest, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_prepareGetCredentialAsync, jni.JniCallType.voidType, [ + getCredentialRequest.reference, + cancellationSignal.reference, + executor.reference, + credentialManagerCallback.reference + ]).check(); + } + + static final _id_createCredentialAsync = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createCredentialAsync", + r"(Landroid/content/Context;Landroidx/credentials/CreateCredentialRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V"); + + /// from: public abstract void createCredentialAsync(android.content.Context context, androidx.credentials.CreateCredentialRequest createCredentialRequest, android.os.CancellationSignal cancellationSignal, java.util.concurrent.Executor executor, androidx.credentials.CredentialManagerCallback credentialManagerCallback) + void createCredentialAsync( + Context context, + CreateCredentialRequest createCredentialRequest, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_createCredentialAsync, jni.JniCallType.voidType, [ + context.reference, + createCredentialRequest.reference, + cancellationSignal.reference, + executor.reference, + credentialManagerCallback.reference + ]).check(); + } + + static final _id_clearCredentialStateAsync = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"clearCredentialStateAsync", + r"(Landroidx/credentials/ClearCredentialStateRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V"); + + /// from: public abstract void clearCredentialStateAsync(androidx.credentials.ClearCredentialStateRequest clearCredentialStateRequest, android.os.CancellationSignal cancellationSignal, java.util.concurrent.Executor executor, androidx.credentials.CredentialManagerCallback credentialManagerCallback) + void clearCredentialStateAsync( + jni.JObject clearCredentialStateRequest, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback, + ) { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_clearCredentialStateAsync, jni.JniCallType.voidType, [ + clearCredentialStateRequest.reference, + cancellationSignal.reference, + executor.reference, + credentialManagerCallback.reference + ]).check(); + } + + static final _id_createSettingsPendingIntent = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"createSettingsPendingIntent", + r"()Landroid/app/PendingIntent;"); + + /// from: public abstract android.app.PendingIntent createSettingsPendingIntent() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject createSettingsPendingIntent() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_createSettingsPendingIntent, + jni.JniCallType.objectType, []).object); + } + + static final _id_create = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"create", + r"(Landroid/content/Context;)Landroidx/credentials/CredentialManager;"); + + /// from: static public androidx.credentials.CredentialManager create(android.content.Context context) + /// The returned object must be released after use, by calling the [release] method. + static CredentialManager create( + Context context, + ) { + return const $CredentialManagerType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_create, + jni.JniCallType.objectType, [context.reference]).object); + } + + /// Maps a specific port to the implemented interface. + static final Map _$impls = {}; + ReceivePort? _$p; + + static jni.JObjectPtr _$invoke( + int port, + jni.JObjectPtr descriptor, + jni.JObjectPtr args, + ) { + return _$invokeMethod( + port, + $MethodInvocation.fromAddresses( + 0, + descriptor.address, + args.address, + ), + ); + } + + static final ffi.Pointer< + ffi.NativeFunction< + jni.JObjectPtr Function( + ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> + _$invokePointer = ffi.Pointer.fromFunction(_$invoke); + + static ffi.Pointer _$invokeMethod( + int $p, + $MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + if ($d == + r"getCredential(Landroid/content/Context;Landroidx/credentials/GetCredentialRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;") { + final $r = _$impls[$p]!.getCredential( + $a[0].castTo(const $ContextType(), releaseOriginal: true), + $a[1] + .castTo(const $GetCredentialRequestType(), releaseOriginal: true), + $a[2].castTo(const jni.JObjectType(), releaseOriginal: true), + ); + return ($r as jni.JObject).castTo(const jni.JObjectType()).toPointer(); + } + if ($d == + r"getCredential(Landroid/content/Context;Landroidx/credentials/PrepareGetCredentialResponse$PendingGetCredentialHandle;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;") { + final $r = _$impls[$p]!.getCredential1( + $a[0].castTo(const $ContextType(), releaseOriginal: true), + $a[1].castTo(const jni.JObjectType(), releaseOriginal: true), + $a[2].castTo(const jni.JObjectType(), releaseOriginal: true), + ); + return ($r as jni.JObject).castTo(const jni.JObjectType()).toPointer(); + } + if ($d == + r"prepareGetCredential(Landroidx/credentials/GetCredentialRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;") { + final $r = _$impls[$p]!.prepareGetCredential( + $a[0] + .castTo(const $GetCredentialRequestType(), releaseOriginal: true), + $a[1].castTo(const jni.JObjectType(), releaseOriginal: true), + ); + return ($r as jni.JObject).castTo(const jni.JObjectType()).toPointer(); + } + if ($d == + r"createCredential(Landroid/content/Context;Landroidx/credentials/CreateCredentialRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;") { + final $r = _$impls[$p]!.createCredential( + $a[0].castTo(const $ContextType(), releaseOriginal: true), + $a[1].castTo(const $CreateCredentialRequestType(), + releaseOriginal: true), + $a[2].castTo(const jni.JObjectType(), releaseOriginal: true), + ); + return ($r as jni.JObject).castTo(const jni.JObjectType()).toPointer(); + } + if ($d == + r"clearCredentialState(Landroidx/credentials/ClearCredentialStateRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;") { + final $r = _$impls[$p]!.clearCredentialState( + $a[0].castTo(const jni.JObjectType(), releaseOriginal: true), + $a[1].castTo(const jni.JObjectType(), releaseOriginal: true), + ); + return ($r as jni.JObject).castTo(const jni.JObjectType()).toPointer(); + } + if ($d == + r"getCredentialAsync(Landroid/content/Context;Landroidx/credentials/GetCredentialRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V") { + _$impls[$p]!.getCredentialAsync( + $a[0].castTo(const $ContextType(), releaseOriginal: true), + $a[1] + .castTo(const $GetCredentialRequestType(), releaseOriginal: true), + $a[2].castTo(const $CancellationSignalType(), releaseOriginal: true), + $a[3].castTo(const jni.JObjectType(), releaseOriginal: true), + $a[4].castTo( + const $CredentialManagerCallbackType( + $GetCredentialResponseType(), $GetCredentialExceptionType()), + releaseOriginal: true), + ); + return jni.nullptr; + } + if ($d == + r"getCredentialAsync(Landroid/content/Context;Landroidx/credentials/PrepareGetCredentialResponse$PendingGetCredentialHandle;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V") { + _$impls[$p]!.getCredentialAsync1( + $a[0].castTo(const $ContextType(), releaseOriginal: true), + $a[1].castTo(const jni.JObjectType(), releaseOriginal: true), + $a[2].castTo(const $CancellationSignalType(), releaseOriginal: true), + $a[3].castTo(const jni.JObjectType(), releaseOriginal: true), + $a[4].castTo( + const $CredentialManagerCallbackType( + $GetCredentialResponseType(), $GetCredentialExceptionType()), + releaseOriginal: true), + ); + return jni.nullptr; + } + if ($d == + r"prepareGetCredentialAsync(Landroidx/credentials/GetCredentialRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V") { + _$impls[$p]!.prepareGetCredentialAsync( + $a[0] + .castTo(const $GetCredentialRequestType(), releaseOriginal: true), + $a[1].castTo(const $CancellationSignalType(), releaseOriginal: true), + $a[2].castTo(const jni.JObjectType(), releaseOriginal: true), + $a[3].castTo( + const $CredentialManagerCallbackType( + jni.JObjectType(), $GetCredentialExceptionType()), + releaseOriginal: true), + ); + return jni.nullptr; + } + if ($d == + r"createCredentialAsync(Landroid/content/Context;Landroidx/credentials/CreateCredentialRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V") { + _$impls[$p]!.createCredentialAsync( + $a[0].castTo(const $ContextType(), releaseOriginal: true), + $a[1].castTo(const $CreateCredentialRequestType(), + releaseOriginal: true), + $a[2].castTo(const $CancellationSignalType(), releaseOriginal: true), + $a[3].castTo(const jni.JObjectType(), releaseOriginal: true), + $a[4].castTo( + const $CredentialManagerCallbackType( + $CreateCredentialResponseType(), + $CreateCredentialExceptionType()), + releaseOriginal: true), + ); + return jni.nullptr; + } + if ($d == + r"clearCredentialStateAsync(Landroidx/credentials/ClearCredentialStateRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V") { + _$impls[$p]!.clearCredentialStateAsync( + $a[0].castTo(const jni.JObjectType(), releaseOriginal: true), + $a[1].castTo(const $CancellationSignalType(), releaseOriginal: true), + $a[2].castTo(const jni.JObjectType(), releaseOriginal: true), + $a[3].castTo( + const $CredentialManagerCallbackType( + jni.JObjectType(), jni.JObjectType()), + releaseOriginal: true), + ); + return jni.nullptr; + } + if ($d == r"createSettingsPendingIntent()Landroid/app/PendingIntent;") { + final $r = _$impls[$p]!.createSettingsPendingIntent(); + return ($r as jni.JObject).castTo(const jni.JObjectType()).toPointer(); + } + if ($d == + r"create(Landroid/content/Context;)Landroidx/credentials/CredentialManager;") { + final $r = _$impls[$p]!.create( + $a[0].castTo(const $ContextType(), releaseOriginal: true), + ); + return ($r as jni.JObject).castTo(const jni.JObjectType()).toPointer(); + } + } catch (e) { + return ProtectedJniExtensions.newDartException(e.toString()); + } + return jni.nullptr; + } + + factory CredentialManager.implement( + $CredentialManagerImpl $impl, + ) { + final $p = ReceivePort(); + final $x = CredentialManager.fromRef( + ProtectedJniExtensions.newPortProxy( + r"androidx.credentials.CredentialManager", + $p, + _$invokePointer, + ), + ).._$p = $p; + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + $p.listen(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = $MethodInvocation.fromMessage($m as List); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + ProtectedJniExtensions.returnResult($i.result, $r); + }); + return $x; + } +} + +abstract class $CredentialManagerImpl { + factory $CredentialManagerImpl({ + required jni.JObject Function(Context context, + GetCredentialRequest getCredentialRequest, jni.JObject $c) + getCredential, + required jni.JObject Function(Context context, + jni.JObject pendingGetCredentialHandle, jni.JObject $c) + getCredential1, + required jni.JObject Function( + GetCredentialRequest getCredentialRequest, jni.JObject $c) + prepareGetCredential, + required jni.JObject Function(Context context, + CreateCredentialRequest createCredentialRequest, jni.JObject $c) + createCredential, + required jni.JObject Function( + jni.JObject clearCredentialStateRequest, jni.JObject $c) + clearCredentialState, + required void Function( + Context context, + GetCredentialRequest getCredentialRequest, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback) + getCredentialAsync, + required void Function( + Context context, + jni.JObject pendingGetCredentialHandle, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback) + getCredentialAsync1, + required void Function( + GetCredentialRequest getCredentialRequest, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback) + prepareGetCredentialAsync, + required void Function( + Context context, + CreateCredentialRequest createCredentialRequest, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback) + createCredentialAsync, + required void Function( + jni.JObject clearCredentialStateRequest, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback) + clearCredentialStateAsync, + required jni.JObject Function() createSettingsPendingIntent, + required CredentialManager Function(Context context) create, + }) = _$CredentialManagerImpl; + + jni.JObject getCredential(Context context, + GetCredentialRequest getCredentialRequest, jni.JObject $c); + jni.JObject getCredential1( + Context context, jni.JObject pendingGetCredentialHandle, jni.JObject $c); + jni.JObject prepareGetCredential( + GetCredentialRequest getCredentialRequest, jni.JObject $c); + jni.JObject createCredential(Context context, + CreateCredentialRequest createCredentialRequest, jni.JObject $c); + jni.JObject clearCredentialState( + jni.JObject clearCredentialStateRequest, jni.JObject $c); + void getCredentialAsync( + Context context, + GetCredentialRequest getCredentialRequest, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback); + void getCredentialAsync1( + Context context, + jni.JObject pendingGetCredentialHandle, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback); + void prepareGetCredentialAsync( + GetCredentialRequest getCredentialRequest, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback); + void createCredentialAsync( + Context context, + CreateCredentialRequest createCredentialRequest, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback); + void clearCredentialStateAsync( + jni.JObject clearCredentialStateRequest, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback); + jni.JObject createSettingsPendingIntent(); + CredentialManager create(Context context); +} + +class _$CredentialManagerImpl implements $CredentialManagerImpl { + _$CredentialManagerImpl({ + required jni.JObject Function(Context context, + GetCredentialRequest getCredentialRequest, jni.JObject $c) + getCredential, + required jni.JObject Function(Context context, + jni.JObject pendingGetCredentialHandle, jni.JObject $c) + getCredential1, + required jni.JObject Function( + GetCredentialRequest getCredentialRequest, jni.JObject $c) + prepareGetCredential, + required jni.JObject Function(Context context, + CreateCredentialRequest createCredentialRequest, jni.JObject $c) + createCredential, + required jni.JObject Function( + jni.JObject clearCredentialStateRequest, jni.JObject $c) + clearCredentialState, + required void Function( + Context context, + GetCredentialRequest getCredentialRequest, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback) + getCredentialAsync, + required void Function( + Context context, + jni.JObject pendingGetCredentialHandle, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback) + getCredentialAsync1, + required void Function( + GetCredentialRequest getCredentialRequest, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback) + prepareGetCredentialAsync, + required void Function( + Context context, + CreateCredentialRequest createCredentialRequest, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback) + createCredentialAsync, + required void Function( + jni.JObject clearCredentialStateRequest, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback) + clearCredentialStateAsync, + required jni.JObject Function() createSettingsPendingIntent, + required CredentialManager Function(Context context) create, + }) : _getCredential = getCredential, + _getCredential1 = getCredential1, + _prepareGetCredential = prepareGetCredential, + _createCredential = createCredential, + _clearCredentialState = clearCredentialState, + _getCredentialAsync = getCredentialAsync, + _getCredentialAsync1 = getCredentialAsync1, + _prepareGetCredentialAsync = prepareGetCredentialAsync, + _createCredentialAsync = createCredentialAsync, + _clearCredentialStateAsync = clearCredentialStateAsync, + _createSettingsPendingIntent = createSettingsPendingIntent, + _create = create; + + final jni.JObject Function(Context context, + GetCredentialRequest getCredentialRequest, jni.JObject $c) _getCredential; + final jni.JObject Function(Context context, + jni.JObject pendingGetCredentialHandle, jni.JObject $c) _getCredential1; + final jni.JObject Function( + GetCredentialRequest getCredentialRequest, jni.JObject $c) + _prepareGetCredential; + final jni.JObject Function( + Context context, + CreateCredentialRequest createCredentialRequest, + jni.JObject $c) _createCredential; + final jni.JObject Function( + jni.JObject clearCredentialStateRequest, jni.JObject $c) + _clearCredentialState; + final void Function( + Context context, + GetCredentialRequest getCredentialRequest, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback) _getCredentialAsync; + final void Function( + Context context, + jni.JObject pendingGetCredentialHandle, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback) _getCredentialAsync1; + final void Function( + GetCredentialRequest getCredentialRequest, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback) _prepareGetCredentialAsync; + final void Function( + Context context, + CreateCredentialRequest createCredentialRequest, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback) _createCredentialAsync; + final void Function( + jni.JObject clearCredentialStateRequest, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback) _clearCredentialStateAsync; + final jni.JObject Function() _createSettingsPendingIntent; + final CredentialManager Function(Context context) _create; + + jni.JObject getCredential(Context context, + GetCredentialRequest getCredentialRequest, jni.JObject $c) { + return _getCredential(context, getCredentialRequest, $c); + } + + jni.JObject getCredential1( + Context context, jni.JObject pendingGetCredentialHandle, jni.JObject $c) { + return _getCredential1(context, pendingGetCredentialHandle, $c); + } + + jni.JObject prepareGetCredential( + GetCredentialRequest getCredentialRequest, jni.JObject $c) { + return _prepareGetCredential(getCredentialRequest, $c); + } + + jni.JObject createCredential(Context context, + CreateCredentialRequest createCredentialRequest, jni.JObject $c) { + return _createCredential(context, createCredentialRequest, $c); + } + + jni.JObject clearCredentialState( + jni.JObject clearCredentialStateRequest, jni.JObject $c) { + return _clearCredentialState(clearCredentialStateRequest, $c); + } + + void getCredentialAsync( + Context context, + GetCredentialRequest getCredentialRequest, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback) { + return _getCredentialAsync(context, getCredentialRequest, + cancellationSignal, executor, credentialManagerCallback); + } + + void getCredentialAsync1( + Context context, + jni.JObject pendingGetCredentialHandle, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback) { + return _getCredentialAsync1(context, pendingGetCredentialHandle, + cancellationSignal, executor, credentialManagerCallback); + } + + void prepareGetCredentialAsync( + GetCredentialRequest getCredentialRequest, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback) { + return _prepareGetCredentialAsync(getCredentialRequest, cancellationSignal, + executor, credentialManagerCallback); + } + + void createCredentialAsync( + Context context, + CreateCredentialRequest createCredentialRequest, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback) { + return _createCredentialAsync(context, createCredentialRequest, + cancellationSignal, executor, credentialManagerCallback); + } + + void clearCredentialStateAsync( + jni.JObject clearCredentialStateRequest, + CancellationSignal cancellationSignal, + jni.JObject executor, + CredentialManagerCallback + credentialManagerCallback) { + return _clearCredentialStateAsync(clearCredentialStateRequest, + cancellationSignal, executor, credentialManagerCallback); + } + + jni.JObject createSettingsPendingIntent() { + return _createSettingsPendingIntent(); + } + + CredentialManager create(Context context) { + return _create(context); + } +} + +final class $CredentialManagerType extends jni.JObjType { + const $CredentialManagerType(); + + @override + String get signature => r"Landroidx/credentials/CredentialManager;"; + + @override + CredentialManager fromRef(jni.JObjectPtr ref) => + CredentialManager.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($CredentialManagerType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CredentialManagerType) && + other is $CredentialManagerType; + } +} + +/// from: androidx.credentials.CredentialManagerCallback +class CredentialManagerCallback<$R extends jni.JObject, $E extends jni.JObject> + extends jni.JObject { + @override + late final jni.JObjType> $type = type(R, E); + + final jni.JObjType<$R> R; + final jni.JObjType<$E> E; + + CredentialManagerCallback.fromRef( + this.R, + this.E, + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/credentials/CredentialManagerCallback"); + + /// The type which includes information such as the signature of this class. + static $CredentialManagerCallbackType<$R, $E> + type<$R extends jni.JObject, $E extends jni.JObject>( + jni.JObjType<$R> R, + jni.JObjType<$E> E, + ) { + return $CredentialManagerCallbackType( + R, + E, + ); + } + + static final _id_onResult = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onResult", r"(Ljava/lang/Object;)V"); + + /// from: public abstract void onResult(R object) + void onResult( + $R object, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onResult, + jni.JniCallType.voidType, [object.reference]).check(); + } + + static final _id_onError = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onError", r"(Ljava/lang/Object;)V"); + + /// from: public abstract void onError(E object) + void onError( + $E object, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onError, + jni.JniCallType.voidType, [object.reference]).check(); + } + + /// Maps a specific port to the implemented interface. + static final Map _$impls = {}; + ReceivePort? _$p; + + static jni.JObjectPtr _$invoke( + int port, + jni.JObjectPtr descriptor, + jni.JObjectPtr args, + ) { + return _$invokeMethod( + port, + $MethodInvocation.fromAddresses( + 0, + descriptor.address, + args.address, + ), + ); + } + + static final ffi.Pointer< + ffi.NativeFunction< + jni.JObjectPtr Function( + ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> + _$invokePointer = ffi.Pointer.fromFunction(_$invoke); + + static ffi.Pointer _$invokeMethod( + int $p, + $MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + if ($d == r"onResult(Ljava/lang/Object;)V") { + _$impls[$p]!.onResult( + $a[0].castTo(_$impls[$p]!.R, releaseOriginal: true), + ); + return jni.nullptr; + } + if ($d == r"onError(Ljava/lang/Object;)V") { + _$impls[$p]!.onError( + $a[0].castTo(_$impls[$p]!.E, releaseOriginal: true), + ); + return jni.nullptr; + } + } catch (e) { + return ProtectedJniExtensions.newDartException(e.toString()); + } + return jni.nullptr; + } + + factory CredentialManagerCallback.implement( + $CredentialManagerCallbackImpl<$R, $E> $impl, + ) { + final $p = ReceivePort(); + final $x = CredentialManagerCallback.fromRef( + $impl.R, + $impl.E, + ProtectedJniExtensions.newPortProxy( + r"androidx.credentials.CredentialManagerCallback", + $p, + _$invokePointer, + ), + ).._$p = $p; + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + $p.listen(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = $MethodInvocation.fromMessage($m as List); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + ProtectedJniExtensions.returnResult($i.result, $r); + }); + return $x; + } +} + +abstract class $CredentialManagerCallbackImpl<$R extends jni.JObject, + $E extends jni.JObject> { + factory $CredentialManagerCallbackImpl({ + required jni.JObjType<$R> R, + required jni.JObjType<$E> E, + required void Function($R object) onResult, + required void Function($E object) onError, + }) = _$CredentialManagerCallbackImpl; + + jni.JObjType<$R> get R; + jni.JObjType<$E> get E; + + void onResult($R object); + void onError($E object); +} + +class _$CredentialManagerCallbackImpl<$R extends jni.JObject, + $E extends jni.JObject> implements $CredentialManagerCallbackImpl<$R, $E> { + _$CredentialManagerCallbackImpl({ + required this.R, + required this.E, + required void Function($R object) onResult, + required void Function($E object) onError, + }) : _onResult = onResult, + _onError = onError; + + @override + final jni.JObjType<$R> R; + + @override + final jni.JObjType<$E> E; + + final void Function($R object) _onResult; + final void Function($E object) _onError; + + void onResult($R object) { + return _onResult(object); + } + + void onError($E object) { + return _onError(object); + } +} + +final class $CredentialManagerCallbackType<$R extends jni.JObject, + $E extends jni.JObject> + extends jni.JObjType> { + final jni.JObjType<$R> R; + final jni.JObjType<$E> E; + + const $CredentialManagerCallbackType( + this.R, + this.E, + ); + + @override + String get signature => r"Landroidx/credentials/CredentialManagerCallback;"; + + @override + CredentialManagerCallback<$R, $E> fromRef(jni.JObjectPtr ref) => + CredentialManagerCallback.fromRef(R, E, ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => Object.hash($CredentialManagerCallbackType, R, E); + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CredentialManagerCallbackType<$R, $E>) && + other is $CredentialManagerCallbackType<$R, $E> && + R == other.R && + E == other.E; + } +} + +/// from: androidx.credentials.GetCredentialRequest$Builder +class GetCredentialRequest_Builder extends jni.JObject { + @override + late final jni.JObjType $type = type; + + GetCredentialRequest_Builder.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/credentials/GetCredentialRequest$Builder"); + + /// The type which includes information such as the signature of this class. + static const type = $GetCredentialRequest_BuilderType(); + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialRequest_Builder() { + return GetCredentialRequest_Builder.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_addCredentialOption = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addCredentialOption", + r"(Landroidx/credentials/CredentialOption;)Landroidx/credentials/GetCredentialRequest$Builder;"); + + /// from: public final androidx.credentials.GetCredentialRequest$Builder addCredentialOption(androidx.credentials.CredentialOption credentialOption) + /// The returned object must be released after use, by calling the [release] method. + GetCredentialRequest_Builder addCredentialOption( + jni.JObject credentialOption, + ) { + return const $GetCredentialRequest_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_addCredentialOption, + jni.JniCallType.objectType, [credentialOption.reference]).object); + } + + static final _id_setCredentialOptions = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setCredentialOptions", + r"(Ljava/util/List;)Landroidx/credentials/GetCredentialRequest$Builder;"); + + /// from: public final androidx.credentials.GetCredentialRequest$Builder setCredentialOptions(java.util.List list) + /// The returned object must be released after use, by calling the [release] method. + GetCredentialRequest_Builder setCredentialOptions( + jni.JList list, + ) { + return const $GetCredentialRequest_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setCredentialOptions, + jni.JniCallType.objectType, [list.reference]).object); + } + + static final _id_setOrigin = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setOrigin", + r"(Ljava/lang/String;)Landroidx/credentials/GetCredentialRequest$Builder;"); + + /// from: public final androidx.credentials.GetCredentialRequest$Builder setOrigin(java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + GetCredentialRequest_Builder setOrigin( + jni.JString string, + ) { + return const $GetCredentialRequest_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setOrigin, + jni.JniCallType.objectType, [string.reference]).object); + } + + static final _id_setPreferImmediatelyAvailableCredentials = jni.Jni.accessors + .getMethodIDOf( + _class.reference, + r"setPreferImmediatelyAvailableCredentials", + r"(Z)Landroidx/credentials/GetCredentialRequest$Builder;"); + + /// from: public final androidx.credentials.GetCredentialRequest$Builder setPreferImmediatelyAvailableCredentials(boolean z) + /// The returned object must be released after use, by calling the [release] method. + GetCredentialRequest_Builder setPreferImmediatelyAvailableCredentials( + bool z, + ) { + return const $GetCredentialRequest_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_setPreferImmediatelyAvailableCredentials, + jni.JniCallType.objectType, + [z ? 1 : 0]).object); + } + + static final _id_setPreferUiBrandingComponentName = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"setPreferUiBrandingComponentName", + r"(Landroid/content/ComponentName;)Landroidx/credentials/GetCredentialRequest$Builder;"); + + /// from: public final androidx.credentials.GetCredentialRequest$Builder setPreferUiBrandingComponentName(android.content.ComponentName componentName) + /// The returned object must be released after use, by calling the [release] method. + GetCredentialRequest_Builder setPreferUiBrandingComponentName( + jni.JObject componentName, + ) { + return const $GetCredentialRequest_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setPreferUiBrandingComponentName, + jni.JniCallType.objectType, [componentName.reference]).object); + } + + static final _id_setPreferIdentityDocUi = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"setPreferIdentityDocUi", + r"(Z)Landroidx/credentials/GetCredentialRequest$Builder;"); + + /// from: public final androidx.credentials.GetCredentialRequest$Builder setPreferIdentityDocUi(boolean z) + /// The returned object must be released after use, by calling the [release] method. + GetCredentialRequest_Builder setPreferIdentityDocUi( + bool z, + ) { + return const $GetCredentialRequest_BuilderType().fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_setPreferIdentityDocUi, + jni.JniCallType.objectType, [z ? 1 : 0]).object); + } + + static final _id_build = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"build", r"()Landroidx/credentials/GetCredentialRequest;"); + + /// from: public final androidx.credentials.GetCredentialRequest build() + /// The returned object must be released after use, by calling the [release] method. + GetCredentialRequest build() { + return const $GetCredentialRequestType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, _id_build, jni.JniCallType.objectType, []).object); + } +} + +final class $GetCredentialRequest_BuilderType + extends jni.JObjType { + const $GetCredentialRequest_BuilderType(); + + @override + String get signature => + r"Landroidx/credentials/GetCredentialRequest$Builder;"; + + @override + GetCredentialRequest_Builder fromRef(jni.JObjectPtr ref) => + GetCredentialRequest_Builder.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($GetCredentialRequest_BuilderType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($GetCredentialRequest_BuilderType) && + other is $GetCredentialRequest_BuilderType; + } +} + +/// from: androidx.credentials.GetCredentialRequest$Companion +class GetCredentialRequest_Companion extends jni.JObject { + @override + late final jni.JObjType $type = type; + + GetCredentialRequest_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/GetCredentialRequest$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $GetCredentialRequest_CompanionType(); + static final _id_toRequestDataBundle = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"toRequestDataBundle", + r"(Landroidx/credentials/GetCredentialRequest;)Landroid/os/Bundle;"); + + /// from: public final android.os.Bundle toRequestDataBundle(androidx.credentials.GetCredentialRequest getCredentialRequest) + /// The returned object must be released after use, by calling the [release] method. + jni.JObject toRequestDataBundle( + GetCredentialRequest getCredentialRequest, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_toRequestDataBundle, + jni.JniCallType.objectType, + [getCredentialRequest.reference]).object); + } + + static final _id_createFrom = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/util/List;Ljava/lang/String;Landroid/os/Bundle;)Landroidx/credentials/GetCredentialRequest;"); + + /// from: public final androidx.credentials.GetCredentialRequest createFrom(java.util.List list, java.lang.String string, android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + GetCredentialRequest createFrom( + jni.JList list, + jni.JString string, + jni.JObject bundle, + ) { + return const $GetCredentialRequestType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_createFrom, + jni.JniCallType.objectType, + [list.reference, string.reference, bundle.reference]).object); + } + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialRequest_Companion( + jni.JObject defaultConstructorMarker, + ) { + return GetCredentialRequest_Companion.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $GetCredentialRequest_CompanionType + extends jni.JObjType { + const $GetCredentialRequest_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/GetCredentialRequest$Companion;"; + + @override + GetCredentialRequest_Companion fromRef(jni.JObjectPtr ref) => + GetCredentialRequest_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($GetCredentialRequest_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($GetCredentialRequest_CompanionType) && + other is $GetCredentialRequest_CompanionType; + } +} + +/// from: androidx.credentials.GetCredentialRequest +class GetCredentialRequest extends jni.JObject { + @override + late final jni.JObjType $type = type; + + GetCredentialRequest.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/credentials/GetCredentialRequest"); + + /// The type which includes information such as the signature of this class. + static const type = $GetCredentialRequestType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/GetCredentialRequest$Companion;", + ); + + /// from: static public final androidx.credentials.GetCredentialRequest$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static GetCredentialRequest_Companion get Companion => + const $GetCredentialRequest_CompanionType().fromRef(jni.Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String BUNDLE_KEY_PREFER_IMMEDIATELY_AVAILABLE_CREDENTIALS + static const BUNDLE_KEY_PREFER_IMMEDIATELY_AVAILABLE_CREDENTIALS = + r"""androidx.credentials.BUNDLE_KEY_PREFER_IMMEDIATELY_AVAILABLE_CREDENTIALS"""; + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/util/List;Ljava/lang/String;ZLandroid/content/ComponentName;Z)V"); + + /// from: public void (java.util.List list, java.lang.String string, boolean z, android.content.ComponentName componentName, boolean z1) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialRequest( + jni.JList list, + jni.JString string, + bool z, + jni.JObject componentName, + bool z1, + ) { + return GetCredentialRequest.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new0, [ + list.reference, + string.reference, + z ? 1 : 0, + componentName.reference, + z1 ? 1 : 0 + ]).object); + } + + static final _id_new1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/util/List;Ljava/lang/String;ZLandroid/content/ComponentName;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.util.List list, java.lang.String string, boolean z, android.content.ComponentName componentName, boolean z1, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialRequest.new1( + jni.JList list, + jni.JString string, + bool z, + jni.JObject componentName, + bool z1, + int i, + jni.JObject defaultConstructorMarker, + ) { + return GetCredentialRequest.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new1, [ + list.reference, + string.reference, + z ? 1 : 0, + componentName.reference, + z1 ? 1 : 0, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_getCredentialOptions = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getCredentialOptions", r"()Ljava/util/List;"); + + /// from: public final java.util.List getCredentialOptions() + /// The returned object must be released after use, by calling the [release] method. + jni.JList getCredentialOptions() { + return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getCredentialOptions, + jni.JniCallType.objectType, []).object); + } + + static final _id_getOrigin = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getOrigin", r"()Ljava/lang/String;"); + + /// from: public final java.lang.String getOrigin() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getOrigin() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getOrigin, jni.JniCallType.objectType, []).object); + } + + static final _id_getPreferIdentityDocUi = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getPreferIdentityDocUi", r"()Z"); + + /// from: public final boolean getPreferIdentityDocUi() + bool getPreferIdentityDocUi() { + return jni.Jni.accessors.callMethodWithArgs(reference, + _id_getPreferIdentityDocUi, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_getPreferUiBrandingComponentName = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getPreferUiBrandingComponentName", + r"()Landroid/content/ComponentName;"); + + /// from: public final android.content.ComponentName getPreferUiBrandingComponentName() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getPreferUiBrandingComponentName() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getPreferUiBrandingComponentName, + jni.JniCallType.objectType, []).object); + } + + static final _id_preferImmediatelyAvailableCredentials = jni.Jni.accessors + .getMethodIDOf( + _class.reference, r"preferImmediatelyAvailableCredentials", r"()Z"); + + /// from: public final boolean preferImmediatelyAvailableCredentials() + bool preferImmediatelyAvailableCredentials() { + return jni.Jni.accessors.callMethodWithArgs( + reference, + _id_preferImmediatelyAvailableCredentials, + jni.JniCallType.booleanType, []).boolean; + } + + static final _id_new2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/util/List;Ljava/lang/String;ZLandroid/content/ComponentName;)V"); + + /// from: public void (java.util.List list, java.lang.String string, boolean z, android.content.ComponentName componentName) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialRequest.new2( + jni.JList list, + jni.JString string, + bool z, + jni.JObject componentName, + ) { + return GetCredentialRequest.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new2, [ + list.reference, + string.reference, + z ? 1 : 0, + componentName.reference + ]).object); + } + + static final _id_new3 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/util/List;Ljava/lang/String;Z)V"); + + /// from: public void (java.util.List list, java.lang.String string, boolean z) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialRequest.new3( + jni.JList list, + jni.JString string, + bool z, + ) { + return GetCredentialRequest.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, + _id_new3, + [list.reference, string.reference, z ? 1 : 0]).object); + } + + static final _id_new4 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/util/List;Ljava/lang/String;)V"); + + /// from: public void (java.util.List list, java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialRequest.new4( + jni.JList list, + jni.JString string, + ) { + return GetCredentialRequest.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new4, [list.reference, string.reference]).object); + } + + static final _id_new5 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/util/List;)V"); + + /// from: public void (java.util.List list) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialRequest.new5( + jni.JList list, + ) { + return GetCredentialRequest.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new5, [list.reference]).object); + } + + static final _id_toRequestDataBundle = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"toRequestDataBundle", + r"(Landroidx/credentials/GetCredentialRequest;)Landroid/os/Bundle;"); + + /// from: static public final android.os.Bundle toRequestDataBundle(androidx.credentials.GetCredentialRequest getCredentialRequest) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject toRequestDataBundle( + GetCredentialRequest getCredentialRequest, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_toRequestDataBundle, + jni.JniCallType.objectType, + [getCredentialRequest.reference]).object); + } + + static final _id_createFrom = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/util/List;Ljava/lang/String;Landroid/os/Bundle;)Landroidx/credentials/GetCredentialRequest;"); + + /// from: static public final androidx.credentials.GetCredentialRequest createFrom(java.util.List list, java.lang.String string, android.os.Bundle bundle) + /// The returned object must be released after use, by calling the [release] method. + static GetCredentialRequest createFrom( + jni.JList list, + jni.JString string, + jni.JObject bundle, + ) { + return const $GetCredentialRequestType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_createFrom, + jni.JniCallType.objectType, + [list.reference, string.reference, bundle.reference]).object); + } +} + +final class $GetCredentialRequestType + extends jni.JObjType { + const $GetCredentialRequestType(); + + @override + String get signature => r"Landroidx/credentials/GetCredentialRequest;"; + + @override + GetCredentialRequest fromRef(jni.JObjectPtr ref) => + GetCredentialRequest.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($GetCredentialRequestType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($GetCredentialRequestType) && + other is $GetCredentialRequestType; + } +} + +/// from: androidx.credentials.GetCredentialResponse +class GetCredentialResponse extends jni.JObject { + @override + late final jni.JObjType $type = type; + + GetCredentialResponse.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/credentials/GetCredentialResponse"); + + /// The type which includes information such as the signature of this class. + static const type = $GetCredentialResponseType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Landroidx/credentials/Credential;)V"); + + /// from: public void (androidx.credentials.Credential credential) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialResponse( + Credential credential, + ) { + return GetCredentialResponse.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new0, [credential.reference]).object); + } + + static final _id_getCredential = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getCredential", + r"()Landroidx/credentials/Credential;"); + + /// from: public final androidx.credentials.Credential getCredential() + /// The returned object must be released after use, by calling the [release] method. + Credential getCredential() { + return const $CredentialType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getCredential, jni.JniCallType.objectType, []).object); + } +} + +final class $GetCredentialResponseType + extends jni.JObjType { + const $GetCredentialResponseType(); + + @override + String get signature => r"Landroidx/credentials/GetCredentialResponse;"; + + @override + GetCredentialResponse fromRef(jni.JObjectPtr ref) => + GetCredentialResponse.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($GetCredentialResponseType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($GetCredentialResponseType) && + other is $GetCredentialResponseType; + } +} + +/// from: androidx.credentials.GetPublicKeyCredentialOption$Companion +class GetPublicKeyCredentialOption_Companion extends jni.JObject { + @override + late final jni.JObjType $type = type; + + GetPublicKeyCredentialOption_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/GetPublicKeyCredentialOption$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $GetPublicKeyCredentialOption_CompanionType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory GetPublicKeyCredentialOption_Companion( + jni.JObject defaultConstructorMarker, + ) { + return GetPublicKeyCredentialOption_Companion.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $GetPublicKeyCredentialOption_CompanionType + extends jni.JObjType { + const $GetPublicKeyCredentialOption_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/GetPublicKeyCredentialOption$Companion;"; + + @override + GetPublicKeyCredentialOption_Companion fromRef(jni.JObjectPtr ref) => + GetPublicKeyCredentialOption_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($GetPublicKeyCredentialOption_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($GetPublicKeyCredentialOption_CompanionType) && + other is $GetPublicKeyCredentialOption_CompanionType; + } +} + +/// from: androidx.credentials.GetPublicKeyCredentialOption +class GetPublicKeyCredentialOption extends jni.JObject { + @override + late final jni.JObjType $type = type; + + GetPublicKeyCredentialOption.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/credentials/GetPublicKeyCredentialOption"); + + /// The type which includes information such as the signature of this class. + static const type = $GetPublicKeyCredentialOptionType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/GetPublicKeyCredentialOption$Companion;", + ); + + /// from: static public final androidx.credentials.GetPublicKeyCredentialOption$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static GetPublicKeyCredentialOption_Companion get Companion => + const $GetPublicKeyCredentialOption_CompanionType().fromRef(jni + .Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String BUNDLE_KEY_CLIENT_DATA_HASH + static const BUNDLE_KEY_CLIENT_DATA_HASH = + r"""androidx.credentials.BUNDLE_KEY_CLIENT_DATA_HASH"""; + + /// from: static public final java.lang.String BUNDLE_KEY_REQUEST_JSON + static const BUNDLE_KEY_REQUEST_JSON = + r"""androidx.credentials.BUNDLE_KEY_REQUEST_JSON"""; + + /// from: static public final java.lang.String BUNDLE_VALUE_SUBTYPE_GET_PUBLIC_KEY_CREDENTIAL_OPTION + static const BUNDLE_VALUE_SUBTYPE_GET_PUBLIC_KEY_CREDENTIAL_OPTION = + r"""androidx.credentials.BUNDLE_VALUE_SUBTYPE_GET_PUBLIC_KEY_CREDENTIAL_OPTION"""; + + static final _id_getRequestJson = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getRequestJson", r"()Ljava/lang/String;"); + + /// from: public final java.lang.String getRequestJson() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getRequestJson() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getRequestJson, jni.JniCallType.objectType, []).object); + } + + static final _id_getClientDataHash = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getClientDataHash", r"()[B"); + + /// from: public final byte[] getClientDataHash() + /// The returned object must be released after use, by calling the [release] method. + jni.JArray getClientDataHash() { + return const jni.JArrayType(jni.jbyteType()).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_getClientDataHash, + jni.JniCallType.objectType, []).object); + } + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/lang/String;[BLjava/util/Set;)V"); + + /// from: public void (java.lang.String string, java.lang.Object[] bs, java.util.Set set) + /// The returned object must be released after use, by calling the [release] method. + factory GetPublicKeyCredentialOption( + jni.JString string, + jni.JArray bs, + jni.JSet set0, + ) { + return GetPublicKeyCredentialOption.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, + [string.reference, bs.reference, set0.reference]).object); + } + + static final _id_new1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;[BLjava/util/Set;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.String string, byte[] bs, java.util.Set set, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory GetPublicKeyCredentialOption.new1( + jni.JString string, + jni.JArray bs, + jni.JSet set0, + int i, + jni.JObject defaultConstructorMarker, + ) { + return GetPublicKeyCredentialOption.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new1, [ + string.reference, + bs.reference, + set0.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_new2 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;[B)V"); + + /// from: public void (java.lang.String string, byte[] bs) + /// The returned object must be released after use, by calling the [release] method. + factory GetPublicKeyCredentialOption.new2( + jni.JString string, + jni.JArray bs, + ) { + return GetPublicKeyCredentialOption.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new2, + [string.reference, bs.reference]).object); + } + + static final _id_new3 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); + + /// from: public void (java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory GetPublicKeyCredentialOption.new3( + jni.JString string, + ) { + return GetPublicKeyCredentialOption.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new3, [string.reference]).object); + } + + static final _id_new4 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;[BLjava/util/Set;Landroid/os/Bundle;Landroid/os/Bundle;Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.String string, byte[] bs, java.util.Set set, android.os.Bundle bundle, android.os.Bundle bundle1, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory GetPublicKeyCredentialOption.new4( + jni.JString string, + jni.JArray bs, + jni.JSet set0, + jni.JObject bundle, + jni.JObject bundle1, + jni.JObject defaultConstructorMarker, + ) { + return GetPublicKeyCredentialOption.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new4, [ + string.reference, + bs.reference, + set0.reference, + bundle.reference, + bundle1.reference, + defaultConstructorMarker.reference + ]).object); + } +} + +final class $GetPublicKeyCredentialOptionType + extends jni.JObjType { + const $GetPublicKeyCredentialOptionType(); + + @override + String get signature => + r"Landroidx/credentials/GetPublicKeyCredentialOption;"; + + @override + GetPublicKeyCredentialOption fromRef(jni.JObjectPtr ref) => + GetPublicKeyCredentialOption.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($GetPublicKeyCredentialOptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($GetPublicKeyCredentialOptionType) && + other is $GetPublicKeyCredentialOptionType; + } +} + +/// from: androidx.credentials.PublicKeyCredential$Companion +class PublicKeyCredential_Companion extends jni.JObject { + @override + late final jni.JObjType $type = type; + + PublicKeyCredential_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/credentials/PublicKeyCredential$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $PublicKeyCredential_CompanionType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory PublicKeyCredential_Companion( + jni.JObject defaultConstructorMarker, + ) { + return PublicKeyCredential_Companion.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $PublicKeyCredential_CompanionType + extends jni.JObjType { + const $PublicKeyCredential_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/PublicKeyCredential$Companion;"; + + @override + PublicKeyCredential_Companion fromRef(jni.JObjectPtr ref) => + PublicKeyCredential_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($PublicKeyCredential_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($PublicKeyCredential_CompanionType) && + other is $PublicKeyCredential_CompanionType; + } +} + +/// from: androidx.credentials.PublicKeyCredential +class PublicKeyCredential extends Credential { + @override + late final jni.JObjType $type = type; + + PublicKeyCredential.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"androidx/credentials/PublicKeyCredential"); + + /// The type which includes information such as the signature of this class. + static const type = $PublicKeyCredentialType(); + static final _id_Companion1 = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/PublicKeyCredential$Companion;", + ); + + /// from: static public final androidx.credentials.PublicKeyCredential$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static PublicKeyCredential_Companion get Companion1 => + const $PublicKeyCredential_CompanionType().fromRef(jni.Jni.accessors + .getStaticField( + _class.reference, _id_Companion1, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String TYPE_PUBLIC_KEY_CREDENTIAL + static const TYPE_PUBLIC_KEY_CREDENTIAL = + r"""androidx.credentials.TYPE_PUBLIC_KEY_CREDENTIAL"""; + + /// from: static public final java.lang.String BUNDLE_KEY_SUBTYPE + static const BUNDLE_KEY_SUBTYPE = + r"""androidx.credentials.BUNDLE_KEY_SUBTYPE"""; + + /// from: static public final java.lang.String BUNDLE_KEY_AUTHENTICATION_RESPONSE_JSON + static const BUNDLE_KEY_AUTHENTICATION_RESPONSE_JSON = + r"""androidx.credentials.BUNDLE_KEY_AUTHENTICATION_RESPONSE_JSON"""; + + static final _id_getAuthenticationResponseJson = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getAuthenticationResponseJson", + r"()Ljava/lang/String;"); + + /// from: public final java.lang.String getAuthenticationResponseJson() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getAuthenticationResponseJson() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_getAuthenticationResponseJson, + jni.JniCallType.objectType, []).object); + } + + static final _id_new1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); + + /// from: public void (java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory PublicKeyCredential.new1( + jni.JString string, + ) { + return PublicKeyCredential.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new1, [string.reference]).object); + } + + static final _id_new2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;Landroid/os/Bundle;Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.String string, android.os.Bundle bundle, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory PublicKeyCredential.new2( + jni.JString string, + jni.JObject bundle, + jni.JObject defaultConstructorMarker, + ) { + return PublicKeyCredential.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new2, [ + string.reference, + bundle.reference, + defaultConstructorMarker.reference + ]).object); + } +} + +final class $PublicKeyCredentialType extends jni.JObjType { + const $PublicKeyCredentialType(); + + @override + String get signature => r"Landroidx/credentials/PublicKeyCredential;"; + + @override + PublicKeyCredential fromRef(jni.JObjectPtr ref) => + PublicKeyCredential.fromRef(ref); + + @override + jni.JObjType get superType => const $CredentialType(); + + @override + final superCount = 2; + + @override + int get hashCode => ($PublicKeyCredentialType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($PublicKeyCredentialType) && + other is $PublicKeyCredentialType; + } +} + +/// from: androidx.credentials.exceptions.CreateCredentialCancellationException$Companion +class CreateCredentialCancellationException_Companion extends jni.JObject { + @override + late final jni.JObjType + $type = type; + + CreateCredentialCancellationException_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/CreateCredentialCancellationException$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialCancellationException_CompanionType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialCancellationException_Companion( + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialCancellationException_Companion.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $CreateCredentialCancellationException_CompanionType + extends jni.JObjType { + const $CreateCredentialCancellationException_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/CreateCredentialCancellationException$Companion;"; + + @override + CreateCredentialCancellationException_Companion fromRef(jni.JObjectPtr ref) => + CreateCredentialCancellationException_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => + ($CreateCredentialCancellationException_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($CreateCredentialCancellationException_CompanionType) && + other is $CreateCredentialCancellationException_CompanionType; + } +} + +/// from: androidx.credentials.exceptions.CreateCredentialCancellationException +class CreateCredentialCancellationException extends CreateCredentialException { + @override + late final jni.JObjType $type = type; + + CreateCredentialCancellationException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/CreateCredentialCancellationException"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialCancellationExceptionType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/exceptions/CreateCredentialCancellationException$Companion;", + ); + + /// from: static public final androidx.credentials.exceptions.CreateCredentialCancellationException$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static CreateCredentialCancellationException_Companion get Companion => + const $CreateCredentialCancellationException_CompanionType().fromRef(jni + .Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String TYPE_CREATE_CREDENTIAL_CANCELLATION_EXCEPTION + static const TYPE_CREATE_CREDENTIAL_CANCELLATION_EXCEPTION = + r"""android.credentials.CreateCredentialException.TYPE_USER_CANCELED"""; + + static final _id_new7 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/lang/CharSequence;)V"); + + /// from: public void (java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialCancellationException.new7( + jni.JObject charSequence, + ) { + return CreateCredentialCancellationException.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new7, [charSequence.reference]).object); + } + + static final _id_new8 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialCancellationException.new8( + jni.JObject charSequence, + int i, + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialCancellationException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new8, [ + charSequence.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_new9 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialCancellationException.new9() { + return CreateCredentialCancellationException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new9, []).object); + } +} + +final class $CreateCredentialCancellationExceptionType + extends jni.JObjType { + const $CreateCredentialCancellationExceptionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/CreateCredentialCancellationException;"; + + @override + CreateCredentialCancellationException fromRef(jni.JObjectPtr ref) => + CreateCredentialCancellationException.fromRef(ref); + + @override + jni.JObjType get superType => const $CreateCredentialExceptionType(); + + @override + final superCount = 4; + + @override + int get hashCode => ($CreateCredentialCancellationExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreateCredentialCancellationExceptionType) && + other is $CreateCredentialCancellationExceptionType; + } +} + +/// from: androidx.credentials.exceptions.CreateCredentialException +class CreateCredentialException extends Exception { + @override + late final jni.JObjType $type = type; + + CreateCredentialException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/CreateCredentialException"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialExceptionType(); + static final _id_new5 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Ljava/lang/String;Ljava/lang/CharSequence;)V"); + + /// from: public void (java.lang.String string, java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialException.new5( + jni.JString string, + jni.JObject charSequence, + ) { + return CreateCredentialException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new5, + [string.reference, charSequence.reference]).object); + } + + static final _id_new6 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.String string, java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialException.new6( + jni.JString string, + jni.JObject charSequence, + int i, + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialException.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new6, [ + string.reference, + charSequence.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_getType = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getType", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getType() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getType() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getType, jni.JniCallType.objectType, []).object); + } + + static final _id_getErrorMessage = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getErrorMessage", r"()Ljava/lang/CharSequence;"); + + /// from: public java.lang.CharSequence getErrorMessage() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getErrorMessage() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getErrorMessage, jni.JniCallType.objectType, []).object); + } + + static final _id_new1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); + + /// from: public void (java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialException.new1( + jni.JString string, + ) { + return CreateCredentialException.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new1, [string.reference]).object); + } +} + +final class $CreateCredentialExceptionType + extends jni.JObjType { + const $CreateCredentialExceptionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/CreateCredentialException;"; + + @override + CreateCredentialException fromRef(jni.JObjectPtr ref) => + CreateCredentialException.fromRef(ref); + + @override + jni.JObjType get superType => const $ExceptionType(); + + @override + final superCount = 3; + + @override + int get hashCode => ($CreateCredentialExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreateCredentialExceptionType) && + other is $CreateCredentialExceptionType; + } +} + +/// from: androidx.credentials.exceptions.GetCredentialCancellationException$Companion +class GetCredentialCancellationException_Companion extends jni.JObject { + @override + late final jni.JObjType $type = + type; + + GetCredentialCancellationException_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/GetCredentialCancellationException$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $GetCredentialCancellationException_CompanionType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialCancellationException_Companion( + jni.JObject defaultConstructorMarker, + ) { + return GetCredentialCancellationException_Companion.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $GetCredentialCancellationException_CompanionType + extends jni.JObjType { + const $GetCredentialCancellationException_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/GetCredentialCancellationException$Companion;"; + + @override + GetCredentialCancellationException_Companion fromRef(jni.JObjectPtr ref) => + GetCredentialCancellationException_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => + ($GetCredentialCancellationException_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($GetCredentialCancellationException_CompanionType) && + other is $GetCredentialCancellationException_CompanionType; + } +} + +/// from: androidx.credentials.exceptions.GetCredentialCancellationException +class GetCredentialCancellationException extends GetCredentialException { + @override + late final jni.JObjType $type = type; + + GetCredentialCancellationException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/GetCredentialCancellationException"); + + /// The type which includes information such as the signature of this class. + static const type = $GetCredentialCancellationExceptionType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/exceptions/GetCredentialCancellationException$Companion;", + ); + + /// from: static public final androidx.credentials.exceptions.GetCredentialCancellationException$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static GetCredentialCancellationException_Companion get Companion => + const $GetCredentialCancellationException_CompanionType().fromRef(jni + .Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String TYPE_GET_CREDENTIAL_CANCELLATION_EXCEPTION + static const TYPE_GET_CREDENTIAL_CANCELLATION_EXCEPTION = + r"""android.credentials.GetCredentialException.TYPE_USER_CANCELED"""; + + static final _id_new7 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/lang/CharSequence;)V"); + + /// from: public void (java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialCancellationException.new7( + jni.JObject charSequence, + ) { + return GetCredentialCancellationException.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new7, [charSequence.reference]).object); + } + + static final _id_new8 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialCancellationException.new8( + jni.JObject charSequence, + int i, + jni.JObject defaultConstructorMarker, + ) { + return GetCredentialCancellationException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new8, [ + charSequence.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_new9 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialCancellationException.new9() { + return GetCredentialCancellationException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new9, []).object); + } +} + +final class $GetCredentialCancellationExceptionType + extends jni.JObjType { + const $GetCredentialCancellationExceptionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/GetCredentialCancellationException;"; + + @override + GetCredentialCancellationException fromRef(jni.JObjectPtr ref) => + GetCredentialCancellationException.fromRef(ref); + + @override + jni.JObjType get superType => const $GetCredentialExceptionType(); + + @override + final superCount = 4; + + @override + int get hashCode => ($GetCredentialCancellationExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($GetCredentialCancellationExceptionType) && + other is $GetCredentialCancellationExceptionType; + } +} + +/// from: androidx.credentials.exceptions.GetCredentialException +class GetCredentialException extends Exception { + @override + late final jni.JObjType $type = type; + + GetCredentialException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/GetCredentialException"); + + /// The type which includes information such as the signature of this class. + static const type = $GetCredentialExceptionType(); + static final _id_new5 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Ljava/lang/String;Ljava/lang/CharSequence;)V"); + + /// from: public void (java.lang.String string, java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialException.new5( + jni.JString string, + jni.JObject charSequence, + ) { + return GetCredentialException.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, + _id_new5, + [string.reference, charSequence.reference]).object); + } + + static final _id_new6 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.String string, java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialException.new6( + jni.JString string, + jni.JObject charSequence, + int i, + jni.JObject defaultConstructorMarker, + ) { + return GetCredentialException.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new6, [ + string.reference, + charSequence.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_getType = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getType", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getType() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getType() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getType, jni.JniCallType.objectType, []).object); + } + + static final _id_getErrorMessage = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getErrorMessage", r"()Ljava/lang/CharSequence;"); + + /// from: public java.lang.CharSequence getErrorMessage() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getErrorMessage() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getErrorMessage, jni.JniCallType.objectType, []).object); + } + + static final _id_new1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); + + /// from: public void (java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory GetCredentialException.new1( + jni.JString string, + ) { + return GetCredentialException.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new1, [string.reference]).object); + } +} + +final class $GetCredentialExceptionType + extends jni.JObjType { + const $GetCredentialExceptionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/GetCredentialException;"; + + @override + GetCredentialException fromRef(jni.JObjectPtr ref) => + GetCredentialException.fromRef(ref); + + @override + jni.JObjType get superType => const $ExceptionType(); + + @override + final superCount = 3; + + @override + int get hashCode => ($GetCredentialExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($GetCredentialExceptionType) && + other is $GetCredentialExceptionType; + } +} + +/// from: androidx.credentials.exceptions.NoCredentialException$Companion +class NoCredentialException_Companion extends jni.JObject { + @override + late final jni.JObjType $type = type; + + NoCredentialException_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/NoCredentialException$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $NoCredentialException_CompanionType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory NoCredentialException_Companion( + jni.JObject defaultConstructorMarker, + ) { + return NoCredentialException_Companion.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $NoCredentialException_CompanionType + extends jni.JObjType { + const $NoCredentialException_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/NoCredentialException$Companion;"; + + @override + NoCredentialException_Companion fromRef(jni.JObjectPtr ref) => + NoCredentialException_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($NoCredentialException_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($NoCredentialException_CompanionType) && + other is $NoCredentialException_CompanionType; + } +} + +/// from: androidx.credentials.exceptions.NoCredentialException +class NoCredentialException extends GetCredentialException { + @override + late final jni.JObjType $type = type; + + NoCredentialException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/NoCredentialException"); + + /// The type which includes information such as the signature of this class. + static const type = $NoCredentialExceptionType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/exceptions/NoCredentialException$Companion;", + ); + + /// from: static public final androidx.credentials.exceptions.NoCredentialException$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static NoCredentialException_Companion get Companion => + const $NoCredentialException_CompanionType().fromRef(jni.Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String TYPE_FRAMEWORK_TYPE_NO_CREDENTIAL + static const TYPE_FRAMEWORK_TYPE_NO_CREDENTIAL = + r"""android.credentials.GetCredentialException.TYPE_NO_CREDENTIAL"""; + + static final _id_new7 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/lang/CharSequence;)V"); + + /// from: public void (java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory NoCredentialException.new7( + jni.JObject charSequence, + ) { + return NoCredentialException.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new7, [charSequence.reference]).object); + } + + static final _id_new8 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory NoCredentialException.new8( + jni.JObject charSequence, + int i, + jni.JObject defaultConstructorMarker, + ) { + return NoCredentialException.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new8, [ + charSequence.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_new9 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory NoCredentialException.new9() { + return NoCredentialException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new9, []).object); + } +} + +final class $NoCredentialExceptionType + extends jni.JObjType { + const $NoCredentialExceptionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/NoCredentialException;"; + + @override + NoCredentialException fromRef(jni.JObjectPtr ref) => + NoCredentialException.fromRef(ref); + + @override + jni.JObjType get superType => const $GetCredentialExceptionType(); + + @override + final superCount = 4; + + @override + int get hashCode => ($NoCredentialExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($NoCredentialExceptionType) && + other is $NoCredentialExceptionType; + } +} + +/// from: androidx.credentials.exceptions.CreateCredentialInterruptedException$Companion +class CreateCredentialInterruptedException_Companion extends jni.JObject { + @override + late final jni.JObjType + $type = type; + + CreateCredentialInterruptedException_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/CreateCredentialInterruptedException$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialInterruptedException_CompanionType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialInterruptedException_Companion( + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialInterruptedException_Companion.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $CreateCredentialInterruptedException_CompanionType + extends jni.JObjType { + const $CreateCredentialInterruptedException_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/CreateCredentialInterruptedException$Companion;"; + + @override + CreateCredentialInterruptedException_Companion fromRef(jni.JObjectPtr ref) => + CreateCredentialInterruptedException_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => + ($CreateCredentialInterruptedException_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($CreateCredentialInterruptedException_CompanionType) && + other is $CreateCredentialInterruptedException_CompanionType; + } +} + +/// from: androidx.credentials.exceptions.CreateCredentialInterruptedException +class CreateCredentialInterruptedException extends CreateCredentialException { + @override + late final jni.JObjType $type = type; + + CreateCredentialInterruptedException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/CreateCredentialInterruptedException"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialInterruptedExceptionType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/exceptions/CreateCredentialInterruptedException$Companion;", + ); + + /// from: static public final androidx.credentials.exceptions.CreateCredentialInterruptedException$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static CreateCredentialInterruptedException_Companion get Companion => + const $CreateCredentialInterruptedException_CompanionType().fromRef(jni + .Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String TYPE_CREATE_CREDENTIAL_INTERRUPTED_EXCEPTION + static const TYPE_CREATE_CREDENTIAL_INTERRUPTED_EXCEPTION = + r"""android.credentials.CreateCredentialException.TYPE_INTERRUPTED"""; + + static final _id_new7 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/lang/CharSequence;)V"); + + /// from: public void (java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialInterruptedException.new7( + jni.JObject charSequence, + ) { + return CreateCredentialInterruptedException.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new7, [charSequence.reference]).object); + } + + static final _id_new8 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialInterruptedException.new8( + jni.JObject charSequence, + int i, + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialInterruptedException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new8, [ + charSequence.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_new9 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialInterruptedException.new9() { + return CreateCredentialInterruptedException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new9, []).object); + } +} + +final class $CreateCredentialInterruptedExceptionType + extends jni.JObjType { + const $CreateCredentialInterruptedExceptionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/CreateCredentialInterruptedException;"; + + @override + CreateCredentialInterruptedException fromRef(jni.JObjectPtr ref) => + CreateCredentialInterruptedException.fromRef(ref); + + @override + jni.JObjType get superType => const $CreateCredentialExceptionType(); + + @override + final superCount = 4; + + @override + int get hashCode => ($CreateCredentialInterruptedExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreateCredentialInterruptedExceptionType) && + other is $CreateCredentialInterruptedExceptionType; + } +} + +/// from: androidx.credentials.exceptions.CreateCredentialProviderConfigurationException$Companion +class CreateCredentialProviderConfigurationException_Companion + extends jni.JObject { + @override + late final jni + .JObjType + $type = type; + + CreateCredentialProviderConfigurationException_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/CreateCredentialProviderConfigurationException$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = + $CreateCredentialProviderConfigurationException_CompanionType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialProviderConfigurationException_Companion( + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialProviderConfigurationException_Companion.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $CreateCredentialProviderConfigurationException_CompanionType + extends jni + .JObjType { + const $CreateCredentialProviderConfigurationException_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/CreateCredentialProviderConfigurationException$Companion;"; + + @override + CreateCredentialProviderConfigurationException_Companion fromRef( + jni.JObjectPtr ref) => + CreateCredentialProviderConfigurationException_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => + ($CreateCredentialProviderConfigurationException_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($CreateCredentialProviderConfigurationException_CompanionType) && + other is $CreateCredentialProviderConfigurationException_CompanionType; + } +} + +/// from: androidx.credentials.exceptions.CreateCredentialProviderConfigurationException +class CreateCredentialProviderConfigurationException + extends CreateCredentialException { + @override + late final jni.JObjType + $type = type; + + CreateCredentialProviderConfigurationException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/CreateCredentialProviderConfigurationException"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialProviderConfigurationExceptionType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/exceptions/CreateCredentialProviderConfigurationException$Companion;", + ); + + /// from: static public final androidx.credentials.exceptions.CreateCredentialProviderConfigurationException$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static CreateCredentialProviderConfigurationException_Companion + get Companion => + const $CreateCredentialProviderConfigurationException_CompanionType() + .fromRef(jni.Jni.accessors + .getStaticField(_class.reference, _id_Companion, + jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String TYPE_CREATE_CREDENTIAL_PROVIDER_CONFIGURATION_EXCEPTION + static const TYPE_CREATE_CREDENTIAL_PROVIDER_CONFIGURATION_EXCEPTION = + r"""androidx.credentials.TYPE_CREATE_CREDENTIAL_PROVIDER_CONFIGURATION_EXCEPTION"""; + + static final _id_new7 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/lang/CharSequence;)V"); + + /// from: public void (java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialProviderConfigurationException.new7( + jni.JObject charSequence, + ) { + return CreateCredentialProviderConfigurationException.fromRef( + jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new7, [charSequence.reference]).object); + } + + static final _id_new8 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialProviderConfigurationException.new8( + jni.JObject charSequence, + int i, + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialProviderConfigurationException.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new8, [ + charSequence.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_new9 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialProviderConfigurationException.new9() { + return CreateCredentialProviderConfigurationException.fromRef(jni + .Jni.accessors + .newObjectWithArgs(_class.reference, _id_new9, []).object); + } +} + +final class $CreateCredentialProviderConfigurationExceptionType + extends jni.JObjType { + const $CreateCredentialProviderConfigurationExceptionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/CreateCredentialProviderConfigurationException;"; + + @override + CreateCredentialProviderConfigurationException fromRef(jni.JObjectPtr ref) => + CreateCredentialProviderConfigurationException.fromRef(ref); + + @override + jni.JObjType get superType => const $CreateCredentialExceptionType(); + + @override + final superCount = 4; + + @override + int get hashCode => + ($CreateCredentialProviderConfigurationExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($CreateCredentialProviderConfigurationExceptionType) && + other is $CreateCredentialProviderConfigurationExceptionType; + } +} + +/// from: androidx.credentials.exceptions.CreateCredentialUnknownException$Companion +class CreateCredentialUnknownException_Companion extends jni.JObject { + @override + late final jni.JObjType $type = + type; + + CreateCredentialUnknownException_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/CreateCredentialUnknownException$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialUnknownException_CompanionType(); + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialUnknownException_Companion( + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialUnknownException_Companion.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $CreateCredentialUnknownException_CompanionType + extends jni.JObjType { + const $CreateCredentialUnknownException_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/CreateCredentialUnknownException$Companion;"; + + @override + CreateCredentialUnknownException_Companion fromRef(jni.JObjectPtr ref) => + CreateCredentialUnknownException_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => + ($CreateCredentialUnknownException_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($CreateCredentialUnknownException_CompanionType) && + other is $CreateCredentialUnknownException_CompanionType; + } +} + +/// from: androidx.credentials.exceptions.CreateCredentialUnknownException +class CreateCredentialUnknownException extends CreateCredentialException { + @override + late final jni.JObjType $type = type; + + CreateCredentialUnknownException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/CreateCredentialUnknownException"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialUnknownExceptionType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/exceptions/CreateCredentialUnknownException$Companion;", + ); + + /// from: static public final androidx.credentials.exceptions.CreateCredentialUnknownException$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static CreateCredentialUnknownException_Companion get Companion => + const $CreateCredentialUnknownException_CompanionType().fromRef(jni + .Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String TYPE_CREATE_CREDENTIAL_UNKNOWN_EXCEPTION + static const TYPE_CREATE_CREDENTIAL_UNKNOWN_EXCEPTION = + r"""android.credentials.CreateCredentialException.TYPE_UNKNOWN"""; + + static final _id_new7 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Ljava/lang/CharSequence;)V"); + + /// from: public void (java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialUnknownException.new7( + jni.JObject charSequence, + ) { + return CreateCredentialUnknownException.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new7, [charSequence.reference]).object); + } + + static final _id_new8 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialUnknownException.new8( + jni.JObject charSequence, + int i, + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialUnknownException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new8, [ + charSequence.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_new9 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialUnknownException.new9() { + return CreateCredentialUnknownException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new9, []).object); + } +} + +final class $CreateCredentialUnknownExceptionType + extends jni.JObjType { + const $CreateCredentialUnknownExceptionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/CreateCredentialUnknownException;"; + + @override + CreateCredentialUnknownException fromRef(jni.JObjectPtr ref) => + CreateCredentialUnknownException.fromRef(ref); + + @override + jni.JObjType get superType => const $CreateCredentialExceptionType(); + + @override + final superCount = 4; + + @override + int get hashCode => ($CreateCredentialUnknownExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreateCredentialUnknownExceptionType) && + other is $CreateCredentialUnknownExceptionType; + } +} + +/// from: androidx.credentials.exceptions.CreateCredentialCustomException +class CreateCredentialCustomException extends CreateCredentialException { + @override + late final jni.JObjType $type = type; + + CreateCredentialCustomException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/CreateCredentialCustomException"); + + /// The type which includes information such as the signature of this class. + static const type = $CreateCredentialCustomExceptionType(); + static final _id_new5 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Ljava/lang/String;Ljava/lang/CharSequence;)V"); + + /// from: public void (java.lang.String string, java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialCustomException.new5( + jni.JString string, + jni.JObject charSequence, + ) { + return CreateCredentialCustomException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new5, + [string.reference, charSequence.reference]).object); + } + + static final _id_new6 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.String string, java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialCustomException.new6( + jni.JString string, + jni.JObject charSequence, + int i, + jni.JObject defaultConstructorMarker, + ) { + return CreateCredentialCustomException.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new6, [ + string.reference, + charSequence.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_getType = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getType", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getType() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getType() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getType, jni.JniCallType.objectType, []).object); + } + + static final _id_new1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); + + /// from: public void (java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory CreateCredentialCustomException.new1( + jni.JString string, + ) { + return CreateCredentialCustomException.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new1, [string.reference]).object); + } +} + +final class $CreateCredentialCustomExceptionType + extends jni.JObjType { + const $CreateCredentialCustomExceptionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/CreateCredentialCustomException;"; + + @override + CreateCredentialCustomException fromRef(jni.JObjectPtr ref) => + CreateCredentialCustomException.fromRef(ref); + + @override + jni.JObjType get superType => const $CreateCredentialExceptionType(); + + @override + final superCount = 4; + + @override + int get hashCode => ($CreateCredentialCustomExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreateCredentialCustomExceptionType) && + other is $CreateCredentialCustomExceptionType; + } +} + +/// from: androidx.credentials.exceptions.publickeycredential.CreatePublicKeyCredentialDomException$Companion +class CreatePublicKeyCredentialDomException_Companion extends jni.JObject { + @override + late final jni.JObjType + $type = type; + + CreatePublicKeyCredentialDomException_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialDomException$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $CreatePublicKeyCredentialDomException_CompanionType(); + static final _id_createFrom = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/lang/String;Ljava/lang/String;)Landroidx/credentials/exceptions/CreateCredentialException;"); + + /// from: public final androidx.credentials.exceptions.CreateCredentialException createFrom(java.lang.String string, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + CreateCredentialException createFrom( + jni.JString string, + jni.JString string1, + ) { + return const $CreateCredentialExceptionType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_createFrom, + jni.JniCallType.objectType, + [string.reference, string1.reference]).object); + } + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialDomException_Companion( + jni.JObject defaultConstructorMarker, + ) { + return CreatePublicKeyCredentialDomException_Companion.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $CreatePublicKeyCredentialDomException_CompanionType + extends jni.JObjType { + const $CreatePublicKeyCredentialDomException_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialDomException$Companion;"; + + @override + CreatePublicKeyCredentialDomException_Companion fromRef(jni.JObjectPtr ref) => + CreatePublicKeyCredentialDomException_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => + ($CreatePublicKeyCredentialDomException_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($CreatePublicKeyCredentialDomException_CompanionType) && + other is $CreatePublicKeyCredentialDomException_CompanionType; + } +} + +/// from: androidx.credentials.exceptions.publickeycredential.CreatePublicKeyCredentialDomException +class CreatePublicKeyCredentialDomException + extends CreatePublicKeyCredentialException { + @override + late final jni.JObjType $type = type; + + CreatePublicKeyCredentialDomException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialDomException"); + + /// The type which includes information such as the signature of this class. + static const type = $CreatePublicKeyCredentialDomExceptionType(); + static final _id_Companion1 = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialDomException$Companion;", + ); + + /// from: static public final androidx.credentials.exceptions.publickeycredential.CreatePublicKeyCredentialDomException$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static CreatePublicKeyCredentialDomException_Companion get Companion1 => + const $CreatePublicKeyCredentialDomException_CompanionType().fromRef(jni + .Jni.accessors + .getStaticField( + _class.reference, _id_Companion1, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_DOM_EXCEPTION + static const TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_DOM_EXCEPTION = + r"""androidx.credentials.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_DOM_EXCEPTION"""; + + static final _id_new7 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Landroidx/credentials/exceptions/domerrors/DomError;Ljava/lang/CharSequence;)V"); + + /// from: public void (androidx.credentials.exceptions.domerrors.DomError domError, java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialDomException.new7( + jni.JObject domError, + jni.JObject charSequence, + ) { + return CreatePublicKeyCredentialDomException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new7, + [domError.reference, charSequence.reference]).object); + } + + static final _id_new8 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Landroidx/credentials/exceptions/domerrors/DomError;Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (androidx.credentials.exceptions.domerrors.DomError domError, java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialDomException.new8( + jni.JObject domError, + jni.JObject charSequence, + int i, + jni.JObject defaultConstructorMarker, + ) { + return CreatePublicKeyCredentialDomException.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new8, [ + domError.reference, + charSequence.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_getDomError = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getDomError", + r"()Landroidx/credentials/exceptions/domerrors/DomError;"); + + /// from: public final androidx.credentials.exceptions.domerrors.DomError getDomError() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getDomError() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getDomError, jni.JniCallType.objectType, []).object); + } + + static final _id_new9 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Landroidx/credentials/exceptions/domerrors/DomError;)V"); + + /// from: public void (androidx.credentials.exceptions.domerrors.DomError domError) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialDomException.new9( + jni.JObject domError, + ) { + return CreatePublicKeyCredentialDomException.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new9, [domError.reference]).object); + } + + static final _id_createFrom = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/lang/String;Ljava/lang/String;)Landroidx/credentials/exceptions/CreateCredentialException;"); + + /// from: static public final androidx.credentials.exceptions.CreateCredentialException createFrom(java.lang.String string, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + static CreateCredentialException createFrom( + jni.JString string, + jni.JString string1, + ) { + return const $CreateCredentialExceptionType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_createFrom, + jni.JniCallType.objectType, + [string.reference, string1.reference]).object); + } +} + +final class $CreatePublicKeyCredentialDomExceptionType + extends jni.JObjType { + const $CreatePublicKeyCredentialDomExceptionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialDomException;"; + + @override + CreatePublicKeyCredentialDomException fromRef(jni.JObjectPtr ref) => + CreatePublicKeyCredentialDomException.fromRef(ref); + + @override + jni.JObjType get superType => const $CreatePublicKeyCredentialExceptionType(); + + @override + final superCount = 5; + + @override + int get hashCode => ($CreatePublicKeyCredentialDomExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreatePublicKeyCredentialDomExceptionType) && + other is $CreatePublicKeyCredentialDomExceptionType; + } +} + +/// from: androidx.credentials.exceptions.publickeycredential.CreatePublicKeyCredentialException$Companion +class CreatePublicKeyCredentialException_Companion extends jni.JObject { + @override + late final jni.JObjType $type = + type; + + CreatePublicKeyCredentialException_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialException$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $CreatePublicKeyCredentialException_CompanionType(); + static final _id_createFrom = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/lang/String;Ljava/lang/String;)Landroidx/credentials/exceptions/CreateCredentialException;"); + + /// from: public final androidx.credentials.exceptions.CreateCredentialException createFrom(java.lang.String string, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + CreateCredentialException createFrom( + jni.JString string, + jni.JString string1, + ) { + return const $CreateCredentialExceptionType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_createFrom, + jni.JniCallType.objectType, + [string.reference, string1.reference]).object); + } + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialException_Companion( + jni.JObject defaultConstructorMarker, + ) { + return CreatePublicKeyCredentialException_Companion.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $CreatePublicKeyCredentialException_CompanionType + extends jni.JObjType { + const $CreatePublicKeyCredentialException_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialException$Companion;"; + + @override + CreatePublicKeyCredentialException_Companion fromRef(jni.JObjectPtr ref) => + CreatePublicKeyCredentialException_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => + ($CreatePublicKeyCredentialException_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($CreatePublicKeyCredentialException_CompanionType) && + other is $CreatePublicKeyCredentialException_CompanionType; + } +} + +/// from: androidx.credentials.exceptions.publickeycredential.CreatePublicKeyCredentialException +class CreatePublicKeyCredentialException extends CreateCredentialException { + @override + late final jni.JObjType $type = type; + + CreatePublicKeyCredentialException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialException"); + + /// The type which includes information such as the signature of this class. + static const type = $CreatePublicKeyCredentialExceptionType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialException$Companion;", + ); + + /// from: static public final androidx.credentials.exceptions.publickeycredential.CreatePublicKeyCredentialException$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static CreatePublicKeyCredentialException_Companion get Companion => + const $CreatePublicKeyCredentialException_CompanionType().fromRef(jni + .Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + static final _id_new5 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Ljava/lang/String;Ljava/lang/CharSequence;)V"); + + /// from: public void (java.lang.String string, java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialException.new5( + jni.JString string, + jni.JObject charSequence, + ) { + return CreatePublicKeyCredentialException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new5, + [string.reference, charSequence.reference]).object); + } + + static final _id_new6 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Ljava/lang/String;Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (java.lang.String string, java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialException.new6( + jni.JString string, + jni.JObject charSequence, + int i, + jni.JObject defaultConstructorMarker, + ) { + return CreatePublicKeyCredentialException.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new6, [ + string.reference, + charSequence.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_getType = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getType", r"()Ljava/lang/String;"); + + /// from: public java.lang.String getType() + /// The returned object must be released after use, by calling the [release] method. + jni.JString getType() { + return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getType, jni.JniCallType.objectType, []).object); + } + + static final _id_new1 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); + + /// from: public void (java.lang.String string) + /// The returned object must be released after use, by calling the [release] method. + factory CreatePublicKeyCredentialException.new1( + jni.JString string, + ) { + return CreatePublicKeyCredentialException.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new1, [string.reference]).object); + } + + static final _id_createFrom = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/lang/String;Ljava/lang/String;)Landroidx/credentials/exceptions/CreateCredentialException;"); + + /// from: static public final androidx.credentials.exceptions.CreateCredentialException createFrom(java.lang.String string, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + static CreateCredentialException createFrom( + jni.JString string, + jni.JString string1, + ) { + return const $CreateCredentialExceptionType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_createFrom, + jni.JniCallType.objectType, + [string.reference, string1.reference]).object); + } +} + +final class $CreatePublicKeyCredentialExceptionType + extends jni.JObjType { + const $CreatePublicKeyCredentialExceptionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialException;"; + + @override + CreatePublicKeyCredentialException fromRef(jni.JObjectPtr ref) => + CreatePublicKeyCredentialException.fromRef(ref); + + @override + jni.JObjType get superType => const $CreateCredentialExceptionType(); + + @override + final superCount = 4; + + @override + int get hashCode => ($CreatePublicKeyCredentialExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($CreatePublicKeyCredentialExceptionType) && + other is $CreatePublicKeyCredentialExceptionType; + } +} + +/// from: androidx.credentials.exceptions.publickeycredential.GetPublicKeyCredentialDomException$Companion +class GetPublicKeyCredentialDomException_Companion extends jni.JObject { + @override + late final jni.JObjType $type = + type; + + GetPublicKeyCredentialDomException_Companion.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialDomException$Companion"); + + /// The type which includes information such as the signature of this class. + static const type = $GetPublicKeyCredentialDomException_CompanionType(); + static final _id_createFrom = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/lang/String;Ljava/lang/String;)Landroidx/credentials/exceptions/GetCredentialException;"); + + /// from: public final androidx.credentials.exceptions.GetCredentialException createFrom(java.lang.String string, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + GetCredentialException createFrom( + jni.JString string, + jni.JString string1, + ) { + return const $GetCredentialExceptionType().fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_createFrom, + jni.JniCallType.objectType, + [string.reference, string1.reference]).object); + } + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory GetPublicKeyCredentialDomException_Companion( + jni.JObject defaultConstructorMarker, + ) { + return GetPublicKeyCredentialDomException_Companion.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, + [defaultConstructorMarker.reference]).object); + } +} + +final class $GetPublicKeyCredentialDomException_CompanionType + extends jni.JObjType { + const $GetPublicKeyCredentialDomException_CompanionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialDomException$Companion;"; + + @override + GetPublicKeyCredentialDomException_Companion fromRef(jni.JObjectPtr ref) => + GetPublicKeyCredentialDomException_Companion.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => + ($GetPublicKeyCredentialDomException_CompanionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == + ($GetPublicKeyCredentialDomException_CompanionType) && + other is $GetPublicKeyCredentialDomException_CompanionType; + } +} + +/// from: androidx.credentials.exceptions.publickeycredential.GetPublicKeyCredentialDomException +class GetPublicKeyCredentialDomException extends jni.JObject { + @override + late final jni.JObjType $type = type; + + GetPublicKeyCredentialDomException.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass( + r"androidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialDomException"); + + /// The type which includes information such as the signature of this class. + static const type = $GetPublicKeyCredentialDomExceptionType(); + static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"Companion", + r"Landroidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialDomException$Companion;", + ); + + /// from: static public final androidx.credentials.exceptions.publickeycredential.GetPublicKeyCredentialDomException$Companion Companion + /// The returned object must be released after use, by calling the [release] method. + static GetPublicKeyCredentialDomException_Companion get Companion => + const $GetPublicKeyCredentialDomException_CompanionType().fromRef(jni + .Jni.accessors + .getStaticField( + _class.reference, _id_Companion, jni.JniCallType.objectType) + .object); + + /// from: static public final java.lang.String TYPE_GET_PUBLIC_KEY_CREDENTIAL_DOM_EXCEPTION + static const TYPE_GET_PUBLIC_KEY_CREDENTIAL_DOM_EXCEPTION = + r"""androidx.credentials.TYPE_GET_PUBLIC_KEY_CREDENTIAL_DOM_EXCEPTION"""; + + static final _id_new0 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Landroidx/credentials/exceptions/domerrors/DomError;Ljava/lang/CharSequence;)V"); + + /// from: public void (androidx.credentials.exceptions.domerrors.DomError domError, java.lang.CharSequence charSequence) + /// The returned object must be released after use, by calling the [release] method. + factory GetPublicKeyCredentialDomException( + jni.JObject domError, + jni.JObject charSequence, + ) { + return GetPublicKeyCredentialDomException.fromRef(jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, + [domError.reference, charSequence.reference]).object); + } + + static final _id_new1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"", + r"(Landroidx/credentials/exceptions/domerrors/DomError;Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); + + /// from: public void (androidx.credentials.exceptions.domerrors.DomError domError, java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) + /// The returned object must be released after use, by calling the [release] method. + factory GetPublicKeyCredentialDomException.new1( + jni.JObject domError, + jni.JObject charSequence, + int i, + jni.JObject defaultConstructorMarker, + ) { + return GetPublicKeyCredentialDomException.fromRef( + jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new1, [ + domError.reference, + charSequence.reference, + jni.JValueInt(i), + defaultConstructorMarker.reference + ]).object); + } + + static final _id_getDomError = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getDomError", + r"()Landroidx/credentials/exceptions/domerrors/DomError;"); + + /// from: public final androidx.credentials.exceptions.domerrors.DomError getDomError() + /// The returned object must be released after use, by calling the [release] method. + jni.JObject getDomError() { + return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getDomError, jni.JniCallType.objectType, []).object); + } + + static final _id_new2 = jni.Jni.accessors.getMethodIDOf(_class.reference, + r"", r"(Landroidx/credentials/exceptions/domerrors/DomError;)V"); + + /// from: public void (androidx.credentials.exceptions.domerrors.DomError domError) + /// The returned object must be released after use, by calling the [release] method. + factory GetPublicKeyCredentialDomException.new2( + jni.JObject domError, + ) { + return GetPublicKeyCredentialDomException.fromRef(jni.Jni.accessors + .newObjectWithArgs( + _class.reference, _id_new2, [domError.reference]).object); + } + + static final _id_createFrom = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"createFrom", + r"(Ljava/lang/String;Ljava/lang/String;)Landroidx/credentials/exceptions/GetCredentialException;"); + + /// from: static public final androidx.credentials.exceptions.GetCredentialException createFrom(java.lang.String string, java.lang.String string1) + /// The returned object must be released after use, by calling the [release] method. + static GetCredentialException createFrom( + jni.JString string, + jni.JString string1, + ) { + return const $GetCredentialExceptionType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_createFrom, + jni.JniCallType.objectType, + [string.reference, string1.reference]).object); + } +} + +final class $GetPublicKeyCredentialDomExceptionType + extends jni.JObjType { + const $GetPublicKeyCredentialDomExceptionType(); + + @override + String get signature => + r"Landroidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialDomException;"; + + @override + GetPublicKeyCredentialDomException fromRef(jni.JObjectPtr ref) => + GetPublicKeyCredentialDomException.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($GetPublicKeyCredentialDomExceptionType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($GetPublicKeyCredentialDomExceptionType) && + other is $GetPublicKeyCredentialDomExceptionType; + } +} + +/// from: com.google.android.gms.fido.Fido +class Fido extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Fido.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = jni.Jni.findJClass(r"com/google/android/gms/fido/Fido"); + + /// The type which includes information such as the signature of this class. + static const type = $FidoType(); + + /// from: static public final java.lang.String KEY_RESPONSE_EXTRA + static const KEY_RESPONSE_EXTRA = r"""RESPONSE_EXTRA"""; + + /// from: static public final java.lang.String FIDO2_KEY_RESPONSE_EXTRA + static const FIDO2_KEY_RESPONSE_EXTRA = r"""FIDO2_RESPONSE_EXTRA"""; + + /// from: static public final java.lang.String FIDO2_KEY_ERROR_EXTRA + static const FIDO2_KEY_ERROR_EXTRA = r"""FIDO2_ERROR_EXTRA"""; + + /// from: static public final java.lang.String FIDO2_KEY_CREDENTIAL_EXTRA + static const FIDO2_KEY_CREDENTIAL_EXTRA = r"""FIDO2_CREDENTIAL_EXTRA"""; + + static final _id_zza = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"zza", + r"Lcom/google/android/gms/common/api/Api$ClientKey;", + ); + + /// from: static public final com.google.android.gms.common.api.Api$ClientKey zza + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject get zza => + const jni.JObjectType().fromRef(jni.Jni.accessors + .getStaticField(_class.reference, _id_zza, jni.JniCallType.objectType) + .object); + + static final _id_zzb = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"zzb", + r"Lcom/google/android/gms/common/api/Api;", + ); + + /// from: static public final com.google.android.gms.common.api.Api zzb + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject get zzb => + const jni.JObjectType().fromRef(jni.Jni.accessors + .getStaticField(_class.reference, _id_zzb, jni.JniCallType.objectType) + .object); + + static final _id_zzc = jni.Jni.accessors.getStaticFieldIDOf( + _class.reference, + r"zzc", + r"Lcom/google/android/gms/internal/fido/zzaa;", + ); + + /// from: static public final com.google.android.gms.internal.fido.zzaa zzc + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject get zzc => + const jni.JObjectType().fromRef(jni.Jni.accessors + .getStaticField(_class.reference, _id_zzc, jni.JniCallType.objectType) + .object); + + static final _id_getFido2ApiClient = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"getFido2ApiClient", + r"(Landroid/app/Activity;)Lcom/google/android/gms/fido/fido2/Fido2ApiClient;"); + + /// from: static public com.google.android.gms.fido.fido2.Fido2ApiClient getFido2ApiClient(android.app.Activity activity) + /// The returned object must be released after use, by calling the [release] method. + static Fido2ApiClient getFido2ApiClient( + Activity activity, + ) { + return const $Fido2ApiClientType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_getFido2ApiClient, + jni.JniCallType.objectType, [activity.reference]).object); + } + + static final _id_getFido2ApiClient1 = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"getFido2ApiClient", + r"(Landroid/content/Context;)Lcom/google/android/gms/fido/fido2/Fido2ApiClient;"); + + /// from: static public com.google.android.gms.fido.fido2.Fido2ApiClient getFido2ApiClient(android.content.Context context) + /// The returned object must be released after use, by calling the [release] method. + static Fido2ApiClient getFido2ApiClient1( + Context context, + ) { + return const $Fido2ApiClientType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_getFido2ApiClient1, + jni.JniCallType.objectType, [context.reference]).object); + } + + static final _id_getFido2PrivilegedApiClient = jni.Jni.accessors + .getStaticMethodIDOf(_class.reference, r"getFido2PrivilegedApiClient", + r"(Landroid/app/Activity;)Lcom/google/android/gms/fido/fido2/Fido2PrivilegedApiClient;"); + + /// from: static public com.google.android.gms.fido.fido2.Fido2PrivilegedApiClient getFido2PrivilegedApiClient(android.app.Activity activity) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject getFido2PrivilegedApiClient( + Activity activity, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_getFido2PrivilegedApiClient, + jni.JniCallType.objectType, + [activity.reference]).object); + } + + static final _id_getFido2PrivilegedApiClient1 = jni.Jni.accessors + .getStaticMethodIDOf(_class.reference, r"getFido2PrivilegedApiClient", + r"(Landroid/content/Context;)Lcom/google/android/gms/fido/fido2/Fido2PrivilegedApiClient;"); + + /// from: static public com.google.android.gms.fido.fido2.Fido2PrivilegedApiClient getFido2PrivilegedApiClient(android.content.Context context) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject getFido2PrivilegedApiClient1( + Context context, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs( + _class.reference, + _id_getFido2PrivilegedApiClient1, + jni.JniCallType.objectType, + [context.reference]).object); + } + + static final _id_getU2fApiClient = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"getU2fApiClient", + r"(Landroid/app/Activity;)Lcom/google/android/gms/fido/u2f/U2fApiClient;"); + + /// from: static public com.google.android.gms.fido.u2f.U2fApiClient getU2fApiClient(android.app.Activity activity) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject getU2fApiClient( + Activity activity, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_getU2fApiClient, + jni.JniCallType.objectType, [activity.reference]).object); + } + + static final _id_getU2fApiClient1 = jni.Jni.accessors.getStaticMethodIDOf( + _class.reference, + r"getU2fApiClient", + r"(Landroid/content/Context;)Lcom/google/android/gms/fido/u2f/U2fApiClient;"); + + /// from: static public com.google.android.gms.fido.u2f.U2fApiClient getU2fApiClient(android.content.Context context) + /// The returned object must be released after use, by calling the [release] method. + static jni.JObject getU2fApiClient1( + Context context, + ) { + return const jni.JObjectType().fromRef(jni.Jni.accessors + .callStaticMethodWithArgs(_class.reference, _id_getU2fApiClient1, + jni.JniCallType.objectType, [context.reference]).object); + } +} + +final class $FidoType extends jni.JObjType { + const $FidoType(); + + @override + String get signature => r"Lcom/google/android/gms/fido/Fido;"; + + @override + Fido fromRef(jni.JObjectPtr ref) => Fido.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($FidoType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($FidoType) && other is $FidoType; + } +} + +/// from: com.google.android.gms.fido.fido2.Fido2ApiClient +class Fido2ApiClient extends jni.JObject { + @override + late final jni.JObjType $type = type; + + Fido2ApiClient.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"com/google/android/gms/fido/fido2/Fido2ApiClient"); + + /// The type which includes information such as the signature of this class. + static const type = $Fido2ApiClientType(); + static final _id_getRegisterIntent = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getRegisterIntent", + r"(Lcom/google/android/gms/fido/fido2/api/common/PublicKeyCredentialCreationOptions;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task getRegisterIntent(com.google.android.gms.fido.fido2.api.common.PublicKeyCredentialCreationOptions publicKeyCredentialCreationOptions) + /// The returned object must be released after use, by calling the [release] method. + Task getRegisterIntent( + jni.JObject publicKeyCredentialCreationOptions, + ) { + return const $TaskType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_getRegisterIntent, + jni.JniCallType.objectType, + [publicKeyCredentialCreationOptions.reference]).object); + } + + static final _id_getRegisterPendingIntent = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getRegisterPendingIntent", + r"(Lcom/google/android/gms/fido/fido2/api/common/PublicKeyCredentialCreationOptions;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task getRegisterPendingIntent(com.google.android.gms.fido.fido2.api.common.PublicKeyCredentialCreationOptions publicKeyCredentialCreationOptions) + /// The returned object must be released after use, by calling the [release] method. + Task getRegisterPendingIntent( + jni.JObject publicKeyCredentialCreationOptions, + ) { + return const $TaskType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_getRegisterPendingIntent, + jni.JniCallType.objectType, + [publicKeyCredentialCreationOptions.reference]).object); + } + + static final _id_getSignIntent = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getSignIntent", + r"(Lcom/google/android/gms/fido/fido2/api/common/PublicKeyCredentialRequestOptions;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task getSignIntent(com.google.android.gms.fido.fido2.api.common.PublicKeyCredentialRequestOptions publicKeyCredentialRequestOptions) + /// The returned object must be released after use, by calling the [release] method. + Task getSignIntent( + jni.JObject publicKeyCredentialRequestOptions, + ) { + return const $TaskType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_getSignIntent, + jni.JniCallType.objectType, + [publicKeyCredentialRequestOptions.reference]).object); + } + + static final _id_getSignPendingIntent = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"getSignPendingIntent", + r"(Lcom/google/android/gms/fido/fido2/api/common/PublicKeyCredentialRequestOptions;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task getSignPendingIntent(com.google.android.gms.fido.fido2.api.common.PublicKeyCredentialRequestOptions publicKeyCredentialRequestOptions) + /// The returned object must be released after use, by calling the [release] method. + Task getSignPendingIntent( + jni.JObject publicKeyCredentialRequestOptions, + ) { + return const $TaskType(jni.JObjectType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_getSignPendingIntent, + jni.JniCallType.objectType, + [publicKeyCredentialRequestOptions.reference]).object); + } + + static final _id_isUserVerifyingPlatformAuthenticatorAvailable = + jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"isUserVerifyingPlatformAuthenticatorAvailable", + r"()Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task isUserVerifyingPlatformAuthenticatorAvailable() + /// The returned object must be released after use, by calling the [release] method. + Task isUserVerifyingPlatformAuthenticatorAvailable() { + return const $TaskType(jni.JBooleanType()).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_isUserVerifyingPlatformAuthenticatorAvailable, + jni.JniCallType.objectType, []).object); + } + + static final _id_new0 = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"", r"(Landroid/app/Activity;)V"); + + /// from: public void (android.app.Activity activity) + /// The returned object must be released after use, by calling the [release] method. + factory Fido2ApiClient( + Activity activity, + ) { + return Fido2ApiClient.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new0, [activity.reference]).object); + } + + static final _id_new1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"", r"(Landroid/content/Context;)V"); + + /// from: public void (android.content.Context context) + /// The returned object must be released after use, by calling the [release] method. + factory Fido2ApiClient.new1( + Context context, + ) { + return Fido2ApiClient.fromRef(jni.Jni.accessors.newObjectWithArgs( + _class.reference, _id_new1, [context.reference]).object); + } +} + +final class $Fido2ApiClientType extends jni.JObjType { + const $Fido2ApiClientType(); + + @override + String get signature => r"Lcom/google/android/gms/fido/fido2/Fido2ApiClient;"; + + @override + Fido2ApiClient fromRef(jni.JObjectPtr ref) => Fido2ApiClient.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($Fido2ApiClientType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($Fido2ApiClientType) && + other is $Fido2ApiClientType; + } +} + +/// from: com.google.android.gms.tasks.Task +class Task<$TResult extends jni.JObject> extends jni.JObject { + @override + late final jni.JObjType> $type = type(TResult); + + final jni.JObjType<$TResult> TResult; + + Task.fromRef( + this.TResult, + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"com/google/android/gms/tasks/Task"); + + /// The type which includes information such as the signature of this class. + static $TaskType<$TResult> type<$TResult extends jni.JObject>( + jni.JObjType<$TResult> TResult, + ) { + return $TaskType( + TResult, + ); + } + + static final _id_addOnCanceledListener = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addOnCanceledListener", + r"(Lcom/google/android/gms/tasks/OnCanceledListener;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task addOnCanceledListener(com.google.android.gms.tasks.OnCanceledListener onCanceledListener) + /// The returned object must be released after use, by calling the [release] method. + Task<$TResult> addOnCanceledListener( + jni.JObject onCanceledListener, + ) { + return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addOnCanceledListener, + jni.JniCallType.objectType, + [onCanceledListener.reference]).object); + } + + static final _id_addOnCanceledListener1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addOnCanceledListener", + r"(Landroid/app/Activity;Lcom/google/android/gms/tasks/OnCanceledListener;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task addOnCanceledListener(android.app.Activity activity, com.google.android.gms.tasks.OnCanceledListener onCanceledListener) + /// The returned object must be released after use, by calling the [release] method. + Task<$TResult> addOnCanceledListener1( + Activity activity, + jni.JObject onCanceledListener, + ) { + return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addOnCanceledListener1, + jni.JniCallType.objectType, + [activity.reference, onCanceledListener.reference]).object); + } + + static final _id_addOnCanceledListener2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addOnCanceledListener", + r"(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/OnCanceledListener;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task addOnCanceledListener(java.util.concurrent.Executor executor, com.google.android.gms.tasks.OnCanceledListener onCanceledListener) + /// The returned object must be released after use, by calling the [release] method. + Task<$TResult> addOnCanceledListener2( + jni.JObject executor, + jni.JObject onCanceledListener, + ) { + return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addOnCanceledListener2, + jni.JniCallType.objectType, + [executor.reference, onCanceledListener.reference]).object); + } + + static final _id_addOnCompleteListener = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addOnCompleteListener", + r"(Lcom/google/android/gms/tasks/OnCompleteListener;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task addOnCompleteListener(com.google.android.gms.tasks.OnCompleteListener onCompleteListener) + /// The returned object must be released after use, by calling the [release] method. + Task<$TResult> addOnCompleteListener( + jni.JObject onCompleteListener, + ) { + return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addOnCompleteListener, + jni.JniCallType.objectType, + [onCompleteListener.reference]).object); + } + + static final _id_addOnCompleteListener1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addOnCompleteListener", + r"(Landroid/app/Activity;Lcom/google/android/gms/tasks/OnCompleteListener;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task addOnCompleteListener(android.app.Activity activity, com.google.android.gms.tasks.OnCompleteListener onCompleteListener) + /// The returned object must be released after use, by calling the [release] method. + Task<$TResult> addOnCompleteListener1( + Activity activity, + jni.JObject onCompleteListener, + ) { + return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addOnCompleteListener1, + jni.JniCallType.objectType, + [activity.reference, onCompleteListener.reference]).object); + } + + static final _id_addOnCompleteListener2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addOnCompleteListener", + r"(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/OnCompleteListener;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task addOnCompleteListener(java.util.concurrent.Executor executor, com.google.android.gms.tasks.OnCompleteListener onCompleteListener) + /// The returned object must be released after use, by calling the [release] method. + Task<$TResult> addOnCompleteListener2( + jni.JObject executor, + jni.JObject onCompleteListener, + ) { + return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addOnCompleteListener2, + jni.JniCallType.objectType, + [executor.reference, onCompleteListener.reference]).object); + } + + static final _id_addOnFailureListener = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addOnFailureListener", + r"(Lcom/google/android/gms/tasks/OnFailureListener;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public abstract com.google.android.gms.tasks.Task addOnFailureListener(com.google.android.gms.tasks.OnFailureListener onFailureListener) + /// The returned object must be released after use, by calling the [release] method. + Task<$TResult> addOnFailureListener( + OnFailureListener onFailureListener, + ) { + return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addOnFailureListener, + jni.JniCallType.objectType, + [onFailureListener.reference]).object); + } + + static final _id_addOnFailureListener1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addOnFailureListener", + r"(Landroid/app/Activity;Lcom/google/android/gms/tasks/OnFailureListener;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public abstract com.google.android.gms.tasks.Task addOnFailureListener(android.app.Activity activity, com.google.android.gms.tasks.OnFailureListener onFailureListener) + /// The returned object must be released after use, by calling the [release] method. + Task<$TResult> addOnFailureListener1( + Activity activity, + OnFailureListener onFailureListener, + ) { + return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addOnFailureListener1, + jni.JniCallType.objectType, + [activity.reference, onFailureListener.reference]).object); + } + + static final _id_addOnFailureListener2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addOnFailureListener", + r"(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/OnFailureListener;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public abstract com.google.android.gms.tasks.Task addOnFailureListener(java.util.concurrent.Executor executor, com.google.android.gms.tasks.OnFailureListener onFailureListener) + /// The returned object must be released after use, by calling the [release] method. + Task<$TResult> addOnFailureListener2( + jni.JObject executor, + OnFailureListener onFailureListener, + ) { + return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addOnFailureListener2, + jni.JniCallType.objectType, + [executor.reference, onFailureListener.reference]).object); + } + + static final _id_addOnSuccessListener = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addOnSuccessListener", + r"(Lcom/google/android/gms/tasks/OnSuccessListener;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public abstract com.google.android.gms.tasks.Task addOnSuccessListener(com.google.android.gms.tasks.OnSuccessListener onSuccessListener) + /// The returned object must be released after use, by calling the [release] method. + Task<$TResult> addOnSuccessListener( + OnSuccessListener<$TResult> onSuccessListener, + ) { + return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addOnSuccessListener, + jni.JniCallType.objectType, + [onSuccessListener.reference]).object); + } + + static final _id_addOnSuccessListener1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addOnSuccessListener", + r"(Landroid/app/Activity;Lcom/google/android/gms/tasks/OnSuccessListener;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public abstract com.google.android.gms.tasks.Task addOnSuccessListener(android.app.Activity activity, com.google.android.gms.tasks.OnSuccessListener onSuccessListener) + /// The returned object must be released after use, by calling the [release] method. + Task<$TResult> addOnSuccessListener1( + Activity activity, + OnSuccessListener<$TResult> onSuccessListener, + ) { + return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addOnSuccessListener1, + jni.JniCallType.objectType, + [activity.reference, onSuccessListener.reference]).object); + } + + static final _id_addOnSuccessListener2 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"addOnSuccessListener", + r"(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/OnSuccessListener;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public abstract com.google.android.gms.tasks.Task addOnSuccessListener(java.util.concurrent.Executor executor, com.google.android.gms.tasks.OnSuccessListener onSuccessListener) + /// The returned object must be released after use, by calling the [release] method. + Task<$TResult> addOnSuccessListener2( + jni.JObject executor, + OnSuccessListener<$TResult> onSuccessListener, + ) { + return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, + _id_addOnSuccessListener2, + jni.JniCallType.objectType, + [executor.reference, onSuccessListener.reference]).object); + } + + static final _id_continueWith = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"continueWith", + r"(Lcom/google/android/gms/tasks/Continuation;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task continueWith(com.google.android.gms.tasks.Continuation continuation) + /// The returned object must be released after use, by calling the [release] method. + Task<$TContinuationResult> + continueWith<$TContinuationResult extends jni.JObject>( + jni.JObject continuation, { + required jni.JObjType<$TContinuationResult> TContinuationResult, + }) { + return $TaskType(TContinuationResult).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_continueWith, + jni.JniCallType.objectType, [continuation.reference]).object); + } + + static final _id_continueWith1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"continueWith", + r"(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/Continuation;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task continueWith(java.util.concurrent.Executor executor, com.google.android.gms.tasks.Continuation continuation) + /// The returned object must be released after use, by calling the [release] method. + Task<$TContinuationResult> + continueWith1<$TContinuationResult extends jni.JObject>( + jni.JObject executor, + jni.JObject continuation, { + required jni.JObjType<$TContinuationResult> TContinuationResult, + }) { + return $TaskType(TContinuationResult).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_continueWith1, + jni.JniCallType.objectType, + [executor.reference, continuation.reference]).object); + } + + static final _id_continueWithTask = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"continueWithTask", + r"(Lcom/google/android/gms/tasks/Continuation;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task continueWithTask(com.google.android.gms.tasks.Continuation continuation) + /// The returned object must be released after use, by calling the [release] method. + Task<$TContinuationResult> + continueWithTask<$TContinuationResult extends jni.JObject>( + jni.JObject continuation, { + required jni.JObjType<$TContinuationResult> TContinuationResult, + }) { + return $TaskType(TContinuationResult).fromRef(jni.Jni.accessors + .callMethodWithArgs(reference, _id_continueWithTask, + jni.JniCallType.objectType, [continuation.reference]).object); + } + + static final _id_continueWithTask1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"continueWithTask", + r"(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/Continuation;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task continueWithTask(java.util.concurrent.Executor executor, com.google.android.gms.tasks.Continuation continuation) + /// The returned object must be released after use, by calling the [release] method. + Task<$TContinuationResult> + continueWithTask1<$TContinuationResult extends jni.JObject>( + jni.JObject executor, + jni.JObject continuation, { + required jni.JObjType<$TContinuationResult> TContinuationResult, + }) { + return $TaskType(TContinuationResult).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_continueWithTask1, + jni.JniCallType.objectType, + [executor.reference, continuation.reference]).object); + } + + static final _id_onSuccessTask = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onSuccessTask", + r"(Lcom/google/android/gms/tasks/SuccessContinuation;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task onSuccessTask(com.google.android.gms.tasks.SuccessContinuation successContinuation) + /// The returned object must be released after use, by calling the [release] method. + Task<$TContinuationResult> + onSuccessTask<$TContinuationResult extends jni.JObject>( + jni.JObject successContinuation, { + required jni.JObjType<$TContinuationResult> TContinuationResult, + }) { + return $TaskType(TContinuationResult).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_onSuccessTask, + jni.JniCallType.objectType, + [successContinuation.reference]).object); + } + + static final _id_onSuccessTask1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, + r"onSuccessTask", + r"(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/SuccessContinuation;)Lcom/google/android/gms/tasks/Task;"); + + /// from: public com.google.android.gms.tasks.Task onSuccessTask(java.util.concurrent.Executor executor, com.google.android.gms.tasks.SuccessContinuation successContinuation) + /// The returned object must be released after use, by calling the [release] method. + Task<$TContinuationResult> + onSuccessTask1<$TContinuationResult extends jni.JObject>( + jni.JObject executor, + jni.JObject successContinuation, { + required jni.JObjType<$TContinuationResult> TContinuationResult, + }) { + return $TaskType(TContinuationResult).fromRef(jni.Jni.accessors + .callMethodWithArgs( + reference, + _id_onSuccessTask1, + jni.JniCallType.objectType, + [executor.reference, successContinuation.reference]).object); + } + + static final _id_getException = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getException", r"()Ljava/lang/Exception;"); + + /// from: public abstract java.lang.Exception getException() + /// The returned object must be released after use, by calling the [release] method. + Exception getException() { + return const $ExceptionType().fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getException, jni.JniCallType.objectType, []).object); + } + + static final _id_getResult = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"getResult", r"()Ljava/lang/Object;"); + + /// from: public abstract TResult getResult() + /// The returned object must be released after use, by calling the [release] method. + $TResult getResult() { + return TResult.fromRef(jni.Jni.accessors.callMethodWithArgs( + reference, _id_getResult, jni.JniCallType.objectType, []).object); + } + + static final _id_getResult1 = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"getResult", r"(Ljava/lang/Class;)Ljava/lang/Object;"); + + /// from: public abstract TResult getResult(java.lang.Class class) + /// The returned object must be released after use, by calling the [release] method. + $TResult getResult1<$X extends jni.JObject>( + jni.JObject class0, { + required jni.JObjType<$X> X, + }) { + return TResult.fromRef(jni.Jni.accessors.callMethodWithArgs(reference, + _id_getResult1, jni.JniCallType.objectType, [class0.reference]).object); + } + + static final _id_new0 = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); + + /// from: public void () + /// The returned object must be released after use, by calling the [release] method. + factory Task({ + required jni.JObjType<$TResult> TResult, + }) { + return Task.fromRef( + TResult, + jni.Jni.accessors + .newObjectWithArgs(_class.reference, _id_new0, []).object); + } + + static final _id_isCanceled = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isCanceled", r"()Z"); + + /// from: public abstract boolean isCanceled() + bool isCanceled() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isCanceled, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_isComplete = + jni.Jni.accessors.getMethodIDOf(_class.reference, r"isComplete", r"()Z"); + + /// from: public abstract boolean isComplete() + bool isComplete() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isComplete, jni.JniCallType.booleanType, []).boolean; + } + + static final _id_isSuccessful = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"isSuccessful", r"()Z"); + + /// from: public abstract boolean isSuccessful() + bool isSuccessful() { + return jni.Jni.accessors.callMethodWithArgs( + reference, _id_isSuccessful, jni.JniCallType.booleanType, []).boolean; + } +} + +final class $TaskType<$TResult extends jni.JObject> + extends jni.JObjType> { + final jni.JObjType<$TResult> TResult; + + const $TaskType( + this.TResult, + ); + + @override + String get signature => r"Lcom/google/android/gms/tasks/Task;"; + + @override + Task<$TResult> fromRef(jni.JObjectPtr ref) => Task.fromRef(TResult, ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => Object.hash($TaskType, TResult); + + @override + bool operator ==(Object other) { + return other.runtimeType == ($TaskType<$TResult>) && + other is $TaskType<$TResult> && + TResult == other.TResult; + } +} + +/// from: com.google.android.gms.tasks.OnSuccessListener +class OnSuccessListener<$TResult extends jni.JObject> extends jni.JObject { + @override + late final jni.JObjType> $type = type(TResult); + + final jni.JObjType<$TResult> TResult; + + OnSuccessListener.fromRef( + this.TResult, + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"com/google/android/gms/tasks/OnSuccessListener"); + + /// The type which includes information such as the signature of this class. + static $OnSuccessListenerType<$TResult> type<$TResult extends jni.JObject>( + jni.JObjType<$TResult> TResult, + ) { + return $OnSuccessListenerType( + TResult, + ); + } + + static final _id_onSuccess = jni.Jni.accessors + .getMethodIDOf(_class.reference, r"onSuccess", r"(Ljava/lang/Object;)V"); + + /// from: public abstract void onSuccess(TResult object) + void onSuccess( + $TResult object, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onSuccess, + jni.JniCallType.voidType, [object.reference]).check(); + } + + /// Maps a specific port to the implemented interface. + static final Map _$impls = {}; + ReceivePort? _$p; + + static jni.JObjectPtr _$invoke( + int port, + jni.JObjectPtr descriptor, + jni.JObjectPtr args, + ) { + return _$invokeMethod( + port, + $MethodInvocation.fromAddresses( + 0, + descriptor.address, + args.address, + ), + ); + } + + static final ffi.Pointer< + ffi.NativeFunction< + jni.JObjectPtr Function( + ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> + _$invokePointer = ffi.Pointer.fromFunction(_$invoke); + + static ffi.Pointer _$invokeMethod( + int $p, + $MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + if ($d == r"onSuccess(Ljava/lang/Object;)V") { + _$impls[$p]!.onSuccess( + $a[0].castTo(_$impls[$p]!.TResult, releaseOriginal: true), + ); + return jni.nullptr; + } + } catch (e) { + return ProtectedJniExtensions.newDartException(e.toString()); + } + return jni.nullptr; + } + + factory OnSuccessListener.implement( + $OnSuccessListenerImpl<$TResult> $impl, + ) { + final $p = ReceivePort(); + final $x = OnSuccessListener.fromRef( + $impl.TResult, + ProtectedJniExtensions.newPortProxy( + r"com.google.android.gms.tasks.OnSuccessListener", + $p, + _$invokePointer, + ), + ).._$p = $p; + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + $p.listen(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = $MethodInvocation.fromMessage($m as List); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + ProtectedJniExtensions.returnResult($i.result, $r); + }); + return $x; + } +} + +abstract class $OnSuccessListenerImpl<$TResult extends jni.JObject> { + factory $OnSuccessListenerImpl({ + required jni.JObjType<$TResult> TResult, + required void Function($TResult object) onSuccess, + }) = _$OnSuccessListenerImpl; + + jni.JObjType<$TResult> get TResult; + + void onSuccess($TResult object); +} + +class _$OnSuccessListenerImpl<$TResult extends jni.JObject> + implements $OnSuccessListenerImpl<$TResult> { + _$OnSuccessListenerImpl({ + required this.TResult, + required void Function($TResult object) onSuccess, + }) : _onSuccess = onSuccess; + + @override + final jni.JObjType<$TResult> TResult; + + final void Function($TResult object) _onSuccess; + + void onSuccess($TResult object) { + return _onSuccess(object); + } +} + +final class $OnSuccessListenerType<$TResult extends jni.JObject> + extends jni.JObjType> { + final jni.JObjType<$TResult> TResult; + + const $OnSuccessListenerType( + this.TResult, + ); + + @override + String get signature => r"Lcom/google/android/gms/tasks/OnSuccessListener;"; + + @override + OnSuccessListener<$TResult> fromRef(jni.JObjectPtr ref) => + OnSuccessListener.fromRef(TResult, ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => Object.hash($OnSuccessListenerType, TResult); + + @override + bool operator ==(Object other) { + return other.runtimeType == ($OnSuccessListenerType<$TResult>) && + other is $OnSuccessListenerType<$TResult> && + TResult == other.TResult; + } +} + +/// from: com.google.android.gms.tasks.OnFailureListener +class OnFailureListener extends jni.JObject { + @override + late final jni.JObjType $type = type; + + OnFailureListener.fromRef( + jni.JObjectPtr ref, + ) : super.fromRef(ref); + + static final _class = + jni.Jni.findJClass(r"com/google/android/gms/tasks/OnFailureListener"); + + /// The type which includes information such as the signature of this class. + static const type = $OnFailureListenerType(); + static final _id_onFailure = jni.Jni.accessors.getMethodIDOf( + _class.reference, r"onFailure", r"(Ljava/lang/Exception;)V"); + + /// from: public abstract void onFailure(java.lang.Exception exception) + void onFailure( + Exception exception, + ) { + return jni.Jni.accessors.callMethodWithArgs(reference, _id_onFailure, + jni.JniCallType.voidType, [exception.reference]).check(); + } + + /// Maps a specific port to the implemented interface. + static final Map _$impls = {}; + ReceivePort? _$p; + + static jni.JObjectPtr _$invoke( + int port, + jni.JObjectPtr descriptor, + jni.JObjectPtr args, + ) { + return _$invokeMethod( + port, + $MethodInvocation.fromAddresses( + 0, + descriptor.address, + args.address, + ), + ); + } + + static final ffi.Pointer< + ffi.NativeFunction< + jni.JObjectPtr Function( + ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> + _$invokePointer = ffi.Pointer.fromFunction(_$invoke); + + static ffi.Pointer _$invokeMethod( + int $p, + $MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + if ($d == r"onFailure(Ljava/lang/Exception;)V") { + _$impls[$p]!.onFailure( + $a[0].castTo(const $ExceptionType(), releaseOriginal: true), + ); + return jni.nullptr; + } + } catch (e) { + return ProtectedJniExtensions.newDartException(e.toString()); + } + return jni.nullptr; + } + + factory OnFailureListener.implement( + $OnFailureListenerImpl $impl, + ) { + final $p = ReceivePort(); + final $x = OnFailureListener.fromRef( + ProtectedJniExtensions.newPortProxy( + r"com.google.android.gms.tasks.OnFailureListener", + $p, + _$invokePointer, + ), + ).._$p = $p; + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + $p.listen(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = $MethodInvocation.fromMessage($m as List); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + ProtectedJniExtensions.returnResult($i.result, $r); + }); + return $x; + } +} + +abstract class $OnFailureListenerImpl { + factory $OnFailureListenerImpl({ + required void Function(Exception exception) onFailure, + }) = _$OnFailureListenerImpl; + + void onFailure(Exception exception); +} + +class _$OnFailureListenerImpl implements $OnFailureListenerImpl { + _$OnFailureListenerImpl({ + required void Function(Exception exception) onFailure, + }) : _onFailure = onFailure; + + final void Function(Exception exception) _onFailure; + + void onFailure(Exception exception) { + return _onFailure(exception); + } +} + +final class $OnFailureListenerType extends jni.JObjType { + const $OnFailureListenerType(); + + @override + String get signature => r"Lcom/google/android/gms/tasks/OnFailureListener;"; + + @override + OnFailureListener fromRef(jni.JObjectPtr ref) => + OnFailureListener.fromRef(ref); + + @override + jni.JObjType get superType => const jni.JObjectType(); + + @override + final superCount = 1; + + @override + int get hashCode => ($OnFailureListenerType).hashCode; + + @override + bool operator ==(Object other) { + return other.runtimeType == ($OnFailureListenerType) && + other is $OnFailureListenerType; + } +} diff --git a/packages/celest_auth/lib/src/platform/android/jni_helpers.dart b/packages/celest_auth/lib/src/native/android/jni_helpers.dart similarity index 100% rename from packages/celest_auth/lib/src/platform/android/jni_helpers.dart rename to packages/celest_auth/lib/src/native/android/jni_helpers.dart diff --git a/packages/celest_auth/lib/src/platform/darwin/celest_auth.ffi.dart b/packages/celest_auth/lib/src/native/darwin/celest_auth.ffi.dart similarity index 99% rename from packages/celest_auth/lib/src/platform/darwin/celest_auth.ffi.dart rename to packages/celest_auth/lib/src/native/darwin/celest_auth.ffi.dart index 376c1037..1780d62a 100644 --- a/packages/celest_auth/lib/src/platform/darwin/celest_auth.ffi.dart +++ b/packages/celest_auth/lib/src/native/darwin/celest_auth.ffi.dart @@ -7,7 +7,7 @@ // Generated by `package:ffigen`. import 'dart:ffi' as ffi; import 'package:ffi/ffi.dart' as pkg_ffi; -import 'package:celest_auth/src/platform/darwin/foundation.ffi.dart' as imp1; +import 'package:celest_auth/src/native/darwin/foundation.ffi.dart' as imp1; /// Bindings for CelestAuth on iOS/macOS. /// diff --git a/packages/celest_auth/lib/src/native/darwin/core_foundation.ffi.dart b/packages/celest_auth/lib/src/native/darwin/core_foundation.ffi.dart new file mode 100644 index 00000000..d196c09d --- /dev/null +++ b/packages/celest_auth/lib/src/native/darwin/core_foundation.ffi.dart @@ -0,0 +1,754 @@ +// ignore_for_file: type=lint +// ignore_for_file: return_of_invalid_type +// ignore_for_file: unnecessary_non_null_assertion + +// AUTO GENERATED FILE, DO NOT EDIT. +// +// Generated by `package:ffigen`. +import 'dart:ffi' as ffi; + +@ffi.Native() +external double kCFCoreFoundationVersionNumber; + +/// Constant used by some functions to indicate failed searches. +@ffi.Native() +external final int kCFNotFound; + +/// the singleton null instance +@ffi.Native() +external final CFNullRef kCFNull; + +/// This is a synonym for NULL, if you'd rather use a named constant. +@ffi.Native() +external final CFAllocatorRef kCFAllocatorDefault; + +/// Default system allocator; you rarely need to use this. +@ffi.Native() +external final CFAllocatorRef kCFAllocatorSystemDefault; + +/// This allocator uses malloc(), realloc(), and free(). This should not be +/// generally used; stick to kCFAllocatorDefault whenever possible. This +/// allocator is useful as the "bytesDeallocator" in CFData or +/// "contentsDeallocator" in CFString where the memory was obtained as a +/// result of malloc() type functions. +@ffi.Native() +external final CFAllocatorRef kCFAllocatorMalloc; + +/// This allocator explicitly uses the default malloc zone, returned by +/// malloc_default_zone(). It should only be used when an object is +/// safe to be allocated in non-scanned memory. +@ffi.Native() +external final CFAllocatorRef kCFAllocatorMallocZone; + +/// Null allocator which does nothing and allocates no memory. This allocator +/// is useful as the "bytesDeallocator" in CFData or "contentsDeallocator" +/// in CFString where the memory should not be freed. +@ffi.Native() +external final CFAllocatorRef kCFAllocatorNull; + +/// Special allocator argument to CFAllocatorCreate() which means +/// "use the functions given in the context to allocate the allocator +/// itself as well". +@ffi.Native() +external final CFAllocatorRef kCFAllocatorUseContext; + +@ffi.Native() +external void CFRelease( + CFTypeRef cf, +); + +/// ! +/// @constant kCFTypeDictionaryKeyCallBacks +/// Predefined CFDictionaryKeyCallBacks structure containing a +/// set of callbacks appropriate for use when the keys of a +/// CFDictionary are all CFTypes. +@ffi.Native() +external final CFDictionaryKeyCallBacks kCFTypeDictionaryKeyCallBacks; + +/// ! +/// @constant kCFCopyStringDictionaryKeyCallBacks +/// Predefined CFDictionaryKeyCallBacks structure containing a +/// set of callbacks appropriate for use when the keys of a +/// CFDictionary are all CFStrings, which may be mutable and +/// need to be copied in order to serve as constant keys for +/// the values in the dictionary. +@ffi.Native() +external final CFDictionaryKeyCallBacks kCFCopyStringDictionaryKeyCallBacks; + +/// ! +/// @constant kCFTypeDictionaryValueCallBacks +/// Predefined CFDictionaryValueCallBacks structure containing a set +/// of callbacks appropriate for use when the values in a CFDictionary +/// are all CFTypes. +@ffi.Native() +external final CFDictionaryValueCallBacks kCFTypeDictionaryValueCallBacks; + +/// ! +/// @function CFDictionaryCreate +/// Creates a new immutable dictionary with the given values. +/// @param allocator The CFAllocator which should be used to allocate +/// memory for the dictionary and its storage for values. This +/// parameter may be NULL in which case the current default +/// CFAllocator is used. If this reference is not a valid +/// CFAllocator, the behavior is undefined. +/// @param keys A C array of the pointer-sized keys to be used for +/// the parallel C array of values to be put into the dictionary. +/// This parameter may be NULL if the numValues parameter is 0. +/// This C array is not changed or freed by this function. If +/// this parameter is not a valid pointer to a C array of at +/// least numValues pointers, the behavior is undefined. +/// @param values A C array of the pointer-sized values to be in the +/// dictionary. This parameter may be NULL if the numValues +/// parameter is 0. This C array is not changed or freed by +/// this function. If this parameter is not a valid pointer to +/// a C array of at least numValues pointers, the behavior is +/// undefined. +/// @param numValues The number of values to copy from the keys and +/// values C arrays into the CFDictionary. This number will be +/// the count of the dictionary. If this parameter is +/// negative, or greater than the number of values actually +/// in the keys or values C arrays, the behavior is undefined. +/// @param keyCallBacks A pointer to a CFDictionaryKeyCallBacks structure +/// initialized with the callbacks for the dictionary to use on +/// each key in the dictionary. The retain callback will be used +/// within this function, for example, to retain all of the new +/// keys from the keys C array. A copy of the contents of the +/// callbacks structure is made, so that a pointer to a structure +/// on the stack can be passed in, or can be reused for multiple +/// dictionary creations. If the version field of this +/// callbacks structure is not one of the defined ones for +/// CFDictionary, the behavior is undefined. The retain field may +/// be NULL, in which case the CFDictionary will do nothing to add +/// a retain to the keys of the contained values. The release field +/// may be NULL, in which case the CFDictionary will do nothing +/// to remove the dictionary's retain (if any) on the keys when the +/// dictionary is destroyed or a key-value pair is removed. If the +/// copyDescription field is NULL, the dictionary will create a +/// simple description for a key. If the equal field is NULL, the +/// dictionary will use pointer equality to test for equality of +/// keys. If the hash field is NULL, a key will be converted from +/// a pointer to an integer to compute the hash code. This callbacks +/// parameter itself may be NULL, which is treated as if a valid +/// structure of version 0 with all fields NULL had been passed in. +/// Otherwise, if any of the fields are not valid pointers to +/// functions of the correct type, or this parameter is not a +/// valid pointer to a CFDictionaryKeyCallBacks callbacks structure, +/// the behavior is undefined. If any of the keys put into the +/// dictionary is not one understood by one of the callback functions +/// the behavior when that callback function is used is undefined. +/// @param valueCallBacks A pointer to a CFDictionaryValueCallBacks structure +/// initialized with the callbacks for the dictionary to use on +/// each value in the dictionary. The retain callback will be used +/// within this function, for example, to retain all of the new +/// values from the values C array. A copy of the contents of the +/// callbacks structure is made, so that a pointer to a structure +/// on the stack can be passed in, or can be reused for multiple +/// dictionary creations. If the version field of this callbacks +/// structure is not one of the defined ones for CFDictionary, the +/// behavior is undefined. The retain field may be NULL, in which +/// case the CFDictionary will do nothing to add a retain to values +/// as they are put into the dictionary. The release field may be +/// NULL, in which case the CFDictionary will do nothing to remove +/// the dictionary's retain (if any) on the values when the +/// dictionary is destroyed or a key-value pair is removed. If the +/// copyDescription field is NULL, the dictionary will create a +/// simple description for a value. If the equal field is NULL, the +/// dictionary will use pointer equality to test for equality of +/// values. This callbacks parameter itself may be NULL, which is +/// treated as if a valid structure of version 0 with all fields +/// NULL had been passed in. Otherwise, +/// if any of the fields are not valid pointers to functions +/// of the correct type, or this parameter is not a valid +/// pointer to a CFDictionaryValueCallBacks callbacks structure, +/// the behavior is undefined. If any of the values put into the +/// dictionary is not one understood by one of the callback functions +/// the behavior when that callback function is used is undefined. +/// @result A reference to the new immutable CFDictionary. +@ffi.Native< + CFDictionaryRef Function( + CFAllocatorRef, + ffi.Pointer>, + ffi.Pointer>, + CFIndex, + ffi.Pointer, + ffi.Pointer)>() +external CFDictionaryRef CFDictionaryCreate( + CFAllocatorRef allocator, + ffi.Pointer> keys, + ffi.Pointer> values, + int numValues, + ffi.Pointer keyCallBacks, + ffi.Pointer valueCallBacks, +); + +/// ! +/// @constant kCFTypeArrayCallBacks +/// Predefined CFArrayCallBacks structure containing a set of callbacks +/// appropriate for use when the values in a CFArray are all CFTypes. +@ffi.Native() +external final CFArrayCallBacks kCFTypeArrayCallBacks; + +@ffi.Native< + CFDataRef Function( + CFAllocatorRef, ffi.Pointer, CFIndex)>() +external CFDataRef CFDataCreate( + CFAllocatorRef allocator, + ffi.Pointer bytes, + int length, +); + +@ffi.Native Function(CFDataRef)>() +external ffi.Pointer CFDataGetBytePtr( + CFDataRef theData, +); + +/// Returns the display name for the given value. The key tells what +/// the value is, and is one of the usual locale property keys, though +/// not all locale property keys have values with display name values. +@ffi.Native() +external final CFNotificationName kCFLocaleCurrentLocaleDidChangeNotification; + +/// Locale Keys +@ffi.Native() +external final CFLocaleKey kCFLocaleIdentifier; + +@ffi.Native() +external final CFLocaleKey kCFLocaleLanguageCode; + +@ffi.Native() +external final CFLocaleKey kCFLocaleCountryCode; + +@ffi.Native() +external final CFLocaleKey kCFLocaleScriptCode; + +@ffi.Native() +external final CFLocaleKey kCFLocaleVariantCode; + +@ffi.Native() +external final CFLocaleKey kCFLocaleExemplarCharacterSet; + +@ffi.Native() +external final CFLocaleKey kCFLocaleCalendarIdentifier; + +@ffi.Native() +external final CFLocaleKey kCFLocaleCalendar; + +@ffi.Native() +external final CFLocaleKey kCFLocaleCollationIdentifier; + +@ffi.Native() +external final CFLocaleKey kCFLocaleUsesMetricSystem; + +/// "Metric", "U.S." or "U.K." +@ffi.Native() +external final CFLocaleKey kCFLocaleMeasurementSystem; + +@ffi.Native() +external final CFLocaleKey kCFLocaleDecimalSeparator; + +@ffi.Native() +external final CFLocaleKey kCFLocaleGroupingSeparator; + +@ffi.Native() +external final CFLocaleKey kCFLocaleCurrencySymbol; + +/// ISO 3-letter currency code +@ffi.Native() +external final CFLocaleKey kCFLocaleCurrencyCode; + +@ffi.Native() +external final CFLocaleKey kCFLocaleCollatorIdentifier; + +@ffi.Native() +external final CFLocaleKey kCFLocaleQuotationBeginDelimiterKey; + +@ffi.Native() +external final CFLocaleKey kCFLocaleQuotationEndDelimiterKey; + +@ffi.Native() +external final CFLocaleKey kCFLocaleAlternateQuotationBeginDelimiterKey; + +@ffi.Native() +external final CFLocaleKey kCFLocaleAlternateQuotationEndDelimiterKey; + +@ffi.Native() +external final CFCalendarIdentifier kCFGregorianCalendar; + +@ffi.Native() +external final CFCalendarIdentifier kCFBuddhistCalendar; + +@ffi.Native() +external final CFCalendarIdentifier kCFChineseCalendar; + +@ffi.Native() +external final CFCalendarIdentifier kCFHebrewCalendar; + +@ffi.Native() +external final CFCalendarIdentifier kCFIslamicCalendar; + +@ffi.Native() +external final CFCalendarIdentifier kCFIslamicCivilCalendar; + +@ffi.Native() +external final CFCalendarIdentifier kCFJapaneseCalendar; + +@ffi.Native() +external final CFCalendarIdentifier kCFRepublicOfChinaCalendar; + +@ffi.Native() +external final CFCalendarIdentifier kCFPersianCalendar; + +@ffi.Native() +external final CFCalendarIdentifier kCFIndianCalendar; + +@ffi.Native() +external final CFCalendarIdentifier kCFISO8601Calendar; + +@ffi.Native() +external final CFCalendarIdentifier kCFIslamicTabularCalendar; + +@ffi.Native() +external final CFCalendarIdentifier kCFIslamicUmmAlQuraCalendar; + +/// Predefined domains; value of "code" will correspond to preexisting values in these domains. +@ffi.Native() +external final CFErrorDomain kCFErrorDomainPOSIX; + +@ffi.Native() +external final CFErrorDomain kCFErrorDomainOSStatus; + +@ffi.Native() +external final CFErrorDomain kCFErrorDomainMach; + +@ffi.Native() +external final CFErrorDomain kCFErrorDomainCocoa; + +/// Key to identify the end user-presentable description in userInfo. Should be one or more complete sentence(s) describing both what failed and why. For instance 'You can't save the file "To Do List" because the volume "Macintosh HD" is out of space.' +@ffi.Native() +external final CFStringRef kCFErrorLocalizedDescriptionKey; + +/// Key to identify the end user-presentable failing operation ("what failed") description in userInfo. Should be one or more complete sentence(s), for instance 'The file "To Do List" couldn't be saved.' +@ffi.Native() +external final CFStringRef kCFErrorLocalizedFailureKey; + +/// Key to identify the end user-presentable failure reason ("why it failed") description in userInfo. Should be one or more complete sentence(s), for instance 'The volume "Macintosh HD" is out of space.' +@ffi.Native() +external final CFStringRef kCFErrorLocalizedFailureReasonKey; + +/// Key to identify the end user-presentable recovery suggestion in userInfo. Should be one or more complete sentence(s), for instance 'Remove some files from the volume, and then try again.' +@ffi.Native() +external final CFStringRef kCFErrorLocalizedRecoverySuggestionKey; + +/// Key to identify the description in the userInfo dictionary. Should be a complete sentence if possible. Should not contain domain name or error code. +@ffi.Native() +external final CFStringRef kCFErrorDescriptionKey; + +/// Key to identify the underlying error in userInfo. +@ffi.Native() +external final CFStringRef kCFErrorUnderlyingErrorKey; + +/// Key to identify associated URL in userInfo. Typically one of this or kCFErrorFilePathKey is provided. +@ffi.Native() +external final CFStringRef kCFErrorURLKey; + +/// Key to identify associated file path in userInfo. Typically one of this or kCFErrorURLKey is provided. +@ffi.Native() +external final CFStringRef kCFErrorFilePathKey; + +@ffi.Native< + CFStringRef Function( + CFAllocatorRef, ffi.Pointer, CFStringEncoding)>() +external CFStringRef CFStringCreateWithCString( + CFAllocatorRef alloc, + ffi.Pointer cStr, + int encoding, +); + +/// Number of 16-bit Unicode characters in the string. +@ffi.Native() +external int CFStringGetLength( + CFStringRef theString, +); + +@ffi.Native< + ffi.UnsignedChar Function( + CFStringRef, ffi.Pointer, CFIndex, CFStringEncoding)>() +external int CFStringGetCString( + CFStringRef theString, + ffi.Pointer buffer, + int bufferSize, + int encoding, +); + +@ffi.Native Function(CFStringRef, CFStringEncoding)>() +external ffi.Pointer CFStringGetCStringPtr( + CFStringRef theString, + int encoding, +); + +@ffi.Native() +external int CFStringGetMaximumSizeForEncoding( + int length, + int encoding, +); + +/// Transform identifiers for CFStringTransform() +@ffi.Native() +external final CFStringRef kCFStringTransformStripCombiningMarks; + +@ffi.Native() +external final CFStringRef kCFStringTransformToLatin; + +@ffi.Native() +external final CFStringRef kCFStringTransformFullwidthHalfwidth; + +@ffi.Native() +external final CFStringRef kCFStringTransformLatinKatakana; + +@ffi.Native() +external final CFStringRef kCFStringTransformLatinHiragana; + +@ffi.Native() +external final CFStringRef kCFStringTransformHiraganaKatakana; + +@ffi.Native() +external final CFStringRef kCFStringTransformMandarinLatin; + +@ffi.Native() +external final CFStringRef kCFStringTransformLatinHangul; + +@ffi.Native() +external final CFStringRef kCFStringTransformLatinArabic; + +@ffi.Native() +external final CFStringRef kCFStringTransformLatinHebrew; + +@ffi.Native() +external final CFStringRef kCFStringTransformLatinThai; + +@ffi.Native() +external final CFStringRef kCFStringTransformLatinCyrillic; + +@ffi.Native() +external final CFStringRef kCFStringTransformLatinGreek; + +@ffi.Native() +external final CFStringRef kCFStringTransformToXMLHex; + +@ffi.Native() +external final CFStringRef kCFStringTransformToUnicodeName; + +@ffi.Native() +external final CFStringRef kCFStringTransformStripDiacritics; + +typedef CFIndex = ffi.Long; +typedef DartCFIndex = int; + +/// Null representant +typedef CFNullRef = ffi.Pointer<__CFNull>; + +final class __CFNull extends ffi.Opaque {} + +/// Allocator API +/// +/// Most of the time when specifying an allocator to Create functions, the NULL +/// argument indicates "use the default"; this is the same as using kCFAllocatorDefault +/// or the return value from CFAllocatorGetDefault(). This assures that you will use +/// the allocator in effect at that time. +typedef CFAllocatorRef = ffi.Pointer<__CFAllocator>; + +final class __CFAllocator extends ffi.Opaque {} + +/// Base "type" of all "CF objects", and polymorphic functions on them +typedef CFTypeRef = ffi.Pointer; + +final class CFDictionaryKeyCallBacks extends ffi.Struct { + @CFIndex() + external int version; + + external CFDictionaryRetainCallBack retain; + + external CFDictionaryReleaseCallBack release; + + external CFDictionaryCopyDescriptionCallBack copyDescription; + + external CFDictionaryEqualCallBack equal; + + external CFDictionaryHashCallBack hash; +} + +/// ! +/// @typedef CFDictionaryKeyCallBacks +/// Structure containing the callbacks for keys of a CFDictionary. +/// @field version The version number of the structure type being passed +/// in as a parameter to the CFDictionary creation functions. +/// This structure is version 0. +/// @field retain The callback used to add a retain for the dictionary +/// on keys as they are used to put values into the dictionary. +/// This callback returns the value to use as the key in the +/// dictionary, which is usually the value parameter passed to +/// this callback, but may be a different value if a different +/// value should be used as the key. The dictionary's allocator +/// is passed as the first argument. +/// @field release The callback used to remove a retain previously added +/// for the dictionary from keys as their values are removed from +/// the dictionary. The dictionary's allocator is passed as the +/// first argument. +/// @field copyDescription The callback used to create a descriptive +/// string representation of each key in the dictionary. This +/// is used by the CFCopyDescription() function. +/// @field equal The callback used to compare keys in the dictionary for +/// equality. +/// @field hash The callback used to compute a hash code for keys as they +/// are used to access, add, or remove values in the dictionary. +typedef CFDictionaryRetainCallBack + = ffi.Pointer>; +typedef CFDictionaryRetainCallBackFunction = ffi.Pointer Function( + CFAllocatorRef allocator, ffi.Pointer value); +typedef CFDictionaryReleaseCallBack + = ffi.Pointer>; +typedef CFDictionaryReleaseCallBackFunction = ffi.Void Function( + CFAllocatorRef allocator, ffi.Pointer value); +typedef DartCFDictionaryReleaseCallBackFunction = void Function( + CFAllocatorRef allocator, ffi.Pointer value); +typedef CFDictionaryCopyDescriptionCallBack = ffi + .Pointer>; +typedef CFDictionaryCopyDescriptionCallBackFunction = CFStringRef Function( + ffi.Pointer value); +typedef CFStringRef = ffi.Pointer; + +final class CFString extends ffi.Opaque {} + +typedef CFDictionaryEqualCallBack + = ffi.Pointer>; +typedef CFDictionaryEqualCallBackFunction = ffi.UnsignedChar Function( + ffi.Pointer value1, ffi.Pointer value2); +typedef DartCFDictionaryEqualCallBackFunction = int Function( + ffi.Pointer value1, ffi.Pointer value2); +typedef CFDictionaryHashCallBack + = ffi.Pointer>; +typedef CFDictionaryHashCallBackFunction = CFHashCode Function( + ffi.Pointer value); +typedef DartCFDictionaryHashCallBackFunction = DartCFHashCode Function( + ffi.Pointer value); +typedef CFHashCode = ffi.UnsignedLong; +typedef DartCFHashCode = int; + +/// ! +/// @typedef CFDictionaryValueCallBacks +/// Structure containing the callbacks for values of a CFDictionary. +/// @field version The version number of the structure type being passed +/// in as a parameter to the CFDictionary creation functions. +/// This structure is version 0. +/// @field retain The callback used to add a retain for the dictionary +/// on values as they are put into the dictionary. +/// This callback returns the value to use as the value in the +/// dictionary, which is usually the value parameter passed to +/// this callback, but may be a different value if a different +/// value should be added to the dictionary. The dictionary's +/// allocator is passed as the first argument. +/// @field release The callback used to remove a retain previously added +/// for the dictionary from values as they are removed from +/// the dictionary. The dictionary's allocator is passed as the +/// first argument. +/// @field copyDescription The callback used to create a descriptive +/// string representation of each value in the dictionary. This +/// is used by the CFCopyDescription() function. +/// @field equal The callback used to compare values in the dictionary for +/// equality in some operations. +final class CFDictionaryValueCallBacks extends ffi.Struct { + @CFIndex() + external int version; + + external CFDictionaryRetainCallBack retain; + + external CFDictionaryReleaseCallBack release; + + external CFDictionaryCopyDescriptionCallBack copyDescription; + + external CFDictionaryEqualCallBack equal; +} + +/// ! +/// @typedef CFDictionaryRef +/// This is the type of a reference to immutable CFDictionarys. +typedef CFDictionaryRef = ffi.Pointer; + +final class CFDictionary extends ffi.Opaque {} + +final class CFArrayCallBacks extends ffi.Struct { + @CFIndex() + external int version; + + external CFArrayRetainCallBack retain; + + external CFArrayReleaseCallBack release; + + external CFArrayCopyDescriptionCallBack copyDescription; + + external CFArrayEqualCallBack equal; +} + +/// ! +/// @typedef CFArrayCallBacks +/// Structure containing the callbacks of a CFArray. +/// @field version The version number of the structure type being passed +/// in as a parameter to the CFArray creation functions. This +/// structure is version 0. +/// @field retain The callback used to add a retain for the array on +/// values as they are put into the array. This callback returns +/// the value to store in the array, which is usually the value +/// parameter passed to this callback, but may be a different +/// value if a different value should be stored in the array. +/// The array's allocator is passed as the first argument. +/// @field release The callback used to remove a retain previously added +/// for the array from values as they are removed from the +/// array. The array's allocator is passed as the first +/// argument. +/// @field copyDescription The callback used to create a descriptive +/// string representation of each value in the array. This is +/// used by the CFCopyDescription() function. +/// @field equal The callback used to compare values in the array for +/// equality for some operations. +typedef CFArrayRetainCallBack + = ffi.Pointer>; +typedef CFArrayRetainCallBackFunction = ffi.Pointer Function( + CFAllocatorRef allocator, ffi.Pointer value); +typedef CFArrayReleaseCallBack + = ffi.Pointer>; +typedef CFArrayReleaseCallBackFunction = ffi.Void Function( + CFAllocatorRef allocator, ffi.Pointer value); +typedef DartCFArrayReleaseCallBackFunction = void Function( + CFAllocatorRef allocator, ffi.Pointer value); +typedef CFArrayCopyDescriptionCallBack + = ffi.Pointer>; +typedef CFArrayCopyDescriptionCallBackFunction = CFStringRef Function( + ffi.Pointer value); +typedef CFArrayEqualCallBack + = ffi.Pointer>; +typedef CFArrayEqualCallBackFunction = ffi.UnsignedChar Function( + ffi.Pointer value1, ffi.Pointer value2); +typedef DartCFArrayEqualCallBackFunction = int Function( + ffi.Pointer value1, ffi.Pointer value2); +typedef CFDataRef = ffi.Pointer; + +final class CFData extends ffi.Opaque {} + +typedef CFNotificationName = CFStringRef; +typedef CFLocaleKey = CFStringRef; + +/// Values for kCFLocaleCalendarIdentifier +typedef CFCalendarIdentifier = CFStringRef; +typedef CFErrorDomain = CFStringRef; + +/// Identifier for character encoding; the values are the same as Text Encoding Converter TextEncoding. +typedef CFStringEncoding = ffi.UnsignedInt; +typedef DartCFStringEncoding = int; + +const int kCFCompareLessThan = -1; + +const int kCFCompareEqualTo = 0; + +const int kCFCompareGreaterThan = 1; + +const int kCFDataSearchBackwards = 1; + +const int kCFDataSearchAnchored = 2; + +const int kCFCharacterSetControl = 1; + +const int kCFCharacterSetWhitespace = 2; + +const int kCFCharacterSetWhitespaceAndNewline = 3; + +const int kCFCharacterSetDecimalDigit = 4; + +const int kCFCharacterSetLetter = 5; + +const int kCFCharacterSetLowercaseLetter = 6; + +const int kCFCharacterSetUppercaseLetter = 7; + +const int kCFCharacterSetNonBase = 8; + +const int kCFCharacterSetDecomposable = 9; + +const int kCFCharacterSetAlphaNumeric = 10; + +const int kCFCharacterSetPunctuation = 11; + +const int kCFCharacterSetCapitalizedLetter = 13; + +const int kCFCharacterSetSymbol = 14; + +const int kCFCharacterSetNewline = 15; + +const int kCFCharacterSetIllegal = 12; + +const int kCFNotificationDeliverImmediately = 1; + +const int kCFNotificationPostToAllSessions = 2; + +const int kCFLocaleLanguageDirectionUnknown = 0; + +const int kCFLocaleLanguageDirectionLeftToRight = 1; + +const int kCFLocaleLanguageDirectionRightToLeft = 2; + +const int kCFLocaleLanguageDirectionTopToBottom = 3; + +const int kCFLocaleLanguageDirectionBottomToTop = 4; + +const int kCFStringEncodingMacRoman = 0; + +const int kCFStringEncodingWindowsLatin1 = 1280; + +const int kCFStringEncodingISOLatin1 = 513; + +const int kCFStringEncodingNextStepLatin = 2817; + +const int kCFStringEncodingASCII = 1536; + +const int kCFStringEncodingUnicode = 256; + +const int kCFStringEncodingUTF8 = 134217984; + +const int kCFStringEncodingNonLossyASCII = 3071; + +const int kCFStringEncodingUTF16 = 256; + +const int kCFStringEncodingUTF16BE = 268435712; + +const int kCFStringEncodingUTF16LE = 335544576; + +const int kCFStringEncodingUTF32 = 201326848; + +const int kCFStringEncodingUTF32BE = 402653440; + +const int kCFStringEncodingUTF32LE = 469762304; + +const int kCFCompareCaseInsensitive = 1; + +const int kCFCompareBackwards = 4; + +const int kCFCompareAnchored = 8; + +const int kCFCompareNonliteral = 16; + +const int kCFCompareLocalized = 32; + +const int kCFCompareNumerically = 64; + +const int kCFCompareDiacriticInsensitive = 128; + +const int kCFCompareWidthInsensitive = 256; + +const int kCFCompareForcedOrdering = 512; + +const int kCFStringNormalizationFormD = 0; + +const int kCFStringNormalizationFormKD = 1; + +const int kCFStringNormalizationFormC = 2; + +const int kCFStringNormalizationFormKC = 3; diff --git a/packages/celest_auth/lib/src/native/darwin/darwin_ffi_helpers.dart b/packages/celest_auth/lib/src/native/darwin/darwin_ffi_helpers.dart new file mode 100644 index 00000000..3c35f353 --- /dev/null +++ b/packages/celest_auth/lib/src/native/darwin/darwin_ffi_helpers.dart @@ -0,0 +1,116 @@ +import 'dart:ffi'; + +import 'package:ffi/ffi.dart'; + +import 'core_foundation.ffi.dart'; + +extension StringToCFString on String { + /// Converts `this` to a [CFString] within the given [arena]. + Pointer toCFString(Arena arena) { + final str = toNativeUtf8(allocator: arena); + final cfStr = CFStringCreateWithCString( + nullptr, // default allocator + str.cast(), + kCFStringEncodingUTF8, + ); + arena.onReleaseAll(() { + CFRelease(cfStr.cast()); + }); + return cfStr; + } + + /// Converts `this` to a [CFData] within the given [arena]. + Pointer toCFData(Arena arena) { + final data = toNativeUtf8(allocator: arena); + final cfData = CFDataCreate( + nullptr, // default allocator + data.cast(), + data.length, + ); + arena.onReleaseAll(() { + CFRelease(cfData.cast()); + }); + return cfData; + } +} + +extension MapToCFDictionary on Map { + /// Converts `this` to a [CFDictionary] within the given [arena]. + Pointer toCFDictionary(Arena arena) { + final cfKeys = arena(length); + final cfValues = arena(length); + var i = 0; + for (final entry in entries) { + cfKeys[i] = entry.key.cast(); + cfValues[i] = entry.value.cast(); + i++; + } + final cfDict = CFDictionaryCreate( + nullptr, // default allocator + cfKeys, + cfValues, + length, + nullptr, // kCFTypeDictionaryKeyCallBacks + nullptr, // kCFTypeDictionaryValueCallBacks + ); + arena.onReleaseAll(() { + for (var i = 0; i < length; i++) { + CFRelease(cfKeys[i]); + CFRelease(cfValues[i]); + } + CFRelease(cfDict.cast()); + }); + return cfDict; + } +} + +extension CFDataRefToString on CFDataRef { + /// Converts `this` to a [String]. + String? toDartString() { + if (this == nullptr) { + return null; + } + final ptr = CFDataGetBytePtr(this); + if (ptr == nullptr) { + return null; + } + return ptr.cast().toDartString(); + } +} + +extension CFStringRefToString on CFStringRef { + /// Converts `this` to a [String]. + String? toDartString() { + if (this == nullptr) return null; + final cStringPtr = CFStringGetCStringPtr( + this, + kCFStringEncodingUTF8, + ); + if (cStringPtr != nullptr) { + return cStringPtr.cast().toDartString(); + } + // Call CFStringGetCString as a backup. + // See: https://developer.apple.com/documentation/corefoundation/1542133-cfstringgetcstringptr + final strLen = CFStringGetLength(this); + final maxLen = CFStringGetMaximumSizeForEncoding( + strLen, + kCFStringEncodingUTF8, + ) + + 1 /* terminating NUL byte */; + final buffer = calloc(maxLen); + try { + final ret = CFStringGetCString( + this, + buffer, + maxLen, + kCFStringEncodingUTF8, + ); + if (ret == 0 /* FALSE */) { + return null; + } + return buffer.cast().toDartString(); + } finally { + calloc.free(buffer); + } + } +} diff --git a/packages/celest_auth/lib/src/platform/darwin/foundation.ffi.dart b/packages/celest_auth/lib/src/native/darwin/foundation.ffi.dart similarity index 100% rename from packages/celest_auth/lib/src/platform/darwin/foundation.ffi.dart rename to packages/celest_auth/lib/src/native/darwin/foundation.ffi.dart diff --git a/packages/celest_auth/lib/src/platform/darwin/foundation.yaml b/packages/celest_auth/lib/src/native/darwin/foundation.yaml similarity index 88% rename from packages/celest_auth/lib/src/platform/darwin/foundation.yaml rename to packages/celest_auth/lib/src/native/darwin/foundation.yaml index d9d065a0..fca9aabd 100644 --- a/packages/celest_auth/lib/src/platform/darwin/foundation.yaml +++ b/packages/celest_auth/lib/src/native/darwin/foundation.yaml @@ -1,6 +1,6 @@ format_version: 1.0.0 files: - package:celest_auth/src/platform/darwin/foundation.ffi.dart: + package:celest_auth/src/native/darwin/foundation.ffi.dart: used-config: ffi-native: false symbols: @@ -68,13 +68,13 @@ files: name: NSValue c:objc(cs)Protocol: name: Protocol - "objcBlock: 6jqrbq*? 4okcll 7e5sfs": + "objcBlock: cidr2x*? gplou5 e3833g": name: ObjCBlock_ObjCObject_NSError_NSString - "objcBlock: 837566 7e5sfs bool*": + "objcBlock: d6nkhg d6nkhg* 20skwe": + name: ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong + "objcBlock: d6nkhg e3833g bool*": name: ObjCBlock_ffiVoid_NSString_bool - "objcBlock: 837566 7e5sfs? 6vbbr9 6vbbr9 bool*": + "objcBlock: d6nkhg e3833g? g9ysj6 g9ysj6 bool*": name: ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool - "objcBlock: 837566 837566* 9z3bt8": - name: ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong - "objcBlock: 837566 9ufx6z* 9z3bt8": + "objcBlock: d6nkhg g39d4z* 20skwe": name: ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong diff --git a/packages/celest_auth/lib/src/native/darwin/security.ffi.dart b/packages/celest_auth/lib/src/native/darwin/security.ffi.dart new file mode 100644 index 00000000..8a719218 --- /dev/null +++ b/packages/celest_auth/lib/src/native/darwin/security.ffi.dart @@ -0,0 +1,1594 @@ +// ignore_for_file: type=lint +// ignore_for_file: return_of_invalid_type +// ignore_for_file: unnecessary_non_null_assertion + +// AUTO GENERATED FILE, DO NOT EDIT. +// +// Generated by `package:ffigen`. +import 'dart:ffi' as ffi; +import 'package:celest_auth/src/native/darwin/core_foundation.ffi.dart' as cf; + +@ffi.Native() +external double kCFCoreFoundationVersionNumber; + +/// Constant used by some functions to indicate failed searches. +@ffi.Native() +external final int kCFNotFound; + +/// the singleton null instance +@ffi.Native>() +external final ffi.Pointer<__CFNull> kCFNull; + +/// This is a synonym for NULL, if you'd rather use a named constant. +@ffi.Native>() +external final ffi.Pointer<__CFAllocator> kCFAllocatorDefault; + +/// Default system allocator; you rarely need to use this. +@ffi.Native>() +external final ffi.Pointer<__CFAllocator> kCFAllocatorSystemDefault; + +/// This allocator uses malloc(), realloc(), and free(). This should not be +/// generally used; stick to kCFAllocatorDefault whenever possible. This +/// allocator is useful as the "bytesDeallocator" in CFData or +/// "contentsDeallocator" in CFString where the memory was obtained as a +/// result of malloc() type functions. +@ffi.Native>() +external final ffi.Pointer<__CFAllocator> kCFAllocatorMalloc; + +/// This allocator explicitly uses the default malloc zone, returned by +/// malloc_default_zone(). It should only be used when an object is +/// safe to be allocated in non-scanned memory. +@ffi.Native>() +external final ffi.Pointer<__CFAllocator> kCFAllocatorMallocZone; + +/// Null allocator which does nothing and allocates no memory. This allocator +/// is useful as the "bytesDeallocator" in CFData or "contentsDeallocator" +/// in CFString where the memory should not be freed. +@ffi.Native>() +external final ffi.Pointer<__CFAllocator> kCFAllocatorNull; + +/// Special allocator argument to CFAllocatorCreate() which means +/// "use the functions given in the context to allocate the allocator +/// itself as well". +@ffi.Native>() +external final ffi.Pointer<__CFAllocator> kCFAllocatorUseContext; + +/// ! +/// @function SecCopyErrorMessageString +/// @abstract Returns a string describing the specified error result code. +/// @param status An error result code of type OSStatus or CSSM_RETURN, as returned by a Security or CSSM function. +/// @reserved Reserved for future use. Your code should pass NULL in this parameter. +/// @result A reference to an error string, or NULL if no error string is available for the specified result code. Your code must release this reference by calling the CFRelease function. +@ffi.Native)>() +external cf.CFStringRef SecCopyErrorMessageString( + int status, + ffi.Pointer reserved, +); + +@ffi.Native>() +external final ffi.Pointer<__CFBoolean> kCFBooleanTrue; + +@ffi.Native>() +external final ffi.Pointer<__CFBoolean> kCFBooleanFalse; + +@ffi.Native>() +external final ffi.Pointer<__CFNumber> kCFNumberPositiveInfinity; + +@ffi.Native>() +external final ffi.Pointer<__CFNumber> kCFNumberNegativeInfinity; + +@ffi.Native>() +external final ffi.Pointer<__CFNumber> kCFNumberNaN; + +/// ! +/// @constant kCFTypeArrayCallBacks +/// Predefined CFArrayCallBacks structure containing a set of callbacks +/// appropriate for use when the values in a CFArray are all CFTypes. +@ffi.Native() +external final CFArrayCallBacks kCFTypeArrayCallBacks; + +/// ! +/// @constant kCFTypeDictionaryKeyCallBacks +/// Predefined CFDictionaryKeyCallBacks structure containing a +/// set of callbacks appropriate for use when the keys of a +/// CFDictionary are all CFTypes. +@ffi.Native() +external final CFDictionaryKeyCallBacks kCFTypeDictionaryKeyCallBacks; + +/// ! +/// @constant kCFCopyStringDictionaryKeyCallBacks +/// Predefined CFDictionaryKeyCallBacks structure containing a +/// set of callbacks appropriate for use when the keys of a +/// CFDictionary are all CFStrings, which may be mutable and +/// need to be copied in order to serve as constant keys for +/// the values in the dictionary. +@ffi.Native() +external final CFDictionaryKeyCallBacks kCFCopyStringDictionaryKeyCallBacks; + +/// ! +/// @constant kCFTypeDictionaryValueCallBacks +/// Predefined CFDictionaryValueCallBacks structure containing a set +/// of callbacks appropriate for use when the values in a CFDictionary +/// are all CFTypes. +@ffi.Native() +external final CFDictionaryValueCallBacks kCFTypeDictionaryValueCallBacks; + +/// ! +/// @enum Class Key Constant +/// @discussion Predefined key constant used to get or set item class values in +/// a dictionary. Its value is one of the constants defined in the Value +/// Constants for kSecClass. +/// @constant kSecClass Specifies a dictionary key whose value is the item's +/// class code. You use this key to get or set a value of type CFTypeRef +/// that contains the item class code. +@ffi.Native() +external cf.CFStringRef kSecClass; + +/// ! +/// @enum Class Value Constants +/// @discussion Predefined item class constants used to get or set values in +/// a dictionary. The kSecClass constant is the key and its value is one +/// of the constants defined here. Note: on Mac OS X 10.6, only items +/// of class kSecClassInternetPassword are supported. +/// @constant kSecClassInternetPassword Specifies Internet password items. +/// @constant kSecClassGenericPassword Specifies generic password items. +/// @constant kSecClassCertificate Specifies certificate items. +/// @constant kSecClassKey Specifies key items. +/// @constant kSecClassIdentity Specifies identity items. +@ffi.Native() +external cf.CFStringRef kSecClassInternetPassword; + +@ffi.Native() +external cf.CFStringRef kSecClassGenericPassword; + +@ffi.Native() +external cf.CFStringRef kSecClassCertificate; + +@ffi.Native() +external cf.CFStringRef kSecClassKey; + +@ffi.Native() +external cf.CFStringRef kSecClassIdentity; + +/// ! +/// @enum Attribute Key Constants +/// @discussion Predefined item attribute keys used to get or set values in a +/// dictionary. Not all attributes apply to each item class. The table +/// below lists the currently defined attributes for each item class: +/// +/// kSecClassGenericPassword item attributes: +/// kSecAttrAccess (OS X only) +/// kSecAttrAccessControl +/// kSecAttrAccessGroup (iOS; also OS X if kSecAttrSynchronizable and/or kSecUseDataProtectionKeychain set) +/// kSecAttrAccessible (iOS; also OS X if kSecAttrSynchronizable and/or kSecUseDataProtectionKeychain set) +/// kSecAttrCreationDate +/// kSecAttrModificationDate +/// kSecAttrDescription +/// kSecAttrComment +/// kSecAttrCreator +/// kSecAttrType +/// kSecAttrLabel +/// kSecAttrIsInvisible +/// kSecAttrIsNegative +/// kSecAttrAccount +/// kSecAttrService +/// kSecAttrGeneric +/// kSecAttrSynchronizable +/// +/// kSecClassInternetPassword item attributes: +/// kSecAttrAccess (OS X only) +/// kSecAttrAccessControl +/// kSecAttrAccessGroup (iOS; also OS X if kSecAttrSynchronizable and/or kSecUseDataProtectionKeychain set) +/// kSecAttrAccessible (iOS; also OS X if kSecAttrSynchronizable and/or kSecUseDataProtectionKeychain set) +/// kSecAttrCreationDate +/// kSecAttrModificationDate +/// kSecAttrDescription +/// kSecAttrComment +/// kSecAttrCreator +/// kSecAttrType +/// kSecAttrLabel +/// kSecAttrIsInvisible +/// kSecAttrIsNegative +/// kSecAttrAccount +/// kSecAttrSecurityDomain +/// kSecAttrServer +/// kSecAttrProtocol +/// kSecAttrAuthenticationType +/// kSecAttrPort +/// kSecAttrPath +/// kSecAttrSynchronizable +/// +/// kSecClassCertificate item attributes: +/// kSecAttrAccessible (iOS only) +/// kSecAttrAccessControl (iOS only) +/// kSecAttrAccessGroup (iOS only) +/// kSecAttrCertificateType +/// kSecAttrCertificateEncoding +/// kSecAttrLabel +/// kSecAttrSubject +/// kSecAttrIssuer +/// kSecAttrSerialNumber +/// kSecAttrSubjectKeyID +/// kSecAttrPublicKeyHash +/// kSecAttrSynchronizable +/// +/// kSecClassKey item attributes: +/// kSecAttrAccess (OS X only) +/// kSecAttrAccessControl +/// kSecAttrAccessGroup (iOS; also OS X if kSecAttrSynchronizable and/or kSecUseDataProtectionKeychain set) +/// kSecAttrAccessible (iOS; also OS X if kSecAttrSynchronizable and/or kSecUseDataProtectionKeychain set) +/// kSecAttrKeyClass +/// kSecAttrLabel +/// kSecAttrApplicationLabel +/// kSecAttrIsPermanent +/// kSecAttrApplicationTag +/// kSecAttrKeyType +/// kSecAttrPRF (OS X only) +/// kSecAttrSalt (OS X only) +/// kSecAttrRounds (OS X only) +/// kSecAttrKeySizeInBits +/// kSecAttrEffectiveKeySize +/// kSecAttrCanEncrypt +/// kSecAttrCanDecrypt +/// kSecAttrCanDerive +/// kSecAttrCanSign +/// kSecAttrCanVerify +/// kSecAttrCanWrap +/// kSecAttrCanUnwrap +/// kSecAttrSynchronizable +/// +/// Note that the attributes kSecAttrCan* describe attributes of the +/// key itself at relatively high level. Some of these attributes are +/// mathematical -- for example, a DSA key cannot encrypt. Others are +/// key-level policy issues -- for example, it is good cryptographic +/// hygiene to use an RSA key either for encryption or signing but not +/// both. Compare these to the certificate-level policy values in +/// SecPolicy.h. +/// +/// kSecClassIdentity item attributes: +/// Since an identity is the combination of a private key and a +/// certificate, this class shares attributes of both kSecClassKey and +/// kSecClassCertificate. +/// +/// @constant kSecAttrAccessible Specifies a dictionary key whose value +/// indicates when your application needs access to an item's data. You +/// should choose the most restrictive option that meets your application's +/// needs to allow the system to protect that item in the best way possible. +/// See the "kSecAttrAccessible Value Constants" section for a list of +/// values which can be specified. +/// IMPORTANT: This attribute is currently not supported for OS X keychain +/// items, unless the kSecAttrSynchronizable attribute is also present. If +/// both attributes are specified on either OS X or iOS, the value for the +/// kSecAttrAccessible key may only be one whose name does not end with +/// "ThisDeviceOnly", as those cannot sync to another device. +/// +/// @constant kSecAttrAccessControl Specifies a dictionary key whose value +/// is SecAccessControl instance which contains access control conditions +/// for item. +/// IMPORTANT: This attribute is mutually exclusive with kSecAttrAccess +/// attribute. +/// +/// @constant kSecAttrAccess Specifies a dictionary key whose value +/// is a SecAccessRef describing the access control settings for this item. +/// This key is available on OS X only. +/// +/// @constant kSecAttrAccessGroup Specifies a dictionary key whose value is +/// a CFStringRef indicating which access group a item is in. The access +/// groups that a particular application has membership in are determined by +/// two entitlements for that application. The application-identifier +/// entitlement contains the application's single access group, unless +/// there is a keychain-access-groups entitlement present. The latter +/// has as its value a list of access groups; the first item in this list +/// is the default access group. Unless a specific access group is provided +/// as the value of kSecAttrAccessGroup when SecItemAdd is called, new items +/// are created in the application's default access group. Specifying this +/// attribute in SecItemCopyMatching, SecItemUpdate, or SecItemDelete calls +/// limits the search to the specified access group (of which the calling +/// application must be a member to obtain matching results.) To share +/// keychain items between multiple applications, each application must have +/// a common group listed in its keychain-access-groups entitlement, and each +/// must specify this shared access group name as the value for the +/// kSecAttrAccessGroup key in the dictionary passed to SecItem functions. +/// +/// @constant kSecAttrSynchronizable Specifies a dictionary key whose value is +/// a CFBooleanRef indicating whether the item in question can be synchronized. +/// To add a new item which can be synced to other devices, or to obtain +/// synchronizable results from a query, supply this key with a value of +/// kCFBooleanTrue. If the key is not supplied, or has a value of +/// kCFBooleanFalse, then no synchronizable items will be added or returned. +/// A predefined value, kSecAttrSynchronizableAny, may be provided instead of +/// kCFBooleanTrue if both synchronizable and non-synchronizable results are +/// desired. +/// +/// IMPORTANT: Specifying the kSecAttrSynchronizable key has several caveats: +/// +/// - Updating or deleting items using the kSecAttrSynchronizable key will +/// affect all copies of the item, not just the one on your local device. +/// Be sure that it makes sense to use the same password on all devices +/// before deciding to make a password synchronizable. +/// - Starting in iOS 14, macOS 11, and watchOS 7, the keychain +/// synchronizes passwords, certificates, and cryptographic keys. +/// Earlier OS versions synchronize only passwords. +/// - Items stored or obtained using the kSecAttrSynchronizable key cannot +/// specify SecAccessRef-based access control with kSecAttrAccess. If a +/// password is intended to be shared between multiple applications, the +/// kSecAttrAccessGroup key must be specified, and each application +/// using this password must have a 'keychain-access-groups' entitlement +/// with the specified access group value. +/// - Items stored or obtained using the kSecAttrSynchronizable key may +/// not also specify a kSecAttrAccessible value which is incompatible +/// with syncing (namely, those whose names end with "ThisDeviceOnly".) +/// - On macOS, when kSecAttrSynchronizable is set to true, returning +/// references is supported only for Certificate, Key or Identity items. +/// - Persistent references to synchronizable items should be avoided; +/// while they may work locally, they cannot be moved between devices, +/// and may not resolve if the item is modified on some other device. +/// - When specifying a query that uses the kSecAttrSynchronizable key, +/// search keys are limited to the item's class and attributes. +/// The only search constant which may be used is kSecMatchLimit; other +/// constants using the kSecMatch prefix are not supported at this time. +/// +/// @constant kSecAttrSynchronizableAny Specifies that both synchronizable and +/// non-synchronizable results should be returned from this query. This may be +/// used as a value for the kSecAttrSynchronizable dictionary key in a call to +/// SecItemCopyMatching, SecItemUpdate, or SecItemDelete. +/// +/// @constant kSecAttrCreationDate (read-only) Specifies a dictionary key whose +/// value is the item's creation date. You use this key to get a value +/// of type CFDateRef that represents the date the item was created. +/// @constant kSecAttrModificationDate (read-only) Specifies a dictionary key +/// whose value is the item's modification date. You use this key to get +/// a value of type CFDateRef that represents the last time the item was +/// updated. +/// @constant kSecAttrDescription Specifies a dictionary key whose value is +/// the item's description attribute. You use this key to set or get a +/// value of type CFStringRef that represents a user-visible string +/// describing this particular kind of item (e.g., "disk image password"). +/// @constant kSecAttrComment Specifies a dictionary key whose value is the +/// item's comment attribute. You use this key to set or get a value of +/// type CFStringRef containing the user-editable comment for this item. +/// @constant kSecAttrCreator Specifies a dictionary key whose value is the +/// item's creator attribute. You use this key to set or get a value of +/// type CFNumberRef that represents the item's creator. This number is +/// the unsigned integer representation of a four-character code (e.g., +/// 'aCrt'). +/// @constant kSecAttrType Specifies a dictionary key whose value is the item's +/// type attribute. You use this key to set or get a value of type +/// CFNumberRef that represents the item's type. This number is the +/// unsigned integer representation of a four-character code (e.g., +/// 'aTyp'). +/// @constant kSecAttrLabel Specifies a dictionary key whose value is the +/// item's label attribute. You use this key to set or get a value of +/// type CFStringRef containing the user-visible label for this item. +/// @constant kSecAttrIsInvisible Specifies a dictionary key whose value is the +/// item's invisible attribute. You use this key to set or get a value +/// of type CFBooleanRef that indicates whether the item is invisible +/// (i.e., should not be displayed.) +/// @constant kSecAttrIsNegative Specifies a dictionary key whose value is the +/// item's negative attribute. You use this key to set or get a value of +/// type CFBooleanRef that indicates whether there is a valid password +/// associated with this keychain item. This is useful if your application +/// doesn't want a password for some particular service to be stored in +/// the keychain, but prefers that it always be entered by the user. +/// @constant kSecAttrAccount Specifies a dictionary key whose value is the +/// item's account attribute. You use this key to set or get a CFStringRef +/// that contains an account name. (Items of class +/// kSecClassGenericPassword, kSecClassInternetPassword have this +/// attribute.) +/// @constant kSecAttrService Specifies a dictionary key whose value is the +/// item's service attribute. You use this key to set or get a CFStringRef +/// that represents the service associated with this item. (Items of class +/// kSecClassGenericPassword have this attribute.) +/// @constant kSecAttrGeneric Specifies a dictionary key whose value is the +/// item's generic attribute. You use this key to set or get a value of +/// CFDataRef that contains a user-defined attribute. (Items of class +/// kSecClassGenericPassword have this attribute.) +/// @constant kSecAttrSecurityDomain Specifies a dictionary key whose value +/// is the item's security domain attribute. You use this key to set or +/// get a CFStringRef value that represents the Internet security domain. +/// (Items of class kSecClassInternetPassword have this attribute.) +/// @constant kSecAttrServer Specifies a dictionary key whose value is the +/// item's server attribute. You use this key to set or get a value of +/// type CFStringRef that contains the server's domain name or IP address. +/// (Items of class kSecClassInternetPassword have this attribute.) +/// @constant kSecAttrProtocol Specifies a dictionary key whose value is the +/// item's protocol attribute. You use this key to set or get a value of +/// type CFNumberRef that denotes the protocol for this item (see the +/// SecProtocolType enum in SecKeychainItem.h). (Items of class +/// kSecClassInternetPassword have this attribute.) +/// @constant kSecAttrAuthenticationType Specifies a dictionary key whose value +/// is the item's authentication type attribute. You use this key to set +/// or get a value of type CFNumberRef that denotes the authentication +/// scheme for this item (see the kSecAttrAuthenticationType value +/// constants below). +/// @constant kSecAttrPort Specifies a dictionary key whose value is the item's +/// port attribute. You use this key to set or get a CFNumberRef value +/// that represents an Internet port number. (Items of class +/// kSecClassInternetPassword have this attribute.) +/// @constant kSecAttrPath Specifies a dictionary key whose value is the item's +/// path attribute, typically this is the path component of the URL. You use +/// this key to set or get a CFStringRef value that represents a path. (Items +/// of class kSecClassInternetPassword have this attribute.) +/// @constant kSecAttrSubject (read-only) Specifies a dictionary key whose +/// value is the item's subject. You use this key to get a value of type +/// CFDataRef that contains the X.500 subject name of a certificate. +/// (Items of class kSecClassCertificate have this attribute.) +/// @constant kSecAttrIssuer (read-only) Specifies a dictionary key whose value +/// is the item's issuer. You use this key to get a value of type +/// CFDataRef that contains the X.500 issuer name of a certificate. (Items +/// of class kSecClassCertificate have this attribute.) +/// @constant kSecAttrSerialNumber (read-only) Specifies a dictionary key whose +/// value is the item's serial number. You use this key to get a value +/// of type CFDataRef that contains the serial number data of a +/// certificate. (Items of class kSecClassCertificate have this +/// attribute.) +/// @constant kSecAttrSubjectKeyID (read-only) Specifies a dictionary key whose +/// value is the item's subject key ID. You use this key to get a value +/// of type CFDataRef that contains the subject key ID of a certificate. +/// (Items of class kSecClassCertificate have this attribute.) +/// @constant kSecAttrPublicKeyHash (read-only) Specifies a dictionary key +/// whose value is the item's public key hash. You use this key to get a +/// value of type CFDataRef that contains the hash of a certificate's +/// public key. (Items of class kSecClassCertificate have this attribute.) +/// @constant kSecAttrCertificateType (read-only) Specifies a dictionary key +/// whose value is the item's certificate type. You use this key to get +/// a value of type CFNumberRef that denotes the certificate type +/// (On iOS, currently the value of this attribute must be equal to the +/// version of the X509 certificate. So, 1 for v1, 2 for v2, and 3 for v3 +/// certificates). (On OSX, see the CSSM_CERT_TYPE enum in cssmtype.h). +/// Only items of class kSecClassCertificate have this attribute. +/// @constant kSecAttrCertificateEncoding (read-only) Specifies a dictionary +/// key whose value is the item's certificate encoding. You use this key +/// to get a value of type CFNumberRef that denotes the certificate +/// encoding (On iOS, currently only the value 3 meaning +/// kSecAttrCertificateEncodingDER is supported). On OSX, see the +/// CSSM_CERT_ENCODING enum in cssmtype.h. Only items of class +/// kSecClassCertificate have this attribute. +/// @constant kSecAttrKeyClass (read only) Specifies a dictionary key whose +/// value is one of kSecAttrKeyClassPublic, kSecAttrKeyClassPrivate or +/// kSecAttrKeyClassSymmetric. +/// @constant kSecAttrApplicationLabel Specifies a dictionary key whose value +/// is the key's application label attribute. This is different from the +/// kSecAttrLabel (which is intended to be human-readable). This attribute +/// is used to look up a key programmatically; in particular, for keys of +/// class kSecAttrKeyClassPublic and kSecAttrKeyClassPrivate, the value of +/// this attribute is the hash of the public key. This item is a type of CFDataRef. +/// Legacy keys may contain a UUID in this field as a CFStringRef. +/// @constant kSecAttrIsPermanent Specifies a dictionary key whose value is a +/// CFBooleanRef indicating whether the key in question will be stored +/// permanently. +/// @constant kSecAttrIsSensitive Specifies a dictionary key whose value is a +/// CFBooleanRef indicating that the key in question can only be exported +/// in a wrapped (encrypted) format. OS X only. +/// @constant kSecAttrIsExtractable Specifies a dictionary key whose value is a +/// CFBooleanRef indicating whether the key in question can be exported from +/// its keychain container. OS X only. +/// @constant kSecAttrApplicationTag Specifies a dictionary key whose value is a +/// CFDataRef containing private tag data. +/// @constant kSecAttrKeyType Specifies a dictionary key whose value is a +/// CFNumberRef indicating the algorithm associated with this key +/// (On iOS, currently only the value 42 is supported, alternatively you can use +/// kSecAttrKeyTypeRSA). (On OSX, see the CSSM_ALGORITHMS enum in cssmtype.h). +/// +/// @constant kSecAttrPRF Specifies a dictionary key whose value is the PRF +/// (pseudo-random function) for this key (see "kSecAttrPRF Value Constants".) +/// OS X only. +/// @constant kSecAttrSalt Specifies a dictionary key whose value is a +/// CFData containing the salt to use for this key. OS X only. +/// @constant kSecAttrRounds Specifies a dictionary key whose value is the +/// number of rounds for the pseudo-random function specified by kSecAttrPRF. +/// OS X only. +/// @constant kSecAttrKeySizeInBits Specifies a dictionary key whose value +/// is a CFNumberRef indicating the number of bits in this key. +/// @constant kSecAttrEffectiveKeySize Specifies a dictionary key whose value +/// is a CFNumberRef indicating the effective number of bits in this key. +/// For example, a DES key has a kSecAttrKeySizeInBits of 64, but a +/// kSecAttrEffectiveKeySize of 56 bits. +/// @constant kSecAttrCanEncrypt Specifies a dictionary key whole value is a +/// CFBooleanRef indicating whether the key in question can be used to +/// encrypt data. +/// @constant kSecAttrCanDecrypt Specifies a dictionary key whose value is a +/// CFBooleanRef indicating whether the key in question can be used to +/// decrypt data. +/// @constant kSecAttrCanDerive Specifies a dictionary key whole value is a +/// CFBooleanRef indicating whether the key in question can be used to +/// derive another key. +/// @constant kSecAttrCanSign Specifies a dictionary key whole value is a +/// CFBooleanRef indicating whether the key in question can be used to +/// create a digital signature. +/// @constant kSecAttrCanVerify Specifies a dictionary key whole value is a +/// CFBooleanRef indicating whether the key in question can be used to +/// verify a digital signature. +/// @constant kSecAttrCanWrap Specifies a dictionary key whole value is a +/// CFBooleanRef indicating whether the key in question can be used to +/// wrap another key. +/// @constant kSecAttrCanUnwrap Specifies a dictionary key whole value is a +/// CFBooleanRef indicating whether the key in question can be used to +/// unwrap another key. +/// @constant kSecAttrSyncViewHint Specifies a dictionary key whose value is +/// a CFStringRef. This value is part of the primary key of each item, and +/// can be used to help distiguish Sync Views when defining their +/// queries. iOS and sychronizable items only. +/// @constant kSecAttrTokenID Specifies a dictionary key whose presence +/// indicates that item is backed by external token. Value of this attribute +/// is CFStringRef uniquely identifying containing token. When this attribute +/// is not present, item is stored in internal keychain database. +/// Note that once item is created, this attribute cannot be changed - in other +/// words it is not possible to migrate existing items to, from or between tokens. +/// Currently the only available value for this attribute is +/// kSecAttrTokenIDSecureEnclave, which indicates that item (private key) is +/// backed by device's Secure Enclave. +@ffi.Native() +external cf.CFStringRef kSecAttrAccessible; + +@ffi.Native() +external cf.CFStringRef kSecAttrAccess; + +@ffi.Native() +external cf.CFStringRef kSecAttrAccessControl; + +@ffi.Native() +external cf.CFStringRef kSecAttrAccessGroup; + +@ffi.Native() +external cf.CFStringRef kSecAttrSynchronizable; + +@ffi.Native() +external cf.CFStringRef kSecAttrSynchronizableAny; + +@ffi.Native() +external cf.CFStringRef kSecAttrCreationDate; + +@ffi.Native() +external cf.CFStringRef kSecAttrModificationDate; + +@ffi.Native() +external cf.CFStringRef kSecAttrDescription; + +@ffi.Native() +external cf.CFStringRef kSecAttrComment; + +@ffi.Native() +external cf.CFStringRef kSecAttrCreator; + +@ffi.Native() +external cf.CFStringRef kSecAttrType; + +@ffi.Native() +external cf.CFStringRef kSecAttrLabel; + +@ffi.Native() +external cf.CFStringRef kSecAttrIsInvisible; + +@ffi.Native() +external cf.CFStringRef kSecAttrIsNegative; + +@ffi.Native() +external cf.CFStringRef kSecAttrAccount; + +@ffi.Native() +external cf.CFStringRef kSecAttrService; + +@ffi.Native() +external cf.CFStringRef kSecAttrGeneric; + +@ffi.Native() +external cf.CFStringRef kSecAttrSecurityDomain; + +@ffi.Native() +external cf.CFStringRef kSecAttrServer; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocol; + +@ffi.Native() +external cf.CFStringRef kSecAttrAuthenticationType; + +@ffi.Native() +external cf.CFStringRef kSecAttrPort; + +@ffi.Native() +external cf.CFStringRef kSecAttrPath; + +@ffi.Native() +external cf.CFStringRef kSecAttrSubject; + +@ffi.Native() +external cf.CFStringRef kSecAttrIssuer; + +@ffi.Native() +external cf.CFStringRef kSecAttrSerialNumber; + +@ffi.Native() +external cf.CFStringRef kSecAttrSubjectKeyID; + +@ffi.Native() +external cf.CFStringRef kSecAttrPublicKeyHash; + +@ffi.Native() +external cf.CFStringRef kSecAttrCertificateType; + +@ffi.Native() +external cf.CFStringRef kSecAttrCertificateEncoding; + +@ffi.Native() +external cf.CFStringRef kSecAttrKeyClass; + +@ffi.Native() +external cf.CFStringRef kSecAttrApplicationLabel; + +@ffi.Native() +external cf.CFStringRef kSecAttrIsPermanent; + +@ffi.Native() +external cf.CFStringRef kSecAttrIsSensitive; + +@ffi.Native() +external cf.CFStringRef kSecAttrIsExtractable; + +@ffi.Native() +external cf.CFStringRef kSecAttrApplicationTag; + +@ffi.Native() +external cf.CFStringRef kSecAttrKeyType; + +@ffi.Native() +external cf.CFStringRef kSecAttrPRF; + +@ffi.Native() +external cf.CFStringRef kSecAttrSalt; + +@ffi.Native() +external cf.CFStringRef kSecAttrRounds; + +@ffi.Native() +external cf.CFStringRef kSecAttrKeySizeInBits; + +@ffi.Native() +external cf.CFStringRef kSecAttrEffectiveKeySize; + +@ffi.Native() +external cf.CFStringRef kSecAttrCanEncrypt; + +@ffi.Native() +external cf.CFStringRef kSecAttrCanDecrypt; + +@ffi.Native() +external cf.CFStringRef kSecAttrCanDerive; + +@ffi.Native() +external cf.CFStringRef kSecAttrCanSign; + +@ffi.Native() +external cf.CFStringRef kSecAttrCanVerify; + +@ffi.Native() +external cf.CFStringRef kSecAttrCanWrap; + +@ffi.Native() +external cf.CFStringRef kSecAttrCanUnwrap; + +@ffi.Native() +external cf.CFStringRef kSecAttrSyncViewHint; + +@ffi.Native() +external cf.CFStringRef kSecAttrTokenID; + +@ffi.Native() +external cf.CFStringRef kSecAttrPersistantReference; + +@ffi.Native() +external cf.CFStringRef kSecAttrPersistentReference; + +/// ! +/// @enum kSecAttrAccessible Value Constants +/// @discussion Predefined item attribute constants used to get or set values +/// in a dictionary. The kSecAttrAccessible constant is the key and its +/// value is one of the constants defined here. +/// When asking SecItemCopyMatching to return the item's data, the error +/// errSecInteractionNotAllowed will be returned if the item's data is not +/// available until a device unlock occurs. +/// @constant kSecAttrAccessibleWhenUnlocked Item data can only be accessed +/// while the device is unlocked. This is recommended for items that only +/// need be accesible while the application is in the foreground. Items +/// with this attribute will migrate to a new device when using encrypted +/// backups. +/// @constant kSecAttrAccessibleAfterFirstUnlock Item data can only be +/// accessed once the device has been unlocked after a restart. This is +/// recommended for items that need to be accesible by background +/// applications. Items with this attribute will migrate to a new device +/// when using encrypted backups. +/// @constant kSecAttrAccessibleAlways Item data can always be accessed +/// regardless of the lock state of the device. This is not recommended +/// for anything except system use. Items with this attribute will migrate +/// to a new device when using encrypted backups. +/// @constant kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly Item data can +/// only be accessed while the device is unlocked. This is recommended for +/// items that only need to be accessible while the application is in the +/// foreground and requires a passcode to be set on the device. Items with +/// this attribute will never migrate to a new device, so after a backup +/// is restored to a new device, these items will be missing. This +/// attribute will not be available on devices without a passcode. Disabling +/// the device passcode will cause all previously protected items to +/// be deleted. +/// @constant kSecAttrAccessibleWhenUnlockedThisDeviceOnly Item data can only +/// be accessed while the device is unlocked. This is recommended for items +/// that only need be accesible while the application is in the foreground. +/// Items with this attribute will never migrate to a new device, so after +/// a backup is restored to a new device, these items will be missing. +/// @constant kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly Item data can +/// only be accessed once the device has been unlocked after a restart. +/// This is recommended for items that need to be accessible by background +/// applications. Items with this attribute will never migrate to a new +/// device, so after a backup is restored to a new device these items will +/// be missing. +/// @constant kSecAttrAccessibleAlwaysThisDeviceOnly Item data can always +/// be accessed regardless of the lock state of the device. This option +/// is not recommended for anything except system use. Items with this +/// attribute will never migrate to a new device, so after a backup is +/// restored to a new device, these items will be missing. +@ffi.Native() +external cf.CFStringRef kSecAttrAccessibleWhenUnlocked; + +@ffi.Native() +external cf.CFStringRef kSecAttrAccessibleAfterFirstUnlock; + +@ffi.Native() +external cf.CFStringRef kSecAttrAccessibleAlways; + +@ffi.Native() +external cf.CFStringRef kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly; + +@ffi.Native() +external cf.CFStringRef kSecAttrAccessibleWhenUnlockedThisDeviceOnly; + +@ffi.Native() +external cf.CFStringRef kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly; + +@ffi.Native() +external cf.CFStringRef kSecAttrAccessibleAlwaysThisDeviceOnly; + +/// ! +/// @enum kSecAttrProtocol Value Constants +/// @discussion Predefined item attribute constants used to get or set values +/// in a dictionary. The kSecAttrProtocol constant is the key and its +/// value is one of the constants defined here. +/// @constant kSecAttrProtocolFTP. +/// @constant kSecAttrProtocolFTPAccount. +/// @constant kSecAttrProtocolHTTP. +/// @constant kSecAttrProtocolIRC. +/// @constant kSecAttrProtocolNNTP. +/// @constant kSecAttrProtocolPOP3. +/// @constant kSecAttrProtocolSMTP. +/// @constant kSecAttrProtocolSOCKS. +/// @constant kSecAttrProtocolIMAP. +/// @constant kSecAttrProtocolLDAP. +/// @constant kSecAttrProtocolAppleTalk. +/// @constant kSecAttrProtocolAFP. +/// @constant kSecAttrProtocolTelnet. +/// @constant kSecAttrProtocolSSH. +/// @constant kSecAttrProtocolFTPS. +/// @constant kSecAttrProtocolHTTPS. +/// @constant kSecAttrProtocolHTTPProxy. +/// @constant kSecAttrProtocolHTTPSProxy. +/// @constant kSecAttrProtocolFTPProxy. +/// @constant kSecAttrProtocolSMB. +/// @constant kSecAttrProtocolRTSP. +/// @constant kSecAttrProtocolRTSPProxy. +/// @constant kSecAttrProtocolDAAP. +/// @constant kSecAttrProtocolEPPC. +/// @constant kSecAttrProtocolIPP. +/// @constant kSecAttrProtocolNNTPS. +/// @constant kSecAttrProtocolLDAPS. +/// @constant kSecAttrProtocolTelnetS. +/// @constant kSecAttrProtocolIMAPS. +/// @constant kSecAttrProtocolIRCS. +/// @constant kSecAttrProtocolPOP3S. +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolFTP; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolFTPAccount; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolHTTP; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolIRC; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolNNTP; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolPOP3; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolSMTP; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolSOCKS; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolIMAP; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolLDAP; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolAppleTalk; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolAFP; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolTelnet; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolSSH; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolFTPS; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolHTTPS; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolHTTPProxy; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolHTTPSProxy; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolFTPProxy; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolSMB; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolRTSP; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolRTSPProxy; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolDAAP; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolEPPC; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolIPP; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolNNTPS; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolLDAPS; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolTelnetS; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolIMAPS; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolIRCS; + +@ffi.Native() +external cf.CFStringRef kSecAttrProtocolPOP3S; + +/// ! +/// @enum kSecAttrAuthenticationType Value Constants +/// @discussion Predefined item attribute constants used to get or set values +/// in a dictionary. The kSecAttrAuthenticationType constant is the key +/// and its value is one of the constants defined here. +/// @constant kSecAttrAuthenticationTypeNTLM. +/// @constant kSecAttrAuthenticationTypeMSN. +/// @constant kSecAttrAuthenticationTypeDPA. +/// @constant kSecAttrAuthenticationTypeRPA. +/// @constant kSecAttrAuthenticationTypeHTTPBasic. +/// @constant kSecAttrAuthenticationTypeHTTPDigest. +/// @constant kSecAttrAuthenticationTypeHTMLForm. +/// @constant kSecAttrAuthenticationTypeDefault. +@ffi.Native() +external cf.CFStringRef kSecAttrAuthenticationTypeNTLM; + +@ffi.Native() +external cf.CFStringRef kSecAttrAuthenticationTypeMSN; + +@ffi.Native() +external cf.CFStringRef kSecAttrAuthenticationTypeDPA; + +@ffi.Native() +external cf.CFStringRef kSecAttrAuthenticationTypeRPA; + +@ffi.Native() +external cf.CFStringRef kSecAttrAuthenticationTypeHTTPBasic; + +@ffi.Native() +external cf.CFStringRef kSecAttrAuthenticationTypeHTTPDigest; + +@ffi.Native() +external cf.CFStringRef kSecAttrAuthenticationTypeHTMLForm; + +@ffi.Native() +external cf.CFStringRef kSecAttrAuthenticationTypeDefault; + +/// ! +/// @enum kSecAttrKeyClass Value Constants +/// @discussion Predefined item attribute constants used to get or set values +/// in a dictionary. The kSecAttrKeyClass constant is the key +/// and its value is one of the constants defined here. +/// @constant kSecAttrKeyClassPublic. +/// @constant kSecAttrKeyClassPrivate. +/// @constant kSecAttrKeyClassSymmetric. +@ffi.Native() +external cf.CFStringRef kSecAttrKeyClassPublic; + +@ffi.Native() +external cf.CFStringRef kSecAttrKeyClassPrivate; + +@ffi.Native() +external cf.CFStringRef kSecAttrKeyClassSymmetric; + +/// ! +/// @enum kSecAttrKeyType Value Constants +/// @discussion Predefined item attribute constants used to get or set values +/// in a dictionary. The kSecAttrKeyType constant is the key +/// and its value is one of the constants defined here. +/// @constant kSecAttrKeyTypeECSECPrimeRandom. The used curve is P-192, P-256, P-384 or P-521. +/// The size is specified by kSecAttrKeySizeInBits attribute. Curves are defined in FIPS PUB 186-4 standard. +/// @constant kSecAttrKeyTypeEC This is the legacy name for kSecAttrKeyTypeECSECPrimeRandom, new applications should not use it. +/// @constant kSecAttrKeyTypeDSA (OSX only) +/// @constant kSecAttrKeyTypeAES (OSX only) +/// @constant kSecAttrKeyType3DES (OSX only) +/// @constant kSecAttrKeyTypeRC4 (OSX only) +/// @constant kSecAttrKeyTypeRC2 (OSX only) +/// @constant kSecAttrKeyTypeCAST (OSX only) +/// @constant kSecAttrKeyTypeECDSA (deprecated; use kSecAttrKeyTypeECSECPrimeRandom instead.) (OSX only) +@ffi.Native() +external cf.CFStringRef kSecAttrKeyTypeRSA; + +@ffi.Native() +external cf.CFStringRef kSecAttrKeyTypeDSA; + +@ffi.Native() +external cf.CFStringRef kSecAttrKeyTypeAES; + +@ffi.Native() +external cf.CFStringRef kSecAttrKeyTypeDES; + +@ffi.Native() +external cf.CFStringRef kSecAttrKeyType3DES; + +@ffi.Native() +external cf.CFStringRef kSecAttrKeyTypeRC4; + +@ffi.Native() +external cf.CFStringRef kSecAttrKeyTypeRC2; + +@ffi.Native() +external cf.CFStringRef kSecAttrKeyTypeCAST; + +@ffi.Native() +external cf.CFStringRef kSecAttrKeyTypeECDSA; + +@ffi.Native() +external cf.CFStringRef kSecAttrKeyTypeEC; + +@ffi.Native() +external cf.CFStringRef kSecAttrKeyTypeECSECPrimeRandom; + +/// @enum kSecAttrPRF Value Constants +/// @discussion Predefined item attribute constants used to specify the PRF +/// to use with SecKeyDeriveFromPassword. OS X only. +/// @constant kSecAttrPRFHmacAlgSHA1 +/// @constant kSecAttrPRFHmacAlgSHA224 +/// @constant kSecAttrPRFHmacAlgSHA256 +/// @constant kSecAttrPRFHmacAlgSHA384 +/// @constant kSecAttrPRFHmacAlgSHA512 +@ffi.Native() +external cf.CFStringRef kSecAttrPRFHmacAlgSHA1; + +@ffi.Native() +external cf.CFStringRef kSecAttrPRFHmacAlgSHA224; + +@ffi.Native() +external cf.CFStringRef kSecAttrPRFHmacAlgSHA256; + +@ffi.Native() +external cf.CFStringRef kSecAttrPRFHmacAlgSHA384; + +@ffi.Native() +external cf.CFStringRef kSecAttrPRFHmacAlgSHA512; + +/// ! +/// @enum Search Constants +/// @discussion Predefined search constants used to set values in a query +/// dictionary. You can specify a combination of search attributes and +/// item attributes when looking for matching items with the +/// SecItemCopyMatching function. +/// @constant kSecMatchPolicy Specifies a dictionary key whose value is a +/// SecPolicyRef. If provided, returned certificates or identities must +/// verify with this policy. +/// @constant kSecMatchItemList OS X only. Specifies a dictionary key whose value is a +/// CFArray of SecKeychainItemRef items. If provided, returned items will be +/// limited to the subset which are contained in this list. +/// @constant kSecMatchSearchList Specifies a dictionary key whose value is a +/// CFArray of SecKeychainRef items. If provided, the search will be limited +/// to the keychains contained in this list. +/// @constant kSecMatchIssuers Specifies a dictionary key whose value is a +/// CFArray of X.500 names (of type CFDataRef). If provided, returned +/// certificates or identities will be limited to those whose +/// certificate chain contains one of the issuers provided in this list. +/// @constant kSecMatchEmailAddressIfPresent Specifies a dictionary key whose +/// value is a CFStringRef containing an RFC822 email address. If +/// provided, returned certificates or identities will be limited to those +/// that contain the address in their subject or subject alternative name. +/// @constant kSecMatchSubjectContains Specifies a dictionary key whose value +/// is a CFStringRef. If provided, returned certificates or identities +/// will be limited to those containing this string in the subject. +/// @constant kSecMatchSubjectStartsWith OS X only. Specifies a dictionary key whose value +/// is a CFStringRef. If provided, returned certificates or identities +/// will be limited to those with subject names that start with this string. +/// @constant kSecMatchSubjectEndsWith OS X only. Specifies a dictionary key whose value +/// is a CFStringRef. If provided, returned certificates or identities +/// will be limited to those with subject names that end with this string. +/// @constant kSecMatchSubjectWholeString OS X only. Specifies a dictionary key whose +/// value is a CFStringRef. If provided, returned certificates or identities +/// will be limited to those matching this string exactly in the subject. +/// @constant kSecMatchCaseInsensitive Specifies a dictionary key whose value +/// is a CFBooleanRef. If this value is kCFBooleanFalse, or is not +/// provided, then case-sensitive string matching is performed. +/// @constant kSecMatchDiacriticInsensitive OS X only. Specifies a dictionary key whose +/// value is a CFBooleanRef. If this value is kCFBooleanFalse, or is not +/// provided, then diacritic-sensitive string matching is performed. +/// @constant kSecMatchWidthInsensitive OS X only. Specifies a dictionary key whose +/// value is a CFBooleanRef. If this value is kCFBooleanFalse, or is not +/// provided, then string matching is width-sensitive (e.g. 'a' != 0xFF41). +/// @constant kSecMatchTrustedOnly Specifies a dictionary key whose value is +/// a CFBooleanRef. If provided with a value of kCFBooleanTrue, only +/// certificates which can be verified back to a trusted anchor will be +/// returned. If this value is kCFBooleanFalse, or is not provided, then +/// both trusted and untrusted certificates may be returned. +/// @constant kSecMatchValidOnDate Specifies a dictionary key whose value is +/// of type CFDateRef. If provided, returned keys, certificates or +/// identities will be limited to those which are valid for the given date. +/// Pass a value of kCFNull to indicate the current date. +/// @constant kSecMatchLimit Specifies a dictionary key whose value is a +/// CFNumberRef. If provided, this value specifies the maximum number of +/// results to return. If not provided, results are limited to the first +/// item found. Predefined values are provided for a single item +/// (kSecMatchLimitOne) and all matching items (kSecMatchLimitAll). +/// @constant kSecMatchLimitOne Specifies that results are limited to the first +/// item found; used as a value for the kSecMatchLimit dictionary key. +/// @constant kSecMatchLimitAll Specifies that an unlimited number of results +/// may be returned; used as a value for the kSecMatchLimit dictionary +/// key. +@ffi.Native() +external cf.CFStringRef kSecMatchPolicy; + +@ffi.Native() +external cf.CFStringRef kSecMatchItemList; + +@ffi.Native() +external cf.CFStringRef kSecMatchSearchList; + +@ffi.Native() +external cf.CFStringRef kSecMatchIssuers; + +@ffi.Native() +external cf.CFStringRef kSecMatchEmailAddressIfPresent; + +@ffi.Native() +external cf.CFStringRef kSecMatchSubjectContains; + +@ffi.Native() +external cf.CFStringRef kSecMatchSubjectStartsWith; + +@ffi.Native() +external cf.CFStringRef kSecMatchSubjectEndsWith; + +@ffi.Native() +external cf.CFStringRef kSecMatchSubjectWholeString; + +@ffi.Native() +external cf.CFStringRef kSecMatchCaseInsensitive; + +@ffi.Native() +external cf.CFStringRef kSecMatchDiacriticInsensitive; + +@ffi.Native() +external cf.CFStringRef kSecMatchWidthInsensitive; + +@ffi.Native() +external cf.CFStringRef kSecMatchTrustedOnly; + +@ffi.Native() +external cf.CFStringRef kSecMatchValidOnDate; + +@ffi.Native() +external cf.CFStringRef kSecMatchLimit; + +@ffi.Native() +external cf.CFStringRef kSecMatchLimitOne; + +@ffi.Native() +external cf.CFStringRef kSecMatchLimitAll; + +/// ! +/// @enum Return Type Key Constants +/// @discussion Predefined return type keys used to set values in a dictionary. +/// You use these keys to specify the type of results which should be +/// returned by the SecItemCopyMatching or SecItemAdd function. You can +/// specify zero or more of these return types. If more than one of these +/// result types is specified, the result is returned as a CFDictionaryRef +/// whose keys are the result types and values are the requested data. +/// @constant kSecReturnData Specifies a dictionary key whose value is of type +/// CFBooleanRef. A value of kCFBooleanTrue indicates that the data of +/// an item (CFDataRef) should be returned. For keys and password +/// items, data is secret (encrypted) and may require the user to enter +/// a password for access. +/// @constant kSecReturnAttributes Specifies a dictionary key whose value is +/// of type CFBooleanRef. A value of kCFBooleanTrue indicates that the +/// (non-encrypted) attributes of an item (CFDictionaryRef) should be +/// returned. +/// @constant kSecReturnRef Specifies a dictionary key whose value is a +/// CFBooleanRef. A value of kCFBooleanTrue indicates that a reference +/// should be returned. Depending on the item class requested, the +/// returned reference(s) may be of type SecKeychainItemRef, SecKeyRef, +/// SecCertificateRef, or SecIdentityRef. Note that returning references is +/// supported only for Certificate, Key or Identity items on iOS, watchOS and +/// tvOS. Similarly, returning references is supported only for Certificate, Key +/// or Identity items on macOS when either kSecUseDataProtectionKeychain +/// is set to true or kSecAttrSynchronizable is set to true. +/// @constant kSecReturnPersistentRef Specifies a dictionary key whose value +/// is of type CFBooleanRef. A value of kCFBooleanTrue indicates that a +/// persistent reference to an item (CFDataRef) should be returned. +@ffi.Native() +external cf.CFStringRef kSecReturnData; + +@ffi.Native() +external cf.CFStringRef kSecReturnAttributes; + +@ffi.Native() +external cf.CFStringRef kSecReturnRef; + +@ffi.Native() +external cf.CFStringRef kSecReturnPersistentRef; + +/// ! +/// @enum Value Type Key Constants +/// @discussion Predefined value type keys used to pass values in a dictionary. +/// You can specify zero or more of these types depending on the function +/// you are calling. For SecItemCopyMatching or SecItemAdd these are +/// used as keys in the results dictionary. +/// @constant kSecValueData Specifies a dictionary key whose value is of type +/// CFDataRef. For keys and password items, data is secret (encrypted) +/// and may require the user to enter a password for access. +/// @constant kSecValueRef Specifies a dictionary key whose value, depending +/// on the item class requested, is of type SecKeychainItemRef, SecKeyRef, +/// SecCertificateRef, or SecIdentityRef. +/// @constant kSecValuePersistentRef Specifies a dictionary key whose value +/// is of type CFDataRef. The bytes in this CFDataRef can be stored by +/// the caller and used on a subsequent invocation of the application (or +/// even a different application) to retrieve the item referenced by it. +@ffi.Native() +external cf.CFStringRef kSecValueData; + +@ffi.Native() +external cf.CFStringRef kSecValueRef; + +@ffi.Native() +external cf.CFStringRef kSecValuePersistentRef; + +/// ! +/// @enum Other Constants +/// @discussion Predefined constants used to set values in a dictionary. +/// @constant kSecUseItemList Specifies a dictionary key whose value is a +/// CFArray of items. If provided, this array is treated as the set of +/// all possible items to search, or add if the API being called is +/// SecItemAdd. The items in this array may be of type SecKeyRef, +/// SecCertificateRef, SecIdentityRef, or CFDataRef (for a persistent +/// item reference.) The items in the array must all be of the same +/// type. When this attribute is provided, no keychains are searched. +/// @constant kSecUseKeychain OS X only. Specifies a dictionary key whose value is a +/// keychain reference. You use this key to specify a value of type +/// SecKeychainRef to which SecItemAdd will add the provided item(s). +/// @constant kSecUseOperationPrompt Specifies a dictionary key whose value +/// is a CFStringRef that represents a user-visible string describing +/// the operation for which the application is attempting to authenticate. +/// The application is responsible for the text localization. +/// @constant kSecUseNoAuthenticationUI OS X only. Specifies a dictionary key whose value +/// is a CFBooleanRef. If provided with a value of kCFBooleanTrue, the error +/// errSecInteractionNotAllowed will be returned if the item is attempting +/// to authenticate with UI. +/// @constant kSecUseAuthenticationUI Specifies a dictionary key whose value +/// is one of kSecUseAuthenticationUIAllow, kSecUseAuthenticationUIFail, kSecUseAuthenticationUISkip. +/// @constant kSecUseAuthenticationContext Specifies a dictionary key whose value +/// is LAContext to be used for keychain item authentication. +/// If the item requires authentication and this key is omitted, a new context +/// will be created just for the purpose of the single call. +/// If the specified context has been previously authenticated, the operation +/// will succeed without asking user for authentication. +/// If the specified context has not been previously authenticated, the new +/// authentication will be started on this context, allowing caller to +/// eventually reuse the successfully authenticated context in subsequent +/// keychain operations. +/// @constant kSecUseDataProtectionKeychain Specifies a dictionary key whose value +/// is a CFBooleanRef. Set to kCFBooleanTrue to use kSecAttrAccessGroup and/or +/// kSecAttrAccessible on macOS without requiring the item to be marked synchronizable. +/// Note that when kSecUseDataProtectionKeychain is set to true, returning references is +/// supported only for Certificate, Key or Identity items. +/// @constant kSecUseUserIndependentKeychain Specifies a dctionary key whose value is a CFBooleanRef +/// indicating whether the item is shared with other personas on the system. +@ffi.Native() +external cf.CFStringRef kSecUseItemList; + +@ffi.Native() +external cf.CFStringRef kSecUseKeychain; + +@ffi.Native() +external cf.CFStringRef kSecUseOperationPrompt; + +@ffi.Native() +external cf.CFStringRef kSecUseNoAuthenticationUI; + +@ffi.Native() +external cf.CFStringRef kSecUseAuthenticationUI; + +@ffi.Native() +external cf.CFStringRef kSecUseAuthenticationContext; + +@ffi.Native() +external cf.CFStringRef kSecUseDataProtectionKeychain; + +@ffi.Native() +external cf.CFStringRef kSecUseUserIndependentKeychain; + +/// ! +/// @enum kSecUseAuthenticationUI Value Constants +/// @discussion Predefined item attribute constants used to get or set values +/// in a dictionary. The kSecUseAuthenticationUI constant is the key and its +/// value is one of the constants defined here. +/// If the key kSecUseAuthenticationUI not provided then kSecUseAuthenticationUIAllow +/// is used as default. +/// @constant kSecUseAuthenticationUIAllow Specifies that authenticate UI can appear. +/// @constant kSecUseAuthenticationUIFail Specifies that the error +/// errSecInteractionNotAllowed will be returned if an item needs +/// to authenticate with UI +/// @constant kSecUseAuthenticationUISkip Specifies that all items which need +/// to authenticate with UI will be silently skipped. This value can be used +/// only with SecItemCopyMatching. +@ffi.Native() +external cf.CFStringRef kSecUseAuthenticationUIAllow; + +@ffi.Native() +external cf.CFStringRef kSecUseAuthenticationUIFail; + +@ffi.Native() +external cf.CFStringRef kSecUseAuthenticationUISkip; + +/// ! +/// @enum kSecAttrTokenID Value Constants +/// @discussion Predefined item attribute constant used to get or set values +/// in a dictionary. The kSecAttrTokenID constant is the key and its value +/// can be kSecAttrTokenIDSecureEnclave. +/// @constant kSecAttrTokenIDSecureEnclave Specifies well-known identifier of the +/// token implemented using device's Secure Enclave. The only keychain items +/// supported by the Secure Enclave token are 256-bit elliptic curve keys +/// (kSecAttrKeyTypeECSecPrimeRandom). Keys must be generated on the secure enclave using +/// SecKeyGenerateKeyPair call with kSecAttrTokenID set to +/// kSecAttrTokenIDSecureEnclave in the parameters dictionary, it is not +/// possible to import pregenerated keys to kSecAttrTokenIDSecureEnclave token. +@ffi.Native() +external cf.CFStringRef kSecAttrTokenIDSecureEnclave; + +/// ! +/// @enum kSecAttrAccessGroup Value Constants +/// @constant kSecAttrAccessGroupToken Represents well-known access group +/// which contains items provided by external token (typically smart card). +/// This may be used as a value for kSecAttrAccessGroup attribute. Every +/// application has access to this access group so it is not needed to +/// explicitly list it in keychain-access-groups entitlement, but application +/// must explicitly state this access group in keychain queries in order to +/// be able to access items from external tokens. +@ffi.Native() +external cf.CFStringRef kSecAttrAccessGroupToken; + +/// ! +/// @function SecItemCopyMatching +/// @abstract Returns one or more items which match a search query. +/// @param query A dictionary containing an item class specification and +/// optional attributes for controlling the search. See the "Keychain +/// Search Attributes" section for a description of currently defined +/// search attributes. +/// @param result On return, a CFTypeRef reference to the found item(s). The +/// exact type of the result is based on the search attributes supplied +/// in the query, as discussed below. +/// @result A result code. See "Security Error Codes" (SecBase.h). +/// @discussion Attributes defining a search are specified by adding key/value +/// pairs to the query dictionary. +/// +/// A typical query consists of: +/// +/// a kSecClass key, whose value is a constant from the Class +/// Constants section that specifies the class of item(s) to be searched +/// one or more keys from the "Attribute Key Constants" section, whose value +/// is the attribute data to be matched +/// one or more keys from the "Search Constants" section, whose value is +/// used to further refine the search +/// a key from the "Return Type Key Constants" section, specifying the type of +/// results desired +/// +/// Result types are specified as follows: +/// +/// To obtain the data of a matching item (CFDataRef), specify +/// kSecReturnData with a value of kCFBooleanTrue. +/// To obtain the attributes of a matching item (CFDictionaryRef), specify +/// kSecReturnAttributes with a value of kCFBooleanTrue. +/// To obtain a reference to a matching item (SecKeychainItemRef, +/// SecKeyRef, SecCertificateRef, or SecIdentityRef), specify kSecReturnRef +/// with a value of kCFBooleanTrue. Note that returning references is +/// supported only for Certificate, Key or Identity items on iOS, watchOS and +/// tvOS. Similarly, returning references is supported only for Certificate, Key +/// or Identity items on macOS when either kSecUseDataProtectionKeychain +/// is set to true or kSecAttrSynchronizable is set to true. +/// To obtain a persistent reference to a matching item (CFDataRef), +/// specify kSecReturnPersistentRef with a value of kCFBooleanTrue. Note +/// that unlike normal references, a persistent reference may be stored +/// on disk or passed between processes. +/// If more than one of these result types is specified, the result is +/// returned as a CFDictionaryRef containing all the requested data. +/// If a result type is not specified, no results are returned. +/// +/// By default, this function returns only the first match found. To obtain +/// more than one matching item at a time, specify kSecMatchLimit with a value +/// greater than 1. The result will be a CFArrayRef containing up to that +/// number of matching items; the items' types are described above. +/// +/// To filter a provided list of items down to those matching the query, +/// specify a kSecMatchItemList whose value is a CFArray of SecKeychainItemRef, +/// SecKeyRef, SecCertificateRef, or SecIdentityRef items. The objects in the +/// provided array must be of the same type. +/// +/// On iOS, to convert from a persistent item reference to a normal item reference, +/// specify a kSecValuePersistentRef whose value a CFDataRef (the persistent +/// reference), and a kSecReturnRef whose value is kCFBooleanTrue. +/// +/// On OSX, to convert from persistent item references to normal item references, +/// specify a kSecMatchItemList whose value is a CFArray containing one or +/// more CFDataRef elements (the persistent reference), and a kSecReturnRef +/// whose value is kCFBooleanTrue. The objects in the provided array must be +/// of the same type. +@ffi.Native)>() +external int SecItemCopyMatching( + cf.CFDictionaryRef query, + ffi.Pointer result, +); + +/// ! +/// @function SecItemAdd +/// @abstract Add one or more items to a keychain. +/// @param attributes A dictionary containing an item class specification and +/// optional entries specifying the item's attribute values. See the +/// "Attribute Key Constants" section for a description of currently defined +/// attributes. +/// @param result On return, a CFTypeRef reference to the newly added item(s). +/// The exact type of the result is based on the values supplied +/// in attributes, as discussed below. Pass NULL if this result is not +/// required. +/// @result A result code. See "Security Error Codes" (SecBase.h). +/// @discussion Attributes defining an item are specified by adding key/value +/// pairs to the attributes dictionary. To add multiple items to a keychain +/// at once use the kSecUseItemList key with an array of items as its value. +/// This is currently only supported for non password items. +/// +/// On OSX, To add an item to a particular keychain, supply kSecUseKeychain +/// with a SecKeychainRef as its value. +/// +/// On iOS, watchOS & tvOS, Certificate, Key, and Identity items may be +/// added by reference, but neither Internet Passwords nor Generic Passwords +/// may be. Similarly, on macOS with either kSecUseDataProtectionKeychain +/// set to true or kSecAttrSynchronizable set to true, Certificate, Key, and Identity +/// items may be added by reference, but neither Internet Passwords nor Generic +/// Passwords may be. +/// +/// Result types are specified as follows: +/// +/// To obtain the data of the added item (CFDataRef), specify +/// kSecReturnData with a value of kCFBooleanTrue. +/// To obtain all the attributes of the added item (CFDictionaryRef), +/// specify kSecReturnAttributes with a value of kCFBooleanTrue. +/// To obtain a reference to the added item (SecKeychainItemRef, SecKeyRef, +/// SecCertificateRef, or SecIdentityRef), specify kSecReturnRef with a +/// value of kCFBooleanTrue. See also note about kSecReturnRef and +/// macOS. +/// To obtain a persistent reference to the added item (CFDataRef), specify +/// kSecReturnPersistentRef with a value of kCFBooleanTrue. Note that +/// unlike normal references, a persistent reference may be stored on disk +/// or passed between processes. +/// If more than one of these result types is specified, the result is +/// returned as a CFDictionaryRef containing all the requested data. +/// On iOS, if a result type is not specified, no results are returned. +/// On OSX, the added item is returned. +@ffi.Native)>() +external int SecItemAdd( + cf.CFDictionaryRef attributes, + ffi.Pointer result, +); + +/// ! +/// @function SecItemUpdate +/// @abstract Modify zero or more items which match a search query. +/// @param query A dictionary containing an item class specification and +/// optional attributes for controlling the search. See the "Attribute +/// Constants" and "Search Constants" sections for a description of +/// currently defined search attributes. +/// @param attributesToUpdate A dictionary containing one or more attributes +/// whose values should be set to the ones specified. Only real keychain +/// attributes are permitted in this dictionary (no "meta" attributes are +/// allowed.) See the "Attribute Key Constants" section for a description of +/// currently defined value attributes. +/// @result A result code. See "Security Error Codes" (SecBase.h). +/// @discussion Attributes defining a search are specified by adding key/value +/// pairs to the query dictionary. +@ffi.Native() +external int SecItemUpdate( + cf.CFDictionaryRef query, + cf.CFDictionaryRef attributesToUpdate, +); + +/// ! +/// @function SecItemDelete +/// @abstract Delete zero or more items which match a search query. +/// @param query A dictionary containing an item class specification and +/// optional attributes for controlling the search. See the "Attribute +/// Constants" and "Search Constants" sections for a description of +/// currently defined search attributes. +/// @result A result code. See "Security Error Codes" (SecBase.h). +/// @discussion Attributes defining a search are specified by adding key/value +/// pairs to the query dictionary. +/// +/// By default, this function deletes all items matching the specified query. +/// You can change this behavior by specifying one of the follow keys: +/// +/// To delete an item identified by a transient reference, on iOS, specify +/// kSecValueRef with a item reference. On OS X, give a kSecMatchItemList +/// containing an item reference. +/// To delete an item identified by a persistent reference, on iOS, specify +/// kSecValuePersistentRef with a persistent reference returned by +/// using the kSecReturnPersistentRef key to SecItemCopyMatching or +/// SecItemAdd. on OSX, use kSecMatchItemList with a persistent reference +/// returned by using the kSecReturnPersistentRef key with +/// SecItemCopyMatching or SecItemAdd. +/// To delete multiple items specify kSecMatchItemList with an array +/// of references. +/// If more than one of these result keys is specified, the behavior is +/// undefined. +@ffi.Native() +external int SecItemDelete( + cf.CFDictionaryRef query, +); + +final class __CFNull extends ffi.Opaque {} + +final class __CFAllocator extends ffi.Opaque {} + +final class __CFBoolean extends ffi.Opaque {} + +final class __CFNumber extends ffi.Opaque {} + +final class CFArrayCallBacks extends ffi.Struct { + @ffi.Long() + external int version; + + external ffi.Pointer< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer<__CFAllocator>, ffi.Pointer)>> retain; + + external ffi.Pointer< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer<__CFAllocator>, ffi.Pointer)>> release; + + external ffi.Pointer< + ffi.NativeFunction)>> + copyDescription; + + external ffi.Pointer< + ffi.NativeFunction< + ffi.UnsignedChar Function( + ffi.Pointer, ffi.Pointer)>> equal; +} + +final class CFDictionaryKeyCallBacks extends ffi.Struct { + @ffi.Long() + external int version; + + external ffi.Pointer< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer<__CFAllocator>, ffi.Pointer)>> retain; + + external ffi.Pointer< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer<__CFAllocator>, ffi.Pointer)>> release; + + external ffi.Pointer< + ffi.NativeFunction)>> + copyDescription; + + external ffi.Pointer< + ffi.NativeFunction< + ffi.UnsignedChar Function( + ffi.Pointer, ffi.Pointer)>> equal; + + external ffi.Pointer< + ffi.NativeFunction)>> + hash; +} + +/// ! +/// @typedef CFDictionaryValueCallBacks +/// Structure containing the callbacks for values of a CFDictionary. +/// @field version The version number of the structure type being passed +/// in as a parameter to the CFDictionary creation functions. +/// This structure is version 0. +/// @field retain The callback used to add a retain for the dictionary +/// on values as they are put into the dictionary. +/// This callback returns the value to use as the value in the +/// dictionary, which is usually the value parameter passed to +/// this callback, but may be a different value if a different +/// value should be added to the dictionary. The dictionary's +/// allocator is passed as the first argument. +/// @field release The callback used to remove a retain previously added +/// for the dictionary from values as they are removed from +/// the dictionary. The dictionary's allocator is passed as the +/// first argument. +/// @field copyDescription The callback used to create a descriptive +/// string representation of each value in the dictionary. This +/// is used by the CFCopyDescription() function. +/// @field equal The callback used to compare values in the dictionary for +/// equality in some operations. +final class CFDictionaryValueCallBacks extends ffi.Struct { + @ffi.Long() + external int version; + + external ffi.Pointer< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer<__CFAllocator>, ffi.Pointer)>> retain; + + external ffi.Pointer< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer<__CFAllocator>, ffi.Pointer)>> release; + + external ffi.Pointer< + ffi.NativeFunction)>> + copyDescription; + + external ffi.Pointer< + ffi.NativeFunction< + ffi.UnsignedChar Function( + ffi.Pointer, ffi.Pointer)>> equal; +} + +const int errSecSuccess = 0; + +const int errSecUserCanceled = -128; + +const int errSecMissingEntitlement = -34018; + +const int errSecAuthFailed = -25293; + +const int errSecDuplicateItem = -25299; + +const int errSecItemNotFound = -25300; + +const int errSecInteractionRequired = -25315; + +const int errSecInvalidOwnerEdit = -25244; diff --git a/packages/celest_auth/lib/src/platform/android/jni_bindings.ffi.dart b/packages/celest_auth/lib/src/platform/android/jni_bindings.ffi.dart deleted file mode 100644 index 13c345f4..00000000 --- a/packages/celest_auth/lib/src/platform/android/jni_bindings.ffi.dart +++ /dev/null @@ -1,28819 +0,0 @@ -// Autogenerated by jnigen. DO NOT EDIT! - -// ignore_for_file: annotate_overrides -// ignore_for_file: camel_case_extensions -// ignore_for_file: camel_case_types -// ignore_for_file: constant_identifier_names -// ignore_for_file: file_names -// ignore_for_file: lines_longer_than_80_chars -// ignore_for_file: no_leading_underscores_for_local_identifiers -// ignore_for_file: non_constant_identifier_names -// ignore_for_file: overridden_fields -// ignore_for_file: unnecessary_cast -// ignore_for_file: unused_element -// ignore_for_file: unused_field -// ignore_for_file: unused_import -// ignore_for_file: unused_local_variable -// ignore_for_file: unused_shown_name - -import "dart:isolate" show ReceivePort; -import "dart:ffi" as ffi; -import "package:jni/internal_helpers_for_jnigen.dart"; -import "package:jni/jni.dart" as jni; - -/// from: android.net.Uri$Builder -class Uri_Builder extends jni.JObject { - @override - late final jni.JObjType $type = type; - - Uri_Builder.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass(r"android/net/Uri$Builder"); - - /// The type which includes information such as the signature of this class. - static const type = $Uri_BuilderType(); - static final _id_new0 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); - - /// from: public void () - /// The returned object must be released after use, by calling the [release] method. - factory Uri_Builder() { - return Uri_Builder.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, []).object); - } - - static final _id_scheme = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"scheme", r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); - - /// from: public android.net.Uri$Builder scheme(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Uri_Builder scheme( - jni.JString string, - ) { - return const $Uri_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_scheme, jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_opaquePart = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"opaquePart", - r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); - - /// from: public android.net.Uri$Builder opaquePart(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Uri_Builder opaquePart( - jni.JString string, - ) { - return const $Uri_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_opaquePart, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_encodedOpaquePart = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"encodedOpaquePart", - r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); - - /// from: public android.net.Uri$Builder encodedOpaquePart(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Uri_Builder encodedOpaquePart( - jni.JString string, - ) { - return const $Uri_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_encodedOpaquePart, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_authority = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"authority", r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); - - /// from: public android.net.Uri$Builder authority(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Uri_Builder authority( - jni.JString string, - ) { - return const $Uri_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_authority, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_encodedAuthority = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"encodedAuthority", - r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); - - /// from: public android.net.Uri$Builder encodedAuthority(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Uri_Builder encodedAuthority( - jni.JString string, - ) { - return const $Uri_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_encodedAuthority, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_path = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"path", r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); - - /// from: public android.net.Uri$Builder path(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Uri_Builder path( - jni.JString string, - ) { - return const $Uri_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_path, jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_encodedPath = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"encodedPath", - r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); - - /// from: public android.net.Uri$Builder encodedPath(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Uri_Builder encodedPath( - jni.JString string, - ) { - return const $Uri_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_encodedPath, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_appendPath = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"appendPath", - r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); - - /// from: public android.net.Uri$Builder appendPath(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Uri_Builder appendPath( - jni.JString string, - ) { - return const $Uri_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_appendPath, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_appendEncodedPath = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"appendEncodedPath", - r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); - - /// from: public android.net.Uri$Builder appendEncodedPath(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Uri_Builder appendEncodedPath( - jni.JString string, - ) { - return const $Uri_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_appendEncodedPath, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_query = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"query", r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); - - /// from: public android.net.Uri$Builder query(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Uri_Builder query( - jni.JString string, - ) { - return const $Uri_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_query, jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_encodedQuery = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"encodedQuery", - r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); - - /// from: public android.net.Uri$Builder encodedQuery(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Uri_Builder encodedQuery( - jni.JString string, - ) { - return const $Uri_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_encodedQuery, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_fragment = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"fragment", r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); - - /// from: public android.net.Uri$Builder fragment(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Uri_Builder fragment( - jni.JString string, - ) { - return const $Uri_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_fragment, jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_encodedFragment = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"encodedFragment", - r"(Ljava/lang/String;)Landroid/net/Uri$Builder;"); - - /// from: public android.net.Uri$Builder encodedFragment(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Uri_Builder encodedFragment( - jni.JString string, - ) { - return const $Uri_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_encodedFragment, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_appendQueryParameter = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"appendQueryParameter", - r"(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$Builder;"); - - /// from: public android.net.Uri$Builder appendQueryParameter(java.lang.String string, java.lang.String string1) - /// The returned object must be released after use, by calling the [release] method. - Uri_Builder appendQueryParameter( - jni.JString string, - jni.JString string1, - ) { - return const $Uri_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_appendQueryParameter, - jni.JniCallType.objectType, - [string.reference, string1.reference]).object); - } - - static final _id_clearQuery = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"clearQuery", r"()Landroid/net/Uri$Builder;"); - - /// from: public android.net.Uri$Builder clearQuery() - /// The returned object must be released after use, by calling the [release] method. - Uri_Builder clearQuery() { - return const $Uri_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, _id_clearQuery, jni.JniCallType.objectType, []).object); - } - - static final _id_build = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"build", r"()Landroid/net/Uri;"); - - /// from: public android.net.Uri build() - /// The returned object must be released after use, by calling the [release] method. - Uri build() { - return const $UriType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_build, jni.JniCallType.objectType, []).object); - } - - static final _id_toString1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"toString", r"()Ljava/lang/String;"); - - /// from: public java.lang.String toString() - /// The returned object must be released after use, by calling the [release] method. - jni.JString toString1() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_toString1, jni.JniCallType.objectType, []).object); - } -} - -final class $Uri_BuilderType extends jni.JObjType { - const $Uri_BuilderType(); - - @override - String get signature => r"Landroid/net/Uri$Builder;"; - - @override - Uri_Builder fromRef(jni.JObjectPtr ref) => Uri_Builder.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($Uri_BuilderType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($Uri_BuilderType) && other is $Uri_BuilderType; - } -} - -/// from: android.net.Uri -class Uri extends jni.JObject { - @override - late final jni.JObjType $type = type; - - Uri.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass(r"android/net/Uri"); - - /// The type which includes information such as the signature of this class. - static const type = $UriType(); - static final _id_CREATOR = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"CREATOR", - r"Landroid/os/Parcelable$Creator;", - ); - - /// from: static public final android.os.Parcelable$Creator CREATOR - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject get CREATOR => const jni.JObjectType().fromRef(jni - .Jni.accessors - .getStaticField(_class.reference, _id_CREATOR, jni.JniCallType.objectType) - .object); - - static final _id_EMPTY = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"EMPTY", - r"Landroid/net/Uri;", - ); - - /// from: static public final android.net.Uri EMPTY - /// The returned object must be released after use, by calling the [release] method. - static Uri get EMPTY => const $UriType().fromRef(jni.Jni.accessors - .getStaticField(_class.reference, _id_EMPTY, jni.JniCallType.objectType) - .object); - - static final _id_isHierarchical = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"isHierarchical", r"()Z"); - - /// from: public abstract boolean isHierarchical() - bool isHierarchical() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_isHierarchical, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_isOpaque = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"isOpaque", r"()Z"); - - /// from: public boolean isOpaque() - bool isOpaque() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_isOpaque, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_isRelative = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"isRelative", r"()Z"); - - /// from: public abstract boolean isRelative() - bool isRelative() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_isRelative, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_isAbsolute = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"isAbsolute", r"()Z"); - - /// from: public boolean isAbsolute() - bool isAbsolute() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_isAbsolute, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_getScheme = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getScheme", r"()Ljava/lang/String;"); - - /// from: public abstract java.lang.String getScheme() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getScheme() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getScheme, jni.JniCallType.objectType, []).object); - } - - static final _id_getSchemeSpecificPart = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getSchemeSpecificPart", r"()Ljava/lang/String;"); - - /// from: public abstract java.lang.String getSchemeSpecificPart() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getSchemeSpecificPart() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getSchemeSpecificPart, - jni.JniCallType.objectType, []).object); - } - - static final _id_getEncodedSchemeSpecificPart = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getEncodedSchemeSpecificPart", - r"()Ljava/lang/String;"); - - /// from: public abstract java.lang.String getEncodedSchemeSpecificPart() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getEncodedSchemeSpecificPart() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getEncodedSchemeSpecificPart, - jni.JniCallType.objectType, []).object); - } - - static final _id_getAuthority = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getAuthority", r"()Ljava/lang/String;"); - - /// from: public abstract java.lang.String getAuthority() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getAuthority() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getAuthority, jni.JniCallType.objectType, []).object); - } - - static final _id_getEncodedAuthority = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getEncodedAuthority", r"()Ljava/lang/String;"); - - /// from: public abstract java.lang.String getEncodedAuthority() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getEncodedAuthority() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getEncodedAuthority, - jni.JniCallType.objectType, []).object); - } - - static final _id_getUserInfo = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getUserInfo", r"()Ljava/lang/String;"); - - /// from: public abstract java.lang.String getUserInfo() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getUserInfo() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getUserInfo, jni.JniCallType.objectType, []).object); - } - - static final _id_getEncodedUserInfo = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getEncodedUserInfo", r"()Ljava/lang/String;"); - - /// from: public abstract java.lang.String getEncodedUserInfo() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getEncodedUserInfo() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getEncodedUserInfo, - jni.JniCallType.objectType, []).object); - } - - static final _id_getHost = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getHost", r"()Ljava/lang/String;"); - - /// from: public abstract java.lang.String getHost() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getHost() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getHost, jni.JniCallType.objectType, []).object); - } - - static final _id_getPort = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"getPort", r"()I"); - - /// from: public abstract int getPort() - int getPort() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_getPort, jni.JniCallType.intType, []).integer; - } - - static final _id_getPath = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getPath", r"()Ljava/lang/String;"); - - /// from: public abstract java.lang.String getPath() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getPath() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getPath, jni.JniCallType.objectType, []).object); - } - - static final _id_getEncodedPath = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getEncodedPath", r"()Ljava/lang/String;"); - - /// from: public abstract java.lang.String getEncodedPath() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getEncodedPath() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getEncodedPath, jni.JniCallType.objectType, []).object); - } - - static final _id_getQuery = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getQuery", r"()Ljava/lang/String;"); - - /// from: public abstract java.lang.String getQuery() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getQuery() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getQuery, jni.JniCallType.objectType, []).object); - } - - static final _id_getEncodedQuery = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getEncodedQuery", r"()Ljava/lang/String;"); - - /// from: public abstract java.lang.String getEncodedQuery() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getEncodedQuery() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getEncodedQuery, jni.JniCallType.objectType, []).object); - } - - static final _id_getFragment = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getFragment", r"()Ljava/lang/String;"); - - /// from: public abstract java.lang.String getFragment() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getFragment() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getFragment, jni.JniCallType.objectType, []).object); - } - - static final _id_getEncodedFragment = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getEncodedFragment", r"()Ljava/lang/String;"); - - /// from: public abstract java.lang.String getEncodedFragment() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getEncodedFragment() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getEncodedFragment, - jni.JniCallType.objectType, []).object); - } - - static final _id_getPathSegments = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getPathSegments", r"()Ljava/util/List;"); - - /// from: public abstract java.util.List getPathSegments() - /// The returned object must be released after use, by calling the [release] method. - jni.JList getPathSegments() { - return const jni.JListType(jni.JStringType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getPathSegments, - jni.JniCallType.objectType, []).object); - } - - static final _id_getLastPathSegment = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getLastPathSegment", r"()Ljava/lang/String;"); - - /// from: public abstract java.lang.String getLastPathSegment() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getLastPathSegment() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getLastPathSegment, - jni.JniCallType.objectType, []).object); - } - - static final _id_equals1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"equals", r"(Ljava/lang/Object;)Z"); - - /// from: public boolean equals(java.lang.Object object) - bool equals1( - jni.JObject object, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_equals1, - jni.JniCallType.booleanType, [object.reference]).boolean; - } - - static final _id_hashCode1 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"hashCode", r"()I"); - - /// from: public int hashCode() - int hashCode1() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_hashCode1, jni.JniCallType.intType, []).integer; - } - - static final _id_compareTo = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"compareTo", r"(Landroid/net/Uri;)I"); - - /// from: public int compareTo(android.net.Uri uri) - int compareTo( - Uri uri, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_compareTo, - jni.JniCallType.intType, [uri.reference]).integer; - } - - static final _id_toString1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"toString", r"()Ljava/lang/String;"); - - /// from: public abstract java.lang.String toString() - /// The returned object must be released after use, by calling the [release] method. - jni.JString toString1() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_toString1, jni.JniCallType.objectType, []).object); - } - - static final _id_buildUpon = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"buildUpon", r"()Landroid/net/Uri$Builder;"); - - /// from: public abstract android.net.Uri$Builder buildUpon() - /// The returned object must be released after use, by calling the [release] method. - Uri_Builder buildUpon() { - return const $Uri_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, _id_buildUpon, jni.JniCallType.objectType, []).object); - } - - static final _id_parse = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, r"parse", r"(Ljava/lang/String;)Landroid/net/Uri;"); - - /// from: static public android.net.Uri parse(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - static Uri parse( - jni.JString string, - ) { - return const $UriType().fromRef(jni.Jni.accessors.callStaticMethodWithArgs( - _class.reference, - _id_parse, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_fromFile = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, r"fromFile", r"(Ljava/io/File;)Landroid/net/Uri;"); - - /// from: static public android.net.Uri fromFile(java.io.File file) - /// The returned object must be released after use, by calling the [release] method. - static Uri fromFile( - jni.JObject file, - ) { - return const $UriType().fromRef(jni.Jni.accessors.callStaticMethodWithArgs( - _class.reference, - _id_fromFile, - jni.JniCallType.objectType, - [file.reference]).object); - } - - static final _id_fromParts = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"fromParts", - r"(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;"); - - /// from: static public android.net.Uri fromParts(java.lang.String string, java.lang.String string1, java.lang.String string2) - /// The returned object must be released after use, by calling the [release] method. - static Uri fromParts( - jni.JString string, - jni.JString string1, - jni.JString string2, - ) { - return const $UriType().fromRef(jni.Jni.accessors.callStaticMethodWithArgs( - _class.reference, - _id_fromParts, - jni.JniCallType.objectType, - [string.reference, string1.reference, string2.reference]).object); - } - - static final _id_getQueryParameterNames = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getQueryParameterNames", r"()Ljava/util/Set;"); - - /// from: public java.util.Set getQueryParameterNames() - /// The returned object must be released after use, by calling the [release] method. - jni.JSet getQueryParameterNames() { - return const jni.JSetType(jni.JStringType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getQueryParameterNames, - jni.JniCallType.objectType, []).object); - } - - static final _id_getQueryParameters = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getQueryParameters", - r"(Ljava/lang/String;)Ljava/util/List;"); - - /// from: public java.util.List getQueryParameters(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JList getQueryParameters( - jni.JString string, - ) { - return const jni.JListType(jni.JStringType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getQueryParameters, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getQueryParameter = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getQueryParameter", - r"(Ljava/lang/String;)Ljava/lang/String;"); - - /// from: public java.lang.String getQueryParameter(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JString getQueryParameter( - jni.JString string, - ) { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getQueryParameter, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getBooleanQueryParameter = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getBooleanQueryParameter", r"(Ljava/lang/String;Z)Z"); - - /// from: public boolean getBooleanQueryParameter(java.lang.String string, boolean z) - bool getBooleanQueryParameter( - jni.JString string, - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getBooleanQueryParameter, - jni.JniCallType.booleanType, - [string.reference, z ? 1 : 0]).boolean; - } - - static final _id_normalizeScheme = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"normalizeScheme", r"()Landroid/net/Uri;"); - - /// from: public android.net.Uri normalizeScheme() - /// The returned object must be released after use, by calling the [release] method. - Uri normalizeScheme() { - return const $UriType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_normalizeScheme, jni.JniCallType.objectType, []).object); - } - - static final _id_writeToParcel = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"writeToParcel", - r"(Landroid/os/Parcel;Landroid/net/Uri;)V"); - - /// from: static public void writeToParcel(android.os.Parcel parcel, android.net.Uri uri) - static void writeToParcel( - jni.JObject parcel, - Uri uri, - ) { - return jni.Jni.accessors.callStaticMethodWithArgs( - _class.reference, - _id_writeToParcel, - jni.JniCallType.voidType, - [parcel.reference, uri.reference]).check(); - } - - static final _id_encode = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, r"encode", r"(Ljava/lang/String;)Ljava/lang/String;"); - - /// from: static public java.lang.String encode(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - static jni.JString encode( - jni.JString string, - ) { - return const jni.JStringType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_encode, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_encode1 = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"encode", - r"(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"); - - /// from: static public java.lang.String encode(java.lang.String string, java.lang.String string1) - /// The returned object must be released after use, by calling the [release] method. - static jni.JString encode1( - jni.JString string, - jni.JString string1, - ) { - return const jni.JStringType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_encode1, - jni.JniCallType.objectType, - [string.reference, string1.reference]).object); - } - - static final _id_decode = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, r"decode", r"(Ljava/lang/String;)Ljava/lang/String;"); - - /// from: static public java.lang.String decode(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - static jni.JString decode( - jni.JString string, - ) { - return const jni.JStringType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_decode, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_withAppendedPath = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"withAppendedPath", - r"(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;"); - - /// from: static public android.net.Uri withAppendedPath(android.net.Uri uri, java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - static Uri withAppendedPath( - Uri uri, - jni.JString string, - ) { - return const $UriType().fromRef(jni.Jni.accessors.callStaticMethodWithArgs( - _class.reference, - _id_withAppendedPath, - jni.JniCallType.objectType, - [uri.reference, string.reference]).object); - } - - static final _id_compareTo1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"compareTo", r"(Ljava/lang/Object;)I"); - - /// from: public int compareTo(java.lang.Object object) - int compareTo1( - jni.JObject object, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_compareTo1, - jni.JniCallType.intType, [object.reference]).integer; - } -} - -final class $UriType extends jni.JObjType { - const $UriType(); - - @override - String get signature => r"Landroid/net/Uri;"; - - @override - Uri fromRef(jni.JObjectPtr ref) => Uri.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($UriType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($UriType) && other is $UriType; - } -} - -/// from: androidx.browser.customtabs.CustomTabsIntent$ActivityHeightResizeBehavior -class CustomTabsIntent_ActivityHeightResizeBehavior extends jni.JObject { - @override - late final jni.JObjType $type = - type; - - CustomTabsIntent_ActivityHeightResizeBehavior.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/browser/customtabs/CustomTabsIntent$ActivityHeightResizeBehavior"); - - /// The type which includes information such as the signature of this class. - static const type = $CustomTabsIntent_ActivityHeightResizeBehaviorType(); - - /// Maps a specific port to the implemented interface. - static final Map - _$impls = {}; - ReceivePort? _$p; - - static jni.JObjectPtr _$invoke( - int port, - jni.JObjectPtr descriptor, - jni.JObjectPtr args, - ) { - return _$invokeMethod( - port, - $MethodInvocation.fromAddresses( - 0, - descriptor.address, - args.address, - ), - ); - } - - static final ffi.Pointer< - ffi.NativeFunction< - jni.JObjectPtr Function( - ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> - _$invokePointer = ffi.Pointer.fromFunction(_$invoke); - - static ffi.Pointer _$invokeMethod( - int $p, - $MethodInvocation $i, - ) { - try { - final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); - final $a = $i.args; - } catch (e) { - return ProtectedJniExtensions.newDartException(e.toString()); - } - return jni.nullptr; - } - - factory CustomTabsIntent_ActivityHeightResizeBehavior.implement( - $CustomTabsIntent_ActivityHeightResizeBehaviorImpl $impl, - ) { - final $p = ReceivePort(); - final $x = CustomTabsIntent_ActivityHeightResizeBehavior.fromRef( - ProtectedJniExtensions.newPortProxy( - r"androidx.browser.customtabs.CustomTabsIntent$ActivityHeightResizeBehavior", - $p, - _$invokePointer, - ), - ).._$p = $p; - final $a = $p.sendPort.nativePort; - _$impls[$a] = $impl; - $p.listen(($m) { - if ($m == null) { - _$impls.remove($p.sendPort.nativePort); - $p.close(); - return; - } - final $i = $MethodInvocation.fromMessage($m as List); - final $r = _$invokeMethod($p.sendPort.nativePort, $i); - ProtectedJniExtensions.returnResult($i.result, $r); - }); - return $x; - } -} - -abstract class $CustomTabsIntent_ActivityHeightResizeBehaviorImpl { - factory $CustomTabsIntent_ActivityHeightResizeBehaviorImpl() = - _$CustomTabsIntent_ActivityHeightResizeBehaviorImpl; -} - -class _$CustomTabsIntent_ActivityHeightResizeBehaviorImpl - implements $CustomTabsIntent_ActivityHeightResizeBehaviorImpl { - _$CustomTabsIntent_ActivityHeightResizeBehaviorImpl(); -} - -final class $CustomTabsIntent_ActivityHeightResizeBehaviorType - extends jni.JObjType { - const $CustomTabsIntent_ActivityHeightResizeBehaviorType(); - - @override - String get signature => - r"Landroidx/browser/customtabs/CustomTabsIntent$ActivityHeightResizeBehavior;"; - - @override - CustomTabsIntent_ActivityHeightResizeBehavior fromRef(jni.JObjectPtr ref) => - CustomTabsIntent_ActivityHeightResizeBehavior.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => - ($CustomTabsIntent_ActivityHeightResizeBehaviorType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == - ($CustomTabsIntent_ActivityHeightResizeBehaviorType) && - other is $CustomTabsIntent_ActivityHeightResizeBehaviorType; - } -} - -/// from: androidx.browser.customtabs.CustomTabsIntent$Builder -class CustomTabsIntent_Builder extends jni.JObject { - @override - late final jni.JObjType $type = type; - - CustomTabsIntent_Builder.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/browser/customtabs/CustomTabsIntent$Builder"); - - /// The type which includes information such as the signature of this class. - static const type = $CustomTabsIntent_BuilderType(); - static final _id_new0 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); - - /// from: public void () - /// The returned object must be released after use, by calling the [release] method. - factory CustomTabsIntent_Builder() { - return CustomTabsIntent_Builder.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, []).object); - } - - static final _id_new1 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Landroidx/browser/customtabs/CustomTabsSession;)V"); - - /// from: public void (androidx.browser.customtabs.CustomTabsSession customTabsSession) - /// The returned object must be released after use, by calling the [release] method. - factory CustomTabsIntent_Builder.new1( - jni.JObject customTabsSession, - ) { - return CustomTabsIntent_Builder.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new1, [customTabsSession.reference]).object); - } - - static final _id_setSession = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setSession", - r"(Landroidx/browser/customtabs/CustomTabsSession;)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setSession(androidx.browser.customtabs.CustomTabsSession customTabsSession) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setSession( - jni.JObject customTabsSession, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setSession, - jni.JniCallType.objectType, [customTabsSession.reference]).object); - } - - static final _id_setPendingSession = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setPendingSession", - r"(Landroidx/browser/customtabs/CustomTabsSession$PendingSession;)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setPendingSession(androidx.browser.customtabs.CustomTabsSession$PendingSession pendingSession) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setPendingSession( - jni.JObject pendingSession, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setPendingSession, - jni.JniCallType.objectType, [pendingSession.reference]).object); - } - - static final _id_setToolbarColor = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setToolbarColor", - r"(I)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setToolbarColor(int i) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setToolbarColor( - int i, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setToolbarColor, - jni.JniCallType.objectType, [jni.JValueInt(i)]).object); - } - - static final _id_enableUrlBarHiding = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"enableUrlBarHiding", - r"()Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder enableUrlBarHiding() - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder enableUrlBarHiding() { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_enableUrlBarHiding, - jni.JniCallType.objectType, []).object); - } - - static final _id_setUrlBarHidingEnabled = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setUrlBarHidingEnabled", - r"(Z)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setUrlBarHidingEnabled(boolean z) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setUrlBarHidingEnabled( - bool z, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setUrlBarHidingEnabled, - jni.JniCallType.objectType, [z ? 1 : 0]).object); - } - - static final _id_setCloseButtonIcon = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setCloseButtonIcon", - r"(Landroid/graphics/Bitmap;)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setCloseButtonIcon(android.graphics.Bitmap bitmap) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setCloseButtonIcon( - jni.JObject bitmap, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setCloseButtonIcon, - jni.JniCallType.objectType, [bitmap.reference]).object); - } - - static final _id_setShowTitle = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setShowTitle", - r"(Z)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setShowTitle(boolean z) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setShowTitle( - bool z, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setShowTitle, - jni.JniCallType.objectType, [z ? 1 : 0]).object); - } - - static final _id_addMenuItem = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"addMenuItem", - r"(Ljava/lang/String;Landroid/app/PendingIntent;)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder addMenuItem(java.lang.String string, android.app.PendingIntent pendingIntent) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder addMenuItem( - jni.JString string, - jni.JObject pendingIntent, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_addMenuItem, - jni.JniCallType.objectType, - [string.reference, pendingIntent.reference]).object); - } - - static final _id_addDefaultShareMenuItem = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"addDefaultShareMenuItem", - r"()Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder addDefaultShareMenuItem() - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder addDefaultShareMenuItem() { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_addDefaultShareMenuItem, - jni.JniCallType.objectType, []).object); - } - - static final _id_setDefaultShareMenuItemEnabled = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setDefaultShareMenuItemEnabled", - r"(Z)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setDefaultShareMenuItemEnabled(boolean z) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setDefaultShareMenuItemEnabled( - bool z, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setDefaultShareMenuItemEnabled, - jni.JniCallType.objectType, [z ? 1 : 0]).object); - } - - static final _id_setShareState = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setShareState", - r"(I)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setShareState(int i) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setShareState( - int i, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setShareState, - jni.JniCallType.objectType, [jni.JValueInt(i)]).object); - } - - static final _id_setActionButton = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setActionButton", - r"(Landroid/graphics/Bitmap;Ljava/lang/String;Landroid/app/PendingIntent;Z)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setActionButton(android.graphics.Bitmap bitmap, java.lang.String string, android.app.PendingIntent pendingIntent, boolean z) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setActionButton( - jni.JObject bitmap, - jni.JString string, - jni.JObject pendingIntent, - bool z, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, _id_setActionButton, jni.JniCallType.objectType, [ - bitmap.reference, - string.reference, - pendingIntent.reference, - z ? 1 : 0 - ]).object); - } - - static final _id_setActionButton1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setActionButton", - r"(Landroid/graphics/Bitmap;Ljava/lang/String;Landroid/app/PendingIntent;)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setActionButton(android.graphics.Bitmap bitmap, java.lang.String string, android.app.PendingIntent pendingIntent) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setActionButton1( - jni.JObject bitmap, - jni.JString string, - jni.JObject pendingIntent, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, _id_setActionButton1, jni.JniCallType.objectType, [ - bitmap.reference, - string.reference, - pendingIntent.reference - ]).object); - } - - static final _id_addToolbarItem = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"addToolbarItem", - r"(ILandroid/graphics/Bitmap;Ljava/lang/String;Landroid/app/PendingIntent;)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder addToolbarItem(int i, android.graphics.Bitmap bitmap, java.lang.String string, android.app.PendingIntent pendingIntent) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder addToolbarItem( - int i, - jni.JObject bitmap, - jni.JString string, - jni.JObject pendingIntent, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, _id_addToolbarItem, jni.JniCallType.objectType, [ - jni.JValueInt(i), - bitmap.reference, - string.reference, - pendingIntent.reference - ]).object); - } - - static final _id_setSecondaryToolbarColor = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setSecondaryToolbarColor", - r"(I)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setSecondaryToolbarColor(int i) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setSecondaryToolbarColor( - int i, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setSecondaryToolbarColor, - jni.JniCallType.objectType, [jni.JValueInt(i)]).object); - } - - static final _id_setNavigationBarColor = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setNavigationBarColor", - r"(I)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setNavigationBarColor(int i) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setNavigationBarColor( - int i, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setNavigationBarColor, - jni.JniCallType.objectType, [jni.JValueInt(i)]).object); - } - - static final _id_setNavigationBarDividerColor = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setNavigationBarDividerColor", - r"(I)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setNavigationBarDividerColor(int i) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setNavigationBarDividerColor( - int i, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setNavigationBarDividerColor, - jni.JniCallType.objectType, [jni.JValueInt(i)]).object); - } - - static final _id_setSecondaryToolbarViews = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setSecondaryToolbarViews", - r"(Landroid/widget/RemoteViews;[ILandroid/app/PendingIntent;)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setSecondaryToolbarViews(android.widget.RemoteViews remoteViews, int[] is, android.app.PendingIntent pendingIntent) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setSecondaryToolbarViews( - jni.JObject remoteViews, - jni.JArray is0, - jni.JObject pendingIntent, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setSecondaryToolbarViews, - jni.JniCallType.objectType, [ - remoteViews.reference, - is0.reference, - pendingIntent.reference - ]).object); - } - - static final _id_setSecondaryToolbarSwipeUpGesture = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setSecondaryToolbarSwipeUpGesture", - r"(Landroid/app/PendingIntent;)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setSecondaryToolbarSwipeUpGesture(android.app.PendingIntent pendingIntent) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setSecondaryToolbarSwipeUpGesture( - jni.JObject pendingIntent, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setSecondaryToolbarSwipeUpGesture, - jni.JniCallType.objectType, [pendingIntent.reference]).object); - } - - static final _id_setInstantAppsEnabled = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setInstantAppsEnabled", - r"(Z)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setInstantAppsEnabled(boolean z) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setInstantAppsEnabled( - bool z, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setInstantAppsEnabled, - jni.JniCallType.objectType, [z ? 1 : 0]).object); - } - - static final _id_setStartAnimations = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setStartAnimations", - r"(Landroid/content/Context;II)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setStartAnimations(android.content.Context context, int i, int i1) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setStartAnimations( - Context context, - int i, - int i1, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_setStartAnimations, - jni.JniCallType.objectType, - [context.reference, jni.JValueInt(i), jni.JValueInt(i1)]).object); - } - - static final _id_setExitAnimations = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setExitAnimations", - r"(Landroid/content/Context;II)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setExitAnimations(android.content.Context context, int i, int i1) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setExitAnimations( - Context context, - int i, - int i1, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_setExitAnimations, - jni.JniCallType.objectType, - [context.reference, jni.JValueInt(i), jni.JValueInt(i1)]).object); - } - - static final _id_setColorScheme = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setColorScheme", - r"(I)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setColorScheme(int i) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setColorScheme( - int i, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setColorScheme, - jni.JniCallType.objectType, [jni.JValueInt(i)]).object); - } - - static final _id_setColorSchemeParams = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setColorSchemeParams", - r"(ILandroidx/browser/customtabs/CustomTabColorSchemeParams;)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setColorSchemeParams(int i, androidx.browser.customtabs.CustomTabColorSchemeParams customTabColorSchemeParams) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setColorSchemeParams( - int i, - jni.JObject customTabColorSchemeParams, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_setColorSchemeParams, - jni.JniCallType.objectType, - [jni.JValueInt(i), customTabColorSchemeParams.reference]).object); - } - - static final _id_setDefaultColorSchemeParams = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setDefaultColorSchemeParams", - r"(Landroidx/browser/customtabs/CustomTabColorSchemeParams;)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setDefaultColorSchemeParams(androidx.browser.customtabs.CustomTabColorSchemeParams customTabColorSchemeParams) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setDefaultColorSchemeParams( - jni.JObject customTabColorSchemeParams, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_setDefaultColorSchemeParams, - jni.JniCallType.objectType, - [customTabColorSchemeParams.reference]).object); - } - - static final _id_setInitialActivityHeightPx = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setInitialActivityHeightPx", - r"(II)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setInitialActivityHeightPx(int i, int i1) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setInitialActivityHeightPx( - int i, - int i1, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_setInitialActivityHeightPx, - jni.JniCallType.objectType, - [jni.JValueInt(i), jni.JValueInt(i1)]).object); - } - - static final _id_setInitialActivityHeightPx1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setInitialActivityHeightPx", - r"(I)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setInitialActivityHeightPx(int i) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setInitialActivityHeightPx1( - int i, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setInitialActivityHeightPx1, - jni.JniCallType.objectType, [jni.JValueInt(i)]).object); - } - - static final _id_setToolbarCornerRadiusDp = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setToolbarCornerRadiusDp", - r"(I)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setToolbarCornerRadiusDp(int i) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setToolbarCornerRadiusDp( - int i, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setToolbarCornerRadiusDp, - jni.JniCallType.objectType, [jni.JValueInt(i)]).object); - } - - static final _id_setCloseButtonPosition = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setCloseButtonPosition", - r"(I)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setCloseButtonPosition(int i) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setCloseButtonPosition( - int i, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setCloseButtonPosition, - jni.JniCallType.objectType, [jni.JValueInt(i)]).object); - } - - static final _id_setBookmarksButtonEnabled = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setBookmarksButtonEnabled", - r"(Z)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setBookmarksButtonEnabled(boolean z) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setBookmarksButtonEnabled( - bool z, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setBookmarksButtonEnabled, - jni.JniCallType.objectType, [z ? 1 : 0]).object); - } - - static final _id_setDownloadButtonEnabled = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setDownloadButtonEnabled", - r"(Z)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setDownloadButtonEnabled(boolean z) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setDownloadButtonEnabled( - bool z, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setDownloadButtonEnabled, - jni.JniCallType.objectType, [z ? 1 : 0]).object); - } - - static final _id_setSendToExternalDefaultHandlerEnabled = jni.Jni.accessors - .getMethodIDOf( - _class.reference, - r"setSendToExternalDefaultHandlerEnabled", - r"(Z)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setSendToExternalDefaultHandlerEnabled(boolean z) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setSendToExternalDefaultHandlerEnabled( - bool z, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_setSendToExternalDefaultHandlerEnabled, - jni.JniCallType.objectType, - [z ? 1 : 0]).object); - } - - static final _id_setTranslateLocale = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setTranslateLocale", - r"(Ljava/util/Locale;)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setTranslateLocale(java.util.Locale locale) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setTranslateLocale( - jni.JObject locale, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setTranslateLocale, - jni.JniCallType.objectType, [locale.reference]).object); - } - - static final _id_setBackgroundInteractionEnabled = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setBackgroundInteractionEnabled", - r"(Z)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setBackgroundInteractionEnabled(boolean z) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setBackgroundInteractionEnabled( - bool z, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setBackgroundInteractionEnabled, - jni.JniCallType.objectType, [z ? 1 : 0]).object); - } - - static final _id_setShareIdentityEnabled = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setShareIdentityEnabled", - r"(Z)Landroidx/browser/customtabs/CustomTabsIntent$Builder;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent$Builder setShareIdentityEnabled(boolean z) - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent_Builder setShareIdentityEnabled( - bool z, - ) { - return const $CustomTabsIntent_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setShareIdentityEnabled, - jni.JniCallType.objectType, [z ? 1 : 0]).object); - } - - static final _id_build = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"build", r"()Landroidx/browser/customtabs/CustomTabsIntent;"); - - /// from: public androidx.browser.customtabs.CustomTabsIntent build() - /// The returned object must be released after use, by calling the [release] method. - CustomTabsIntent build() { - return const $CustomTabsIntentType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, _id_build, jni.JniCallType.objectType, []).object); - } -} - -final class $CustomTabsIntent_BuilderType - extends jni.JObjType { - const $CustomTabsIntent_BuilderType(); - - @override - String get signature => - r"Landroidx/browser/customtabs/CustomTabsIntent$Builder;"; - - @override - CustomTabsIntent_Builder fromRef(jni.JObjectPtr ref) => - CustomTabsIntent_Builder.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($CustomTabsIntent_BuilderType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CustomTabsIntent_BuilderType) && - other is $CustomTabsIntent_BuilderType; - } -} - -/// from: androidx.browser.customtabs.CustomTabsIntent$CloseButtonPosition -class CustomTabsIntent_CloseButtonPosition extends jni.JObject { - @override - late final jni.JObjType $type = type; - - CustomTabsIntent_CloseButtonPosition.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/browser/customtabs/CustomTabsIntent$CloseButtonPosition"); - - /// The type which includes information such as the signature of this class. - static const type = $CustomTabsIntent_CloseButtonPositionType(); - - /// Maps a specific port to the implemented interface. - static final Map _$impls = {}; - ReceivePort? _$p; - - static jni.JObjectPtr _$invoke( - int port, - jni.JObjectPtr descriptor, - jni.JObjectPtr args, - ) { - return _$invokeMethod( - port, - $MethodInvocation.fromAddresses( - 0, - descriptor.address, - args.address, - ), - ); - } - - static final ffi.Pointer< - ffi.NativeFunction< - jni.JObjectPtr Function( - ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> - _$invokePointer = ffi.Pointer.fromFunction(_$invoke); - - static ffi.Pointer _$invokeMethod( - int $p, - $MethodInvocation $i, - ) { - try { - final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); - final $a = $i.args; - } catch (e) { - return ProtectedJniExtensions.newDartException(e.toString()); - } - return jni.nullptr; - } - - factory CustomTabsIntent_CloseButtonPosition.implement( - $CustomTabsIntent_CloseButtonPositionImpl $impl, - ) { - final $p = ReceivePort(); - final $x = CustomTabsIntent_CloseButtonPosition.fromRef( - ProtectedJniExtensions.newPortProxy( - r"androidx.browser.customtabs.CustomTabsIntent$CloseButtonPosition", - $p, - _$invokePointer, - ), - ).._$p = $p; - final $a = $p.sendPort.nativePort; - _$impls[$a] = $impl; - $p.listen(($m) { - if ($m == null) { - _$impls.remove($p.sendPort.nativePort); - $p.close(); - return; - } - final $i = $MethodInvocation.fromMessage($m as List); - final $r = _$invokeMethod($p.sendPort.nativePort, $i); - ProtectedJniExtensions.returnResult($i.result, $r); - }); - return $x; - } -} - -abstract class $CustomTabsIntent_CloseButtonPositionImpl { - factory $CustomTabsIntent_CloseButtonPositionImpl() = - _$CustomTabsIntent_CloseButtonPositionImpl; -} - -class _$CustomTabsIntent_CloseButtonPositionImpl - implements $CustomTabsIntent_CloseButtonPositionImpl { - _$CustomTabsIntent_CloseButtonPositionImpl(); -} - -final class $CustomTabsIntent_CloseButtonPositionType - extends jni.JObjType { - const $CustomTabsIntent_CloseButtonPositionType(); - - @override - String get signature => - r"Landroidx/browser/customtabs/CustomTabsIntent$CloseButtonPosition;"; - - @override - CustomTabsIntent_CloseButtonPosition fromRef(jni.JObjectPtr ref) => - CustomTabsIntent_CloseButtonPosition.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($CustomTabsIntent_CloseButtonPositionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CustomTabsIntent_CloseButtonPositionType) && - other is $CustomTabsIntent_CloseButtonPositionType; - } -} - -/// from: androidx.browser.customtabs.CustomTabsIntent$ColorScheme -class CustomTabsIntent_ColorScheme extends jni.JObject { - @override - late final jni.JObjType $type = type; - - CustomTabsIntent_ColorScheme.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/browser/customtabs/CustomTabsIntent$ColorScheme"); - - /// The type which includes information such as the signature of this class. - static const type = $CustomTabsIntent_ColorSchemeType(); - - /// Maps a specific port to the implemented interface. - static final Map _$impls = {}; - ReceivePort? _$p; - - static jni.JObjectPtr _$invoke( - int port, - jni.JObjectPtr descriptor, - jni.JObjectPtr args, - ) { - return _$invokeMethod( - port, - $MethodInvocation.fromAddresses( - 0, - descriptor.address, - args.address, - ), - ); - } - - static final ffi.Pointer< - ffi.NativeFunction< - jni.JObjectPtr Function( - ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> - _$invokePointer = ffi.Pointer.fromFunction(_$invoke); - - static ffi.Pointer _$invokeMethod( - int $p, - $MethodInvocation $i, - ) { - try { - final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); - final $a = $i.args; - } catch (e) { - return ProtectedJniExtensions.newDartException(e.toString()); - } - return jni.nullptr; - } - - factory CustomTabsIntent_ColorScheme.implement( - $CustomTabsIntent_ColorSchemeImpl $impl, - ) { - final $p = ReceivePort(); - final $x = CustomTabsIntent_ColorScheme.fromRef( - ProtectedJniExtensions.newPortProxy( - r"androidx.browser.customtabs.CustomTabsIntent$ColorScheme", - $p, - _$invokePointer, - ), - ).._$p = $p; - final $a = $p.sendPort.nativePort; - _$impls[$a] = $impl; - $p.listen(($m) { - if ($m == null) { - _$impls.remove($p.sendPort.nativePort); - $p.close(); - return; - } - final $i = $MethodInvocation.fromMessage($m as List); - final $r = _$invokeMethod($p.sendPort.nativePort, $i); - ProtectedJniExtensions.returnResult($i.result, $r); - }); - return $x; - } -} - -abstract class $CustomTabsIntent_ColorSchemeImpl { - factory $CustomTabsIntent_ColorSchemeImpl() = - _$CustomTabsIntent_ColorSchemeImpl; -} - -class _$CustomTabsIntent_ColorSchemeImpl - implements $CustomTabsIntent_ColorSchemeImpl { - _$CustomTabsIntent_ColorSchemeImpl(); -} - -final class $CustomTabsIntent_ColorSchemeType - extends jni.JObjType { - const $CustomTabsIntent_ColorSchemeType(); - - @override - String get signature => - r"Landroidx/browser/customtabs/CustomTabsIntent$ColorScheme;"; - - @override - CustomTabsIntent_ColorScheme fromRef(jni.JObjectPtr ref) => - CustomTabsIntent_ColorScheme.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($CustomTabsIntent_ColorSchemeType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CustomTabsIntent_ColorSchemeType) && - other is $CustomTabsIntent_ColorSchemeType; - } -} - -/// from: androidx.browser.customtabs.CustomTabsIntent$ShareState -class CustomTabsIntent_ShareState extends jni.JObject { - @override - late final jni.JObjType $type = type; - - CustomTabsIntent_ShareState.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/browser/customtabs/CustomTabsIntent$ShareState"); - - /// The type which includes information such as the signature of this class. - static const type = $CustomTabsIntent_ShareStateType(); - - /// Maps a specific port to the implemented interface. - static final Map _$impls = {}; - ReceivePort? _$p; - - static jni.JObjectPtr _$invoke( - int port, - jni.JObjectPtr descriptor, - jni.JObjectPtr args, - ) { - return _$invokeMethod( - port, - $MethodInvocation.fromAddresses( - 0, - descriptor.address, - args.address, - ), - ); - } - - static final ffi.Pointer< - ffi.NativeFunction< - jni.JObjectPtr Function( - ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> - _$invokePointer = ffi.Pointer.fromFunction(_$invoke); - - static ffi.Pointer _$invokeMethod( - int $p, - $MethodInvocation $i, - ) { - try { - final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); - final $a = $i.args; - } catch (e) { - return ProtectedJniExtensions.newDartException(e.toString()); - } - return jni.nullptr; - } - - factory CustomTabsIntent_ShareState.implement( - $CustomTabsIntent_ShareStateImpl $impl, - ) { - final $p = ReceivePort(); - final $x = CustomTabsIntent_ShareState.fromRef( - ProtectedJniExtensions.newPortProxy( - r"androidx.browser.customtabs.CustomTabsIntent$ShareState", - $p, - _$invokePointer, - ), - ).._$p = $p; - final $a = $p.sendPort.nativePort; - _$impls[$a] = $impl; - $p.listen(($m) { - if ($m == null) { - _$impls.remove($p.sendPort.nativePort); - $p.close(); - return; - } - final $i = $MethodInvocation.fromMessage($m as List); - final $r = _$invokeMethod($p.sendPort.nativePort, $i); - ProtectedJniExtensions.returnResult($i.result, $r); - }); - return $x; - } -} - -abstract class $CustomTabsIntent_ShareStateImpl { - factory $CustomTabsIntent_ShareStateImpl() = - _$CustomTabsIntent_ShareStateImpl; -} - -class _$CustomTabsIntent_ShareStateImpl - implements $CustomTabsIntent_ShareStateImpl { - _$CustomTabsIntent_ShareStateImpl(); -} - -final class $CustomTabsIntent_ShareStateType - extends jni.JObjType { - const $CustomTabsIntent_ShareStateType(); - - @override - String get signature => - r"Landroidx/browser/customtabs/CustomTabsIntent$ShareState;"; - - @override - CustomTabsIntent_ShareState fromRef(jni.JObjectPtr ref) => - CustomTabsIntent_ShareState.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($CustomTabsIntent_ShareStateType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CustomTabsIntent_ShareStateType) && - other is $CustomTabsIntent_ShareStateType; - } -} - -/// from: androidx.browser.customtabs.CustomTabsIntent -class CustomTabsIntent extends jni.JObject { - @override - late final jni.JObjType $type = type; - - CustomTabsIntent.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"androidx/browser/customtabs/CustomTabsIntent"); - - /// The type which includes information such as the signature of this class. - static const type = $CustomTabsIntentType(); - - /// from: static public final java.lang.String EXTRA_SESSION - static const EXTRA_SESSION = r"""android.support.customtabs.extra.SESSION"""; - - /// from: static public final java.lang.String EXTRA_SESSION_ID - static const EXTRA_SESSION_ID = - r"""android.support.customtabs.extra.SESSION_ID"""; - - /// from: static public final int COLOR_SCHEME_SYSTEM - static const COLOR_SCHEME_SYSTEM = 0; - - /// from: static public final int COLOR_SCHEME_LIGHT - static const COLOR_SCHEME_LIGHT = 1; - - /// from: static public final int COLOR_SCHEME_DARK - static const COLOR_SCHEME_DARK = 2; - - /// from: static public final java.lang.String EXTRA_COLOR_SCHEME - static const EXTRA_COLOR_SCHEME = - r"""androidx.browser.customtabs.extra.COLOR_SCHEME"""; - - /// from: static public final java.lang.String EXTRA_TOOLBAR_COLOR - static const EXTRA_TOOLBAR_COLOR = - r"""android.support.customtabs.extra.TOOLBAR_COLOR"""; - - /// from: static public final java.lang.String EXTRA_ENABLE_URLBAR_HIDING - static const EXTRA_ENABLE_URLBAR_HIDING = - r"""android.support.customtabs.extra.ENABLE_URLBAR_HIDING"""; - - /// from: static public final java.lang.String EXTRA_CLOSE_BUTTON_ICON - static const EXTRA_CLOSE_BUTTON_ICON = - r"""android.support.customtabs.extra.CLOSE_BUTTON_ICON"""; - - /// from: static public final java.lang.String EXTRA_TITLE_VISIBILITY_STATE - static const EXTRA_TITLE_VISIBILITY_STATE = - r"""android.support.customtabs.extra.TITLE_VISIBILITY"""; - - /// from: static public final java.lang.String EXTRA_DISABLE_BOOKMARKS_BUTTON - static const EXTRA_DISABLE_BOOKMARKS_BUTTON = - r"""org.chromium.chrome.browser.customtabs.EXTRA_DISABLE_STAR_BUTTON"""; - - /// from: static public final java.lang.String EXTRA_DISABLE_DOWNLOAD_BUTTON - static const EXTRA_DISABLE_DOWNLOAD_BUTTON = - r"""org.chromium.chrome.browser.customtabs.EXTRA_DISABLE_DOWNLOAD_BUTTON"""; - - /// from: static public final java.lang.String EXTRA_SEND_TO_EXTERNAL_DEFAULT_HANDLER - static const EXTRA_SEND_TO_EXTERNAL_DEFAULT_HANDLER = - r"""android.support.customtabs.extra.SEND_TO_EXTERNAL_HANDLER"""; - - /// from: static public final java.lang.String EXTRA_TRANSLATE_LANGUAGE_TAG - static const EXTRA_TRANSLATE_LANGUAGE_TAG = - r"""androidx.browser.customtabs.extra.TRANSLATE_LANGUAGE_TAG"""; - - /// from: static public final java.lang.String EXTRA_DISABLE_BACKGROUND_INTERACTION - static const EXTRA_DISABLE_BACKGROUND_INTERACTION = - r"""androidx.browser.customtabs.extra.DISABLE_BACKGROUND_INTERACTION"""; - - /// from: static public final java.lang.String EXTRA_SECONDARY_TOOLBAR_SWIPE_UP_GESTURE - static const EXTRA_SECONDARY_TOOLBAR_SWIPE_UP_GESTURE = - r"""androidx.browser.customtabs.extra.SECONDARY_TOOLBAR_SWIPE_UP_GESTURE"""; - - /// from: static public final int NO_TITLE - static const NO_TITLE = 0; - - /// from: static public final int SHOW_PAGE_TITLE - static const SHOW_PAGE_TITLE = 1; - - /// from: static public final java.lang.String EXTRA_ACTION_BUTTON_BUNDLE - static const EXTRA_ACTION_BUTTON_BUNDLE = - r"""android.support.customtabs.extra.ACTION_BUTTON_BUNDLE"""; - - /// from: static public final java.lang.String EXTRA_TOOLBAR_ITEMS - static const EXTRA_TOOLBAR_ITEMS = - r"""android.support.customtabs.extra.TOOLBAR_ITEMS"""; - - /// from: static public final java.lang.String EXTRA_SECONDARY_TOOLBAR_COLOR - static const EXTRA_SECONDARY_TOOLBAR_COLOR = - r"""android.support.customtabs.extra.SECONDARY_TOOLBAR_COLOR"""; - - /// from: static public final java.lang.String KEY_ICON - static const KEY_ICON = r"""android.support.customtabs.customaction.ICON"""; - - /// from: static public final java.lang.String KEY_DESCRIPTION - static const KEY_DESCRIPTION = - r"""android.support.customtabs.customaction.DESCRIPTION"""; - - /// from: static public final java.lang.String KEY_PENDING_INTENT - static const KEY_PENDING_INTENT = - r"""android.support.customtabs.customaction.PENDING_INTENT"""; - - /// from: static public final java.lang.String EXTRA_TINT_ACTION_BUTTON - static const EXTRA_TINT_ACTION_BUTTON = - r"""android.support.customtabs.extra.TINT_ACTION_BUTTON"""; - - /// from: static public final java.lang.String EXTRA_MENU_ITEMS - static const EXTRA_MENU_ITEMS = - r"""android.support.customtabs.extra.MENU_ITEMS"""; - - /// from: static public final java.lang.String KEY_MENU_ITEM_TITLE - static const KEY_MENU_ITEM_TITLE = - r"""android.support.customtabs.customaction.MENU_ITEM_TITLE"""; - - /// from: static public final java.lang.String EXTRA_EXIT_ANIMATION_BUNDLE - static const EXTRA_EXIT_ANIMATION_BUNDLE = - r"""android.support.customtabs.extra.EXIT_ANIMATION_BUNDLE"""; - - /// from: static public final int SHARE_STATE_DEFAULT - static const SHARE_STATE_DEFAULT = 0; - - /// from: static public final int SHARE_STATE_ON - static const SHARE_STATE_ON = 1; - - /// from: static public final int SHARE_STATE_OFF - static const SHARE_STATE_OFF = 2; - - /// from: static public final java.lang.String EXTRA_SHARE_STATE - static const EXTRA_SHARE_STATE = - r"""androidx.browser.customtabs.extra.SHARE_STATE"""; - - /// from: static public final java.lang.String EXTRA_DEFAULT_SHARE_MENU_ITEM - static const EXTRA_DEFAULT_SHARE_MENU_ITEM = - r"""android.support.customtabs.extra.SHARE_MENU_ITEM"""; - - /// from: static public final java.lang.String EXTRA_REMOTEVIEWS - static const EXTRA_REMOTEVIEWS = - r"""android.support.customtabs.extra.EXTRA_REMOTEVIEWS"""; - - /// from: static public final java.lang.String EXTRA_REMOTEVIEWS_VIEW_IDS - static const EXTRA_REMOTEVIEWS_VIEW_IDS = - r"""android.support.customtabs.extra.EXTRA_REMOTEVIEWS_VIEW_IDS"""; - - /// from: static public final java.lang.String EXTRA_REMOTEVIEWS_PENDINGINTENT - static const EXTRA_REMOTEVIEWS_PENDINGINTENT = - r"""android.support.customtabs.extra.EXTRA_REMOTEVIEWS_PENDINGINTENT"""; - - /// from: static public final java.lang.String EXTRA_REMOTEVIEWS_CLICKED_ID - static const EXTRA_REMOTEVIEWS_CLICKED_ID = - r"""android.support.customtabs.extra.EXTRA_REMOTEVIEWS_CLICKED_ID"""; - - /// from: static public final java.lang.String EXTRA_ENABLE_INSTANT_APPS - static const EXTRA_ENABLE_INSTANT_APPS = - r"""android.support.customtabs.extra.EXTRA_ENABLE_INSTANT_APPS"""; - - /// from: static public final java.lang.String EXTRA_COLOR_SCHEME_PARAMS - static const EXTRA_COLOR_SCHEME_PARAMS = - r"""androidx.browser.customtabs.extra.COLOR_SCHEME_PARAMS"""; - - /// from: static public final java.lang.String EXTRA_NAVIGATION_BAR_COLOR - static const EXTRA_NAVIGATION_BAR_COLOR = - r"""androidx.browser.customtabs.extra.NAVIGATION_BAR_COLOR"""; - - /// from: static public final java.lang.String EXTRA_INITIAL_ACTIVITY_HEIGHT_PX - static const EXTRA_INITIAL_ACTIVITY_HEIGHT_PX = - r"""androidx.browser.customtabs.extra.INITIAL_ACTIVITY_HEIGHT_PX"""; - - /// from: static public final int ACTIVITY_HEIGHT_DEFAULT - static const ACTIVITY_HEIGHT_DEFAULT = 0; - - /// from: static public final int ACTIVITY_HEIGHT_ADJUSTABLE - static const ACTIVITY_HEIGHT_ADJUSTABLE = 1; - - /// from: static public final int ACTIVITY_HEIGHT_FIXED - static const ACTIVITY_HEIGHT_FIXED = 2; - - /// from: static public final java.lang.String EXTRA_ACTIVITY_HEIGHT_RESIZE_BEHAVIOR - static const EXTRA_ACTIVITY_HEIGHT_RESIZE_BEHAVIOR = - r"""androidx.browser.customtabs.extra.ACTIVITY_HEIGHT_RESIZE_BEHAVIOR"""; - - /// from: static public final java.lang.String EXTRA_TOOLBAR_CORNER_RADIUS_DP - static const EXTRA_TOOLBAR_CORNER_RADIUS_DP = - r"""androidx.browser.customtabs.extra.TOOLBAR_CORNER_RADIUS_DP"""; - - /// from: static public final int CLOSE_BUTTON_POSITION_DEFAULT - static const CLOSE_BUTTON_POSITION_DEFAULT = 0; - - /// from: static public final int CLOSE_BUTTON_POSITION_START - static const CLOSE_BUTTON_POSITION_START = 1; - - /// from: static public final int CLOSE_BUTTON_POSITION_END - static const CLOSE_BUTTON_POSITION_END = 2; - - /// from: static public final java.lang.String EXTRA_CLOSE_BUTTON_POSITION - static const EXTRA_CLOSE_BUTTON_POSITION = - r"""androidx.browser.customtabs.extra.CLOSE_BUTTON_POSITION"""; - - /// from: static public final java.lang.String EXTRA_NAVIGATION_BAR_DIVIDER_COLOR - static const EXTRA_NAVIGATION_BAR_DIVIDER_COLOR = - r"""androidx.browser.customtabs.extra.NAVIGATION_BAR_DIVIDER_COLOR"""; - - /// from: static public final java.lang.String KEY_ID - static const KEY_ID = r"""android.support.customtabs.customaction.ID"""; - - /// from: static public final int TOOLBAR_ACTION_BUTTON_ID - static const TOOLBAR_ACTION_BUTTON_ID = 0; - - static final _id_intent = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"intent", - r"Landroid/content/Intent;", - ); - - /// from: public final android.content.Intent intent - /// The returned object must be released after use, by calling the [release] method. - Intent get intent => const $IntentType().fromRef(jni.Jni.accessors - .getField(reference, _id_intent, jni.JniCallType.objectType) - .object); - - static final _id_startAnimationBundle = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"startAnimationBundle", - r"Landroid/os/Bundle;", - ); - - /// from: public final android.os.Bundle startAnimationBundle - /// The returned object must be released after use, by calling the [release] method. - Bundle get startAnimationBundle => const $BundleType().fromRef(jni - .Jni.accessors - .getField(reference, _id_startAnimationBundle, jni.JniCallType.objectType) - .object); - - static final _id_launchUrl = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"launchUrl", r"(Landroid/content/Context;Landroid/net/Uri;)V"); - - /// from: public void launchUrl(android.content.Context context, android.net.Uri uri) - void launchUrl( - Context context, - Uri uri, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_launchUrl, - jni.JniCallType.voidType, [context.reference, uri.reference]).check(); - } - - static final _id_getMaxToolbarItems = jni.Jni.accessors - .getStaticMethodIDOf(_class.reference, r"getMaxToolbarItems", r"()I"); - - /// from: static public int getMaxToolbarItems() - static int getMaxToolbarItems() { - return jni.Jni.accessors.callStaticMethodWithArgs(_class.reference, - _id_getMaxToolbarItems, jni.JniCallType.intType, []).integer; - } - - static final _id_setAlwaysUseBrowserUI = jni.Jni.accessors - .getStaticMethodIDOf(_class.reference, r"setAlwaysUseBrowserUI", - r"(Landroid/content/Intent;)Landroid/content/Intent;"); - - /// from: static public android.content.Intent setAlwaysUseBrowserUI(android.content.Intent intent) - /// The returned object must be released after use, by calling the [release] method. - static Intent setAlwaysUseBrowserUI( - Intent intent, - ) { - return const $IntentType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_setAlwaysUseBrowserUI, - jni.JniCallType.objectType, [intent.reference]).object); - } - - static final _id_shouldAlwaysUseBrowserUI = jni.Jni.accessors - .getStaticMethodIDOf(_class.reference, r"shouldAlwaysUseBrowserUI", - r"(Landroid/content/Intent;)Z"); - - /// from: static public boolean shouldAlwaysUseBrowserUI(android.content.Intent intent) - static bool shouldAlwaysUseBrowserUI( - Intent intent, - ) { - return jni.Jni.accessors.callStaticMethodWithArgs( - _class.reference, - _id_shouldAlwaysUseBrowserUI, - jni.JniCallType.booleanType, - [intent.reference]).boolean; - } - - static final _id_getColorSchemeParams = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"getColorSchemeParams", - r"(Landroid/content/Intent;I)Landroidx/browser/customtabs/CustomTabColorSchemeParams;"); - - /// from: static public androidx.browser.customtabs.CustomTabColorSchemeParams getColorSchemeParams(android.content.Intent intent, int i) - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject getColorSchemeParams( - Intent intent, - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_getColorSchemeParams, - jni.JniCallType.objectType, - [intent.reference, jni.JValueInt(i)]).object); - } - - static final _id_getActivityResizeBehavior = jni.Jni.accessors - .getStaticMethodIDOf(_class.reference, r"getActivityResizeBehavior", - r"(Landroid/content/Intent;)I"); - - /// from: static public int getActivityResizeBehavior(android.content.Intent intent) - static int getActivityResizeBehavior( - Intent intent, - ) { - return jni.Jni.accessors.callStaticMethodWithArgs( - _class.reference, - _id_getActivityResizeBehavior, - jni.JniCallType.intType, - [intent.reference]).integer; - } - - static final _id_getInitialActivityHeightPx = jni.Jni.accessors - .getStaticMethodIDOf(_class.reference, r"getInitialActivityHeightPx", - r"(Landroid/content/Intent;)I"); - - /// from: static public int getInitialActivityHeightPx(android.content.Intent intent) - static int getInitialActivityHeightPx( - Intent intent, - ) { - return jni.Jni.accessors.callStaticMethodWithArgs( - _class.reference, - _id_getInitialActivityHeightPx, - jni.JniCallType.intType, - [intent.reference]).integer; - } - - static final _id_getToolbarCornerRadiusDp = jni.Jni.accessors - .getStaticMethodIDOf(_class.reference, r"getToolbarCornerRadiusDp", - r"(Landroid/content/Intent;)I"); - - /// from: static public int getToolbarCornerRadiusDp(android.content.Intent intent) - static int getToolbarCornerRadiusDp( - Intent intent, - ) { - return jni.Jni.accessors.callStaticMethodWithArgs( - _class.reference, - _id_getToolbarCornerRadiusDp, - jni.JniCallType.intType, - [intent.reference]).integer; - } - - static final _id_getCloseButtonPosition = jni.Jni.accessors - .getStaticMethodIDOf(_class.reference, r"getCloseButtonPosition", - r"(Landroid/content/Intent;)I"); - - /// from: static public int getCloseButtonPosition(android.content.Intent intent) - static int getCloseButtonPosition( - Intent intent, - ) { - return jni.Jni.accessors.callStaticMethodWithArgs( - _class.reference, - _id_getCloseButtonPosition, - jni.JniCallType.intType, - [intent.reference]).integer; - } - - static final _id_isBookmarksButtonEnabled = jni.Jni.accessors - .getStaticMethodIDOf(_class.reference, r"isBookmarksButtonEnabled", - r"(Landroid/content/Intent;)Z"); - - /// from: static public boolean isBookmarksButtonEnabled(android.content.Intent intent) - static bool isBookmarksButtonEnabled( - Intent intent, - ) { - return jni.Jni.accessors.callStaticMethodWithArgs( - _class.reference, - _id_isBookmarksButtonEnabled, - jni.JniCallType.booleanType, - [intent.reference]).boolean; - } - - static final _id_isDownloadButtonEnabled = jni.Jni.accessors - .getStaticMethodIDOf(_class.reference, r"isDownloadButtonEnabled", - r"(Landroid/content/Intent;)Z"); - - /// from: static public boolean isDownloadButtonEnabled(android.content.Intent intent) - static bool isDownloadButtonEnabled( - Intent intent, - ) { - return jni.Jni.accessors.callStaticMethodWithArgs( - _class.reference, - _id_isDownloadButtonEnabled, - jni.JniCallType.booleanType, - [intent.reference]).boolean; - } - - static final _id_isSendToExternalDefaultHandlerEnabled = jni.Jni.accessors - .getStaticMethodIDOf( - _class.reference, - r"isSendToExternalDefaultHandlerEnabled", - r"(Landroid/content/Intent;)Z"); - - /// from: static public boolean isSendToExternalDefaultHandlerEnabled(android.content.Intent intent) - static bool isSendToExternalDefaultHandlerEnabled( - Intent intent, - ) { - return jni.Jni.accessors.callStaticMethodWithArgs( - _class.reference, - _id_isSendToExternalDefaultHandlerEnabled, - jni.JniCallType.booleanType, - [intent.reference]).boolean; - } - - static final _id_getTranslateLocale = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"getTranslateLocale", - r"(Landroid/content/Intent;)Ljava/util/Locale;"); - - /// from: static public java.util.Locale getTranslateLocale(android.content.Intent intent) - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject getTranslateLocale( - Intent intent, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_getTranslateLocale, - jni.JniCallType.objectType, [intent.reference]).object); - } - - static final _id_isBackgroundInteractionEnabled = jni.Jni.accessors - .getStaticMethodIDOf(_class.reference, r"isBackgroundInteractionEnabled", - r"(Landroid/content/Intent;)Z"); - - /// from: static public boolean isBackgroundInteractionEnabled(android.content.Intent intent) - static bool isBackgroundInteractionEnabled( - Intent intent, - ) { - return jni.Jni.accessors.callStaticMethodWithArgs( - _class.reference, - _id_isBackgroundInteractionEnabled, - jni.JniCallType.booleanType, - [intent.reference]).boolean; - } - - static final _id_getSecondaryToolbarSwipeUpGesture = jni.Jni.accessors - .getStaticMethodIDOf( - _class.reference, - r"getSecondaryToolbarSwipeUpGesture", - r"(Landroid/content/Intent;)Landroid/app/PendingIntent;"); - - /// from: static public android.app.PendingIntent getSecondaryToolbarSwipeUpGesture(android.content.Intent intent) - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject getSecondaryToolbarSwipeUpGesture( - Intent intent, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_getSecondaryToolbarSwipeUpGesture, - jni.JniCallType.objectType, - [intent.reference]).object); - } -} - -final class $CustomTabsIntentType extends jni.JObjType { - const $CustomTabsIntentType(); - - @override - String get signature => r"Landroidx/browser/customtabs/CustomTabsIntent;"; - - @override - CustomTabsIntent fromRef(jni.JObjectPtr ref) => CustomTabsIntent.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($CustomTabsIntentType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CustomTabsIntentType) && - other is $CustomTabsIntentType; - } -} - -/// from: androidx.browser.customtabs.CustomTabsService$FilePurpose -class CustomTabsService_FilePurpose extends jni.JObject { - @override - late final jni.JObjType $type = type; - - CustomTabsService_FilePurpose.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/browser/customtabs/CustomTabsService$FilePurpose"); - - /// The type which includes information such as the signature of this class. - static const type = $CustomTabsService_FilePurposeType(); - - /// Maps a specific port to the implemented interface. - static final Map _$impls = {}; - ReceivePort? _$p; - - static jni.JObjectPtr _$invoke( - int port, - jni.JObjectPtr descriptor, - jni.JObjectPtr args, - ) { - return _$invokeMethod( - port, - $MethodInvocation.fromAddresses( - 0, - descriptor.address, - args.address, - ), - ); - } - - static final ffi.Pointer< - ffi.NativeFunction< - jni.JObjectPtr Function( - ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> - _$invokePointer = ffi.Pointer.fromFunction(_$invoke); - - static ffi.Pointer _$invokeMethod( - int $p, - $MethodInvocation $i, - ) { - try { - final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); - final $a = $i.args; - } catch (e) { - return ProtectedJniExtensions.newDartException(e.toString()); - } - return jni.nullptr; - } - - factory CustomTabsService_FilePurpose.implement( - $CustomTabsService_FilePurposeImpl $impl, - ) { - final $p = ReceivePort(); - final $x = CustomTabsService_FilePurpose.fromRef( - ProtectedJniExtensions.newPortProxy( - r"androidx.browser.customtabs.CustomTabsService$FilePurpose", - $p, - _$invokePointer, - ), - ).._$p = $p; - final $a = $p.sendPort.nativePort; - _$impls[$a] = $impl; - $p.listen(($m) { - if ($m == null) { - _$impls.remove($p.sendPort.nativePort); - $p.close(); - return; - } - final $i = $MethodInvocation.fromMessage($m as List); - final $r = _$invokeMethod($p.sendPort.nativePort, $i); - ProtectedJniExtensions.returnResult($i.result, $r); - }); - return $x; - } -} - -abstract class $CustomTabsService_FilePurposeImpl { - factory $CustomTabsService_FilePurposeImpl() = - _$CustomTabsService_FilePurposeImpl; -} - -class _$CustomTabsService_FilePurposeImpl - implements $CustomTabsService_FilePurposeImpl { - _$CustomTabsService_FilePurposeImpl(); -} - -final class $CustomTabsService_FilePurposeType - extends jni.JObjType { - const $CustomTabsService_FilePurposeType(); - - @override - String get signature => - r"Landroidx/browser/customtabs/CustomTabsService$FilePurpose;"; - - @override - CustomTabsService_FilePurpose fromRef(jni.JObjectPtr ref) => - CustomTabsService_FilePurpose.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($CustomTabsService_FilePurposeType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CustomTabsService_FilePurposeType) && - other is $CustomTabsService_FilePurposeType; - } -} - -/// from: androidx.browser.customtabs.CustomTabsService$Relation -class CustomTabsService_Relation extends jni.JObject { - @override - late final jni.JObjType $type = type; - - CustomTabsService_Relation.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/browser/customtabs/CustomTabsService$Relation"); - - /// The type which includes information such as the signature of this class. - static const type = $CustomTabsService_RelationType(); - - /// Maps a specific port to the implemented interface. - static final Map _$impls = {}; - ReceivePort? _$p; - - static jni.JObjectPtr _$invoke( - int port, - jni.JObjectPtr descriptor, - jni.JObjectPtr args, - ) { - return _$invokeMethod( - port, - $MethodInvocation.fromAddresses( - 0, - descriptor.address, - args.address, - ), - ); - } - - static final ffi.Pointer< - ffi.NativeFunction< - jni.JObjectPtr Function( - ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> - _$invokePointer = ffi.Pointer.fromFunction(_$invoke); - - static ffi.Pointer _$invokeMethod( - int $p, - $MethodInvocation $i, - ) { - try { - final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); - final $a = $i.args; - } catch (e) { - return ProtectedJniExtensions.newDartException(e.toString()); - } - return jni.nullptr; - } - - factory CustomTabsService_Relation.implement( - $CustomTabsService_RelationImpl $impl, - ) { - final $p = ReceivePort(); - final $x = CustomTabsService_Relation.fromRef( - ProtectedJniExtensions.newPortProxy( - r"androidx.browser.customtabs.CustomTabsService$Relation", - $p, - _$invokePointer, - ), - ).._$p = $p; - final $a = $p.sendPort.nativePort; - _$impls[$a] = $impl; - $p.listen(($m) { - if ($m == null) { - _$impls.remove($p.sendPort.nativePort); - $p.close(); - return; - } - final $i = $MethodInvocation.fromMessage($m as List); - final $r = _$invokeMethod($p.sendPort.nativePort, $i); - ProtectedJniExtensions.returnResult($i.result, $r); - }); - return $x; - } -} - -abstract class $CustomTabsService_RelationImpl { - factory $CustomTabsService_RelationImpl() = _$CustomTabsService_RelationImpl; -} - -class _$CustomTabsService_RelationImpl - implements $CustomTabsService_RelationImpl { - _$CustomTabsService_RelationImpl(); -} - -final class $CustomTabsService_RelationType - extends jni.JObjType { - const $CustomTabsService_RelationType(); - - @override - String get signature => - r"Landroidx/browser/customtabs/CustomTabsService$Relation;"; - - @override - CustomTabsService_Relation fromRef(jni.JObjectPtr ref) => - CustomTabsService_Relation.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($CustomTabsService_RelationType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CustomTabsService_RelationType) && - other is $CustomTabsService_RelationType; - } -} - -/// from: androidx.browser.customtabs.CustomTabsService$Result -class CustomTabsService_Result extends jni.JObject { - @override - late final jni.JObjType $type = type; - - CustomTabsService_Result.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/browser/customtabs/CustomTabsService$Result"); - - /// The type which includes information such as the signature of this class. - static const type = $CustomTabsService_ResultType(); - - /// Maps a specific port to the implemented interface. - static final Map _$impls = {}; - ReceivePort? _$p; - - static jni.JObjectPtr _$invoke( - int port, - jni.JObjectPtr descriptor, - jni.JObjectPtr args, - ) { - return _$invokeMethod( - port, - $MethodInvocation.fromAddresses( - 0, - descriptor.address, - args.address, - ), - ); - } - - static final ffi.Pointer< - ffi.NativeFunction< - jni.JObjectPtr Function( - ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> - _$invokePointer = ffi.Pointer.fromFunction(_$invoke); - - static ffi.Pointer _$invokeMethod( - int $p, - $MethodInvocation $i, - ) { - try { - final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); - final $a = $i.args; - } catch (e) { - return ProtectedJniExtensions.newDartException(e.toString()); - } - return jni.nullptr; - } - - factory CustomTabsService_Result.implement( - $CustomTabsService_ResultImpl $impl, - ) { - final $p = ReceivePort(); - final $x = CustomTabsService_Result.fromRef( - ProtectedJniExtensions.newPortProxy( - r"androidx.browser.customtabs.CustomTabsService$Result", - $p, - _$invokePointer, - ), - ).._$p = $p; - final $a = $p.sendPort.nativePort; - _$impls[$a] = $impl; - $p.listen(($m) { - if ($m == null) { - _$impls.remove($p.sendPort.nativePort); - $p.close(); - return; - } - final $i = $MethodInvocation.fromMessage($m as List); - final $r = _$invokeMethod($p.sendPort.nativePort, $i); - ProtectedJniExtensions.returnResult($i.result, $r); - }); - return $x; - } -} - -abstract class $CustomTabsService_ResultImpl { - factory $CustomTabsService_ResultImpl() = _$CustomTabsService_ResultImpl; -} - -class _$CustomTabsService_ResultImpl implements $CustomTabsService_ResultImpl { - _$CustomTabsService_ResultImpl(); -} - -final class $CustomTabsService_ResultType - extends jni.JObjType { - const $CustomTabsService_ResultType(); - - @override - String get signature => - r"Landroidx/browser/customtabs/CustomTabsService$Result;"; - - @override - CustomTabsService_Result fromRef(jni.JObjectPtr ref) => - CustomTabsService_Result.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($CustomTabsService_ResultType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CustomTabsService_ResultType) && - other is $CustomTabsService_ResultType; - } -} - -/// from: androidx.browser.customtabs.CustomTabsService -class CustomTabsService extends jni.JObject { - @override - late final jni.JObjType $type = type; - - CustomTabsService.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"androidx/browser/customtabs/CustomTabsService"); - - /// The type which includes information such as the signature of this class. - static const type = $CustomTabsServiceType(); - - /// from: static public final java.lang.String ACTION_CUSTOM_TABS_CONNECTION - static const ACTION_CUSTOM_TABS_CONNECTION = - r"""android.support.customtabs.action.CustomTabsService"""; - - /// from: static public final java.lang.String CATEGORY_NAVBAR_COLOR_CUSTOMIZATION - static const CATEGORY_NAVBAR_COLOR_CUSTOMIZATION = - r"""androidx.browser.customtabs.category.NavBarColorCustomization"""; - - /// from: static public final java.lang.String CATEGORY_COLOR_SCHEME_CUSTOMIZATION - static const CATEGORY_COLOR_SCHEME_CUSTOMIZATION = - r"""androidx.browser.customtabs.category.ColorSchemeCustomization"""; - - /// from: static public final java.lang.String TRUSTED_WEB_ACTIVITY_CATEGORY - static const TRUSTED_WEB_ACTIVITY_CATEGORY = - r"""androidx.browser.trusted.category.TrustedWebActivities"""; - - /// from: static public final java.lang.String CATEGORY_WEB_SHARE_TARGET_V2 - static const CATEGORY_WEB_SHARE_TARGET_V2 = - r"""androidx.browser.trusted.category.WebShareTargetV2"""; - - /// from: static public final java.lang.String CATEGORY_TRUSTED_WEB_ACTIVITY_IMMERSIVE_MODE - static const CATEGORY_TRUSTED_WEB_ACTIVITY_IMMERSIVE_MODE = - r"""androidx.browser.trusted.category.ImmersiveMode"""; - - /// from: static public final java.lang.String KEY_URL - static const KEY_URL = r"""android.support.customtabs.otherurls.URL"""; - - /// from: static public final java.lang.String KEY_SUCCESS - static const KEY_SUCCESS = r"""androidx.browser.customtabs.SUCCESS"""; - - /// from: static public final int RESULT_SUCCESS - static const RESULT_SUCCESS = 0; - - /// from: static public final int RESULT_FAILURE_DISALLOWED - static const RESULT_FAILURE_DISALLOWED = -1; - - /// from: static public final int RESULT_FAILURE_REMOTE_ERROR - static const RESULT_FAILURE_REMOTE_ERROR = -2; - - /// from: static public final int RESULT_FAILURE_MESSAGING_ERROR - static const RESULT_FAILURE_MESSAGING_ERROR = -3; - - /// from: static public final int RELATION_USE_AS_ORIGIN - static const RELATION_USE_AS_ORIGIN = 1; - - /// from: static public final int RELATION_HANDLE_ALL_URLS - static const RELATION_HANDLE_ALL_URLS = 2; - - /// from: static public final int FILE_PURPOSE_TRUSTED_WEB_ACTIVITY_SPLASH_IMAGE - static const FILE_PURPOSE_TRUSTED_WEB_ACTIVITY_SPLASH_IMAGE = 1; - - static final _id_new0 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); - - /// from: public void () - /// The returned object must be released after use, by calling the [release] method. - factory CustomTabsService() { - return CustomTabsService.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, []).object); - } - - static final _id_onBind = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"onBind", r"(Landroid/content/Intent;)Landroid/os/IBinder;"); - - /// from: public android.os.IBinder onBind(android.content.Intent intent) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject onBind( - Intent intent, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onBind, - jni.JniCallType.objectType, - [intent.reference]).object); - } - - static final _id_cleanUpSession = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"cleanUpSession", - r"(Landroidx/browser/customtabs/CustomTabsSessionToken;)Z"); - - /// from: protected boolean cleanUpSession(androidx.browser.customtabs.CustomTabsSessionToken customTabsSessionToken) - bool cleanUpSession( - jni.JObject customTabsSessionToken, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_cleanUpSession, - jni.JniCallType.booleanType, - [customTabsSessionToken.reference]).boolean; - } - - static final _id_warmup = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"warmup", r"(J)Z"); - - /// from: protected abstract boolean warmup(long j) - bool warmup( - int j, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_warmup, jni.JniCallType.booleanType, [j]).boolean; - } - - static final _id_newSession = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"newSession", - r"(Landroidx/browser/customtabs/CustomTabsSessionToken;)Z"); - - /// from: protected abstract boolean newSession(androidx.browser.customtabs.CustomTabsSessionToken customTabsSessionToken) - bool newSession( - jni.JObject customTabsSessionToken, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_newSession, - jni.JniCallType.booleanType, - [customTabsSessionToken.reference]).boolean; - } - - static final _id_mayLaunchUrl = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"mayLaunchUrl", - r"(Landroidx/browser/customtabs/CustomTabsSessionToken;Landroid/net/Uri;Landroid/os/Bundle;Ljava/util/List;)Z"); - - /// from: protected abstract boolean mayLaunchUrl(androidx.browser.customtabs.CustomTabsSessionToken customTabsSessionToken, android.net.Uri uri, android.os.Bundle bundle, java.util.List list) - bool mayLaunchUrl( - jni.JObject customTabsSessionToken, - Uri uri, - Bundle bundle, - jni.JList list, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_mayLaunchUrl, jni.JniCallType.booleanType, [ - customTabsSessionToken.reference, - uri.reference, - bundle.reference, - list.reference - ]).boolean; - } - - static final _id_extraCommand = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"extraCommand", - r"(Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;"); - - /// from: protected abstract android.os.Bundle extraCommand(java.lang.String string, android.os.Bundle bundle) - /// The returned object must be released after use, by calling the [release] method. - Bundle extraCommand( - jni.JString string, - Bundle bundle, - ) { - return const $BundleType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_extraCommand, - jni.JniCallType.objectType, - [string.reference, bundle.reference]).object); - } - - static final _id_updateVisuals = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"updateVisuals", - r"(Landroidx/browser/customtabs/CustomTabsSessionToken;Landroid/os/Bundle;)Z"); - - /// from: protected abstract boolean updateVisuals(androidx.browser.customtabs.CustomTabsSessionToken customTabsSessionToken, android.os.Bundle bundle) - bool updateVisuals( - jni.JObject customTabsSessionToken, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_updateVisuals, - jni.JniCallType.booleanType, - [customTabsSessionToken.reference, bundle.reference]).boolean; - } - - static final _id_requestPostMessageChannel = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"requestPostMessageChannel", - r"(Landroidx/browser/customtabs/CustomTabsSessionToken;Landroid/net/Uri;)Z"); - - /// from: protected abstract boolean requestPostMessageChannel(androidx.browser.customtabs.CustomTabsSessionToken customTabsSessionToken, android.net.Uri uri) - bool requestPostMessageChannel( - jni.JObject customTabsSessionToken, - Uri uri, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_requestPostMessageChannel, - jni.JniCallType.booleanType, - [customTabsSessionToken.reference, uri.reference]).boolean; - } - - static final _id_requestPostMessageChannel1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"requestPostMessageChannel", - r"(Landroidx/browser/customtabs/CustomTabsSessionToken;Landroid/net/Uri;Landroid/net/Uri;Landroid/os/Bundle;)Z"); - - /// from: protected boolean requestPostMessageChannel(androidx.browser.customtabs.CustomTabsSessionToken customTabsSessionToken, android.net.Uri uri, android.net.Uri uri1, android.os.Bundle bundle) - bool requestPostMessageChannel1( - jni.JObject customTabsSessionToken, - Uri uri, - Uri uri1, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_requestPostMessageChannel1, jni.JniCallType.booleanType, [ - customTabsSessionToken.reference, - uri.reference, - uri1.reference, - bundle.reference - ]).boolean; - } - - static final _id_postMessage = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"postMessage", - r"(Landroidx/browser/customtabs/CustomTabsSessionToken;Ljava/lang/String;Landroid/os/Bundle;)I"); - - /// from: protected abstract int postMessage(androidx.browser.customtabs.CustomTabsSessionToken customTabsSessionToken, java.lang.String string, android.os.Bundle bundle) - int postMessage( - jni.JObject customTabsSessionToken, - jni.JString string, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_postMessage, jni.JniCallType.intType, [ - customTabsSessionToken.reference, - string.reference, - bundle.reference - ]).integer; - } - - static final _id_validateRelationship = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"validateRelationship", - r"(Landroidx/browser/customtabs/CustomTabsSessionToken;ILandroid/net/Uri;Landroid/os/Bundle;)Z"); - - /// from: protected abstract boolean validateRelationship(androidx.browser.customtabs.CustomTabsSessionToken customTabsSessionToken, int i, android.net.Uri uri, android.os.Bundle bundle) - bool validateRelationship( - jni.JObject customTabsSessionToken, - int i, - Uri uri, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_validateRelationship, jni.JniCallType.booleanType, [ - customTabsSessionToken.reference, - jni.JValueInt(i), - uri.reference, - bundle.reference - ]).boolean; - } - - static final _id_receiveFile = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"receiveFile", - r"(Landroidx/browser/customtabs/CustomTabsSessionToken;Landroid/net/Uri;ILandroid/os/Bundle;)Z"); - - /// from: protected abstract boolean receiveFile(androidx.browser.customtabs.CustomTabsSessionToken customTabsSessionToken, android.net.Uri uri, int i, android.os.Bundle bundle) - bool receiveFile( - jni.JObject customTabsSessionToken, - Uri uri, - int i, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_receiveFile, jni.JniCallType.booleanType, [ - customTabsSessionToken.reference, - uri.reference, - jni.JValueInt(i), - bundle.reference - ]).boolean; - } - - static final _id_isEngagementSignalsApiAvailable = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"isEngagementSignalsApiAvailable", - r"(Landroidx/browser/customtabs/CustomTabsSessionToken;Landroid/os/Bundle;)Z"); - - /// from: protected boolean isEngagementSignalsApiAvailable(androidx.browser.customtabs.CustomTabsSessionToken customTabsSessionToken, android.os.Bundle bundle) - bool isEngagementSignalsApiAvailable( - jni.JObject customTabsSessionToken, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_isEngagementSignalsApiAvailable, - jni.JniCallType.booleanType, - [customTabsSessionToken.reference, bundle.reference]).boolean; - } - - static final _id_setEngagementSignalsCallback = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setEngagementSignalsCallback", - r"(Landroidx/browser/customtabs/CustomTabsSessionToken;Landroidx/browser/customtabs/EngagementSignalsCallback;Landroid/os/Bundle;)Z"); - - /// from: protected boolean setEngagementSignalsCallback(androidx.browser.customtabs.CustomTabsSessionToken customTabsSessionToken, androidx.browser.customtabs.EngagementSignalsCallback engagementSignalsCallback, android.os.Bundle bundle) - bool setEngagementSignalsCallback( - jni.JObject customTabsSessionToken, - jni.JObject engagementSignalsCallback, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_setEngagementSignalsCallback, jni.JniCallType.booleanType, [ - customTabsSessionToken.reference, - engagementSignalsCallback.reference, - bundle.reference - ]).boolean; - } -} - -final class $CustomTabsServiceType extends jni.JObjType { - const $CustomTabsServiceType(); - - @override - String get signature => r"Landroidx/browser/customtabs/CustomTabsService;"; - - @override - CustomTabsService fromRef(jni.JObjectPtr ref) => - CustomTabsService.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($CustomTabsServiceType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CustomTabsServiceType) && - other is $CustomTabsServiceType; - } -} - -/// from: android.app.Activity$ScreenCaptureCallback -class Activity_ScreenCaptureCallback extends jni.JObject { - @override - late final jni.JObjType $type = type; - - Activity_ScreenCaptureCallback.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"android/app/Activity$ScreenCaptureCallback"); - - /// The type which includes information such as the signature of this class. - static const type = $Activity_ScreenCaptureCallbackType(); - static final _id_onScreenCaptured = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onScreenCaptured", r"()V"); - - /// from: public abstract void onScreenCaptured() - void onScreenCaptured() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_onScreenCaptured, jni.JniCallType.voidType, []).check(); - } - - /// Maps a specific port to the implemented interface. - static final Map _$impls = {}; - ReceivePort? _$p; - - static jni.JObjectPtr _$invoke( - int port, - jni.JObjectPtr descriptor, - jni.JObjectPtr args, - ) { - return _$invokeMethod( - port, - $MethodInvocation.fromAddresses( - 0, - descriptor.address, - args.address, - ), - ); - } - - static final ffi.Pointer< - ffi.NativeFunction< - jni.JObjectPtr Function( - ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> - _$invokePointer = ffi.Pointer.fromFunction(_$invoke); - - static ffi.Pointer _$invokeMethod( - int $p, - $MethodInvocation $i, - ) { - try { - final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); - final $a = $i.args; - if ($d == r"onScreenCaptured()V") { - _$impls[$p]!.onScreenCaptured(); - return jni.nullptr; - } - } catch (e) { - return ProtectedJniExtensions.newDartException(e.toString()); - } - return jni.nullptr; - } - - factory Activity_ScreenCaptureCallback.implement( - $Activity_ScreenCaptureCallbackImpl $impl, - ) { - final $p = ReceivePort(); - final $x = Activity_ScreenCaptureCallback.fromRef( - ProtectedJniExtensions.newPortProxy( - r"android.app.Activity$ScreenCaptureCallback", - $p, - _$invokePointer, - ), - ).._$p = $p; - final $a = $p.sendPort.nativePort; - _$impls[$a] = $impl; - $p.listen(($m) { - if ($m == null) { - _$impls.remove($p.sendPort.nativePort); - $p.close(); - return; - } - final $i = $MethodInvocation.fromMessage($m as List); - final $r = _$invokeMethod($p.sendPort.nativePort, $i); - ProtectedJniExtensions.returnResult($i.result, $r); - }); - return $x; - } -} - -abstract class $Activity_ScreenCaptureCallbackImpl { - factory $Activity_ScreenCaptureCallbackImpl({ - required void Function() onScreenCaptured, - }) = _$Activity_ScreenCaptureCallbackImpl; - - void onScreenCaptured(); -} - -class _$Activity_ScreenCaptureCallbackImpl - implements $Activity_ScreenCaptureCallbackImpl { - _$Activity_ScreenCaptureCallbackImpl({ - required void Function() onScreenCaptured, - }) : _onScreenCaptured = onScreenCaptured; - - final void Function() _onScreenCaptured; - - void onScreenCaptured() { - return _onScreenCaptured(); - } -} - -final class $Activity_ScreenCaptureCallbackType - extends jni.JObjType { - const $Activity_ScreenCaptureCallbackType(); - - @override - String get signature => r"Landroid/app/Activity$ScreenCaptureCallback;"; - - @override - Activity_ScreenCaptureCallback fromRef(jni.JObjectPtr ref) => - Activity_ScreenCaptureCallback.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($Activity_ScreenCaptureCallbackType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($Activity_ScreenCaptureCallbackType) && - other is $Activity_ScreenCaptureCallbackType; - } -} - -/// from: android.app.Activity -class Activity extends jni.JObject { - @override - late final jni.JObjType $type = type; - - Activity.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass(r"android/app/Activity"); - - /// The type which includes information such as the signature of this class. - static const type = $ActivityType(); - - /// from: static public final int DEFAULT_KEYS_DIALER - static const DEFAULT_KEYS_DIALER = 1; - - /// from: static public final int DEFAULT_KEYS_DISABLE - static const DEFAULT_KEYS_DISABLE = 0; - - /// from: static public final int DEFAULT_KEYS_SEARCH_GLOBAL - static const DEFAULT_KEYS_SEARCH_GLOBAL = 4; - - /// from: static public final int DEFAULT_KEYS_SEARCH_LOCAL - static const DEFAULT_KEYS_SEARCH_LOCAL = 3; - - /// from: static public final int DEFAULT_KEYS_SHORTCUT - static const DEFAULT_KEYS_SHORTCUT = 2; - - static final _id_FOCUSED_STATE_SET = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"FOCUSED_STATE_SET", - r"[I", - ); - - /// from: static protected final int[] FOCUSED_STATE_SET - /// The returned object must be released after use, by calling the [release] method. - static jni.JArray get FOCUSED_STATE_SET => - const jni.JArrayType(jni.jintType()).fromRef(jni.Jni.accessors - .getStaticField(_class.reference, _id_FOCUSED_STATE_SET, - jni.JniCallType.objectType) - .object); - - /// from: static public final int FULLSCREEN_MODE_REQUEST_ENTER - static const FULLSCREEN_MODE_REQUEST_ENTER = 1; - - /// from: static public final int FULLSCREEN_MODE_REQUEST_EXIT - static const FULLSCREEN_MODE_REQUEST_EXIT = 0; - - /// from: static public final int OVERRIDE_TRANSITION_CLOSE - static const OVERRIDE_TRANSITION_CLOSE = 1; - - /// from: static public final int OVERRIDE_TRANSITION_OPEN - static const OVERRIDE_TRANSITION_OPEN = 0; - - /// from: static public final int RESULT_CANCELED - static const RESULT_CANCELED = 0; - - /// from: static public final int RESULT_FIRST_USER - static const RESULT_FIRST_USER = 1; - - /// from: static public final int RESULT_OK - static const RESULT_OK = -1; - - static final _id_new0 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); - - /// from: public void () - /// The returned object must be released after use, by calling the [release] method. - factory Activity() { - return Activity.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, []).object); - } - - static final _id_getIntent = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getIntent", r"()Landroid/content/Intent;"); - - /// from: public android.content.Intent getIntent() - /// The returned object must be released after use, by calling the [release] method. - Intent getIntent() { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getIntent, jni.JniCallType.objectType, []).object); - } - - static final _id_setIntent = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"setIntent", r"(Landroid/content/Intent;)V"); - - /// from: public void setIntent(android.content.Intent intent) - void setIntent( - Intent intent, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setIntent, - jni.JniCallType.voidType, [intent.reference]).check(); - } - - static final _id_setLocusContext = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setLocusContext", - r"(Landroid/content/LocusId;Landroid/os/Bundle;)V"); - - /// from: public void setLocusContext(android.content.LocusId locusId, android.os.Bundle bundle) - void setLocusContext( - jni.JObject locusId, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setLocusContext, - jni.JniCallType.voidType, - [locusId.reference, bundle.reference]).check(); - } - - static final _id_getApplication = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getApplication", r"()Landroid/app/Application;"); - - /// from: public final android.app.Application getApplication() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getApplication() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getApplication, jni.JniCallType.objectType, []).object); - } - - static final _id_isChild = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"isChild", r"()Z"); - - /// from: public final boolean isChild() - bool isChild() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_isChild, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_getParent = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getParent", r"()Landroid/app/Activity;"); - - /// from: public final android.app.Activity getParent() - /// The returned object must be released after use, by calling the [release] method. - Activity getParent() { - return const $ActivityType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getParent, jni.JniCallType.objectType, []).object); - } - - static final _id_getWindowManager = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getWindowManager", r"()Landroid/view/WindowManager;"); - - /// from: public android.view.WindowManager getWindowManager() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getWindowManager() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getWindowManager, - jni.JniCallType.objectType, []).object); - } - - static final _id_getWindow = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getWindow", r"()Landroid/view/Window;"); - - /// from: public android.view.Window getWindow() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getWindow() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getWindow, jni.JniCallType.objectType, []).object); - } - - static final _id_getLoaderManager = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getLoaderManager", r"()Landroid/app/LoaderManager;"); - - /// from: public android.app.LoaderManager getLoaderManager() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getLoaderManager() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getLoaderManager, - jni.JniCallType.objectType, []).object); - } - - static final _id_getCurrentFocus = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getCurrentFocus", r"()Landroid/view/View;"); - - /// from: public android.view.View getCurrentFocus() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getCurrentFocus() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getCurrentFocus, jni.JniCallType.objectType, []).object); - } - - static final _id_attachBaseContext = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"attachBaseContext", r"(Landroid/content/Context;)V"); - - /// from: protected void attachBaseContext(android.content.Context context) - void attachBaseContext( - Context context, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_attachBaseContext, - jni.JniCallType.voidType, - [context.reference]).check(); - } - - static final _id_registerActivityLifecycleCallbacks = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"registerActivityLifecycleCallbacks", - r"(Landroid/app/Application$ActivityLifecycleCallbacks;)V"); - - /// from: public void registerActivityLifecycleCallbacks(android.app.Application$ActivityLifecycleCallbacks activityLifecycleCallbacks) - void registerActivityLifecycleCallbacks( - jni.JObject activityLifecycleCallbacks, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_registerActivityLifecycleCallbacks, - jni.JniCallType.voidType, - [activityLifecycleCallbacks.reference]).check(); - } - - static final _id_unregisterActivityLifecycleCallbacks = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"unregisterActivityLifecycleCallbacks", - r"(Landroid/app/Application$ActivityLifecycleCallbacks;)V"); - - /// from: public void unregisterActivityLifecycleCallbacks(android.app.Application$ActivityLifecycleCallbacks activityLifecycleCallbacks) - void unregisterActivityLifecycleCallbacks( - jni.JObject activityLifecycleCallbacks, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_unregisterActivityLifecycleCallbacks, - jni.JniCallType.voidType, - [activityLifecycleCallbacks.reference]).check(); - } - - static final _id_registerComponentCallbacks = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"registerComponentCallbacks", - r"(Landroid/content/ComponentCallbacks;)V"); - - /// from: public void registerComponentCallbacks(android.content.ComponentCallbacks componentCallbacks) - void registerComponentCallbacks( - jni.JObject componentCallbacks, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_registerComponentCallbacks, - jni.JniCallType.voidType, - [componentCallbacks.reference]).check(); - } - - static final _id_unregisterComponentCallbacks = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"unregisterComponentCallbacks", - r"(Landroid/content/ComponentCallbacks;)V"); - - /// from: public void unregisterComponentCallbacks(android.content.ComponentCallbacks componentCallbacks) - void unregisterComponentCallbacks( - jni.JObject componentCallbacks, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_unregisterComponentCallbacks, - jni.JniCallType.voidType, - [componentCallbacks.reference]).check(); - } - - static final _id_onCreate = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onCreate", r"(Landroid/os/Bundle;)V"); - - /// from: protected void onCreate(android.os.Bundle bundle) - void onCreate( - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_onCreate, - jni.JniCallType.voidType, [bundle.reference]).check(); - } - - static final _id_getSplashScreen = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getSplashScreen", r"()Landroid/window/SplashScreen;"); - - /// from: public final android.window.SplashScreen getSplashScreen() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getSplashScreen() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getSplashScreen, jni.JniCallType.objectType, []).object); - } - - static final _id_onCreate1 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"onCreate", r"(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V"); - - /// from: public void onCreate(android.os.Bundle bundle, android.os.PersistableBundle persistableBundle) - void onCreate1( - Bundle bundle, - jni.JObject persistableBundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onCreate1, - jni.JniCallType.voidType, - [bundle.reference, persistableBundle.reference]).check(); - } - - static final _id_onRestoreInstanceState = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onRestoreInstanceState", r"(Landroid/os/Bundle;)V"); - - /// from: protected void onRestoreInstanceState(android.os.Bundle bundle) - void onRestoreInstanceState( - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onRestoreInstanceState, - jni.JniCallType.voidType, - [bundle.reference]).check(); - } - - static final _id_onRestoreInstanceState1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onRestoreInstanceState", - r"(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V"); - - /// from: public void onRestoreInstanceState(android.os.Bundle bundle, android.os.PersistableBundle persistableBundle) - void onRestoreInstanceState1( - Bundle bundle, - jni.JObject persistableBundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onRestoreInstanceState1, - jni.JniCallType.voidType, - [bundle.reference, persistableBundle.reference]).check(); - } - - static final _id_onPostCreate = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onPostCreate", r"(Landroid/os/Bundle;)V"); - - /// from: protected void onPostCreate(android.os.Bundle bundle) - void onPostCreate( - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_onPostCreate, - jni.JniCallType.voidType, [bundle.reference]).check(); - } - - static final _id_onPostCreate1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onPostCreate", - r"(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V"); - - /// from: public void onPostCreate(android.os.Bundle bundle, android.os.PersistableBundle persistableBundle) - void onPostCreate1( - Bundle bundle, - jni.JObject persistableBundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onPostCreate1, - jni.JniCallType.voidType, - [bundle.reference, persistableBundle.reference]).check(); - } - - static final _id_onStart = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"onStart", r"()V"); - - /// from: protected void onStart() - void onStart() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_onStart, jni.JniCallType.voidType, []).check(); - } - - static final _id_onRestart = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"onRestart", r"()V"); - - /// from: protected void onRestart() - void onRestart() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_onRestart, jni.JniCallType.voidType, []).check(); - } - - static final _id_onStateNotSaved = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onStateNotSaved", r"()V"); - - /// from: public void onStateNotSaved() - void onStateNotSaved() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_onStateNotSaved, jni.JniCallType.voidType, []).check(); - } - - static final _id_onResume = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"onResume", r"()V"); - - /// from: protected void onResume() - void onResume() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_onResume, jni.JniCallType.voidType, []).check(); - } - - static final _id_onPostResume = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onPostResume", r"()V"); - - /// from: protected void onPostResume() - void onPostResume() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_onPostResume, jni.JniCallType.voidType, []).check(); - } - - static final _id_onTopResumedActivityChanged = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onTopResumedActivityChanged", r"(Z)V"); - - /// from: public void onTopResumedActivityChanged(boolean z) - void onTopResumedActivityChanged( - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onTopResumedActivityChanged, - jni.JniCallType.voidType, - [z ? 1 : 0]).check(); - } - - static final _id_isVoiceInteraction = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"isVoiceInteraction", r"()Z"); - - /// from: public boolean isVoiceInteraction() - bool isVoiceInteraction() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_isVoiceInteraction, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_isVoiceInteractionRoot = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"isVoiceInteractionRoot", r"()Z"); - - /// from: public boolean isVoiceInteractionRoot() - bool isVoiceInteractionRoot() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_isVoiceInteractionRoot, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_getVoiceInteractor = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getVoiceInteractor", - r"()Landroid/app/VoiceInteractor;"); - - /// from: public android.app.VoiceInteractor getVoiceInteractor() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getVoiceInteractor() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getVoiceInteractor, - jni.JniCallType.objectType, []).object); - } - - static final _id_isLocalVoiceInteractionSupported = jni.Jni.accessors - .getMethodIDOf( - _class.reference, r"isLocalVoiceInteractionSupported", r"()Z"); - - /// from: public boolean isLocalVoiceInteractionSupported() - bool isLocalVoiceInteractionSupported() { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_isLocalVoiceInteractionSupported, - jni.JniCallType.booleanType, []).boolean; - } - - static final _id_startLocalVoiceInteraction = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startLocalVoiceInteraction", - r"(Landroid/os/Bundle;)V"); - - /// from: public void startLocalVoiceInteraction(android.os.Bundle bundle) - void startLocalVoiceInteraction( - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_startLocalVoiceInteraction, - jni.JniCallType.voidType, - [bundle.reference]).check(); - } - - static final _id_onLocalVoiceInteractionStarted = jni.Jni.accessors - .getMethodIDOf( - _class.reference, r"onLocalVoiceInteractionStarted", r"()V"); - - /// from: public void onLocalVoiceInteractionStarted() - void onLocalVoiceInteractionStarted() { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onLocalVoiceInteractionStarted, - jni.JniCallType.voidType, []).check(); - } - - static final _id_onLocalVoiceInteractionStopped = jni.Jni.accessors - .getMethodIDOf( - _class.reference, r"onLocalVoiceInteractionStopped", r"()V"); - - /// from: public void onLocalVoiceInteractionStopped() - void onLocalVoiceInteractionStopped() { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onLocalVoiceInteractionStopped, - jni.JniCallType.voidType, []).check(); - } - - static final _id_stopLocalVoiceInteraction = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"stopLocalVoiceInteraction", r"()V"); - - /// from: public void stopLocalVoiceInteraction() - void stopLocalVoiceInteraction() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_stopLocalVoiceInteraction, jni.JniCallType.voidType, []).check(); - } - - static final _id_onNewIntent = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onNewIntent", r"(Landroid/content/Intent;)V"); - - /// from: protected void onNewIntent(android.content.Intent intent) - void onNewIntent( - Intent intent, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_onNewIntent, - jni.JniCallType.voidType, [intent.reference]).check(); - } - - static final _id_onSaveInstanceState = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onSaveInstanceState", r"(Landroid/os/Bundle;)V"); - - /// from: protected void onSaveInstanceState(android.os.Bundle bundle) - void onSaveInstanceState( - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onSaveInstanceState, - jni.JniCallType.voidType, - [bundle.reference]).check(); - } - - static final _id_onSaveInstanceState1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onSaveInstanceState", - r"(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V"); - - /// from: public void onSaveInstanceState(android.os.Bundle bundle, android.os.PersistableBundle persistableBundle) - void onSaveInstanceState1( - Bundle bundle, - jni.JObject persistableBundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onSaveInstanceState1, - jni.JniCallType.voidType, - [bundle.reference, persistableBundle.reference]).check(); - } - - static final _id_onPause = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"onPause", r"()V"); - - /// from: protected void onPause() - void onPause() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_onPause, jni.JniCallType.voidType, []).check(); - } - - static final _id_onUserLeaveHint = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onUserLeaveHint", r"()V"); - - /// from: protected void onUserLeaveHint() - void onUserLeaveHint() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_onUserLeaveHint, jni.JniCallType.voidType, []).check(); - } - - static final _id_onCreateThumbnail = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onCreateThumbnail", - r"(Landroid/graphics/Bitmap;Landroid/graphics/Canvas;)Z"); - - /// from: public boolean onCreateThumbnail(android.graphics.Bitmap bitmap, android.graphics.Canvas canvas) - bool onCreateThumbnail( - jni.JObject bitmap, - jni.JObject canvas, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onCreateThumbnail, - jni.JniCallType.booleanType, - [bitmap.reference, canvas.reference]).boolean; - } - - static final _id_onCreateDescription = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onCreateDescription", r"()Ljava/lang/CharSequence;"); - - /// from: public java.lang.CharSequence onCreateDescription() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject onCreateDescription() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onCreateDescription, - jni.JniCallType.objectType, []).object); - } - - static final _id_onProvideAssistData = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onProvideAssistData", r"(Landroid/os/Bundle;)V"); - - /// from: public void onProvideAssistData(android.os.Bundle bundle) - void onProvideAssistData( - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onProvideAssistData, - jni.JniCallType.voidType, - [bundle.reference]).check(); - } - - static final _id_onProvideAssistContent = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onProvideAssistContent", - r"(Landroid/app/assist/AssistContent;)V"); - - /// from: public void onProvideAssistContent(android.app.assist.AssistContent assistContent) - void onProvideAssistContent( - jni.JObject assistContent, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onProvideAssistContent, - jni.JniCallType.voidType, - [assistContent.reference]).check(); - } - - static final _id_onGetDirectActions = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onGetDirectActions", - r"(Landroid/os/CancellationSignal;Ljava/util/function/Consumer;)V"); - - /// from: public void onGetDirectActions(android.os.CancellationSignal cancellationSignal, java.util.function.Consumer consumer) - void onGetDirectActions( - CancellationSignal cancellationSignal, - jni.JObject consumer, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onGetDirectActions, - jni.JniCallType.voidType, - [cancellationSignal.reference, consumer.reference]).check(); - } - - static final _id_onPerformDirectAction = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onPerformDirectAction", - r"(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;Ljava/util/function/Consumer;)V"); - - /// from: public void onPerformDirectAction(java.lang.String string, android.os.Bundle bundle, android.os.CancellationSignal cancellationSignal, java.util.function.Consumer consumer) - void onPerformDirectAction( - jni.JString string, - Bundle bundle, - CancellationSignal cancellationSignal, - jni.JObject consumer, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_onPerformDirectAction, jni.JniCallType.voidType, [ - string.reference, - bundle.reference, - cancellationSignal.reference, - consumer.reference - ]).check(); - } - - static final _id_requestShowKeyboardShortcuts = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"requestShowKeyboardShortcuts", r"()V"); - - /// from: public final void requestShowKeyboardShortcuts() - void requestShowKeyboardShortcuts() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_requestShowKeyboardShortcuts, jni.JniCallType.voidType, []).check(); - } - - static final _id_dismissKeyboardShortcutsHelper = jni.Jni.accessors - .getMethodIDOf( - _class.reference, r"dismissKeyboardShortcutsHelper", r"()V"); - - /// from: public final void dismissKeyboardShortcutsHelper() - void dismissKeyboardShortcutsHelper() { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_dismissKeyboardShortcutsHelper, - jni.JniCallType.voidType, []).check(); - } - - static final _id_onProvideKeyboardShortcuts = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onProvideKeyboardShortcuts", - r"(Ljava/util/List;Landroid/view/Menu;I)V"); - - /// from: public void onProvideKeyboardShortcuts(java.util.List list, android.view.Menu menu, int i) - void onProvideKeyboardShortcuts( - jni.JList list, - jni.JObject menu, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onProvideKeyboardShortcuts, - jni.JniCallType.voidType, - [list.reference, menu.reference, jni.JValueInt(i)]).check(); - } - - static final _id_showAssist = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"showAssist", r"(Landroid/os/Bundle;)Z"); - - /// from: public boolean showAssist(android.os.Bundle bundle) - bool showAssist( - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_showAssist, - jni.JniCallType.booleanType, [bundle.reference]).boolean; - } - - static final _id_onStop = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"onStop", r"()V"); - - /// from: protected void onStop() - void onStop() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_onStop, jni.JniCallType.voidType, []).check(); - } - - static final _id_onDestroy = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"onDestroy", r"()V"); - - /// from: protected void onDestroy() - void onDestroy() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_onDestroy, jni.JniCallType.voidType, []).check(); - } - - static final _id_reportFullyDrawn = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"reportFullyDrawn", r"()V"); - - /// from: public void reportFullyDrawn() - void reportFullyDrawn() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_reportFullyDrawn, jni.JniCallType.voidType, []).check(); - } - - static final _id_onMultiWindowModeChanged = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onMultiWindowModeChanged", - r"(ZLandroid/content/res/Configuration;)V"); - - /// from: public void onMultiWindowModeChanged(boolean z, android.content.res.Configuration configuration) - void onMultiWindowModeChanged( - bool z, - jni.JObject configuration, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onMultiWindowModeChanged, - jni.JniCallType.voidType, - [z ? 1 : 0, configuration.reference]).check(); - } - - static final _id_onMultiWindowModeChanged1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onMultiWindowModeChanged", r"(Z)V"); - - /// from: public void onMultiWindowModeChanged(boolean z) - void onMultiWindowModeChanged1( - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onMultiWindowModeChanged1, - jni.JniCallType.voidType, - [z ? 1 : 0]).check(); - } - - static final _id_isInMultiWindowMode = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"isInMultiWindowMode", r"()Z"); - - /// from: public boolean isInMultiWindowMode() - bool isInMultiWindowMode() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_isInMultiWindowMode, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_onPictureInPictureModeChanged = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onPictureInPictureModeChanged", - r"(ZLandroid/content/res/Configuration;)V"); - - /// from: public void onPictureInPictureModeChanged(boolean z, android.content.res.Configuration configuration) - void onPictureInPictureModeChanged( - bool z, - jni.JObject configuration, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onPictureInPictureModeChanged, - jni.JniCallType.voidType, - [z ? 1 : 0, configuration.reference]).check(); - } - - static final _id_onPictureInPictureUiStateChanged = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onPictureInPictureUiStateChanged", - r"(Landroid/app/PictureInPictureUiState;)V"); - - /// from: public void onPictureInPictureUiStateChanged(android.app.PictureInPictureUiState pictureInPictureUiState) - void onPictureInPictureUiStateChanged( - jni.JObject pictureInPictureUiState, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onPictureInPictureUiStateChanged, - jni.JniCallType.voidType, - [pictureInPictureUiState.reference]).check(); - } - - static final _id_onPictureInPictureModeChanged1 = jni.Jni.accessors - .getMethodIDOf( - _class.reference, r"onPictureInPictureModeChanged", r"(Z)V"); - - /// from: public void onPictureInPictureModeChanged(boolean z) - void onPictureInPictureModeChanged1( - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onPictureInPictureModeChanged1, - jni.JniCallType.voidType, - [z ? 1 : 0]).check(); - } - - static final _id_isInPictureInPictureMode = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"isInPictureInPictureMode", r"()Z"); - - /// from: public boolean isInPictureInPictureMode() - bool isInPictureInPictureMode() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_isInPictureInPictureMode, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_enterPictureInPictureMode = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"enterPictureInPictureMode", r"()V"); - - /// from: public void enterPictureInPictureMode() - void enterPictureInPictureMode() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_enterPictureInPictureMode, jni.JniCallType.voidType, []).check(); - } - - static final _id_enterPictureInPictureMode1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"enterPictureInPictureMode", - r"(Landroid/app/PictureInPictureParams;)Z"); - - /// from: public boolean enterPictureInPictureMode(android.app.PictureInPictureParams pictureInPictureParams) - bool enterPictureInPictureMode1( - jni.JObject pictureInPictureParams, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_enterPictureInPictureMode1, - jni.JniCallType.booleanType, - [pictureInPictureParams.reference]).boolean; - } - - static final _id_setPictureInPictureParams = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setPictureInPictureParams", - r"(Landroid/app/PictureInPictureParams;)V"); - - /// from: public void setPictureInPictureParams(android.app.PictureInPictureParams pictureInPictureParams) - void setPictureInPictureParams( - jni.JObject pictureInPictureParams, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setPictureInPictureParams, - jni.JniCallType.voidType, - [pictureInPictureParams.reference]).check(); - } - - static final _id_getMaxNumPictureInPictureActions = jni.Jni.accessors - .getMethodIDOf( - _class.reference, r"getMaxNumPictureInPictureActions", r"()I"); - - /// from: public int getMaxNumPictureInPictureActions() - int getMaxNumPictureInPictureActions() { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getMaxNumPictureInPictureActions, - jni.JniCallType.intType, []).integer; - } - - static final _id_onPictureInPictureRequested = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onPictureInPictureRequested", r"()Z"); - - /// from: public boolean onPictureInPictureRequested() - bool onPictureInPictureRequested() { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onPictureInPictureRequested, - jni.JniCallType.booleanType, []).boolean; - } - - static final _id_requestFullscreenMode = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"requestFullscreenMode", - r"(ILandroid/os/OutcomeReceiver;)V"); - - /// from: public void requestFullscreenMode(int i, android.os.OutcomeReceiver outcomeReceiver) - void requestFullscreenMode( - int i, - jni.JObject outcomeReceiver, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_requestFullscreenMode, - jni.JniCallType.voidType, - [jni.JValueInt(i), outcomeReceiver.reference]).check(); - } - - static final _id_setShouldDockBigOverlays = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setShouldDockBigOverlays", r"(Z)V"); - - /// from: public void setShouldDockBigOverlays(boolean z) - void setShouldDockBigOverlays( - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setShouldDockBigOverlays, - jni.JniCallType.voidType, - [z ? 1 : 0]).check(); - } - - static final _id_shouldDockBigOverlays = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"shouldDockBigOverlays", r"()Z"); - - /// from: public boolean shouldDockBigOverlays() - bool shouldDockBigOverlays() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_shouldDockBigOverlays, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_onConfigurationChanged = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onConfigurationChanged", - r"(Landroid/content/res/Configuration;)V"); - - /// from: public void onConfigurationChanged(android.content.res.Configuration configuration) - void onConfigurationChanged( - jni.JObject configuration, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onConfigurationChanged, - jni.JniCallType.voidType, - [configuration.reference]).check(); - } - - static final _id_getChangingConfigurations = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getChangingConfigurations", r"()I"); - - /// from: public int getChangingConfigurations() - int getChangingConfigurations() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_getChangingConfigurations, jni.JniCallType.intType, []).integer; - } - - static final _id_getLastNonConfigurationInstance = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getLastNonConfigurationInstance", - r"()Ljava/lang/Object;"); - - /// from: public java.lang.Object getLastNonConfigurationInstance() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getLastNonConfigurationInstance() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getLastNonConfigurationInstance, - jni.JniCallType.objectType, []).object); - } - - static final _id_onRetainNonConfigurationInstance = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onRetainNonConfigurationInstance", - r"()Ljava/lang/Object;"); - - /// from: public java.lang.Object onRetainNonConfigurationInstance() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject onRetainNonConfigurationInstance() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onRetainNonConfigurationInstance, - jni.JniCallType.objectType, []).object); - } - - static final _id_onLowMemory = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"onLowMemory", r"()V"); - - /// from: public void onLowMemory() - void onLowMemory() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_onLowMemory, jni.JniCallType.voidType, []).check(); - } - - static final _id_onTrimMemory = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onTrimMemory", r"(I)V"); - - /// from: public void onTrimMemory(int i) - void onTrimMemory( - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_onTrimMemory, - jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); - } - - static final _id_getFragmentManager = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getFragmentManager", - r"()Landroid/app/FragmentManager;"); - - /// from: public android.app.FragmentManager getFragmentManager() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getFragmentManager() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getFragmentManager, - jni.JniCallType.objectType, []).object); - } - - static final _id_onAttachFragment = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onAttachFragment", r"(Landroid/app/Fragment;)V"); - - /// from: public void onAttachFragment(android.app.Fragment fragment) - void onAttachFragment( - jni.JObject fragment, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_onAttachFragment, - jni.JniCallType.voidType, [fragment.reference]).check(); - } - - static final _id_managedQuery = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"managedQuery", - r"(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;"); - - /// from: public final android.database.Cursor managedQuery(android.net.Uri uri, java.lang.String[] strings, java.lang.String string, java.lang.String[] strings1, java.lang.String string1) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject managedQuery( - Uri uri, - jni.JArray strings, - jni.JString string, - jni.JArray strings1, - jni.JString string1, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_managedQuery, jni.JniCallType.objectType, [ - uri.reference, - strings.reference, - string.reference, - strings1.reference, - string1.reference - ]).object); - } - - static final _id_startManagingCursor = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startManagingCursor", - r"(Landroid/database/Cursor;)V"); - - /// from: public void startManagingCursor(android.database.Cursor cursor) - void startManagingCursor( - jni.JObject cursor, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_startManagingCursor, - jni.JniCallType.voidType, - [cursor.reference]).check(); - } - - static final _id_stopManagingCursor = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"stopManagingCursor", r"(Landroid/database/Cursor;)V"); - - /// from: public void stopManagingCursor(android.database.Cursor cursor) - void stopManagingCursor( - jni.JObject cursor, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_stopManagingCursor, - jni.JniCallType.voidType, - [cursor.reference]).check(); - } - - static final _id_findViewById = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"findViewById", r"(I)Landroid/view/View;"); - - /// from: public T findViewById(int i) - /// The returned object must be released after use, by calling the [release] method. - $T findViewById<$T extends jni.JObject>( - int i, { - required jni.JObjType<$T> T, - }) { - return T.fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_findViewById, - jni.JniCallType.objectType, - [jni.JValueInt(i)]).object); - } - - static final _id_requireViewById = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"requireViewById", r"(I)Landroid/view/View;"); - - /// from: public final T requireViewById(int i) - /// The returned object must be released after use, by calling the [release] method. - $T requireViewById<$T extends jni.JObject>( - int i, { - required jni.JObjType<$T> T, - }) { - return T.fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_requireViewById, - jni.JniCallType.objectType, - [jni.JValueInt(i)]).object); - } - - static final _id_getActionBar = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getActionBar", r"()Landroid/app/ActionBar;"); - - /// from: public android.app.ActionBar getActionBar() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getActionBar() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getActionBar, jni.JniCallType.objectType, []).object); - } - - static final _id_setActionBar = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"setActionBar", r"(Landroid/widget/Toolbar;)V"); - - /// from: public void setActionBar(android.widget.Toolbar toolbar) - void setActionBar( - jni.JObject toolbar, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setActionBar, - jni.JniCallType.voidType, [toolbar.reference]).check(); - } - - static final _id_setContentView = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setContentView", r"(I)V"); - - /// from: public void setContentView(int i) - void setContentView( - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setContentView, - jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); - } - - static final _id_setContentView1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"setContentView", r"(Landroid/view/View;)V"); - - /// from: public void setContentView(android.view.View view) - void setContentView1( - jni.JObject view, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setContentView1, - jni.JniCallType.voidType, [view.reference]).check(); - } - - static final _id_setContentView2 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setContentView", - r"(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V"); - - /// from: public void setContentView(android.view.View view, android.view.ViewGroup$LayoutParams layoutParams) - void setContentView2( - jni.JObject view, - jni.JObject layoutParams, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setContentView2, - jni.JniCallType.voidType, - [view.reference, layoutParams.reference]).check(); - } - - static final _id_addContentView = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"addContentView", - r"(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V"); - - /// from: public void addContentView(android.view.View view, android.view.ViewGroup$LayoutParams layoutParams) - void addContentView( - jni.JObject view, - jni.JObject layoutParams, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_addContentView, - jni.JniCallType.voidType, - [view.reference, layoutParams.reference]).check(); - } - - static final _id_getContentTransitionManager = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getContentTransitionManager", - r"()Landroid/transition/TransitionManager;"); - - /// from: public android.transition.TransitionManager getContentTransitionManager() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getContentTransitionManager() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getContentTransitionManager, - jni.JniCallType.objectType, []).object); - } - - static final _id_setContentTransitionManager = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setContentTransitionManager", - r"(Landroid/transition/TransitionManager;)V"); - - /// from: public void setContentTransitionManager(android.transition.TransitionManager transitionManager) - void setContentTransitionManager( - jni.JObject transitionManager, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setContentTransitionManager, - jni.JniCallType.voidType, - [transitionManager.reference]).check(); - } - - static final _id_getContentScene = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getContentScene", r"()Landroid/transition/Scene;"); - - /// from: public android.transition.Scene getContentScene() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getContentScene() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getContentScene, jni.JniCallType.objectType, []).object); - } - - static final _id_setFinishOnTouchOutside = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setFinishOnTouchOutside", r"(Z)V"); - - /// from: public void setFinishOnTouchOutside(boolean z) - void setFinishOnTouchOutside( - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setFinishOnTouchOutside, - jni.JniCallType.voidType, - [z ? 1 : 0]).check(); - } - - static final _id_setDefaultKeyMode = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setDefaultKeyMode", r"(I)V"); - - /// from: public final void setDefaultKeyMode(int i) - void setDefaultKeyMode( - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setDefaultKeyMode, - jni.JniCallType.voidType, - [jni.JValueInt(i)]).check(); - } - - static final _id_onKeyDown = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onKeyDown", r"(ILandroid/view/KeyEvent;)Z"); - - /// from: public boolean onKeyDown(int i, android.view.KeyEvent keyEvent) - bool onKeyDown( - int i, - jni.JObject keyEvent, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onKeyDown, - jni.JniCallType.booleanType, - [jni.JValueInt(i), keyEvent.reference]).boolean; - } - - static final _id_onKeyLongPress = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onKeyLongPress", r"(ILandroid/view/KeyEvent;)Z"); - - /// from: public boolean onKeyLongPress(int i, android.view.KeyEvent keyEvent) - bool onKeyLongPress( - int i, - jni.JObject keyEvent, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onKeyLongPress, - jni.JniCallType.booleanType, - [jni.JValueInt(i), keyEvent.reference]).boolean; - } - - static final _id_onKeyUp = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onKeyUp", r"(ILandroid/view/KeyEvent;)Z"); - - /// from: public boolean onKeyUp(int i, android.view.KeyEvent keyEvent) - bool onKeyUp( - int i, - jni.JObject keyEvent, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onKeyUp, - jni.JniCallType.booleanType, - [jni.JValueInt(i), keyEvent.reference]).boolean; - } - - static final _id_onKeyMultiple = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onKeyMultiple", r"(IILandroid/view/KeyEvent;)Z"); - - /// from: public boolean onKeyMultiple(int i, int i1, android.view.KeyEvent keyEvent) - bool onKeyMultiple( - int i, - int i1, - jni.JObject keyEvent, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onKeyMultiple, - jni.JniCallType.booleanType, - [jni.JValueInt(i), jni.JValueInt(i1), keyEvent.reference]).boolean; - } - - static final _id_onBackPressed = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onBackPressed", r"()V"); - - /// from: public void onBackPressed() - void onBackPressed() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_onBackPressed, jni.JniCallType.voidType, []).check(); - } - - static final _id_onKeyShortcut = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onKeyShortcut", r"(ILandroid/view/KeyEvent;)Z"); - - /// from: public boolean onKeyShortcut(int i, android.view.KeyEvent keyEvent) - bool onKeyShortcut( - int i, - jni.JObject keyEvent, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onKeyShortcut, - jni.JniCallType.booleanType, - [jni.JValueInt(i), keyEvent.reference]).boolean; - } - - static final _id_onTouchEvent = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onTouchEvent", r"(Landroid/view/MotionEvent;)Z"); - - /// from: public boolean onTouchEvent(android.view.MotionEvent motionEvent) - bool onTouchEvent( - jni.JObject motionEvent, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_onTouchEvent, - jni.JniCallType.booleanType, [motionEvent.reference]).boolean; - } - - static final _id_onTrackballEvent = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onTrackballEvent", r"(Landroid/view/MotionEvent;)Z"); - - /// from: public boolean onTrackballEvent(android.view.MotionEvent motionEvent) - bool onTrackballEvent( - jni.JObject motionEvent, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_onTrackballEvent, - jni.JniCallType.booleanType, [motionEvent.reference]).boolean; - } - - static final _id_onGenericMotionEvent = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onGenericMotionEvent", - r"(Landroid/view/MotionEvent;)Z"); - - /// from: public boolean onGenericMotionEvent(android.view.MotionEvent motionEvent) - bool onGenericMotionEvent( - jni.JObject motionEvent, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onGenericMotionEvent, - jni.JniCallType.booleanType, - [motionEvent.reference]).boolean; - } - - static final _id_onUserInteraction = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onUserInteraction", r"()V"); - - /// from: public void onUserInteraction() - void onUserInteraction() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_onUserInteraction, jni.JniCallType.voidType, []).check(); - } - - static final _id_onWindowAttributesChanged = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onWindowAttributesChanged", - r"(Landroid/view/WindowManager$LayoutParams;)V"); - - /// from: public void onWindowAttributesChanged(android.view.WindowManager$LayoutParams layoutParams) - void onWindowAttributesChanged( - jni.JObject layoutParams, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onWindowAttributesChanged, - jni.JniCallType.voidType, - [layoutParams.reference]).check(); - } - - static final _id_onContentChanged = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onContentChanged", r"()V"); - - /// from: public void onContentChanged() - void onContentChanged() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_onContentChanged, jni.JniCallType.voidType, []).check(); - } - - static final _id_onWindowFocusChanged = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onWindowFocusChanged", r"(Z)V"); - - /// from: public void onWindowFocusChanged(boolean z) - void onWindowFocusChanged( - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onWindowFocusChanged, - jni.JniCallType.voidType, - [z ? 1 : 0]).check(); - } - - static final _id_onAttachedToWindow = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onAttachedToWindow", r"()V"); - - /// from: public void onAttachedToWindow() - void onAttachedToWindow() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_onAttachedToWindow, jni.JniCallType.voidType, []).check(); - } - - static final _id_onDetachedFromWindow = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onDetachedFromWindow", r"()V"); - - /// from: public void onDetachedFromWindow() - void onDetachedFromWindow() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_onDetachedFromWindow, jni.JniCallType.voidType, []).check(); - } - - static final _id_hasWindowFocus = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"hasWindowFocus", r"()Z"); - - /// from: public boolean hasWindowFocus() - bool hasWindowFocus() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_hasWindowFocus, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_dispatchKeyEvent = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"dispatchKeyEvent", r"(Landroid/view/KeyEvent;)Z"); - - /// from: public boolean dispatchKeyEvent(android.view.KeyEvent keyEvent) - bool dispatchKeyEvent( - jni.JObject keyEvent, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_dispatchKeyEvent, - jni.JniCallType.booleanType, [keyEvent.reference]).boolean; - } - - static final _id_dispatchKeyShortcutEvent = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"dispatchKeyShortcutEvent", - r"(Landroid/view/KeyEvent;)Z"); - - /// from: public boolean dispatchKeyShortcutEvent(android.view.KeyEvent keyEvent) - bool dispatchKeyShortcutEvent( - jni.JObject keyEvent, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_dispatchKeyShortcutEvent, - jni.JniCallType.booleanType, - [keyEvent.reference]).boolean; - } - - static final _id_dispatchTouchEvent = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"dispatchTouchEvent", - r"(Landroid/view/MotionEvent;)Z"); - - /// from: public boolean dispatchTouchEvent(android.view.MotionEvent motionEvent) - bool dispatchTouchEvent( - jni.JObject motionEvent, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_dispatchTouchEvent, - jni.JniCallType.booleanType, - [motionEvent.reference]).boolean; - } - - static final _id_dispatchTrackballEvent = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"dispatchTrackballEvent", - r"(Landroid/view/MotionEvent;)Z"); - - /// from: public boolean dispatchTrackballEvent(android.view.MotionEvent motionEvent) - bool dispatchTrackballEvent( - jni.JObject motionEvent, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_dispatchTrackballEvent, - jni.JniCallType.booleanType, - [motionEvent.reference]).boolean; - } - - static final _id_dispatchGenericMotionEvent = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"dispatchGenericMotionEvent", - r"(Landroid/view/MotionEvent;)Z"); - - /// from: public boolean dispatchGenericMotionEvent(android.view.MotionEvent motionEvent) - bool dispatchGenericMotionEvent( - jni.JObject motionEvent, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_dispatchGenericMotionEvent, - jni.JniCallType.booleanType, - [motionEvent.reference]).boolean; - } - - static final _id_dispatchPopulateAccessibilityEvent = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"dispatchPopulateAccessibilityEvent", - r"(Landroid/view/accessibility/AccessibilityEvent;)Z"); - - /// from: public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent accessibilityEvent) - bool dispatchPopulateAccessibilityEvent( - jni.JObject accessibilityEvent, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_dispatchPopulateAccessibilityEvent, - jni.JniCallType.booleanType, - [accessibilityEvent.reference]).boolean; - } - - static final _id_onCreatePanelView = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onCreatePanelView", r"(I)Landroid/view/View;"); - - /// from: public android.view.View onCreatePanelView(int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject onCreatePanelView( - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onCreatePanelView, - jni.JniCallType.objectType, - [jni.JValueInt(i)]).object); - } - - static final _id_onCreatePanelMenu = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onCreatePanelMenu", r"(ILandroid/view/Menu;)Z"); - - /// from: public boolean onCreatePanelMenu(int i, android.view.Menu menu) - bool onCreatePanelMenu( - int i, - jni.JObject menu, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onCreatePanelMenu, - jni.JniCallType.booleanType, - [jni.JValueInt(i), menu.reference]).boolean; - } - - static final _id_onPreparePanel = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onPreparePanel", - r"(ILandroid/view/View;Landroid/view/Menu;)Z"); - - /// from: public boolean onPreparePanel(int i, android.view.View view, android.view.Menu menu) - bool onPreparePanel( - int i, - jni.JObject view, - jni.JObject menu, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onPreparePanel, - jni.JniCallType.booleanType, - [jni.JValueInt(i), view.reference, menu.reference]).boolean; - } - - static final _id_onMenuOpened = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onMenuOpened", r"(ILandroid/view/Menu;)Z"); - - /// from: public boolean onMenuOpened(int i, android.view.Menu menu) - bool onMenuOpened( - int i, - jni.JObject menu, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onMenuOpened, - jni.JniCallType.booleanType, - [jni.JValueInt(i), menu.reference]).boolean; - } - - static final _id_onMenuItemSelected = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onMenuItemSelected", r"(ILandroid/view/MenuItem;)Z"); - - /// from: public boolean onMenuItemSelected(int i, android.view.MenuItem menuItem) - bool onMenuItemSelected( - int i, - jni.JObject menuItem, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onMenuItemSelected, - jni.JniCallType.booleanType, - [jni.JValueInt(i), menuItem.reference]).boolean; - } - - static final _id_onPanelClosed = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onPanelClosed", r"(ILandroid/view/Menu;)V"); - - /// from: public void onPanelClosed(int i, android.view.Menu menu) - void onPanelClosed( - int i, - jni.JObject menu, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_onPanelClosed, - jni.JniCallType.voidType, [jni.JValueInt(i), menu.reference]).check(); - } - - static final _id_invalidateOptionsMenu = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"invalidateOptionsMenu", r"()V"); - - /// from: public void invalidateOptionsMenu() - void invalidateOptionsMenu() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_invalidateOptionsMenu, jni.JniCallType.voidType, []).check(); - } - - static final _id_onCreateOptionsMenu = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onCreateOptionsMenu", r"(Landroid/view/Menu;)Z"); - - /// from: public boolean onCreateOptionsMenu(android.view.Menu menu) - bool onCreateOptionsMenu( - jni.JObject menu, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onCreateOptionsMenu, - jni.JniCallType.booleanType, - [menu.reference]).boolean; - } - - static final _id_onPrepareOptionsMenu = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onPrepareOptionsMenu", r"(Landroid/view/Menu;)Z"); - - /// from: public boolean onPrepareOptionsMenu(android.view.Menu menu) - bool onPrepareOptionsMenu( - jni.JObject menu, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onPrepareOptionsMenu, - jni.JniCallType.booleanType, - [menu.reference]).boolean; - } - - static final _id_onOptionsItemSelected = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onOptionsItemSelected", - r"(Landroid/view/MenuItem;)Z"); - - /// from: public boolean onOptionsItemSelected(android.view.MenuItem menuItem) - bool onOptionsItemSelected( - jni.JObject menuItem, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onOptionsItemSelected, - jni.JniCallType.booleanType, - [menuItem.reference]).boolean; - } - - static final _id_onNavigateUp = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onNavigateUp", r"()Z"); - - /// from: public boolean onNavigateUp() - bool onNavigateUp() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_onNavigateUp, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_onNavigateUpFromChild = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onNavigateUpFromChild", r"(Landroid/app/Activity;)Z"); - - /// from: public boolean onNavigateUpFromChild(android.app.Activity activity) - bool onNavigateUpFromChild( - Activity activity, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onNavigateUpFromChild, - jni.JniCallType.booleanType, - [activity.reference]).boolean; - } - - static final _id_onCreateNavigateUpTaskStack = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onCreateNavigateUpTaskStack", - r"(Landroid/app/TaskStackBuilder;)V"); - - /// from: public void onCreateNavigateUpTaskStack(android.app.TaskStackBuilder taskStackBuilder) - void onCreateNavigateUpTaskStack( - jni.JObject taskStackBuilder, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onCreateNavigateUpTaskStack, - jni.JniCallType.voidType, - [taskStackBuilder.reference]).check(); - } - - static final _id_onPrepareNavigateUpTaskStack = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onPrepareNavigateUpTaskStack", - r"(Landroid/app/TaskStackBuilder;)V"); - - /// from: public void onPrepareNavigateUpTaskStack(android.app.TaskStackBuilder taskStackBuilder) - void onPrepareNavigateUpTaskStack( - jni.JObject taskStackBuilder, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onPrepareNavigateUpTaskStack, - jni.JniCallType.voidType, - [taskStackBuilder.reference]).check(); - } - - static final _id_onOptionsMenuClosed = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onOptionsMenuClosed", r"(Landroid/view/Menu;)V"); - - /// from: public void onOptionsMenuClosed(android.view.Menu menu) - void onOptionsMenuClosed( - jni.JObject menu, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onOptionsMenuClosed, - jni.JniCallType.voidType, - [menu.reference]).check(); - } - - static final _id_openOptionsMenu = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"openOptionsMenu", r"()V"); - - /// from: public void openOptionsMenu() - void openOptionsMenu() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_openOptionsMenu, jni.JniCallType.voidType, []).check(); - } - - static final _id_closeOptionsMenu = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"closeOptionsMenu", r"()V"); - - /// from: public void closeOptionsMenu() - void closeOptionsMenu() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_closeOptionsMenu, jni.JniCallType.voidType, []).check(); - } - - static final _id_onCreateContextMenu = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onCreateContextMenu", - r"(Landroid/view/ContextMenu;Landroid/view/View;Landroid/view/ContextMenu$ContextMenuInfo;)V"); - - /// from: public void onCreateContextMenu(android.view.ContextMenu contextMenu, android.view.View view, android.view.ContextMenu$ContextMenuInfo contextMenuInfo) - void onCreateContextMenu( - jni.JObject contextMenu, - jni.JObject view, - jni.JObject contextMenuInfo, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_onCreateContextMenu, jni.JniCallType.voidType, [ - contextMenu.reference, - view.reference, - contextMenuInfo.reference - ]).check(); - } - - static final _id_registerForContextMenu = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"registerForContextMenu", r"(Landroid/view/View;)V"); - - /// from: public void registerForContextMenu(android.view.View view) - void registerForContextMenu( - jni.JObject view, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_registerForContextMenu, - jni.JniCallType.voidType, - [view.reference]).check(); - } - - static final _id_unregisterForContextMenu = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"unregisterForContextMenu", r"(Landroid/view/View;)V"); - - /// from: public void unregisterForContextMenu(android.view.View view) - void unregisterForContextMenu( - jni.JObject view, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_unregisterForContextMenu, - jni.JniCallType.voidType, - [view.reference]).check(); - } - - static final _id_openContextMenu = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"openContextMenu", r"(Landroid/view/View;)V"); - - /// from: public void openContextMenu(android.view.View view) - void openContextMenu( - jni.JObject view, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_openContextMenu, - jni.JniCallType.voidType, [view.reference]).check(); - } - - static final _id_closeContextMenu = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"closeContextMenu", r"()V"); - - /// from: public void closeContextMenu() - void closeContextMenu() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_closeContextMenu, jni.JniCallType.voidType, []).check(); - } - - static final _id_onContextItemSelected = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onContextItemSelected", - r"(Landroid/view/MenuItem;)Z"); - - /// from: public boolean onContextItemSelected(android.view.MenuItem menuItem) - bool onContextItemSelected( - jni.JObject menuItem, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onContextItemSelected, - jni.JniCallType.booleanType, - [menuItem.reference]).boolean; - } - - static final _id_onContextMenuClosed = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onContextMenuClosed", r"(Landroid/view/Menu;)V"); - - /// from: public void onContextMenuClosed(android.view.Menu menu) - void onContextMenuClosed( - jni.JObject menu, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onContextMenuClosed, - jni.JniCallType.voidType, - [menu.reference]).check(); - } - - static final _id_onCreateDialog = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onCreateDialog", r"(I)Landroid/app/Dialog;"); - - /// from: protected android.app.Dialog onCreateDialog(int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject onCreateDialog( - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onCreateDialog, - jni.JniCallType.objectType, - [jni.JValueInt(i)]).object); - } - - static final _id_onCreateDialog1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onCreateDialog", - r"(ILandroid/os/Bundle;)Landroid/app/Dialog;"); - - /// from: protected android.app.Dialog onCreateDialog(int i, android.os.Bundle bundle) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject onCreateDialog1( - int i, - Bundle bundle, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onCreateDialog1, - jni.JniCallType.objectType, - [jni.JValueInt(i), bundle.reference]).object); - } - - static final _id_onPrepareDialog = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onPrepareDialog", r"(ILandroid/app/Dialog;)V"); - - /// from: protected void onPrepareDialog(int i, android.app.Dialog dialog) - void onPrepareDialog( - int i, - jni.JObject dialog, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_onPrepareDialog, - jni.JniCallType.voidType, [jni.JValueInt(i), dialog.reference]).check(); - } - - static final _id_onPrepareDialog1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onPrepareDialog", - r"(ILandroid/app/Dialog;Landroid/os/Bundle;)V"); - - /// from: protected void onPrepareDialog(int i, android.app.Dialog dialog, android.os.Bundle bundle) - void onPrepareDialog1( - int i, - jni.JObject dialog, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onPrepareDialog1, - jni.JniCallType.voidType, - [jni.JValueInt(i), dialog.reference, bundle.reference]).check(); - } - - static final _id_showDialog = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"showDialog", r"(I)V"); - - /// from: public final void showDialog(int i) - void showDialog( - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_showDialog, - jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); - } - - static final _id_showDialog1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"showDialog", r"(ILandroid/os/Bundle;)Z"); - - /// from: public final boolean showDialog(int i, android.os.Bundle bundle) - bool showDialog1( - int i, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_showDialog1, - jni.JniCallType.booleanType, - [jni.JValueInt(i), bundle.reference]).boolean; - } - - static final _id_dismissDialog = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"dismissDialog", r"(I)V"); - - /// from: public final void dismissDialog(int i) - void dismissDialog( - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_dismissDialog, - jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); - } - - static final _id_removeDialog = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"removeDialog", r"(I)V"); - - /// from: public final void removeDialog(int i) - void removeDialog( - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_removeDialog, - jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); - } - - static final _id_onSearchRequested = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onSearchRequested", r"(Landroid/view/SearchEvent;)Z"); - - /// from: public boolean onSearchRequested(android.view.SearchEvent searchEvent) - bool onSearchRequested( - jni.JObject searchEvent, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onSearchRequested, - jni.JniCallType.booleanType, - [searchEvent.reference]).boolean; - } - - static final _id_onSearchRequested1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onSearchRequested", r"()Z"); - - /// from: public boolean onSearchRequested() - bool onSearchRequested1() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_onSearchRequested1, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_getSearchEvent = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getSearchEvent", r"()Landroid/view/SearchEvent;"); - - /// from: public final android.view.SearchEvent getSearchEvent() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getSearchEvent() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getSearchEvent, jni.JniCallType.objectType, []).object); - } - - static final _id_startSearch = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startSearch", - r"(Ljava/lang/String;ZLandroid/os/Bundle;Z)V"); - - /// from: public void startSearch(java.lang.String string, boolean z, android.os.Bundle bundle, boolean z1) - void startSearch( - jni.JString string, - bool z, - Bundle bundle, - bool z1, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_startSearch, - jni.JniCallType.voidType, - [string.reference, z ? 1 : 0, bundle.reference, z1 ? 1 : 0]).check(); - } - - static final _id_triggerSearch = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"triggerSearch", - r"(Ljava/lang/String;Landroid/os/Bundle;)V"); - - /// from: public void triggerSearch(java.lang.String string, android.os.Bundle bundle) - void triggerSearch( - jni.JString string, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_triggerSearch, - jni.JniCallType.voidType, [string.reference, bundle.reference]).check(); - } - - static final _id_takeKeyEvents = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"takeKeyEvents", r"(Z)V"); - - /// from: public void takeKeyEvents(boolean z) - void takeKeyEvents( - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_takeKeyEvents, - jni.JniCallType.voidType, [z ? 1 : 0]).check(); - } - - static final _id_requestWindowFeature = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"requestWindowFeature", r"(I)Z"); - - /// from: public final boolean requestWindowFeature(int i) - bool requestWindowFeature( - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_requestWindowFeature, - jni.JniCallType.booleanType, - [jni.JValueInt(i)]).boolean; - } - - static final _id_setFeatureDrawableResource = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setFeatureDrawableResource", r"(II)V"); - - /// from: public final void setFeatureDrawableResource(int i, int i1) - void setFeatureDrawableResource( - int i, - int i1, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setFeatureDrawableResource, - jni.JniCallType.voidType, - [jni.JValueInt(i), jni.JValueInt(i1)]).check(); - } - - static final _id_setFeatureDrawableUri = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"setFeatureDrawableUri", r"(ILandroid/net/Uri;)V"); - - /// from: public final void setFeatureDrawableUri(int i, android.net.Uri uri) - void setFeatureDrawableUri( - int i, - Uri uri, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setFeatureDrawableUri, - jni.JniCallType.voidType, - [jni.JValueInt(i), uri.reference]).check(); - } - - static final _id_setFeatureDrawable = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setFeatureDrawable", - r"(ILandroid/graphics/drawable/Drawable;)V"); - - /// from: public final void setFeatureDrawable(int i, android.graphics.drawable.Drawable drawable) - void setFeatureDrawable( - int i, - jni.JObject drawable, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setFeatureDrawable, - jni.JniCallType.voidType, - [jni.JValueInt(i), drawable.reference]).check(); - } - - static final _id_setFeatureDrawableAlpha = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setFeatureDrawableAlpha", r"(II)V"); - - /// from: public final void setFeatureDrawableAlpha(int i, int i1) - void setFeatureDrawableAlpha( - int i, - int i1, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setFeatureDrawableAlpha, - jni.JniCallType.voidType, - [jni.JValueInt(i), jni.JValueInt(i1)]).check(); - } - - static final _id_getLayoutInflater = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getLayoutInflater", - r"()Landroid/view/LayoutInflater;"); - - /// from: public android.view.LayoutInflater getLayoutInflater() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getLayoutInflater() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getLayoutInflater, - jni.JniCallType.objectType, []).object); - } - - static final _id_getMenuInflater = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getMenuInflater", r"()Landroid/view/MenuInflater;"); - - /// from: public android.view.MenuInflater getMenuInflater() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getMenuInflater() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getMenuInflater, jni.JniCallType.objectType, []).object); - } - - static final _id_setTheme = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"setTheme", r"(I)V"); - - /// from: public void setTheme(int i) - void setTheme( - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setTheme, - jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); - } - - static final _id_onApplyThemeResource = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onApplyThemeResource", - r"(Landroid/content/res/Resources$Theme;IZ)V"); - - /// from: protected void onApplyThemeResource(android.content.res.Resources$Theme theme, int i, boolean z) - void onApplyThemeResource( - jni.JObject theme, - int i, - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onApplyThemeResource, - jni.JniCallType.voidType, - [theme.reference, jni.JValueInt(i), z ? 1 : 0]).check(); - } - - static final _id_requestPermissions = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"requestPermissions", r"([Ljava/lang/String;I)V"); - - /// from: public final void requestPermissions(java.lang.String[] strings, int i) - void requestPermissions( - jni.JArray strings, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_requestPermissions, - jni.JniCallType.voidType, - [strings.reference, jni.JValueInt(i)]).check(); - } - - static final _id_onRequestPermissionsResult = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onRequestPermissionsResult", - r"(I[Ljava/lang/String;[I)V"); - - /// from: public void onRequestPermissionsResult(int i, java.lang.String[] strings, int[] is) - void onRequestPermissionsResult( - int i, - jni.JArray strings, - jni.JArray is0, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onRequestPermissionsResult, - jni.JniCallType.voidType, - [jni.JValueInt(i), strings.reference, is0.reference]).check(); - } - - static final _id_shouldShowRequestPermissionRationale = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"shouldShowRequestPermissionRationale", - r"(Ljava/lang/String;)Z"); - - /// from: public boolean shouldShowRequestPermissionRationale(java.lang.String string) - bool shouldShowRequestPermissionRationale( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_shouldShowRequestPermissionRationale, - jni.JniCallType.booleanType, - [string.reference]).boolean; - } - - static final _id_startActivityForResult = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startActivityForResult", - r"(Landroid/content/Intent;I)V"); - - /// from: public void startActivityForResult(android.content.Intent intent, int i) - void startActivityForResult( - Intent intent, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_startActivityForResult, - jni.JniCallType.voidType, - [intent.reference, jni.JValueInt(i)]).check(); - } - - static final _id_startActivityForResult1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startActivityForResult", - r"(Landroid/content/Intent;ILandroid/os/Bundle;)V"); - - /// from: public void startActivityForResult(android.content.Intent intent, int i, android.os.Bundle bundle) - void startActivityForResult1( - Intent intent, - int i, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_startActivityForResult1, - jni.JniCallType.voidType, - [intent.reference, jni.JValueInt(i), bundle.reference]).check(); - } - - static final _id_isActivityTransitionRunning = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"isActivityTransitionRunning", r"()Z"); - - /// from: public boolean isActivityTransitionRunning() - bool isActivityTransitionRunning() { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_isActivityTransitionRunning, - jni.JniCallType.booleanType, []).boolean; - } - - static final _id_startIntentSenderForResult = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startIntentSenderForResult", - r"(Landroid/content/IntentSender;ILandroid/content/Intent;III)V"); - - /// from: public void startIntentSenderForResult(android.content.IntentSender intentSender, int i, android.content.Intent intent, int i1, int i2, int i3) - void startIntentSenderForResult( - jni.JObject intentSender, - int i, - Intent intent, - int i1, - int i2, - int i3, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_startIntentSenderForResult, jni.JniCallType.voidType, [ - intentSender.reference, - jni.JValueInt(i), - intent.reference, - jni.JValueInt(i1), - jni.JValueInt(i2), - jni.JValueInt(i3) - ]).check(); - } - - static final _id_startIntentSenderForResult1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startIntentSenderForResult", - r"(Landroid/content/IntentSender;ILandroid/content/Intent;IIILandroid/os/Bundle;)V"); - - /// from: public void startIntentSenderForResult(android.content.IntentSender intentSender, int i, android.content.Intent intent, int i1, int i2, int i3, android.os.Bundle bundle) - void startIntentSenderForResult1( - jni.JObject intentSender, - int i, - Intent intent, - int i1, - int i2, - int i3, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_startIntentSenderForResult1, jni.JniCallType.voidType, [ - intentSender.reference, - jni.JValueInt(i), - intent.reference, - jni.JValueInt(i1), - jni.JValueInt(i2), - jni.JValueInt(i3), - bundle.reference - ]).check(); - } - - static final _id_startActivity = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"startActivity", r"(Landroid/content/Intent;)V"); - - /// from: public void startActivity(android.content.Intent intent) - void startActivity( - Intent intent, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_startActivity, - jni.JniCallType.voidType, [intent.reference]).check(); - } - - static final _id_startActivity1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startActivity", - r"(Landroid/content/Intent;Landroid/os/Bundle;)V"); - - /// from: public void startActivity(android.content.Intent intent, android.os.Bundle bundle) - void startActivity1( - Intent intent, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_startActivity1, - jni.JniCallType.voidType, [intent.reference, bundle.reference]).check(); - } - - static final _id_startActivities = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"startActivities", r"([Landroid/content/Intent;)V"); - - /// from: public void startActivities(android.content.Intent[] intents) - void startActivities( - jni.JArray intents, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_startActivities, - jni.JniCallType.voidType, [intents.reference]).check(); - } - - static final _id_startActivities1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startActivities", - r"([Landroid/content/Intent;Landroid/os/Bundle;)V"); - - /// from: public void startActivities(android.content.Intent[] intents, android.os.Bundle bundle) - void startActivities1( - jni.JArray intents, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_startActivities1, - jni.JniCallType.voidType, - [intents.reference, bundle.reference]).check(); - } - - static final _id_startIntentSender = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startIntentSender", - r"(Landroid/content/IntentSender;Landroid/content/Intent;III)V"); - - /// from: public void startIntentSender(android.content.IntentSender intentSender, android.content.Intent intent, int i, int i1, int i2) - void startIntentSender( - jni.JObject intentSender, - Intent intent, - int i, - int i1, - int i2, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_startIntentSender, jni.JniCallType.voidType, [ - intentSender.reference, - intent.reference, - jni.JValueInt(i), - jni.JValueInt(i1), - jni.JValueInt(i2) - ]).check(); - } - - static final _id_startIntentSender1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startIntentSender", - r"(Landroid/content/IntentSender;Landroid/content/Intent;IIILandroid/os/Bundle;)V"); - - /// from: public void startIntentSender(android.content.IntentSender intentSender, android.content.Intent intent, int i, int i1, int i2, android.os.Bundle bundle) - void startIntentSender1( - jni.JObject intentSender, - Intent intent, - int i, - int i1, - int i2, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_startIntentSender1, jni.JniCallType.voidType, [ - intentSender.reference, - intent.reference, - jni.JValueInt(i), - jni.JValueInt(i1), - jni.JValueInt(i2), - bundle.reference - ]).check(); - } - - static final _id_startActivityIfNeeded = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startActivityIfNeeded", - r"(Landroid/content/Intent;I)Z"); - - /// from: public boolean startActivityIfNeeded(android.content.Intent intent, int i) - bool startActivityIfNeeded( - Intent intent, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_startActivityIfNeeded, - jni.JniCallType.booleanType, - [intent.reference, jni.JValueInt(i)]).boolean; - } - - static final _id_startActivityIfNeeded1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startActivityIfNeeded", - r"(Landroid/content/Intent;ILandroid/os/Bundle;)Z"); - - /// from: public boolean startActivityIfNeeded(android.content.Intent intent, int i, android.os.Bundle bundle) - bool startActivityIfNeeded1( - Intent intent, - int i, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_startActivityIfNeeded1, - jni.JniCallType.booleanType, - [intent.reference, jni.JValueInt(i), bundle.reference]).boolean; - } - - static final _id_startNextMatchingActivity = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startNextMatchingActivity", - r"(Landroid/content/Intent;)Z"); - - /// from: public boolean startNextMatchingActivity(android.content.Intent intent) - bool startNextMatchingActivity( - Intent intent, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_startNextMatchingActivity, - jni.JniCallType.booleanType, - [intent.reference]).boolean; - } - - static final _id_startNextMatchingActivity1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startNextMatchingActivity", - r"(Landroid/content/Intent;Landroid/os/Bundle;)Z"); - - /// from: public boolean startNextMatchingActivity(android.content.Intent intent, android.os.Bundle bundle) - bool startNextMatchingActivity1( - Intent intent, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_startNextMatchingActivity1, - jni.JniCallType.booleanType, - [intent.reference, bundle.reference]).boolean; - } - - static final _id_startActivityFromChild = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startActivityFromChild", - r"(Landroid/app/Activity;Landroid/content/Intent;I)V"); - - /// from: public void startActivityFromChild(android.app.Activity activity, android.content.Intent intent, int i) - void startActivityFromChild( - Activity activity, - Intent intent, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_startActivityFromChild, - jni.JniCallType.voidType, - [activity.reference, intent.reference, jni.JValueInt(i)]).check(); - } - - static final _id_startActivityFromChild1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startActivityFromChild", - r"(Landroid/app/Activity;Landroid/content/Intent;ILandroid/os/Bundle;)V"); - - /// from: public void startActivityFromChild(android.app.Activity activity, android.content.Intent intent, int i, android.os.Bundle bundle) - void startActivityFromChild1( - Activity activity, - Intent intent, - int i, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_startActivityFromChild1, jni.JniCallType.voidType, [ - activity.reference, - intent.reference, - jni.JValueInt(i), - bundle.reference - ]).check(); - } - - static final _id_startActivityFromFragment = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startActivityFromFragment", - r"(Landroid/app/Fragment;Landroid/content/Intent;I)V"); - - /// from: public void startActivityFromFragment(android.app.Fragment fragment, android.content.Intent intent, int i) - void startActivityFromFragment( - jni.JObject fragment, - Intent intent, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_startActivityFromFragment, - jni.JniCallType.voidType, - [fragment.reference, intent.reference, jni.JValueInt(i)]).check(); - } - - static final _id_startActivityFromFragment1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startActivityFromFragment", - r"(Landroid/app/Fragment;Landroid/content/Intent;ILandroid/os/Bundle;)V"); - - /// from: public void startActivityFromFragment(android.app.Fragment fragment, android.content.Intent intent, int i, android.os.Bundle bundle) - void startActivityFromFragment1( - jni.JObject fragment, - Intent intent, - int i, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_startActivityFromFragment1, jni.JniCallType.voidType, [ - fragment.reference, - intent.reference, - jni.JValueInt(i), - bundle.reference - ]).check(); - } - - static final _id_startIntentSenderFromChild = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startIntentSenderFromChild", - r"(Landroid/app/Activity;Landroid/content/IntentSender;ILandroid/content/Intent;III)V"); - - /// from: public void startIntentSenderFromChild(android.app.Activity activity, android.content.IntentSender intentSender, int i, android.content.Intent intent, int i1, int i2, int i3) - void startIntentSenderFromChild( - Activity activity, - jni.JObject intentSender, - int i, - Intent intent, - int i1, - int i2, - int i3, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_startIntentSenderFromChild, jni.JniCallType.voidType, [ - activity.reference, - intentSender.reference, - jni.JValueInt(i), - intent.reference, - jni.JValueInt(i1), - jni.JValueInt(i2), - jni.JValueInt(i3) - ]).check(); - } - - static final _id_startIntentSenderFromChild1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startIntentSenderFromChild", - r"(Landroid/app/Activity;Landroid/content/IntentSender;ILandroid/content/Intent;IIILandroid/os/Bundle;)V"); - - /// from: public void startIntentSenderFromChild(android.app.Activity activity, android.content.IntentSender intentSender, int i, android.content.Intent intent, int i1, int i2, int i3, android.os.Bundle bundle) - void startIntentSenderFromChild1( - Activity activity, - jni.JObject intentSender, - int i, - Intent intent, - int i1, - int i2, - int i3, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_startIntentSenderFromChild1, jni.JniCallType.voidType, [ - activity.reference, - intentSender.reference, - jni.JValueInt(i), - intent.reference, - jni.JValueInt(i1), - jni.JValueInt(i2), - jni.JValueInt(i3), - bundle.reference - ]).check(); - } - - static final _id_overrideActivityTransition = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"overrideActivityTransition", r"(III)V"); - - /// from: public void overrideActivityTransition(int i, int i1, int i2) - void overrideActivityTransition( - int i, - int i1, - int i2, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_overrideActivityTransition, - jni.JniCallType.voidType, - [jni.JValueInt(i), jni.JValueInt(i1), jni.JValueInt(i2)]).check(); - } - - static final _id_overrideActivityTransition1 = jni.Jni.accessors - .getMethodIDOf( - _class.reference, r"overrideActivityTransition", r"(IIII)V"); - - /// from: public void overrideActivityTransition(int i, int i1, int i2, int i3) - void overrideActivityTransition1( - int i, - int i1, - int i2, - int i3, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_overrideActivityTransition1, jni.JniCallType.voidType, [ - jni.JValueInt(i), - jni.JValueInt(i1), - jni.JValueInt(i2), - jni.JValueInt(i3) - ]).check(); - } - - static final _id_clearOverrideActivityTransition = jni.Jni.accessors - .getMethodIDOf( - _class.reference, r"clearOverrideActivityTransition", r"(I)V"); - - /// from: public void clearOverrideActivityTransition(int i) - void clearOverrideActivityTransition( - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_clearOverrideActivityTransition, - jni.JniCallType.voidType, - [jni.JValueInt(i)]).check(); - } - - static final _id_overridePendingTransition = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"overridePendingTransition", r"(II)V"); - - /// from: public void overridePendingTransition(int i, int i1) - void overridePendingTransition( - int i, - int i1, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_overridePendingTransition, - jni.JniCallType.voidType, - [jni.JValueInt(i), jni.JValueInt(i1)]).check(); - } - - static final _id_overridePendingTransition1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"overridePendingTransition", r"(III)V"); - - /// from: public void overridePendingTransition(int i, int i1, int i2) - void overridePendingTransition1( - int i, - int i1, - int i2, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_overridePendingTransition1, - jni.JniCallType.voidType, - [jni.JValueInt(i), jni.JValueInt(i1), jni.JValueInt(i2)]).check(); - } - - static final _id_setResult = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"setResult", r"(I)V"); - - /// from: public final void setResult(int i) - void setResult( - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setResult, - jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); - } - - static final _id_setResult1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"setResult", r"(ILandroid/content/Intent;)V"); - - /// from: public final void setResult(int i, android.content.Intent intent) - void setResult1( - int i, - Intent intent, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setResult1, - jni.JniCallType.voidType, [jni.JValueInt(i), intent.reference]).check(); - } - - static final _id_getReferrer = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getReferrer", r"()Landroid/net/Uri;"); - - /// from: public android.net.Uri getReferrer() - /// The returned object must be released after use, by calling the [release] method. - Uri getReferrer() { - return const $UriType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getReferrer, jni.JniCallType.objectType, []).object); - } - - static final _id_onProvideReferrer = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onProvideReferrer", r"()Landroid/net/Uri;"); - - /// from: public android.net.Uri onProvideReferrer() - /// The returned object must be released after use, by calling the [release] method. - Uri onProvideReferrer() { - return const $UriType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onProvideReferrer, - jni.JniCallType.objectType, []).object); - } - - static final _id_getCallingPackage = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getCallingPackage", r"()Ljava/lang/String;"); - - /// from: public java.lang.String getCallingPackage() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getCallingPackage() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getCallingPackage, - jni.JniCallType.objectType, []).object); - } - - static final _id_getCallingActivity = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getCallingActivity", - r"()Landroid/content/ComponentName;"); - - /// from: public android.content.ComponentName getCallingActivity() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getCallingActivity() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getCallingActivity, - jni.JniCallType.objectType, []).object); - } - - static final _id_getLaunchedFromUid = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getLaunchedFromUid", r"()I"); - - /// from: public int getLaunchedFromUid() - int getLaunchedFromUid() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_getLaunchedFromUid, jni.JniCallType.intType, []).integer; - } - - static final _id_getLaunchedFromPackage = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getLaunchedFromPackage", r"()Ljava/lang/String;"); - - /// from: public java.lang.String getLaunchedFromPackage() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getLaunchedFromPackage() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getLaunchedFromPackage, - jni.JniCallType.objectType, []).object); - } - - static final _id_setVisible = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"setVisible", r"(Z)V"); - - /// from: public void setVisible(boolean z) - void setVisible( - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setVisible, - jni.JniCallType.voidType, [z ? 1 : 0]).check(); - } - - static final _id_isFinishing = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"isFinishing", r"()Z"); - - /// from: public boolean isFinishing() - bool isFinishing() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_isFinishing, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_isDestroyed = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"isDestroyed", r"()Z"); - - /// from: public boolean isDestroyed() - bool isDestroyed() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_isDestroyed, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_isChangingConfigurations = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"isChangingConfigurations", r"()Z"); - - /// from: public boolean isChangingConfigurations() - bool isChangingConfigurations() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_isChangingConfigurations, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_recreate = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"recreate", r"()V"); - - /// from: public void recreate() - void recreate() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_recreate, jni.JniCallType.voidType, []).check(); - } - - static final _id_finish = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"finish", r"()V"); - - /// from: public void finish() - void finish() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_finish, jni.JniCallType.voidType, []).check(); - } - - static final _id_finishAffinity = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"finishAffinity", r"()V"); - - /// from: public void finishAffinity() - void finishAffinity() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_finishAffinity, jni.JniCallType.voidType, []).check(); - } - - static final _id_finishFromChild = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"finishFromChild", r"(Landroid/app/Activity;)V"); - - /// from: public void finishFromChild(android.app.Activity activity) - void finishFromChild( - Activity activity, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_finishFromChild, - jni.JniCallType.voidType, [activity.reference]).check(); - } - - static final _id_finishAfterTransition = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"finishAfterTransition", r"()V"); - - /// from: public void finishAfterTransition() - void finishAfterTransition() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_finishAfterTransition, jni.JniCallType.voidType, []).check(); - } - - static final _id_finishActivity = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"finishActivity", r"(I)V"); - - /// from: public void finishActivity(int i) - void finishActivity( - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_finishActivity, - jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); - } - - static final _id_finishActivityFromChild = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"finishActivityFromChild", - r"(Landroid/app/Activity;I)V"); - - /// from: public void finishActivityFromChild(android.app.Activity activity, int i) - void finishActivityFromChild( - Activity activity, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_finishActivityFromChild, - jni.JniCallType.voidType, - [activity.reference, jni.JValueInt(i)]).check(); - } - - static final _id_finishAndRemoveTask = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"finishAndRemoveTask", r"()V"); - - /// from: public void finishAndRemoveTask() - void finishAndRemoveTask() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_finishAndRemoveTask, jni.JniCallType.voidType, []).check(); - } - - static final _id_releaseInstance = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"releaseInstance", r"()Z"); - - /// from: public boolean releaseInstance() - bool releaseInstance() { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_releaseInstance, - jni.JniCallType.booleanType, []).boolean; - } - - static final _id_onActivityResult = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onActivityResult", r"(IILandroid/content/Intent;)V"); - - /// from: protected void onActivityResult(int i, int i1, android.content.Intent intent) - void onActivityResult( - int i, - int i1, - Intent intent, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onActivityResult, - jni.JniCallType.voidType, - [jni.JValueInt(i), jni.JValueInt(i1), intent.reference]).check(); - } - - static final _id_onActivityReenter = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onActivityReenter", r"(ILandroid/content/Intent;)V"); - - /// from: public void onActivityReenter(int i, android.content.Intent intent) - void onActivityReenter( - int i, - Intent intent, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onActivityReenter, - jni.JniCallType.voidType, - [jni.JValueInt(i), intent.reference]).check(); - } - - static final _id_createPendingResult = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"createPendingResult", - r"(ILandroid/content/Intent;I)Landroid/app/PendingIntent;"); - - /// from: public android.app.PendingIntent createPendingResult(int i, android.content.Intent intent, int i1) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject createPendingResult( - int i, - Intent intent, - int i1, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_createPendingResult, - jni.JniCallType.objectType, - [jni.JValueInt(i), intent.reference, jni.JValueInt(i1)]).object); - } - - static final _id_setRequestedOrientation = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setRequestedOrientation", r"(I)V"); - - /// from: public void setRequestedOrientation(int i) - void setRequestedOrientation( - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setRequestedOrientation, - jni.JniCallType.voidType, - [jni.JValueInt(i)]).check(); - } - - static final _id_getRequestedOrientation = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getRequestedOrientation", r"()I"); - - /// from: public int getRequestedOrientation() - int getRequestedOrientation() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_getRequestedOrientation, jni.JniCallType.intType, []).integer; - } - - static final _id_getTaskId = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"getTaskId", r"()I"); - - /// from: public int getTaskId() - int getTaskId() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_getTaskId, jni.JniCallType.intType, []).integer; - } - - static final _id_isTaskRoot = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"isTaskRoot", r"()Z"); - - /// from: public boolean isTaskRoot() - bool isTaskRoot() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_isTaskRoot, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_moveTaskToBack = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"moveTaskToBack", r"(Z)Z"); - - /// from: public boolean moveTaskToBack(boolean z) - bool moveTaskToBack( - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_moveTaskToBack, - jni.JniCallType.booleanType, [z ? 1 : 0]).boolean; - } - - static final _id_getLocalClassName = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getLocalClassName", r"()Ljava/lang/String;"); - - /// from: public java.lang.String getLocalClassName() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getLocalClassName() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getLocalClassName, - jni.JniCallType.objectType, []).object); - } - - static final _id_getComponentName = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getComponentName", - r"()Landroid/content/ComponentName;"); - - /// from: public android.content.ComponentName getComponentName() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getComponentName() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getComponentName, - jni.JniCallType.objectType, []).object); - } - - static final _id_getPreferences = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getPreferences", - r"(I)Landroid/content/SharedPreferences;"); - - /// from: public android.content.SharedPreferences getPreferences(int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getPreferences( - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getPreferences, - jni.JniCallType.objectType, - [jni.JValueInt(i)]).object); - } - - static final _id_isLaunchedFromBubble = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"isLaunchedFromBubble", r"()Z"); - - /// from: public boolean isLaunchedFromBubble() - bool isLaunchedFromBubble() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_isLaunchedFromBubble, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_getSystemService = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getSystemService", - r"(Ljava/lang/String;)Ljava/lang/Object;"); - - /// from: public java.lang.Object getSystemService(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getSystemService( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getSystemService, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_setTitle = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"setTitle", r"(Ljava/lang/CharSequence;)V"); - - /// from: public void setTitle(java.lang.CharSequence charSequence) - void setTitle( - jni.JObject charSequence, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setTitle, - jni.JniCallType.voidType, [charSequence.reference]).check(); - } - - static final _id_setTitle1 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"setTitle", r"(I)V"); - - /// from: public void setTitle(int i) - void setTitle1( - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setTitle1, - jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); - } - - static final _id_setTitleColor = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setTitleColor", r"(I)V"); - - /// from: public void setTitleColor(int i) - void setTitleColor( - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setTitleColor, - jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); - } - - static final _id_getTitle = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getTitle", r"()Ljava/lang/CharSequence;"); - - /// from: public final java.lang.CharSequence getTitle() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getTitle() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getTitle, jni.JniCallType.objectType, []).object); - } - - static final _id_getTitleColor = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getTitleColor", r"()I"); - - /// from: public final int getTitleColor() - int getTitleColor() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_getTitleColor, jni.JniCallType.intType, []).integer; - } - - static final _id_onTitleChanged = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onTitleChanged", r"(Ljava/lang/CharSequence;I)V"); - - /// from: protected void onTitleChanged(java.lang.CharSequence charSequence, int i) - void onTitleChanged( - jni.JObject charSequence, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onTitleChanged, - jni.JniCallType.voidType, - [charSequence.reference, jni.JValueInt(i)]).check(); - } - - static final _id_onChildTitleChanged = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onChildTitleChanged", - r"(Landroid/app/Activity;Ljava/lang/CharSequence;)V"); - - /// from: protected void onChildTitleChanged(android.app.Activity activity, java.lang.CharSequence charSequence) - void onChildTitleChanged( - Activity activity, - jni.JObject charSequence, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onChildTitleChanged, - jni.JniCallType.voidType, - [activity.reference, charSequence.reference]).check(); - } - - static final _id_setTaskDescription = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setTaskDescription", - r"(Landroid/app/ActivityManager$TaskDescription;)V"); - - /// from: public void setTaskDescription(android.app.ActivityManager$TaskDescription taskDescription) - void setTaskDescription( - jni.JObject taskDescription, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setTaskDescription, - jni.JniCallType.voidType, - [taskDescription.reference]).check(); - } - - static final _id_setProgressBarVisibility = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setProgressBarVisibility", r"(Z)V"); - - /// from: public final void setProgressBarVisibility(boolean z) - void setProgressBarVisibility( - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setProgressBarVisibility, - jni.JniCallType.voidType, - [z ? 1 : 0]).check(); - } - - static final _id_setProgressBarIndeterminateVisibility = jni.Jni.accessors - .getMethodIDOf( - _class.reference, r"setProgressBarIndeterminateVisibility", r"(Z)V"); - - /// from: public final void setProgressBarIndeterminateVisibility(boolean z) - void setProgressBarIndeterminateVisibility( - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setProgressBarIndeterminateVisibility, - jni.JniCallType.voidType, - [z ? 1 : 0]).check(); - } - - static final _id_setProgressBarIndeterminate = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setProgressBarIndeterminate", r"(Z)V"); - - /// from: public final void setProgressBarIndeterminate(boolean z) - void setProgressBarIndeterminate( - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setProgressBarIndeterminate, - jni.JniCallType.voidType, - [z ? 1 : 0]).check(); - } - - static final _id_setProgress = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setProgress", r"(I)V"); - - /// from: public final void setProgress(int i) - void setProgress( - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setProgress, - jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); - } - - static final _id_setSecondaryProgress = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setSecondaryProgress", r"(I)V"); - - /// from: public final void setSecondaryProgress(int i) - void setSecondaryProgress( - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setSecondaryProgress, - jni.JniCallType.voidType, - [jni.JValueInt(i)]).check(); - } - - static final _id_setVolumeControlStream = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setVolumeControlStream", r"(I)V"); - - /// from: public final void setVolumeControlStream(int i) - void setVolumeControlStream( - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setVolumeControlStream, - jni.JniCallType.voidType, - [jni.JValueInt(i)]).check(); - } - - static final _id_getVolumeControlStream = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getVolumeControlStream", r"()I"); - - /// from: public final int getVolumeControlStream() - int getVolumeControlStream() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_getVolumeControlStream, jni.JniCallType.intType, []).integer; - } - - static final _id_setMediaController = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setMediaController", - r"(Landroid/media/session/MediaController;)V"); - - /// from: public final void setMediaController(android.media.session.MediaController mediaController) - void setMediaController( - jni.JObject mediaController, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setMediaController, - jni.JniCallType.voidType, - [mediaController.reference]).check(); - } - - static final _id_getMediaController = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getMediaController", - r"()Landroid/media/session/MediaController;"); - - /// from: public final android.media.session.MediaController getMediaController() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getMediaController() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getMediaController, - jni.JniCallType.objectType, []).object); - } - - static final _id_runOnUiThread = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"runOnUiThread", r"(Ljava/lang/Runnable;)V"); - - /// from: public final void runOnUiThread(java.lang.Runnable runnable) - void runOnUiThread( - Runnable runnable, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_runOnUiThread, - jni.JniCallType.voidType, [runnable.reference]).check(); - } - - static final _id_onCreateView = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onCreateView", - r"(Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;"); - - /// from: public android.view.View onCreateView(java.lang.String string, android.content.Context context, android.util.AttributeSet attributeSet) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject onCreateView( - jni.JString string, - Context context, - jni.JObject attributeSet, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onCreateView, - jni.JniCallType.objectType, - [string.reference, context.reference, attributeSet.reference]).object); - } - - static final _id_onCreateView1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onCreateView", - r"(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;"); - - /// from: public android.view.View onCreateView(android.view.View view, java.lang.String string, android.content.Context context, android.util.AttributeSet attributeSet) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject onCreateView1( - jni.JObject view, - jni.JString string, - Context context, - jni.JObject attributeSet, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_onCreateView1, jni.JniCallType.objectType, [ - view.reference, - string.reference, - context.reference, - attributeSet.reference - ]).object); - } - - static final _id_dump = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"dump", - r"(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V"); - - /// from: public void dump(java.lang.String string, java.io.FileDescriptor fileDescriptor, java.io.PrintWriter printWriter, java.lang.String[] strings) - void dump( - jni.JString string, - jni.JObject fileDescriptor, - jni.JObject printWriter, - jni.JArray strings, - ) { - return jni.Jni.accessors - .callMethodWithArgs(reference, _id_dump, jni.JniCallType.voidType, [ - string.reference, - fileDescriptor.reference, - printWriter.reference, - strings.reference - ]).check(); - } - - static final _id_isImmersive = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"isImmersive", r"()Z"); - - /// from: public boolean isImmersive() - bool isImmersive() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_isImmersive, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_setTranslucent = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setTranslucent", r"(Z)Z"); - - /// from: public boolean setTranslucent(boolean z) - bool setTranslucent( - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setTranslucent, - jni.JniCallType.booleanType, [z ? 1 : 0]).boolean; - } - - static final _id_requestVisibleBehind = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"requestVisibleBehind", r"(Z)Z"); - - /// from: public boolean requestVisibleBehind(boolean z) - bool requestVisibleBehind( - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_requestVisibleBehind, - jni.JniCallType.booleanType, - [z ? 1 : 0]).boolean; - } - - static final _id_onVisibleBehindCanceled = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onVisibleBehindCanceled", r"()V"); - - /// from: public void onVisibleBehindCanceled() - void onVisibleBehindCanceled() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_onVisibleBehindCanceled, jni.JniCallType.voidType, []).check(); - } - - static final _id_onEnterAnimationComplete = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onEnterAnimationComplete", r"()V"); - - /// from: public void onEnterAnimationComplete() - void onEnterAnimationComplete() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_onEnterAnimationComplete, jni.JniCallType.voidType, []).check(); - } - - static final _id_setImmersive = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setImmersive", r"(Z)V"); - - /// from: public void setImmersive(boolean z) - void setImmersive( - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setImmersive, - jni.JniCallType.voidType, [z ? 1 : 0]).check(); - } - - static final _id_setVrModeEnabled = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setVrModeEnabled", - r"(ZLandroid/content/ComponentName;)V"); - - /// from: public void setVrModeEnabled(boolean z, android.content.ComponentName componentName) - void setVrModeEnabled( - bool z, - jni.JObject componentName, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setVrModeEnabled, - jni.JniCallType.voidType, [z ? 1 : 0, componentName.reference]).check(); - } - - static final _id_startActionMode = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startActionMode", - r"(Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode;"); - - /// from: public android.view.ActionMode startActionMode(android.view.ActionMode$Callback callback) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject startActionMode( - jni.JObject callback, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_startActionMode, - jni.JniCallType.objectType, - [callback.reference]).object); - } - - static final _id_startActionMode1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startActionMode", - r"(Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;"); - - /// from: public android.view.ActionMode startActionMode(android.view.ActionMode$Callback callback, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject startActionMode1( - jni.JObject callback, - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_startActionMode1, - jni.JniCallType.objectType, - [callback.reference, jni.JValueInt(i)]).object); - } - - static final _id_onWindowStartingActionMode = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onWindowStartingActionMode", - r"(Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode;"); - - /// from: public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode$Callback callback) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject onWindowStartingActionMode( - jni.JObject callback, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onWindowStartingActionMode, - jni.JniCallType.objectType, - [callback.reference]).object); - } - - static final _id_onWindowStartingActionMode1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onWindowStartingActionMode", - r"(Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;"); - - /// from: public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode$Callback callback, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject onWindowStartingActionMode1( - jni.JObject callback, - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onWindowStartingActionMode1, - jni.JniCallType.objectType, - [callback.reference, jni.JValueInt(i)]).object); - } - - static final _id_onActionModeStarted = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onActionModeStarted", - r"(Landroid/view/ActionMode;)V"); - - /// from: public void onActionModeStarted(android.view.ActionMode actionMode) - void onActionModeStarted( - jni.JObject actionMode, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onActionModeStarted, - jni.JniCallType.voidType, - [actionMode.reference]).check(); - } - - static final _id_onActionModeFinished = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onActionModeFinished", - r"(Landroid/view/ActionMode;)V"); - - /// from: public void onActionModeFinished(android.view.ActionMode actionMode) - void onActionModeFinished( - jni.JObject actionMode, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_onActionModeFinished, - jni.JniCallType.voidType, - [actionMode.reference]).check(); - } - - static final _id_shouldUpRecreateTask = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"shouldUpRecreateTask", - r"(Landroid/content/Intent;)Z"); - - /// from: public boolean shouldUpRecreateTask(android.content.Intent intent) - bool shouldUpRecreateTask( - Intent intent, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_shouldUpRecreateTask, - jni.JniCallType.booleanType, - [intent.reference]).boolean; - } - - static final _id_navigateUpTo = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"navigateUpTo", r"(Landroid/content/Intent;)Z"); - - /// from: public boolean navigateUpTo(android.content.Intent intent) - bool navigateUpTo( - Intent intent, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_navigateUpTo, - jni.JniCallType.booleanType, [intent.reference]).boolean; - } - - static final _id_navigateUpToFromChild = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"navigateUpToFromChild", - r"(Landroid/app/Activity;Landroid/content/Intent;)Z"); - - /// from: public boolean navigateUpToFromChild(android.app.Activity activity, android.content.Intent intent) - bool navigateUpToFromChild( - Activity activity, - Intent intent, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_navigateUpToFromChild, - jni.JniCallType.booleanType, - [activity.reference, intent.reference]).boolean; - } - - static final _id_getParentActivityIntent = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getParentActivityIntent", - r"()Landroid/content/Intent;"); - - /// from: public android.content.Intent getParentActivityIntent() - /// The returned object must be released after use, by calling the [release] method. - Intent getParentActivityIntent() { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getParentActivityIntent, - jni.JniCallType.objectType, []).object); - } - - static final _id_setEnterSharedElementCallback = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setEnterSharedElementCallback", - r"(Landroid/app/SharedElementCallback;)V"); - - /// from: public void setEnterSharedElementCallback(android.app.SharedElementCallback sharedElementCallback) - void setEnterSharedElementCallback( - jni.JObject sharedElementCallback, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setEnterSharedElementCallback, - jni.JniCallType.voidType, - [sharedElementCallback.reference]).check(); - } - - static final _id_setExitSharedElementCallback = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setExitSharedElementCallback", - r"(Landroid/app/SharedElementCallback;)V"); - - /// from: public void setExitSharedElementCallback(android.app.SharedElementCallback sharedElementCallback) - void setExitSharedElementCallback( - jni.JObject sharedElementCallback, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setExitSharedElementCallback, - jni.JniCallType.voidType, - [sharedElementCallback.reference]).check(); - } - - static final _id_postponeEnterTransition = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"postponeEnterTransition", r"()V"); - - /// from: public void postponeEnterTransition() - void postponeEnterTransition() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_postponeEnterTransition, jni.JniCallType.voidType, []).check(); - } - - static final _id_startPostponedEnterTransition = jni.Jni.accessors - .getMethodIDOf( - _class.reference, r"startPostponedEnterTransition", r"()V"); - - /// from: public void startPostponedEnterTransition() - void startPostponedEnterTransition() { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_startPostponedEnterTransition, - jni.JniCallType.voidType, []).check(); - } - - static final _id_requestDragAndDropPermissions = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"requestDragAndDropPermissions", - r"(Landroid/view/DragEvent;)Landroid/view/DragAndDropPermissions;"); - - /// from: public android.view.DragAndDropPermissions requestDragAndDropPermissions(android.view.DragEvent dragEvent) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject requestDragAndDropPermissions( - jni.JObject dragEvent, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_requestDragAndDropPermissions, - jni.JniCallType.objectType, - [dragEvent.reference]).object); - } - - static final _id_startLockTask = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"startLockTask", r"()V"); - - /// from: public void startLockTask() - void startLockTask() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_startLockTask, jni.JniCallType.voidType, []).check(); - } - - static final _id_stopLockTask = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"stopLockTask", r"()V"); - - /// from: public void stopLockTask() - void stopLockTask() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_stopLockTask, jni.JniCallType.voidType, []).check(); - } - - static final _id_showLockTaskEscapeMessage = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"showLockTaskEscapeMessage", r"()V"); - - /// from: public void showLockTaskEscapeMessage() - void showLockTaskEscapeMessage() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_showLockTaskEscapeMessage, jni.JniCallType.voidType, []).check(); - } - - static final _id_setRecentsScreenshotEnabled = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setRecentsScreenshotEnabled", r"(Z)V"); - - /// from: public void setRecentsScreenshotEnabled(boolean z) - void setRecentsScreenshotEnabled( - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setRecentsScreenshotEnabled, - jni.JniCallType.voidType, - [z ? 1 : 0]).check(); - } - - static final _id_setShowWhenLocked = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setShowWhenLocked", r"(Z)V"); - - /// from: public void setShowWhenLocked(boolean z) - void setShowWhenLocked( - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_setShowWhenLocked, jni.JniCallType.voidType, [z ? 1 : 0]).check(); - } - - static final _id_setInheritShowWhenLocked = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setInheritShowWhenLocked", r"(Z)V"); - - /// from: public void setInheritShowWhenLocked(boolean z) - void setInheritShowWhenLocked( - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setInheritShowWhenLocked, - jni.JniCallType.voidType, - [z ? 1 : 0]).check(); - } - - static final _id_setTurnScreenOn = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setTurnScreenOn", r"(Z)V"); - - /// from: public void setTurnScreenOn(boolean z) - void setTurnScreenOn( - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setTurnScreenOn, - jni.JniCallType.voidType, [z ? 1 : 0]).check(); - } - - static final _id_getOnBackInvokedDispatcher = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getOnBackInvokedDispatcher", - r"()Landroid/window/OnBackInvokedDispatcher;"); - - /// from: public android.window.OnBackInvokedDispatcher getOnBackInvokedDispatcher() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getOnBackInvokedDispatcher() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getOnBackInvokedDispatcher, - jni.JniCallType.objectType, []).object); - } - - static final _id_registerScreenCaptureCallback = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"registerScreenCaptureCallback", - r"(Ljava/util/concurrent/Executor;Landroid/app/Activity$ScreenCaptureCallback;)V"); - - /// from: public void registerScreenCaptureCallback(java.util.concurrent.Executor executor, android.app.Activity$ScreenCaptureCallback screenCaptureCallback) - void registerScreenCaptureCallback( - Executor executor, - Activity_ScreenCaptureCallback screenCaptureCallback, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_registerScreenCaptureCallback, - jni.JniCallType.voidType, - [executor.reference, screenCaptureCallback.reference]).check(); - } - - static final _id_unregisterScreenCaptureCallback = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"unregisterScreenCaptureCallback", - r"(Landroid/app/Activity$ScreenCaptureCallback;)V"); - - /// from: public void unregisterScreenCaptureCallback(android.app.Activity$ScreenCaptureCallback screenCaptureCallback) - void unregisterScreenCaptureCallback( - Activity_ScreenCaptureCallback screenCaptureCallback, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_unregisterScreenCaptureCallback, - jni.JniCallType.voidType, - [screenCaptureCallback.reference]).check(); - } -} - -final class $ActivityType extends jni.JObjType { - const $ActivityType(); - - @override - String get signature => r"Landroid/app/Activity;"; - - @override - Activity fromRef(jni.JObjectPtr ref) => Activity.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($ActivityType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($ActivityType) && other is $ActivityType; - } -} - -/// from: android.content.Context$BindServiceFlags -class Context_BindServiceFlags extends jni.JObject { - @override - late final jni.JObjType $type = type; - - Context_BindServiceFlags.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"android/content/Context$BindServiceFlags"); - - /// The type which includes information such as the signature of this class. - static const type = $Context_BindServiceFlagsType(); - static final _id_of = jni.Jni.accessors.getStaticMethodIDOf(_class.reference, - r"of", r"(J)Landroid/content/Context$BindServiceFlags;"); - - /// from: static public android.content.Context$BindServiceFlags of(long j) - /// The returned object must be released after use, by calling the [release] method. - static Context_BindServiceFlags of( - int j, - ) { - return const $Context_BindServiceFlagsType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, _id_of, jni.JniCallType.objectType, [j]).object); - } -} - -final class $Context_BindServiceFlagsType - extends jni.JObjType { - const $Context_BindServiceFlagsType(); - - @override - String get signature => r"Landroid/content/Context$BindServiceFlags;"; - - @override - Context_BindServiceFlags fromRef(jni.JObjectPtr ref) => - Context_BindServiceFlags.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($Context_BindServiceFlagsType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($Context_BindServiceFlagsType) && - other is $Context_BindServiceFlagsType; - } -} - -/// from: android.content.Context -class Context extends jni.JObject { - @override - late final jni.JObjType $type = type; - - Context.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass(r"android/content/Context"); - - /// The type which includes information such as the signature of this class. - static const type = $ContextType(); - - /// from: static public final java.lang.String ACCESSIBILITY_SERVICE - static const ACCESSIBILITY_SERVICE = r"""accessibility"""; - - /// from: static public final java.lang.String ACCOUNT_SERVICE - static const ACCOUNT_SERVICE = r"""account"""; - - /// from: static public final java.lang.String ACTIVITY_SERVICE - static const ACTIVITY_SERVICE = r"""activity"""; - - /// from: static public final java.lang.String ALARM_SERVICE - static const ALARM_SERVICE = r"""alarm"""; - - /// from: static public final java.lang.String APPWIDGET_SERVICE - static const APPWIDGET_SERVICE = r"""appwidget"""; - - /// from: static public final java.lang.String APP_OPS_SERVICE - static const APP_OPS_SERVICE = r"""appops"""; - - /// from: static public final java.lang.String APP_SEARCH_SERVICE - static const APP_SEARCH_SERVICE = r"""app_search"""; - - /// from: static public final java.lang.String AUDIO_SERVICE - static const AUDIO_SERVICE = r"""audio"""; - - /// from: static public final java.lang.String BATTERY_SERVICE - static const BATTERY_SERVICE = r"""batterymanager"""; - - /// from: static public final int BIND_ABOVE_CLIENT - static const BIND_ABOVE_CLIENT = 8; - - /// from: static public final int BIND_ADJUST_WITH_ACTIVITY - static const BIND_ADJUST_WITH_ACTIVITY = 128; - - /// from: static public final int BIND_ALLOW_ACTIVITY_STARTS - static const BIND_ALLOW_ACTIVITY_STARTS = 512; - - /// from: static public final int BIND_ALLOW_OOM_MANAGEMENT - static const BIND_ALLOW_OOM_MANAGEMENT = 16; - - /// from: static public final int BIND_AUTO_CREATE - static const BIND_AUTO_CREATE = 1; - - /// from: static public final int BIND_DEBUG_UNBIND - static const BIND_DEBUG_UNBIND = 2; - - /// from: static public final int BIND_EXTERNAL_SERVICE - static const BIND_EXTERNAL_SERVICE = -2147483648; - - /// from: static public final long BIND_EXTERNAL_SERVICE_LONG - static const BIND_EXTERNAL_SERVICE_LONG = 4611686018427387904; - - /// from: static public final int BIND_IMPORTANT - static const BIND_IMPORTANT = 64; - - /// from: static public final int BIND_INCLUDE_CAPABILITIES - static const BIND_INCLUDE_CAPABILITIES = 4096; - - /// from: static public final int BIND_NOT_FOREGROUND - static const BIND_NOT_FOREGROUND = 4; - - /// from: static public final int BIND_NOT_PERCEPTIBLE - static const BIND_NOT_PERCEPTIBLE = 256; - - /// from: static public final int BIND_SHARED_ISOLATED_PROCESS - static const BIND_SHARED_ISOLATED_PROCESS = 8192; - - /// from: static public final int BIND_WAIVE_PRIORITY - static const BIND_WAIVE_PRIORITY = 32; - - /// from: static public final java.lang.String BIOMETRIC_SERVICE - static const BIOMETRIC_SERVICE = r"""biometric"""; - - /// from: static public final java.lang.String BLOB_STORE_SERVICE - static const BLOB_STORE_SERVICE = r"""blob_store"""; - - /// from: static public final java.lang.String BLUETOOTH_SERVICE - static const BLUETOOTH_SERVICE = r"""bluetooth"""; - - /// from: static public final java.lang.String BUGREPORT_SERVICE - static const BUGREPORT_SERVICE = r"""bugreport"""; - - /// from: static public final java.lang.String CAMERA_SERVICE - static const CAMERA_SERVICE = r"""camera"""; - - /// from: static public final java.lang.String CAPTIONING_SERVICE - static const CAPTIONING_SERVICE = r"""captioning"""; - - /// from: static public final java.lang.String CARRIER_CONFIG_SERVICE - static const CARRIER_CONFIG_SERVICE = r"""carrier_config"""; - - /// from: static public final java.lang.String CLIPBOARD_SERVICE - static const CLIPBOARD_SERVICE = r"""clipboard"""; - - /// from: static public final java.lang.String COMPANION_DEVICE_SERVICE - static const COMPANION_DEVICE_SERVICE = r"""companiondevice"""; - - /// from: static public final java.lang.String CONNECTIVITY_DIAGNOSTICS_SERVICE - static const CONNECTIVITY_DIAGNOSTICS_SERVICE = - r"""connectivity_diagnostics"""; - - /// from: static public final java.lang.String CONNECTIVITY_SERVICE - static const CONNECTIVITY_SERVICE = r"""connectivity"""; - - /// from: static public final java.lang.String CONSUMER_IR_SERVICE - static const CONSUMER_IR_SERVICE = r"""consumer_ir"""; - - /// from: static public final int CONTEXT_IGNORE_SECURITY - static const CONTEXT_IGNORE_SECURITY = 2; - - /// from: static public final int CONTEXT_INCLUDE_CODE - static const CONTEXT_INCLUDE_CODE = 1; - - /// from: static public final int CONTEXT_RESTRICTED - static const CONTEXT_RESTRICTED = 4; - - /// from: static public final java.lang.String CREDENTIAL_SERVICE - static const CREDENTIAL_SERVICE = r"""credential"""; - - /// from: static public final java.lang.String CROSS_PROFILE_APPS_SERVICE - static const CROSS_PROFILE_APPS_SERVICE = r"""crossprofileapps"""; - - /// from: static public final int DEVICE_ID_DEFAULT - static const DEVICE_ID_DEFAULT = 0; - - /// from: static public final int DEVICE_ID_INVALID - static const DEVICE_ID_INVALID = -1; - - /// from: static public final java.lang.String DEVICE_LOCK_SERVICE - static const DEVICE_LOCK_SERVICE = r"""device_lock"""; - - /// from: static public final java.lang.String DEVICE_POLICY_SERVICE - static const DEVICE_POLICY_SERVICE = r"""device_policy"""; - - /// from: static public final java.lang.String DISPLAY_HASH_SERVICE - static const DISPLAY_HASH_SERVICE = r"""display_hash"""; - - /// from: static public final java.lang.String DISPLAY_SERVICE - static const DISPLAY_SERVICE = r"""display"""; - - /// from: static public final java.lang.String DOMAIN_VERIFICATION_SERVICE - static const DOMAIN_VERIFICATION_SERVICE = r"""domain_verification"""; - - /// from: static public final java.lang.String DOWNLOAD_SERVICE - static const DOWNLOAD_SERVICE = r"""download"""; - - /// from: static public final java.lang.String DROPBOX_SERVICE - static const DROPBOX_SERVICE = r"""dropbox"""; - - /// from: static public final java.lang.String EUICC_SERVICE - static const EUICC_SERVICE = r"""euicc"""; - - /// from: static public final java.lang.String FILE_INTEGRITY_SERVICE - static const FILE_INTEGRITY_SERVICE = r"""file_integrity"""; - - /// from: static public final java.lang.String FINGERPRINT_SERVICE - static const FINGERPRINT_SERVICE = r"""fingerprint"""; - - /// from: static public final java.lang.String GAME_SERVICE - static const GAME_SERVICE = r"""game"""; - - /// from: static public final java.lang.String GRAMMATICAL_INFLECTION_SERVICE - static const GRAMMATICAL_INFLECTION_SERVICE = r"""grammatical_inflection"""; - - /// from: static public final java.lang.String HARDWARE_PROPERTIES_SERVICE - static const HARDWARE_PROPERTIES_SERVICE = r"""hardware_properties"""; - - /// from: static public final java.lang.String HEALTHCONNECT_SERVICE - static const HEALTHCONNECT_SERVICE = r"""healthconnect"""; - - /// from: static public final java.lang.String INPUT_METHOD_SERVICE - static const INPUT_METHOD_SERVICE = r"""input_method"""; - - /// from: static public final java.lang.String INPUT_SERVICE - static const INPUT_SERVICE = r"""input"""; - - /// from: static public final java.lang.String IPSEC_SERVICE - static const IPSEC_SERVICE = r"""ipsec"""; - - /// from: static public final java.lang.String JOB_SCHEDULER_SERVICE - static const JOB_SCHEDULER_SERVICE = r"""jobscheduler"""; - - /// from: static public final java.lang.String KEYGUARD_SERVICE - static const KEYGUARD_SERVICE = r"""keyguard"""; - - /// from: static public final java.lang.String LAUNCHER_APPS_SERVICE - static const LAUNCHER_APPS_SERVICE = r"""launcherapps"""; - - /// from: static public final java.lang.String LAYOUT_INFLATER_SERVICE - static const LAYOUT_INFLATER_SERVICE = r"""layout_inflater"""; - - /// from: static public final java.lang.String LOCALE_SERVICE - static const LOCALE_SERVICE = r"""locale"""; - - /// from: static public final java.lang.String LOCATION_SERVICE - static const LOCATION_SERVICE = r"""location"""; - - /// from: static public final java.lang.String MEDIA_COMMUNICATION_SERVICE - static const MEDIA_COMMUNICATION_SERVICE = r"""media_communication"""; - - /// from: static public final java.lang.String MEDIA_METRICS_SERVICE - static const MEDIA_METRICS_SERVICE = r"""media_metrics"""; - - /// from: static public final java.lang.String MEDIA_PROJECTION_SERVICE - static const MEDIA_PROJECTION_SERVICE = r"""media_projection"""; - - /// from: static public final java.lang.String MEDIA_ROUTER_SERVICE - static const MEDIA_ROUTER_SERVICE = r"""media_router"""; - - /// from: static public final java.lang.String MEDIA_SESSION_SERVICE - static const MEDIA_SESSION_SERVICE = r"""media_session"""; - - /// from: static public final java.lang.String MIDI_SERVICE - static const MIDI_SERVICE = r"""midi"""; - - /// from: static public final int MODE_APPEND - static const MODE_APPEND = 32768; - - /// from: static public final int MODE_ENABLE_WRITE_AHEAD_LOGGING - static const MODE_ENABLE_WRITE_AHEAD_LOGGING = 8; - - /// from: static public final int MODE_MULTI_PROCESS - static const MODE_MULTI_PROCESS = 4; - - /// from: static public final int MODE_NO_LOCALIZED_COLLATORS - static const MODE_NO_LOCALIZED_COLLATORS = 16; - - /// from: static public final int MODE_PRIVATE - static const MODE_PRIVATE = 0; - - /// from: static public final int MODE_WORLD_READABLE - static const MODE_WORLD_READABLE = 1; - - /// from: static public final int MODE_WORLD_WRITEABLE - static const MODE_WORLD_WRITEABLE = 2; - - /// from: static public final java.lang.String NETWORK_STATS_SERVICE - static const NETWORK_STATS_SERVICE = r"""netstats"""; - - /// from: static public final java.lang.String NFC_SERVICE - static const NFC_SERVICE = r"""nfc"""; - - /// from: static public final java.lang.String NOTIFICATION_SERVICE - static const NOTIFICATION_SERVICE = r"""notification"""; - - /// from: static public final java.lang.String NSD_SERVICE - static const NSD_SERVICE = r"""servicediscovery"""; - - /// from: static public final java.lang.String OVERLAY_SERVICE - static const OVERLAY_SERVICE = r"""overlay"""; - - /// from: static public final java.lang.String PEOPLE_SERVICE - static const PEOPLE_SERVICE = r"""people"""; - - /// from: static public final java.lang.String PERFORMANCE_HINT_SERVICE - static const PERFORMANCE_HINT_SERVICE = r"""performance_hint"""; - - /// from: static public final java.lang.String POWER_SERVICE - static const POWER_SERVICE = r"""power"""; - - /// from: static public final java.lang.String PRINT_SERVICE - static const PRINT_SERVICE = r"""print"""; - - /// from: static public final int RECEIVER_EXPORTED - static const RECEIVER_EXPORTED = 2; - - /// from: static public final int RECEIVER_NOT_EXPORTED - static const RECEIVER_NOT_EXPORTED = 4; - - /// from: static public final int RECEIVER_VISIBLE_TO_INSTANT_APPS - static const RECEIVER_VISIBLE_TO_INSTANT_APPS = 1; - - /// from: static public final java.lang.String RESTRICTIONS_SERVICE - static const RESTRICTIONS_SERVICE = r"""restrictions"""; - - /// from: static public final java.lang.String ROLE_SERVICE - static const ROLE_SERVICE = r"""role"""; - - /// from: static public final java.lang.String SEARCH_SERVICE - static const SEARCH_SERVICE = r"""search"""; - - /// from: static public final java.lang.String SENSOR_SERVICE - static const SENSOR_SERVICE = r"""sensor"""; - - /// from: static public final java.lang.String SHORTCUT_SERVICE - static const SHORTCUT_SERVICE = r"""shortcut"""; - - /// from: static public final java.lang.String STATUS_BAR_SERVICE - static const STATUS_BAR_SERVICE = r"""statusbar"""; - - /// from: static public final java.lang.String STORAGE_SERVICE - static const STORAGE_SERVICE = r"""storage"""; - - /// from: static public final java.lang.String STORAGE_STATS_SERVICE - static const STORAGE_STATS_SERVICE = r"""storagestats"""; - - /// from: static public final java.lang.String SYSTEM_HEALTH_SERVICE - static const SYSTEM_HEALTH_SERVICE = r"""systemhealth"""; - - /// from: static public final java.lang.String TELECOM_SERVICE - static const TELECOM_SERVICE = r"""telecom"""; - - /// from: static public final java.lang.String TELEPHONY_IMS_SERVICE - static const TELEPHONY_IMS_SERVICE = r"""telephony_ims"""; - - /// from: static public final java.lang.String TELEPHONY_SERVICE - static const TELEPHONY_SERVICE = r"""phone"""; - - /// from: static public final java.lang.String TELEPHONY_SUBSCRIPTION_SERVICE - static const TELEPHONY_SUBSCRIPTION_SERVICE = - r"""telephony_subscription_service"""; - - /// from: static public final java.lang.String TEXT_CLASSIFICATION_SERVICE - static const TEXT_CLASSIFICATION_SERVICE = r"""textclassification"""; - - /// from: static public final java.lang.String TEXT_SERVICES_MANAGER_SERVICE - static const TEXT_SERVICES_MANAGER_SERVICE = r"""textservices"""; - - /// from: static public final java.lang.String TV_INPUT_SERVICE - static const TV_INPUT_SERVICE = r"""tv_input"""; - - /// from: static public final java.lang.String TV_INTERACTIVE_APP_SERVICE - static const TV_INTERACTIVE_APP_SERVICE = r"""tv_interactive_app"""; - - /// from: static public final java.lang.String UI_MODE_SERVICE - static const UI_MODE_SERVICE = r"""uimode"""; - - /// from: static public final java.lang.String USAGE_STATS_SERVICE - static const USAGE_STATS_SERVICE = r"""usagestats"""; - - /// from: static public final java.lang.String USB_SERVICE - static const USB_SERVICE = r"""usb"""; - - /// from: static public final java.lang.String USER_SERVICE - static const USER_SERVICE = r"""user"""; - - /// from: static public final java.lang.String VIBRATOR_MANAGER_SERVICE - static const VIBRATOR_MANAGER_SERVICE = r"""vibrator_manager"""; - - /// from: static public final java.lang.String VIBRATOR_SERVICE - static const VIBRATOR_SERVICE = r"""vibrator"""; - - /// from: static public final java.lang.String VIRTUAL_DEVICE_SERVICE - static const VIRTUAL_DEVICE_SERVICE = r"""virtualdevice"""; - - /// from: static public final java.lang.String VPN_MANAGEMENT_SERVICE - static const VPN_MANAGEMENT_SERVICE = r"""vpn_management"""; - - /// from: static public final java.lang.String WALLPAPER_SERVICE - static const WALLPAPER_SERVICE = r"""wallpaper"""; - - /// from: static public final java.lang.String WIFI_AWARE_SERVICE - static const WIFI_AWARE_SERVICE = r"""wifiaware"""; - - /// from: static public final java.lang.String WIFI_P2P_SERVICE - static const WIFI_P2P_SERVICE = r"""wifip2p"""; - - /// from: static public final java.lang.String WIFI_RTT_RANGING_SERVICE - static const WIFI_RTT_RANGING_SERVICE = r"""wifirtt"""; - - /// from: static public final java.lang.String WIFI_SERVICE - static const WIFI_SERVICE = r"""wifi"""; - - /// from: static public final java.lang.String WINDOW_SERVICE - static const WINDOW_SERVICE = r"""window"""; - - static final _id_new0 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); - - /// from: public void () - /// The returned object must be released after use, by calling the [release] method. - factory Context() { - return Context.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, []).object); - } - - static final _id_getAssets = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getAssets", r"()Landroid/content/res/AssetManager;"); - - /// from: public abstract android.content.res.AssetManager getAssets() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getAssets() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getAssets, jni.JniCallType.objectType, []).object); - } - - static final _id_getResources = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getResources", r"()Landroid/content/res/Resources;"); - - /// from: public abstract android.content.res.Resources getResources() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getResources() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getResources, jni.JniCallType.objectType, []).object); - } - - static final _id_getPackageManager = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getPackageManager", - r"()Landroid/content/pm/PackageManager;"); - - /// from: public abstract android.content.pm.PackageManager getPackageManager() - /// The returned object must be released after use, by calling the [release] method. - PackageManager getPackageManager() { - return const $PackageManagerType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getPackageManager, - jni.JniCallType.objectType, []).object); - } - - static final _id_getContentResolver = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getContentResolver", - r"()Landroid/content/ContentResolver;"); - - /// from: public abstract android.content.ContentResolver getContentResolver() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getContentResolver() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getContentResolver, - jni.JniCallType.objectType, []).object); - } - - static final _id_getMainLooper = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getMainLooper", r"()Landroid/os/Looper;"); - - /// from: public abstract android.os.Looper getMainLooper() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getMainLooper() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getMainLooper, jni.JniCallType.objectType, []).object); - } - - static final _id_getMainExecutor = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getMainExecutor", - r"()Ljava/util/concurrent/Executor;"); - - /// from: public java.util.concurrent.Executor getMainExecutor() - /// The returned object must be released after use, by calling the [release] method. - Executor getMainExecutor() { - return const $ExecutorType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getMainExecutor, jni.JniCallType.objectType, []).object); - } - - static final _id_getApplicationContext = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getApplicationContext", - r"()Landroid/content/Context;"); - - /// from: public abstract android.content.Context getApplicationContext() - /// The returned object must be released after use, by calling the [release] method. - Context getApplicationContext() { - return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getApplicationContext, - jni.JniCallType.objectType, []).object); - } - - static final _id_registerComponentCallbacks = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"registerComponentCallbacks", - r"(Landroid/content/ComponentCallbacks;)V"); - - /// from: public void registerComponentCallbacks(android.content.ComponentCallbacks componentCallbacks) - void registerComponentCallbacks( - jni.JObject componentCallbacks, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_registerComponentCallbacks, - jni.JniCallType.voidType, - [componentCallbacks.reference]).check(); - } - - static final _id_unregisterComponentCallbacks = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"unregisterComponentCallbacks", - r"(Landroid/content/ComponentCallbacks;)V"); - - /// from: public void unregisterComponentCallbacks(android.content.ComponentCallbacks componentCallbacks) - void unregisterComponentCallbacks( - jni.JObject componentCallbacks, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_unregisterComponentCallbacks, - jni.JniCallType.voidType, - [componentCallbacks.reference]).check(); - } - - static final _id_getText = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getText", r"(I)Ljava/lang/CharSequence;"); - - /// from: public final java.lang.CharSequence getText(int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getText( - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getText, - jni.JniCallType.objectType, - [jni.JValueInt(i)]).object); - } - - static final _id_getString = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getString", r"(I)Ljava/lang/String;"); - - /// from: public final java.lang.String getString(int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JString getString( - int i, - ) { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getString, - jni.JniCallType.objectType, - [jni.JValueInt(i)]).object); - } - - static final _id_getString1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getString", - r"(I[Ljava/lang/Object;)Ljava/lang/String;"); - - /// from: public final java.lang.String getString(int i, java.lang.Object[] objects) - /// The returned object must be released after use, by calling the [release] method. - jni.JString getString1( - int i, - jni.JArray objects, - ) { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getString1, - jni.JniCallType.objectType, - [jni.JValueInt(i), objects.reference]).object); - } - - static final _id_getColor = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"getColor", r"(I)I"); - - /// from: public final int getColor(int i) - int getColor( - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_getColor, - jni.JniCallType.intType, [jni.JValueInt(i)]).integer; - } - - static final _id_getDrawable = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getDrawable", - r"(I)Landroid/graphics/drawable/Drawable;"); - - /// from: public final android.graphics.drawable.Drawable getDrawable(int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getDrawable( - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getDrawable, - jni.JniCallType.objectType, - [jni.JValueInt(i)]).object); - } - - static final _id_getColorStateList = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getColorStateList", - r"(I)Landroid/content/res/ColorStateList;"); - - /// from: public final android.content.res.ColorStateList getColorStateList(int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getColorStateList( - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getColorStateList, - jni.JniCallType.objectType, - [jni.JValueInt(i)]).object); - } - - static final _id_setTheme = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"setTheme", r"(I)V"); - - /// from: public abstract void setTheme(int i) - void setTheme( - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setTheme, - jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); - } - - static final _id_getTheme = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"getTheme", r"()Landroid/content/res/Resources$Theme;"); - - /// from: public abstract android.content.res.Resources$Theme getTheme() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getTheme() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getTheme, jni.JniCallType.objectType, []).object); - } - - static final _id_obtainStyledAttributes = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"obtainStyledAttributes", - r"([I)Landroid/content/res/TypedArray;"); - - /// from: public final android.content.res.TypedArray obtainStyledAttributes(int[] is) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject obtainStyledAttributes( - jni.JArray is0, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_obtainStyledAttributes, - jni.JniCallType.objectType, - [is0.reference]).object); - } - - static final _id_obtainStyledAttributes1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"obtainStyledAttributes", - r"(I[I)Landroid/content/res/TypedArray;"); - - /// from: public final android.content.res.TypedArray obtainStyledAttributes(int i, int[] is) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject obtainStyledAttributes1( - int i, - jni.JArray is0, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_obtainStyledAttributes1, - jni.JniCallType.objectType, - [jni.JValueInt(i), is0.reference]).object); - } - - static final _id_obtainStyledAttributes2 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"obtainStyledAttributes", - r"(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;"); - - /// from: public final android.content.res.TypedArray obtainStyledAttributes(android.util.AttributeSet attributeSet, int[] is) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject obtainStyledAttributes2( - jni.JObject attributeSet, - jni.JArray is0, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_obtainStyledAttributes2, - jni.JniCallType.objectType, - [attributeSet.reference, is0.reference]).object); - } - - static final _id_obtainStyledAttributes3 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"obtainStyledAttributes", - r"(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;"); - - /// from: public final android.content.res.TypedArray obtainStyledAttributes(android.util.AttributeSet attributeSet, int[] is, int i, int i1) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject obtainStyledAttributes3( - jni.JObject attributeSet, - jni.JArray is0, - int i, - int i1, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_obtainStyledAttributes3, jni.JniCallType.objectType, [ - attributeSet.reference, - is0.reference, - jni.JValueInt(i), - jni.JValueInt(i1) - ]).object); - } - - static final _id_getClassLoader = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getClassLoader", r"()Ljava/lang/ClassLoader;"); - - /// from: public abstract java.lang.ClassLoader getClassLoader() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getClassLoader() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getClassLoader, jni.JniCallType.objectType, []).object); - } - - static final _id_getPackageName = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getPackageName", r"()Ljava/lang/String;"); - - /// from: public abstract java.lang.String getPackageName() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getPackageName() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getPackageName, jni.JniCallType.objectType, []).object); - } - - static final _id_getOpPackageName = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getOpPackageName", r"()Ljava/lang/String;"); - - /// from: public java.lang.String getOpPackageName() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getOpPackageName() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getOpPackageName, - jni.JniCallType.objectType, []).object); - } - - static final _id_getAttributionTag = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getAttributionTag", r"()Ljava/lang/String;"); - - /// from: public java.lang.String getAttributionTag() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getAttributionTag() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getAttributionTag, - jni.JniCallType.objectType, []).object); - } - - static final _id_getAttributionSource = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getAttributionSource", - r"()Landroid/content/AttributionSource;"); - - /// from: public android.content.AttributionSource getAttributionSource() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getAttributionSource() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getAttributionSource, - jni.JniCallType.objectType, []).object); - } - - static final _id_getParams = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getParams", r"()Landroid/content/ContextParams;"); - - /// from: public android.content.ContextParams getParams() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getParams() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getParams, jni.JniCallType.objectType, []).object); - } - - static final _id_getApplicationInfo = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getApplicationInfo", - r"()Landroid/content/pm/ApplicationInfo;"); - - /// from: public abstract android.content.pm.ApplicationInfo getApplicationInfo() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getApplicationInfo() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getApplicationInfo, - jni.JniCallType.objectType, []).object); - } - - static final _id_getPackageResourcePath = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getPackageResourcePath", r"()Ljava/lang/String;"); - - /// from: public abstract java.lang.String getPackageResourcePath() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getPackageResourcePath() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getPackageResourcePath, - jni.JniCallType.objectType, []).object); - } - - static final _id_getPackageCodePath = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getPackageCodePath", r"()Ljava/lang/String;"); - - /// from: public abstract java.lang.String getPackageCodePath() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getPackageCodePath() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getPackageCodePath, - jni.JniCallType.objectType, []).object); - } - - static final _id_getSharedPreferences = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getSharedPreferences", - r"(Ljava/lang/String;I)Landroid/content/SharedPreferences;"); - - /// from: public abstract android.content.SharedPreferences getSharedPreferences(java.lang.String string, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getSharedPreferences( - jni.JString string, - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getSharedPreferences, - jni.JniCallType.objectType, - [string.reference, jni.JValueInt(i)]).object); - } - - static final _id_moveSharedPreferencesFrom = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"moveSharedPreferencesFrom", - r"(Landroid/content/Context;Ljava/lang/String;)Z"); - - /// from: public abstract boolean moveSharedPreferencesFrom(android.content.Context context, java.lang.String string) - bool moveSharedPreferencesFrom( - Context context, - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_moveSharedPreferencesFrom, - jni.JniCallType.booleanType, - [context.reference, string.reference]).boolean; - } - - static final _id_deleteSharedPreferences = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"deleteSharedPreferences", r"(Ljava/lang/String;)Z"); - - /// from: public abstract boolean deleteSharedPreferences(java.lang.String string) - bool deleteSharedPreferences( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_deleteSharedPreferences, - jni.JniCallType.booleanType, - [string.reference]).boolean; - } - - static final _id_openFileInput = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"openFileInput", - r"(Ljava/lang/String;)Ljava/io/FileInputStream;"); - - /// from: public abstract java.io.FileInputStream openFileInput(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject openFileInput( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_openFileInput, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_openFileOutput = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"openFileOutput", - r"(Ljava/lang/String;I)Ljava/io/FileOutputStream;"); - - /// from: public abstract java.io.FileOutputStream openFileOutput(java.lang.String string, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject openFileOutput( - jni.JString string, - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_openFileOutput, - jni.JniCallType.objectType, - [string.reference, jni.JValueInt(i)]).object); - } - - static final _id_deleteFile = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"deleteFile", r"(Ljava/lang/String;)Z"); - - /// from: public abstract boolean deleteFile(java.lang.String string) - bool deleteFile( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_deleteFile, - jni.JniCallType.booleanType, [string.reference]).boolean; - } - - static final _id_getFileStreamPath = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getFileStreamPath", - r"(Ljava/lang/String;)Ljava/io/File;"); - - /// from: public abstract java.io.File getFileStreamPath(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getFileStreamPath( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getFileStreamPath, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getDataDir = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getDataDir", r"()Ljava/io/File;"); - - /// from: public abstract java.io.File getDataDir() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getDataDir() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getDataDir, jni.JniCallType.objectType, []).object); - } - - static final _id_getFilesDir = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getFilesDir", r"()Ljava/io/File;"); - - /// from: public abstract java.io.File getFilesDir() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getFilesDir() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getFilesDir, jni.JniCallType.objectType, []).object); - } - - static final _id_getNoBackupFilesDir = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getNoBackupFilesDir", r"()Ljava/io/File;"); - - /// from: public abstract java.io.File getNoBackupFilesDir() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getNoBackupFilesDir() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getNoBackupFilesDir, - jni.JniCallType.objectType, []).object); - } - - static final _id_getExternalFilesDir = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getExternalFilesDir", - r"(Ljava/lang/String;)Ljava/io/File;"); - - /// from: public abstract java.io.File getExternalFilesDir(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getExternalFilesDir( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getExternalFilesDir, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getExternalFilesDirs = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getExternalFilesDirs", - r"(Ljava/lang/String;)[Ljava/io/File;"); - - /// from: public abstract java.io.File[] getExternalFilesDirs(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getExternalFilesDirs( - jni.JString string, - ) { - return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getExternalFilesDirs, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getObbDir = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getObbDir", r"()Ljava/io/File;"); - - /// from: public abstract java.io.File getObbDir() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getObbDir() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getObbDir, jni.JniCallType.objectType, []).object); - } - - static final _id_getObbDirs = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getObbDirs", r"()[Ljava/io/File;"); - - /// from: public abstract java.io.File[] getObbDirs() - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getObbDirs() { - return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, _id_getObbDirs, jni.JniCallType.objectType, []).object); - } - - static final _id_getCacheDir = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getCacheDir", r"()Ljava/io/File;"); - - /// from: public abstract java.io.File getCacheDir() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getCacheDir() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getCacheDir, jni.JniCallType.objectType, []).object); - } - - static final _id_getCodeCacheDir = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getCodeCacheDir", r"()Ljava/io/File;"); - - /// from: public abstract java.io.File getCodeCacheDir() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getCodeCacheDir() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getCodeCacheDir, jni.JniCallType.objectType, []).object); - } - - static final _id_getExternalCacheDir = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getExternalCacheDir", r"()Ljava/io/File;"); - - /// from: public abstract java.io.File getExternalCacheDir() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getExternalCacheDir() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getExternalCacheDir, - jni.JniCallType.objectType, []).object); - } - - static final _id_getExternalCacheDirs = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getExternalCacheDirs", r"()[Ljava/io/File;"); - - /// from: public abstract java.io.File[] getExternalCacheDirs() - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getExternalCacheDirs() { - return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getExternalCacheDirs, - jni.JniCallType.objectType, []).object); - } - - static final _id_getExternalMediaDirs = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getExternalMediaDirs", r"()[Ljava/io/File;"); - - /// from: public abstract java.io.File[] getExternalMediaDirs() - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getExternalMediaDirs() { - return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getExternalMediaDirs, - jni.JniCallType.objectType, []).object); - } - - static final _id_fileList = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"fileList", r"()[Ljava/lang/String;"); - - /// from: public abstract java.lang.String[] fileList() - /// The returned object must be released after use, by calling the [release] method. - jni.JArray fileList() { - return const jni.JArrayType(jni.JStringType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, _id_fileList, jni.JniCallType.objectType, []).object); - } - - static final _id_getDir = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getDir", r"(Ljava/lang/String;I)Ljava/io/File;"); - - /// from: public abstract java.io.File getDir(java.lang.String string, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getDir( - jni.JString string, - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getDir, - jni.JniCallType.objectType, - [string.reference, jni.JValueInt(i)]).object); - } - - static final _id_openOrCreateDatabase = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"openOrCreateDatabase", - r"(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;"); - - /// from: public abstract android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String string, int i, android.database.sqlite.SQLiteDatabase$CursorFactory cursorFactory) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject openOrCreateDatabase( - jni.JString string, - int i, - jni.JObject cursorFactory, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_openOrCreateDatabase, - jni.JniCallType.objectType, - [string.reference, jni.JValueInt(i), cursorFactory.reference]).object); - } - - static final _id_openOrCreateDatabase1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"openOrCreateDatabase", - r"(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;)Landroid/database/sqlite/SQLiteDatabase;"); - - /// from: public abstract android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String string, int i, android.database.sqlite.SQLiteDatabase$CursorFactory cursorFactory, android.database.DatabaseErrorHandler databaseErrorHandler) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject openOrCreateDatabase1( - jni.JString string, - int i, - jni.JObject cursorFactory, - jni.JObject databaseErrorHandler, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_openOrCreateDatabase1, jni.JniCallType.objectType, [ - string.reference, - jni.JValueInt(i), - cursorFactory.reference, - databaseErrorHandler.reference - ]).object); - } - - static final _id_moveDatabaseFrom = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"moveDatabaseFrom", - r"(Landroid/content/Context;Ljava/lang/String;)Z"); - - /// from: public abstract boolean moveDatabaseFrom(android.content.Context context, java.lang.String string) - bool moveDatabaseFrom( - Context context, - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_moveDatabaseFrom, - jni.JniCallType.booleanType, - [context.reference, string.reference]).boolean; - } - - static final _id_deleteDatabase = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"deleteDatabase", r"(Ljava/lang/String;)Z"); - - /// from: public abstract boolean deleteDatabase(java.lang.String string) - bool deleteDatabase( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_deleteDatabase, - jni.JniCallType.booleanType, [string.reference]).boolean; - } - - static final _id_getDatabasePath = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getDatabasePath", - r"(Ljava/lang/String;)Ljava/io/File;"); - - /// from: public abstract java.io.File getDatabasePath(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getDatabasePath( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getDatabasePath, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_databaseList = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"databaseList", r"()[Ljava/lang/String;"); - - /// from: public abstract java.lang.String[] databaseList() - /// The returned object must be released after use, by calling the [release] method. - jni.JArray databaseList() { - return const jni.JArrayType(jni.JStringType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_databaseList, - jni.JniCallType.objectType, []).object); - } - - static final _id_getWallpaper = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getWallpaper", - r"()Landroid/graphics/drawable/Drawable;"); - - /// from: public abstract android.graphics.drawable.Drawable getWallpaper() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getWallpaper() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getWallpaper, jni.JniCallType.objectType, []).object); - } - - static final _id_peekWallpaper = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"peekWallpaper", - r"()Landroid/graphics/drawable/Drawable;"); - - /// from: public abstract android.graphics.drawable.Drawable peekWallpaper() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject peekWallpaper() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_peekWallpaper, jni.JniCallType.objectType, []).object); - } - - static final _id_getWallpaperDesiredMinimumWidth = jni.Jni.accessors - .getMethodIDOf( - _class.reference, r"getWallpaperDesiredMinimumWidth", r"()I"); - - /// from: public abstract int getWallpaperDesiredMinimumWidth() - int getWallpaperDesiredMinimumWidth() { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getWallpaperDesiredMinimumWidth, - jni.JniCallType.intType, []).integer; - } - - static final _id_getWallpaperDesiredMinimumHeight = jni.Jni.accessors - .getMethodIDOf( - _class.reference, r"getWallpaperDesiredMinimumHeight", r"()I"); - - /// from: public abstract int getWallpaperDesiredMinimumHeight() - int getWallpaperDesiredMinimumHeight() { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getWallpaperDesiredMinimumHeight, - jni.JniCallType.intType, []).integer; - } - - static final _id_setWallpaper = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"setWallpaper", r"(Landroid/graphics/Bitmap;)V"); - - /// from: public abstract void setWallpaper(android.graphics.Bitmap bitmap) - void setWallpaper( - jni.JObject bitmap, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setWallpaper, - jni.JniCallType.voidType, [bitmap.reference]).check(); - } - - static final _id_setWallpaper1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"setWallpaper", r"(Ljava/io/InputStream;)V"); - - /// from: public abstract void setWallpaper(java.io.InputStream inputStream) - void setWallpaper1( - jni.JObject inputStream, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setWallpaper1, - jni.JniCallType.voidType, [inputStream.reference]).check(); - } - - static final _id_clearWallpaper = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"clearWallpaper", r"()V"); - - /// from: public abstract void clearWallpaper() - void clearWallpaper() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_clearWallpaper, jni.JniCallType.voidType, []).check(); - } - - static final _id_startActivity = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"startActivity", r"(Landroid/content/Intent;)V"); - - /// from: public abstract void startActivity(android.content.Intent intent) - void startActivity( - Intent intent, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_startActivity, - jni.JniCallType.voidType, [intent.reference]).check(); - } - - static final _id_startActivity1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startActivity", - r"(Landroid/content/Intent;Landroid/os/Bundle;)V"); - - /// from: public abstract void startActivity(android.content.Intent intent, android.os.Bundle bundle) - void startActivity1( - Intent intent, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_startActivity1, - jni.JniCallType.voidType, [intent.reference, bundle.reference]).check(); - } - - static final _id_startActivities = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"startActivities", r"([Landroid/content/Intent;)V"); - - /// from: public abstract void startActivities(android.content.Intent[] intents) - void startActivities( - jni.JArray intents, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_startActivities, - jni.JniCallType.voidType, [intents.reference]).check(); - } - - static final _id_startActivities1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startActivities", - r"([Landroid/content/Intent;Landroid/os/Bundle;)V"); - - /// from: public abstract void startActivities(android.content.Intent[] intents, android.os.Bundle bundle) - void startActivities1( - jni.JArray intents, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_startActivities1, - jni.JniCallType.voidType, - [intents.reference, bundle.reference]).check(); - } - - static final _id_startIntentSender = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startIntentSender", - r"(Landroid/content/IntentSender;Landroid/content/Intent;III)V"); - - /// from: public abstract void startIntentSender(android.content.IntentSender intentSender, android.content.Intent intent, int i, int i1, int i2) - void startIntentSender( - jni.JObject intentSender, - Intent intent, - int i, - int i1, - int i2, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_startIntentSender, jni.JniCallType.voidType, [ - intentSender.reference, - intent.reference, - jni.JValueInt(i), - jni.JValueInt(i1), - jni.JValueInt(i2) - ]).check(); - } - - static final _id_startIntentSender1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startIntentSender", - r"(Landroid/content/IntentSender;Landroid/content/Intent;IIILandroid/os/Bundle;)V"); - - /// from: public abstract void startIntentSender(android.content.IntentSender intentSender, android.content.Intent intent, int i, int i1, int i2, android.os.Bundle bundle) - void startIntentSender1( - jni.JObject intentSender, - Intent intent, - int i, - int i1, - int i2, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_startIntentSender1, jni.JniCallType.voidType, [ - intentSender.reference, - intent.reference, - jni.JValueInt(i), - jni.JValueInt(i1), - jni.JValueInt(i2), - bundle.reference - ]).check(); - } - - static final _id_sendBroadcast = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"sendBroadcast", r"(Landroid/content/Intent;)V"); - - /// from: public abstract void sendBroadcast(android.content.Intent intent) - void sendBroadcast( - Intent intent, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_sendBroadcast, - jni.JniCallType.voidType, [intent.reference]).check(); - } - - static final _id_sendBroadcast1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"sendBroadcast", - r"(Landroid/content/Intent;Ljava/lang/String;)V"); - - /// from: public abstract void sendBroadcast(android.content.Intent intent, java.lang.String string) - void sendBroadcast1( - Intent intent, - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_sendBroadcast1, - jni.JniCallType.voidType, [intent.reference, string.reference]).check(); - } - - static final _id_sendBroadcastWithMultiplePermissions = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"sendBroadcastWithMultiplePermissions", - r"(Landroid/content/Intent;[Ljava/lang/String;)V"); - - /// from: public void sendBroadcastWithMultiplePermissions(android.content.Intent intent, java.lang.String[] strings) - void sendBroadcastWithMultiplePermissions( - Intent intent, - jni.JArray strings, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_sendBroadcastWithMultiplePermissions, - jni.JniCallType.voidType, - [intent.reference, strings.reference]).check(); - } - - static final _id_sendBroadcast2 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"sendBroadcast", - r"(Landroid/content/Intent;Ljava/lang/String;Landroid/os/Bundle;)V"); - - /// from: public void sendBroadcast(android.content.Intent intent, java.lang.String string, android.os.Bundle bundle) - void sendBroadcast2( - Intent intent, - jni.JString string, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_sendBroadcast2, - jni.JniCallType.voidType, - [intent.reference, string.reference, bundle.reference]).check(); - } - - static final _id_sendOrderedBroadcast = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"sendOrderedBroadcast", - r"(Landroid/content/Intent;Ljava/lang/String;)V"); - - /// from: public abstract void sendOrderedBroadcast(android.content.Intent intent, java.lang.String string) - void sendOrderedBroadcast( - Intent intent, - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_sendOrderedBroadcast, - jni.JniCallType.voidType, - [intent.reference, string.reference]).check(); - } - - static final _id_sendOrderedBroadcast1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"sendOrderedBroadcast", - r"(Landroid/content/Intent;Ljava/lang/String;Landroid/os/Bundle;)V"); - - /// from: public void sendOrderedBroadcast(android.content.Intent intent, java.lang.String string, android.os.Bundle bundle) - void sendOrderedBroadcast1( - Intent intent, - jni.JString string, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_sendOrderedBroadcast1, - jni.JniCallType.voidType, - [intent.reference, string.reference, bundle.reference]).check(); - } - - static final _id_sendOrderedBroadcast2 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"sendOrderedBroadcast", - r"(Landroid/content/Intent;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V"); - - /// from: public abstract void sendOrderedBroadcast(android.content.Intent intent, java.lang.String string, android.content.BroadcastReceiver broadcastReceiver, android.os.Handler handler, int i, java.lang.String string1, android.os.Bundle bundle) - void sendOrderedBroadcast2( - Intent intent, - jni.JString string, - jni.JObject broadcastReceiver, - jni.JObject handler, - int i, - jni.JString string1, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_sendOrderedBroadcast2, jni.JniCallType.voidType, [ - intent.reference, - string.reference, - broadcastReceiver.reference, - handler.reference, - jni.JValueInt(i), - string1.reference, - bundle.reference - ]).check(); - } - - static final _id_sendOrderedBroadcast3 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"sendOrderedBroadcast", - r"(Landroid/content/Intent;Ljava/lang/String;Landroid/os/Bundle;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V"); - - /// from: public void sendOrderedBroadcast(android.content.Intent intent, java.lang.String string, android.os.Bundle bundle, android.content.BroadcastReceiver broadcastReceiver, android.os.Handler handler, int i, java.lang.String string1, android.os.Bundle bundle1) - void sendOrderedBroadcast3( - Intent intent, - jni.JString string, - Bundle bundle, - jni.JObject broadcastReceiver, - jni.JObject handler, - int i, - jni.JString string1, - Bundle bundle1, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_sendOrderedBroadcast3, jni.JniCallType.voidType, [ - intent.reference, - string.reference, - bundle.reference, - broadcastReceiver.reference, - handler.reference, - jni.JValueInt(i), - string1.reference, - bundle1.reference - ]).check(); - } - - static final _id_sendBroadcastAsUser = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"sendBroadcastAsUser", - r"(Landroid/content/Intent;Landroid/os/UserHandle;)V"); - - /// from: public abstract void sendBroadcastAsUser(android.content.Intent intent, android.os.UserHandle userHandle) - void sendBroadcastAsUser( - Intent intent, - jni.JObject userHandle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_sendBroadcastAsUser, - jni.JniCallType.voidType, - [intent.reference, userHandle.reference]).check(); - } - - static final _id_sendBroadcastAsUser1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"sendBroadcastAsUser", - r"(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;)V"); - - /// from: public abstract void sendBroadcastAsUser(android.content.Intent intent, android.os.UserHandle userHandle, java.lang.String string) - void sendBroadcastAsUser1( - Intent intent, - jni.JObject userHandle, - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_sendBroadcastAsUser1, - jni.JniCallType.voidType, - [intent.reference, userHandle.reference, string.reference]).check(); - } - - static final _id_sendOrderedBroadcastAsUser = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"sendOrderedBroadcastAsUser", - r"(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V"); - - /// from: public abstract void sendOrderedBroadcastAsUser(android.content.Intent intent, android.os.UserHandle userHandle, java.lang.String string, android.content.BroadcastReceiver broadcastReceiver, android.os.Handler handler, int i, java.lang.String string1, android.os.Bundle bundle) - void sendOrderedBroadcastAsUser( - Intent intent, - jni.JObject userHandle, - jni.JString string, - jni.JObject broadcastReceiver, - jni.JObject handler, - int i, - jni.JString string1, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_sendOrderedBroadcastAsUser, jni.JniCallType.voidType, [ - intent.reference, - userHandle.reference, - string.reference, - broadcastReceiver.reference, - handler.reference, - jni.JValueInt(i), - string1.reference, - bundle.reference - ]).check(); - } - - static final _id_sendOrderedBroadcast4 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"sendOrderedBroadcast", - r"(Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V"); - - /// from: public void sendOrderedBroadcast(android.content.Intent intent, java.lang.String string, java.lang.String string1, android.content.BroadcastReceiver broadcastReceiver, android.os.Handler handler, int i, java.lang.String string2, android.os.Bundle bundle) - void sendOrderedBroadcast4( - Intent intent, - jni.JString string, - jni.JString string1, - jni.JObject broadcastReceiver, - jni.JObject handler, - int i, - jni.JString string2, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_sendOrderedBroadcast4, jni.JniCallType.voidType, [ - intent.reference, - string.reference, - string1.reference, - broadcastReceiver.reference, - handler.reference, - jni.JValueInt(i), - string2.reference, - bundle.reference - ]).check(); - } - - static final _id_sendStickyBroadcast = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"sendStickyBroadcast", r"(Landroid/content/Intent;)V"); - - /// from: public abstract void sendStickyBroadcast(android.content.Intent intent) - void sendStickyBroadcast( - Intent intent, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_sendStickyBroadcast, - jni.JniCallType.voidType, - [intent.reference]).check(); - } - - static final _id_sendStickyBroadcast1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"sendStickyBroadcast", - r"(Landroid/content/Intent;Landroid/os/Bundle;)V"); - - /// from: public void sendStickyBroadcast(android.content.Intent intent, android.os.Bundle bundle) - void sendStickyBroadcast1( - Intent intent, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_sendStickyBroadcast1, - jni.JniCallType.voidType, - [intent.reference, bundle.reference]).check(); - } - - static final _id_sendStickyOrderedBroadcast = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"sendStickyOrderedBroadcast", - r"(Landroid/content/Intent;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V"); - - /// from: public abstract void sendStickyOrderedBroadcast(android.content.Intent intent, android.content.BroadcastReceiver broadcastReceiver, android.os.Handler handler, int i, java.lang.String string, android.os.Bundle bundle) - void sendStickyOrderedBroadcast( - Intent intent, - jni.JObject broadcastReceiver, - jni.JObject handler, - int i, - jni.JString string, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_sendStickyOrderedBroadcast, jni.JniCallType.voidType, [ - intent.reference, - broadcastReceiver.reference, - handler.reference, - jni.JValueInt(i), - string.reference, - bundle.reference - ]).check(); - } - - static final _id_removeStickyBroadcast = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"removeStickyBroadcast", - r"(Landroid/content/Intent;)V"); - - /// from: public abstract void removeStickyBroadcast(android.content.Intent intent) - void removeStickyBroadcast( - Intent intent, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_removeStickyBroadcast, - jni.JniCallType.voidType, - [intent.reference]).check(); - } - - static final _id_sendStickyBroadcastAsUser = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"sendStickyBroadcastAsUser", - r"(Landroid/content/Intent;Landroid/os/UserHandle;)V"); - - /// from: public abstract void sendStickyBroadcastAsUser(android.content.Intent intent, android.os.UserHandle userHandle) - void sendStickyBroadcastAsUser( - Intent intent, - jni.JObject userHandle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_sendStickyBroadcastAsUser, - jni.JniCallType.voidType, - [intent.reference, userHandle.reference]).check(); - } - - static final _id_sendStickyOrderedBroadcastAsUser = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"sendStickyOrderedBroadcastAsUser", - r"(Landroid/content/Intent;Landroid/os/UserHandle;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V"); - - /// from: public abstract void sendStickyOrderedBroadcastAsUser(android.content.Intent intent, android.os.UserHandle userHandle, android.content.BroadcastReceiver broadcastReceiver, android.os.Handler handler, int i, java.lang.String string, android.os.Bundle bundle) - void sendStickyOrderedBroadcastAsUser( - Intent intent, - jni.JObject userHandle, - jni.JObject broadcastReceiver, - jni.JObject handler, - int i, - jni.JString string, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_sendStickyOrderedBroadcastAsUser, jni.JniCallType.voidType, [ - intent.reference, - userHandle.reference, - broadcastReceiver.reference, - handler.reference, - jni.JValueInt(i), - string.reference, - bundle.reference - ]).check(); - } - - static final _id_removeStickyBroadcastAsUser = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"removeStickyBroadcastAsUser", - r"(Landroid/content/Intent;Landroid/os/UserHandle;)V"); - - /// from: public abstract void removeStickyBroadcastAsUser(android.content.Intent intent, android.os.UserHandle userHandle) - void removeStickyBroadcastAsUser( - Intent intent, - jni.JObject userHandle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_removeStickyBroadcastAsUser, - jni.JniCallType.voidType, - [intent.reference, userHandle.reference]).check(); - } - - static final _id_registerReceiver = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"registerReceiver", - r"(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;"); - - /// from: public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver broadcastReceiver, android.content.IntentFilter intentFilter) - /// The returned object must be released after use, by calling the [release] method. - Intent registerReceiver( - jni.JObject broadcastReceiver, - jni.JObject intentFilter, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_registerReceiver, - jni.JniCallType.objectType, - [broadcastReceiver.reference, intentFilter.reference]).object); - } - - static final _id_registerReceiver1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"registerReceiver", - r"(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent;"); - - /// from: public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver broadcastReceiver, android.content.IntentFilter intentFilter, int i) - /// The returned object must be released after use, by calling the [release] method. - Intent registerReceiver1( - jni.JObject broadcastReceiver, - jni.JObject intentFilter, - int i, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_registerReceiver1, jni.JniCallType.objectType, [ - broadcastReceiver.reference, - intentFilter.reference, - jni.JValueInt(i) - ]).object); - } - - static final _id_registerReceiver2 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"registerReceiver", - r"(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;"); - - /// from: public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver broadcastReceiver, android.content.IntentFilter intentFilter, java.lang.String string, android.os.Handler handler) - /// The returned object must be released after use, by calling the [release] method. - Intent registerReceiver2( - jni.JObject broadcastReceiver, - jni.JObject intentFilter, - jni.JString string, - jni.JObject handler, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_registerReceiver2, jni.JniCallType.objectType, [ - broadcastReceiver.reference, - intentFilter.reference, - string.reference, - handler.reference - ]).object); - } - - static final _id_registerReceiver3 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"registerReceiver", - r"(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;I)Landroid/content/Intent;"); - - /// from: public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver broadcastReceiver, android.content.IntentFilter intentFilter, java.lang.String string, android.os.Handler handler, int i) - /// The returned object must be released after use, by calling the [release] method. - Intent registerReceiver3( - jni.JObject broadcastReceiver, - jni.JObject intentFilter, - jni.JString string, - jni.JObject handler, - int i, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_registerReceiver3, jni.JniCallType.objectType, [ - broadcastReceiver.reference, - intentFilter.reference, - string.reference, - handler.reference, - jni.JValueInt(i) - ]).object); - } - - static final _id_unregisterReceiver = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"unregisterReceiver", - r"(Landroid/content/BroadcastReceiver;)V"); - - /// from: public abstract void unregisterReceiver(android.content.BroadcastReceiver broadcastReceiver) - void unregisterReceiver( - jni.JObject broadcastReceiver, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_unregisterReceiver, - jni.JniCallType.voidType, - [broadcastReceiver.reference]).check(); - } - - static final _id_startService = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startService", - r"(Landroid/content/Intent;)Landroid/content/ComponentName;"); - - /// from: public abstract android.content.ComponentName startService(android.content.Intent intent) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject startService( - Intent intent, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_startService, - jni.JniCallType.objectType, - [intent.reference]).object); - } - - static final _id_startForegroundService = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startForegroundService", - r"(Landroid/content/Intent;)Landroid/content/ComponentName;"); - - /// from: public abstract android.content.ComponentName startForegroundService(android.content.Intent intent) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject startForegroundService( - Intent intent, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_startForegroundService, - jni.JniCallType.objectType, - [intent.reference]).object); - } - - static final _id_stopService = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"stopService", r"(Landroid/content/Intent;)Z"); - - /// from: public abstract boolean stopService(android.content.Intent intent) - bool stopService( - Intent intent, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_stopService, - jni.JniCallType.booleanType, [intent.reference]).boolean; - } - - static final _id_bindService = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"bindService", - r"(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z"); - - /// from: public abstract boolean bindService(android.content.Intent intent, android.content.ServiceConnection serviceConnection, int i) - bool bindService( - Intent intent, - jni.JObject serviceConnection, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_bindService, jni.JniCallType.booleanType, [ - intent.reference, - serviceConnection.reference, - jni.JValueInt(i) - ]).boolean; - } - - static final _id_bindService1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"bindService", - r"(Landroid/content/Intent;Landroid/content/ServiceConnection;Landroid/content/Context$BindServiceFlags;)Z"); - - /// from: public boolean bindService(android.content.Intent intent, android.content.ServiceConnection serviceConnection, android.content.Context$BindServiceFlags bindServiceFlags) - bool bindService1( - Intent intent, - jni.JObject serviceConnection, - Context_BindServiceFlags bindServiceFlags, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_bindService1, jni.JniCallType.booleanType, [ - intent.reference, - serviceConnection.reference, - bindServiceFlags.reference - ]).boolean; - } - - static final _id_bindService2 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"bindService", - r"(Landroid/content/Intent;ILjava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z"); - - /// from: public boolean bindService(android.content.Intent intent, int i, java.util.concurrent.Executor executor, android.content.ServiceConnection serviceConnection) - bool bindService2( - Intent intent, - int i, - Executor executor, - jni.JObject serviceConnection, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_bindService2, jni.JniCallType.booleanType, [ - intent.reference, - jni.JValueInt(i), - executor.reference, - serviceConnection.reference - ]).boolean; - } - - static final _id_bindService3 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"bindService", - r"(Landroid/content/Intent;Landroid/content/Context$BindServiceFlags;Ljava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z"); - - /// from: public boolean bindService(android.content.Intent intent, android.content.Context$BindServiceFlags bindServiceFlags, java.util.concurrent.Executor executor, android.content.ServiceConnection serviceConnection) - bool bindService3( - Intent intent, - Context_BindServiceFlags bindServiceFlags, - Executor executor, - jni.JObject serviceConnection, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_bindService3, jni.JniCallType.booleanType, [ - intent.reference, - bindServiceFlags.reference, - executor.reference, - serviceConnection.reference - ]).boolean; - } - - static final _id_bindIsolatedService = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"bindIsolatedService", - r"(Landroid/content/Intent;ILjava/lang/String;Ljava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z"); - - /// from: public boolean bindIsolatedService(android.content.Intent intent, int i, java.lang.String string, java.util.concurrent.Executor executor, android.content.ServiceConnection serviceConnection) - bool bindIsolatedService( - Intent intent, - int i, - jni.JString string, - Executor executor, - jni.JObject serviceConnection, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_bindIsolatedService, jni.JniCallType.booleanType, [ - intent.reference, - jni.JValueInt(i), - string.reference, - executor.reference, - serviceConnection.reference - ]).boolean; - } - - static final _id_bindIsolatedService1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"bindIsolatedService", - r"(Landroid/content/Intent;Landroid/content/Context$BindServiceFlags;Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z"); - - /// from: public boolean bindIsolatedService(android.content.Intent intent, android.content.Context$BindServiceFlags bindServiceFlags, java.lang.String string, java.util.concurrent.Executor executor, android.content.ServiceConnection serviceConnection) - bool bindIsolatedService1( - Intent intent, - Context_BindServiceFlags bindServiceFlags, - jni.JString string, - Executor executor, - jni.JObject serviceConnection, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_bindIsolatedService1, jni.JniCallType.booleanType, [ - intent.reference, - bindServiceFlags.reference, - string.reference, - executor.reference, - serviceConnection.reference - ]).boolean; - } - - static final _id_bindServiceAsUser = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"bindServiceAsUser", - r"(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/UserHandle;)Z"); - - /// from: public boolean bindServiceAsUser(android.content.Intent intent, android.content.ServiceConnection serviceConnection, int i, android.os.UserHandle userHandle) - bool bindServiceAsUser( - Intent intent, - jni.JObject serviceConnection, - int i, - jni.JObject userHandle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_bindServiceAsUser, jni.JniCallType.booleanType, [ - intent.reference, - serviceConnection.reference, - jni.JValueInt(i), - userHandle.reference - ]).boolean; - } - - static final _id_bindServiceAsUser1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"bindServiceAsUser", - r"(Landroid/content/Intent;Landroid/content/ServiceConnection;Landroid/content/Context$BindServiceFlags;Landroid/os/UserHandle;)Z"); - - /// from: public boolean bindServiceAsUser(android.content.Intent intent, android.content.ServiceConnection serviceConnection, android.content.Context$BindServiceFlags bindServiceFlags, android.os.UserHandle userHandle) - bool bindServiceAsUser1( - Intent intent, - jni.JObject serviceConnection, - Context_BindServiceFlags bindServiceFlags, - jni.JObject userHandle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_bindServiceAsUser1, jni.JniCallType.booleanType, [ - intent.reference, - serviceConnection.reference, - bindServiceFlags.reference, - userHandle.reference - ]).boolean; - } - - static final _id_updateServiceGroup = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"updateServiceGroup", - r"(Landroid/content/ServiceConnection;II)V"); - - /// from: public void updateServiceGroup(android.content.ServiceConnection serviceConnection, int i, int i1) - void updateServiceGroup( - jni.JObject serviceConnection, - int i, - int i1, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_updateServiceGroup, jni.JniCallType.voidType, [ - serviceConnection.reference, - jni.JValueInt(i), - jni.JValueInt(i1) - ]).check(); - } - - static final _id_unbindService = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"unbindService", - r"(Landroid/content/ServiceConnection;)V"); - - /// from: public abstract void unbindService(android.content.ServiceConnection serviceConnection) - void unbindService( - jni.JObject serviceConnection, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_unbindService, - jni.JniCallType.voidType, [serviceConnection.reference]).check(); - } - - static final _id_startInstrumentation = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"startInstrumentation", - r"(Landroid/content/ComponentName;Ljava/lang/String;Landroid/os/Bundle;)Z"); - - /// from: public abstract boolean startInstrumentation(android.content.ComponentName componentName, java.lang.String string, android.os.Bundle bundle) - bool startInstrumentation( - jni.JObject componentName, - jni.JString string, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_startInstrumentation, - jni.JniCallType.booleanType, - [componentName.reference, string.reference, bundle.reference]).boolean; - } - - static final _id_getSystemService = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getSystemService", - r"(Ljava/lang/String;)Ljava/lang/Object;"); - - /// from: public abstract java.lang.Object getSystemService(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getSystemService( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getSystemService, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getSystemService1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getSystemService", - r"(Ljava/lang/Class;)Ljava/lang/Object;"); - - /// from: public final T getSystemService(java.lang.Class class) - /// The returned object must be released after use, by calling the [release] method. - $T getSystemService1<$T extends jni.JObject>( - jni.JObject class0, { - required jni.JObjType<$T> T, - }) { - return T.fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getSystemService1, - jni.JniCallType.objectType, - [class0.reference]).object); - } - - static final _id_getSystemServiceName = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getSystemServiceName", - r"(Ljava/lang/Class;)Ljava/lang/String;"); - - /// from: public abstract java.lang.String getSystemServiceName(java.lang.Class class) - /// The returned object must be released after use, by calling the [release] method. - jni.JString getSystemServiceName( - jni.JObject class0, - ) { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getSystemServiceName, - jni.JniCallType.objectType, - [class0.reference]).object); - } - - static final _id_checkPermission = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"checkPermission", r"(Ljava/lang/String;II)I"); - - /// from: public abstract int checkPermission(java.lang.String string, int i, int i1) - int checkPermission( - jni.JString string, - int i, - int i1, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_checkPermission, - jni.JniCallType.intType, - [string.reference, jni.JValueInt(i), jni.JValueInt(i1)]).integer; - } - - static final _id_checkCallingPermission = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"checkCallingPermission", r"(Ljava/lang/String;)I"); - - /// from: public abstract int checkCallingPermission(java.lang.String string) - int checkCallingPermission( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_checkCallingPermission, - jni.JniCallType.intType, - [string.reference]).integer; - } - - static final _id_checkCallingOrSelfPermission = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"checkCallingOrSelfPermission", - r"(Ljava/lang/String;)I"); - - /// from: public abstract int checkCallingOrSelfPermission(java.lang.String string) - int checkCallingOrSelfPermission( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_checkCallingOrSelfPermission, - jni.JniCallType.intType, - [string.reference]).integer; - } - - static final _id_checkSelfPermission = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"checkSelfPermission", r"(Ljava/lang/String;)I"); - - /// from: public abstract int checkSelfPermission(java.lang.String string) - int checkSelfPermission( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_checkSelfPermission, - jni.JniCallType.intType, - [string.reference]).integer; - } - - static final _id_enforcePermission = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"enforcePermission", - r"(Ljava/lang/String;IILjava/lang/String;)V"); - - /// from: public abstract void enforcePermission(java.lang.String string, int i, int i1, java.lang.String string1) - void enforcePermission( - jni.JString string, - int i, - int i1, - jni.JString string1, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_enforcePermission, jni.JniCallType.voidType, [ - string.reference, - jni.JValueInt(i), - jni.JValueInt(i1), - string1.reference - ]).check(); - } - - static final _id_enforceCallingPermission = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"enforceCallingPermission", - r"(Ljava/lang/String;Ljava/lang/String;)V"); - - /// from: public abstract void enforceCallingPermission(java.lang.String string, java.lang.String string1) - void enforceCallingPermission( - jni.JString string, - jni.JString string1, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_enforceCallingPermission, - jni.JniCallType.voidType, - [string.reference, string1.reference]).check(); - } - - static final _id_enforceCallingOrSelfPermission = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"enforceCallingOrSelfPermission", - r"(Ljava/lang/String;Ljava/lang/String;)V"); - - /// from: public abstract void enforceCallingOrSelfPermission(java.lang.String string, java.lang.String string1) - void enforceCallingOrSelfPermission( - jni.JString string, - jni.JString string1, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_enforceCallingOrSelfPermission, - jni.JniCallType.voidType, - [string.reference, string1.reference]).check(); - } - - static final _id_grantUriPermission = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"grantUriPermission", - r"(Ljava/lang/String;Landroid/net/Uri;I)V"); - - /// from: public abstract void grantUriPermission(java.lang.String string, android.net.Uri uri, int i) - void grantUriPermission( - jni.JString string, - Uri uri, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_grantUriPermission, - jni.JniCallType.voidType, - [string.reference, uri.reference, jni.JValueInt(i)]).check(); - } - - static final _id_revokeUriPermission = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"revokeUriPermission", r"(Landroid/net/Uri;I)V"); - - /// from: public abstract void revokeUriPermission(android.net.Uri uri, int i) - void revokeUriPermission( - Uri uri, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_revokeUriPermission, - jni.JniCallType.voidType, - [uri.reference, jni.JValueInt(i)]).check(); - } - - static final _id_revokeUriPermission1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"revokeUriPermission", - r"(Ljava/lang/String;Landroid/net/Uri;I)V"); - - /// from: public abstract void revokeUriPermission(java.lang.String string, android.net.Uri uri, int i) - void revokeUriPermission1( - jni.JString string, - Uri uri, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_revokeUriPermission1, - jni.JniCallType.voidType, - [string.reference, uri.reference, jni.JValueInt(i)]).check(); - } - - static final _id_checkUriPermission = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"checkUriPermission", r"(Landroid/net/Uri;III)I"); - - /// from: public abstract int checkUriPermission(android.net.Uri uri, int i, int i1, int i2) - int checkUriPermission( - Uri uri, - int i, - int i1, - int i2, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_checkUriPermission, jni.JniCallType.intType, [ - uri.reference, - jni.JValueInt(i), - jni.JValueInt(i1), - jni.JValueInt(i2) - ]).integer; - } - - static final _id_checkUriPermissions = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"checkUriPermissions", r"(Ljava/util/List;III)[I"); - - /// from: public java.lang.Object[] checkUriPermissions(java.util.List list, int i, int i1, int i2) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray checkUriPermissions( - jni.JList list, - int i, - int i1, - int i2, - ) { - return const jni.JArrayType(jni.jintType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, _id_checkUriPermissions, jni.JniCallType.objectType, [ - list.reference, - jni.JValueInt(i), - jni.JValueInt(i1), - jni.JValueInt(i2) - ]).object); - } - - static final _id_checkCallingUriPermission = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"checkCallingUriPermission", r"(Landroid/net/Uri;I)I"); - - /// from: public abstract int checkCallingUriPermission(android.net.Uri uri, int i) - int checkCallingUriPermission( - Uri uri, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_checkCallingUriPermission, - jni.JniCallType.intType, - [uri.reference, jni.JValueInt(i)]).integer; - } - - static final _id_checkCallingUriPermissions = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"checkCallingUriPermissions", - r"(Ljava/util/List;I)[I"); - - /// from: public java.lang.Object[] checkCallingUriPermissions(java.util.List list, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray checkCallingUriPermissions( - jni.JList list, - int i, - ) { - return const jni.JArrayType(jni.jintType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_checkCallingUriPermissions, - jni.JniCallType.objectType, - [list.reference, jni.JValueInt(i)]).object); - } - - static final _id_checkCallingOrSelfUriPermission = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"checkCallingOrSelfUriPermission", - r"(Landroid/net/Uri;I)I"); - - /// from: public abstract int checkCallingOrSelfUriPermission(android.net.Uri uri, int i) - int checkCallingOrSelfUriPermission( - Uri uri, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_checkCallingOrSelfUriPermission, - jni.JniCallType.intType, - [uri.reference, jni.JValueInt(i)]).integer; - } - - static final _id_checkCallingOrSelfUriPermissions = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"checkCallingOrSelfUriPermissions", - r"(Ljava/util/List;I)[I"); - - /// from: public java.lang.Object[] checkCallingOrSelfUriPermissions(java.util.List list, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray checkCallingOrSelfUriPermissions( - jni.JList list, - int i, - ) { - return const jni.JArrayType(jni.jintType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_checkCallingOrSelfUriPermissions, - jni.JniCallType.objectType, - [list.reference, jni.JValueInt(i)]).object); - } - - static final _id_checkUriPermission1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"checkUriPermission", - r"(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;III)I"); - - /// from: public abstract int checkUriPermission(android.net.Uri uri, java.lang.String string, java.lang.String string1, int i, int i1, int i2) - int checkUriPermission1( - Uri uri, - jni.JString string, - jni.JString string1, - int i, - int i1, - int i2, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_checkUriPermission1, jni.JniCallType.intType, [ - uri.reference, - string.reference, - string1.reference, - jni.JValueInt(i), - jni.JValueInt(i1), - jni.JValueInt(i2) - ]).integer; - } - - static final _id_enforceUriPermission = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"enforceUriPermission", - r"(Landroid/net/Uri;IIILjava/lang/String;)V"); - - /// from: public abstract void enforceUriPermission(android.net.Uri uri, int i, int i1, int i2, java.lang.String string) - void enforceUriPermission( - Uri uri, - int i, - int i1, - int i2, - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_enforceUriPermission, jni.JniCallType.voidType, [ - uri.reference, - jni.JValueInt(i), - jni.JValueInt(i1), - jni.JValueInt(i2), - string.reference - ]).check(); - } - - static final _id_enforceCallingUriPermission = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"enforceCallingUriPermission", - r"(Landroid/net/Uri;ILjava/lang/String;)V"); - - /// from: public abstract void enforceCallingUriPermission(android.net.Uri uri, int i, java.lang.String string) - void enforceCallingUriPermission( - Uri uri, - int i, - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_enforceCallingUriPermission, - jni.JniCallType.voidType, - [uri.reference, jni.JValueInt(i), string.reference]).check(); - } - - static final _id_enforceCallingOrSelfUriPermission = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"enforceCallingOrSelfUriPermission", - r"(Landroid/net/Uri;ILjava/lang/String;)V"); - - /// from: public abstract void enforceCallingOrSelfUriPermission(android.net.Uri uri, int i, java.lang.String string) - void enforceCallingOrSelfUriPermission( - Uri uri, - int i, - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_enforceCallingOrSelfUriPermission, - jni.JniCallType.voidType, - [uri.reference, jni.JValueInt(i), string.reference]).check(); - } - - static final _id_enforceUriPermission1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"enforceUriPermission", - r"(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;)V"); - - /// from: public abstract void enforceUriPermission(android.net.Uri uri, java.lang.String string, java.lang.String string1, int i, int i1, int i2, java.lang.String string2) - void enforceUriPermission1( - Uri uri, - jni.JString string, - jni.JString string1, - int i, - int i1, - int i2, - jni.JString string2, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_enforceUriPermission1, jni.JniCallType.voidType, [ - uri.reference, - string.reference, - string1.reference, - jni.JValueInt(i), - jni.JValueInt(i1), - jni.JValueInt(i2), - string2.reference - ]).check(); - } - - static final _id_revokeSelfPermissionOnKill = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"revokeSelfPermissionOnKill", - r"(Ljava/lang/String;)V"); - - /// from: public void revokeSelfPermissionOnKill(java.lang.String string) - void revokeSelfPermissionOnKill( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_revokeSelfPermissionOnKill, - jni.JniCallType.voidType, - [string.reference]).check(); - } - - static final _id_revokeSelfPermissionsOnKill = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"revokeSelfPermissionsOnKill", - r"(Ljava/util/Collection;)V"); - - /// from: public void revokeSelfPermissionsOnKill(java.util.Collection collection) - void revokeSelfPermissionsOnKill( - jni.JObject collection, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_revokeSelfPermissionsOnKill, - jni.JniCallType.voidType, - [collection.reference]).check(); - } - - static final _id_createPackageContext = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"createPackageContext", - r"(Ljava/lang/String;I)Landroid/content/Context;"); - - /// from: public abstract android.content.Context createPackageContext(java.lang.String string, int i) - /// The returned object must be released after use, by calling the [release] method. - Context createPackageContext( - jni.JString string, - int i, - ) { - return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_createPackageContext, - jni.JniCallType.objectType, - [string.reference, jni.JValueInt(i)]).object); - } - - static final _id_createContextForSplit = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"createContextForSplit", - r"(Ljava/lang/String;)Landroid/content/Context;"); - - /// from: public abstract android.content.Context createContextForSplit(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Context createContextForSplit( - jni.JString string, - ) { - return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_createContextForSplit, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_createConfigurationContext = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"createConfigurationContext", - r"(Landroid/content/res/Configuration;)Landroid/content/Context;"); - - /// from: public abstract android.content.Context createConfigurationContext(android.content.res.Configuration configuration) - /// The returned object must be released after use, by calling the [release] method. - Context createConfigurationContext( - jni.JObject configuration, - ) { - return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_createConfigurationContext, - jni.JniCallType.objectType, - [configuration.reference]).object); - } - - static final _id_createDisplayContext = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"createDisplayContext", - r"(Landroid/view/Display;)Landroid/content/Context;"); - - /// from: public abstract android.content.Context createDisplayContext(android.view.Display display) - /// The returned object must be released after use, by calling the [release] method. - Context createDisplayContext( - jni.JObject display, - ) { - return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_createDisplayContext, - jni.JniCallType.objectType, - [display.reference]).object); - } - - static final _id_createDeviceContext = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"createDeviceContext", - r"(I)Landroid/content/Context;"); - - /// from: public android.content.Context createDeviceContext(int i) - /// The returned object must be released after use, by calling the [release] method. - Context createDeviceContext( - int i, - ) { - return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_createDeviceContext, - jni.JniCallType.objectType, - [jni.JValueInt(i)]).object); - } - - static final _id_createWindowContext = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"createWindowContext", - r"(ILandroid/os/Bundle;)Landroid/content/Context;"); - - /// from: public android.content.Context createWindowContext(int i, android.os.Bundle bundle) - /// The returned object must be released after use, by calling the [release] method. - Context createWindowContext( - int i, - Bundle bundle, - ) { - return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_createWindowContext, - jni.JniCallType.objectType, - [jni.JValueInt(i), bundle.reference]).object); - } - - static final _id_createWindowContext1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"createWindowContext", - r"(Landroid/view/Display;ILandroid/os/Bundle;)Landroid/content/Context;"); - - /// from: public android.content.Context createWindowContext(android.view.Display display, int i, android.os.Bundle bundle) - /// The returned object must be released after use, by calling the [release] method. - Context createWindowContext1( - jni.JObject display, - int i, - Bundle bundle, - ) { - return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_createWindowContext1, - jni.JniCallType.objectType, - [display.reference, jni.JValueInt(i), bundle.reference]).object); - } - - static final _id_createContext = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"createContext", - r"(Landroid/content/ContextParams;)Landroid/content/Context;"); - - /// from: public android.content.Context createContext(android.content.ContextParams contextParams) - /// The returned object must be released after use, by calling the [release] method. - Context createContext( - jni.JObject contextParams, - ) { - return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_createContext, - jni.JniCallType.objectType, - [contextParams.reference]).object); - } - - static final _id_createAttributionContext = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"createAttributionContext", - r"(Ljava/lang/String;)Landroid/content/Context;"); - - /// from: public android.content.Context createAttributionContext(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Context createAttributionContext( - jni.JString string, - ) { - return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_createAttributionContext, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_createDeviceProtectedStorageContext = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"createDeviceProtectedStorageContext", - r"()Landroid/content/Context;"); - - /// from: public abstract android.content.Context createDeviceProtectedStorageContext() - /// The returned object must be released after use, by calling the [release] method. - Context createDeviceProtectedStorageContext() { - return const $ContextType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_createDeviceProtectedStorageContext, - jni.JniCallType.objectType, []).object); - } - - static final _id_getDisplay = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getDisplay", r"()Landroid/view/Display;"); - - /// from: public android.view.Display getDisplay() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getDisplay() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getDisplay, jni.JniCallType.objectType, []).object); - } - - static final _id_getDeviceId = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"getDeviceId", r"()I"); - - /// from: public int getDeviceId() - int getDeviceId() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_getDeviceId, jni.JniCallType.intType, []).integer; - } - - static final _id_registerDeviceIdChangeListener = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"registerDeviceIdChangeListener", - r"(Ljava/util/concurrent/Executor;Ljava/util/function/IntConsumer;)V"); - - /// from: public void registerDeviceIdChangeListener(java.util.concurrent.Executor executor, java.util.function.IntConsumer intConsumer) - void registerDeviceIdChangeListener( - Executor executor, - jni.JObject intConsumer, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_registerDeviceIdChangeListener, - jni.JniCallType.voidType, - [executor.reference, intConsumer.reference]).check(); - } - - static final _id_unregisterDeviceIdChangeListener = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"unregisterDeviceIdChangeListener", - r"(Ljava/util/function/IntConsumer;)V"); - - /// from: public void unregisterDeviceIdChangeListener(java.util.function.IntConsumer intConsumer) - void unregisterDeviceIdChangeListener( - jni.JObject intConsumer, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_unregisterDeviceIdChangeListener, - jni.JniCallType.voidType, - [intConsumer.reference]).check(); - } - - static final _id_isRestricted = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"isRestricted", r"()Z"); - - /// from: public boolean isRestricted() - bool isRestricted() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_isRestricted, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_isDeviceProtectedStorage = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"isDeviceProtectedStorage", r"()Z"); - - /// from: public abstract boolean isDeviceProtectedStorage() - bool isDeviceProtectedStorage() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_isDeviceProtectedStorage, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_isUiContext = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"isUiContext", r"()Z"); - - /// from: public boolean isUiContext() - bool isUiContext() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_isUiContext, jni.JniCallType.booleanType, []).boolean; - } -} - -final class $ContextType extends jni.JObjType { - const $ContextType(); - - @override - String get signature => r"Landroid/content/Context;"; - - @override - Context fromRef(jni.JObjectPtr ref) => Context.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($ContextType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($ContextType) && other is $ContextType; - } -} - -/// from: android.content.Intent$FilterComparison -class Intent_FilterComparison extends jni.JObject { - @override - late final jni.JObjType $type = type; - - Intent_FilterComparison.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"android/content/Intent$FilterComparison"); - - /// The type which includes information such as the signature of this class. - static const type = $Intent_FilterComparisonType(); - static final _id_new0 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Landroid/content/Intent;)V"); - - /// from: public void (android.content.Intent intent) - /// The returned object must be released after use, by calling the [release] method. - factory Intent_FilterComparison( - Intent intent, - ) { - return Intent_FilterComparison.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new0, [intent.reference]).object); - } - - static final _id_getIntent = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getIntent", r"()Landroid/content/Intent;"); - - /// from: public android.content.Intent getIntent() - /// The returned object must be released after use, by calling the [release] method. - Intent getIntent() { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getIntent, jni.JniCallType.objectType, []).object); - } - - static final _id_equals1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"equals", r"(Ljava/lang/Object;)Z"); - - /// from: public boolean equals(java.lang.Object object) - bool equals1( - jni.JObject object, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_equals1, - jni.JniCallType.booleanType, [object.reference]).boolean; - } - - static final _id_hashCode1 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"hashCode", r"()I"); - - /// from: public int hashCode() - int hashCode1() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_hashCode1, jni.JniCallType.intType, []).integer; - } -} - -final class $Intent_FilterComparisonType - extends jni.JObjType { - const $Intent_FilterComparisonType(); - - @override - String get signature => r"Landroid/content/Intent$FilterComparison;"; - - @override - Intent_FilterComparison fromRef(jni.JObjectPtr ref) => - Intent_FilterComparison.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($Intent_FilterComparisonType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($Intent_FilterComparisonType) && - other is $Intent_FilterComparisonType; - } -} - -/// from: android.content.Intent$ShortcutIconResource -class Intent_ShortcutIconResource extends jni.JObject { - @override - late final jni.JObjType $type = type; - - Intent_ShortcutIconResource.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"android/content/Intent$ShortcutIconResource"); - - /// The type which includes information such as the signature of this class. - static const type = $Intent_ShortcutIconResourceType(); - static final _id_CREATOR = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"CREATOR", - r"Landroid/os/Parcelable$Creator;", - ); - - /// from: static public final android.os.Parcelable$Creator CREATOR - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject get CREATOR => const jni.JObjectType().fromRef(jni - .Jni.accessors - .getStaticField(_class.reference, _id_CREATOR, jni.JniCallType.objectType) - .object); - - static final _id_packageName = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"packageName", - r"Ljava/lang/String;", - ); - - /// from: public java.lang.String packageName - /// The returned object must be released after use, by calling the [release] method. - jni.JString get packageName => - const jni.JStringType().fromRef(jni.Jni.accessors - .getField(reference, _id_packageName, jni.JniCallType.objectType) - .object); - - /// from: public java.lang.String packageName - /// The returned object must be released after use, by calling the [release] method. - set packageName(jni.JString value) => - jni.Jni.env.SetObjectField(reference, _id_packageName, value.reference); - - static final _id_resourceName = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"resourceName", - r"Ljava/lang/String;", - ); - - /// from: public java.lang.String resourceName - /// The returned object must be released after use, by calling the [release] method. - jni.JString get resourceName => - const jni.JStringType().fromRef(jni.Jni.accessors - .getField(reference, _id_resourceName, jni.JniCallType.objectType) - .object); - - /// from: public java.lang.String resourceName - /// The returned object must be released after use, by calling the [release] method. - set resourceName(jni.JString value) => - jni.Jni.env.SetObjectField(reference, _id_resourceName, value.reference); - - static final _id_new0 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); - - /// from: public void () - /// The returned object must be released after use, by calling the [release] method. - factory Intent_ShortcutIconResource() { - return Intent_ShortcutIconResource.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, []).object); - } - - static final _id_fromContext = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"fromContext", - r"(Landroid/content/Context;I)Landroid/content/Intent$ShortcutIconResource;"); - - /// from: static public android.content.Intent$ShortcutIconResource fromContext(android.content.Context context, int i) - /// The returned object must be released after use, by calling the [release] method. - static Intent_ShortcutIconResource fromContext( - Context context, - int i, - ) { - return const $Intent_ShortcutIconResourceType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_fromContext, - jni.JniCallType.objectType, - [context.reference, jni.JValueInt(i)]).object); - } - - static final _id_describeContents = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"describeContents", r"()I"); - - /// from: public int describeContents() - int describeContents() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_describeContents, jni.JniCallType.intType, []).integer; - } - - static final _id_writeToParcel = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"writeToParcel", r"(Landroid/os/Parcel;I)V"); - - /// from: public void writeToParcel(android.os.Parcel parcel, int i) - void writeToParcel( - jni.JObject parcel, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_writeToParcel, - jni.JniCallType.voidType, [parcel.reference, jni.JValueInt(i)]).check(); - } - - static final _id_toString1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"toString", r"()Ljava/lang/String;"); - - /// from: public java.lang.String toString() - /// The returned object must be released after use, by calling the [release] method. - jni.JString toString1() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_toString1, jni.JniCallType.objectType, []).object); - } -} - -final class $Intent_ShortcutIconResourceType - extends jni.JObjType { - const $Intent_ShortcutIconResourceType(); - - @override - String get signature => r"Landroid/content/Intent$ShortcutIconResource;"; - - @override - Intent_ShortcutIconResource fromRef(jni.JObjectPtr ref) => - Intent_ShortcutIconResource.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($Intent_ShortcutIconResourceType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($Intent_ShortcutIconResourceType) && - other is $Intent_ShortcutIconResourceType; - } -} - -/// from: android.content.Intent -class Intent extends jni.JObject { - @override - late final jni.JObjType $type = type; - - Intent.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass(r"android/content/Intent"); - - /// The type which includes information such as the signature of this class. - static const type = $IntentType(); - - /// from: static public final java.lang.String ACTION_AIRPLANE_MODE_CHANGED - static const ACTION_AIRPLANE_MODE_CHANGED = - r"""android.intent.action.AIRPLANE_MODE"""; - - /// from: static public final java.lang.String ACTION_ALL_APPS - static const ACTION_ALL_APPS = r"""android.intent.action.ALL_APPS"""; - - /// from: static public final java.lang.String ACTION_ANSWER - static const ACTION_ANSWER = r"""android.intent.action.ANSWER"""; - - /// from: static public final java.lang.String ACTION_APPLICATION_LOCALE_CHANGED - static const ACTION_APPLICATION_LOCALE_CHANGED = - r"""android.intent.action.APPLICATION_LOCALE_CHANGED"""; - - /// from: static public final java.lang.String ACTION_APPLICATION_PREFERENCES - static const ACTION_APPLICATION_PREFERENCES = - r"""android.intent.action.APPLICATION_PREFERENCES"""; - - /// from: static public final java.lang.String ACTION_APPLICATION_RESTRICTIONS_CHANGED - static const ACTION_APPLICATION_RESTRICTIONS_CHANGED = - r"""android.intent.action.APPLICATION_RESTRICTIONS_CHANGED"""; - - /// from: static public final java.lang.String ACTION_APP_ERROR - static const ACTION_APP_ERROR = r"""android.intent.action.APP_ERROR"""; - - /// from: static public final java.lang.String ACTION_ASSIST - static const ACTION_ASSIST = r"""android.intent.action.ASSIST"""; - - /// from: static public final java.lang.String ACTION_ATTACH_DATA - static const ACTION_ATTACH_DATA = r"""android.intent.action.ATTACH_DATA"""; - - /// from: static public final java.lang.String ACTION_AUTO_REVOKE_PERMISSIONS - static const ACTION_AUTO_REVOKE_PERMISSIONS = - r"""android.intent.action.AUTO_REVOKE_PERMISSIONS"""; - - /// from: static public final java.lang.String ACTION_BATTERY_CHANGED - static const ACTION_BATTERY_CHANGED = - r"""android.intent.action.BATTERY_CHANGED"""; - - /// from: static public final java.lang.String ACTION_BATTERY_LOW - static const ACTION_BATTERY_LOW = r"""android.intent.action.BATTERY_LOW"""; - - /// from: static public final java.lang.String ACTION_BATTERY_OKAY - static const ACTION_BATTERY_OKAY = r"""android.intent.action.BATTERY_OKAY"""; - - /// from: static public final java.lang.String ACTION_BOOT_COMPLETED - static const ACTION_BOOT_COMPLETED = - r"""android.intent.action.BOOT_COMPLETED"""; - - /// from: static public final java.lang.String ACTION_BUG_REPORT - static const ACTION_BUG_REPORT = r"""android.intent.action.BUG_REPORT"""; - - /// from: static public final java.lang.String ACTION_CALL - static const ACTION_CALL = r"""android.intent.action.CALL"""; - - /// from: static public final java.lang.String ACTION_CALL_BUTTON - static const ACTION_CALL_BUTTON = r"""android.intent.action.CALL_BUTTON"""; - - /// from: static public final java.lang.String ACTION_CAMERA_BUTTON - static const ACTION_CAMERA_BUTTON = - r"""android.intent.action.CAMERA_BUTTON"""; - - /// from: static public final java.lang.String ACTION_CARRIER_SETUP - static const ACTION_CARRIER_SETUP = - r"""android.intent.action.CARRIER_SETUP"""; - - /// from: static public final java.lang.String ACTION_CHOOSER - static const ACTION_CHOOSER = r"""android.intent.action.CHOOSER"""; - - /// from: static public final java.lang.String ACTION_CLOSE_SYSTEM_DIALOGS - static const ACTION_CLOSE_SYSTEM_DIALOGS = - r"""android.intent.action.CLOSE_SYSTEM_DIALOGS"""; - - /// from: static public final java.lang.String ACTION_CONFIGURATION_CHANGED - static const ACTION_CONFIGURATION_CHANGED = - r"""android.intent.action.CONFIGURATION_CHANGED"""; - - /// from: static public final java.lang.String ACTION_CREATE_DOCUMENT - static const ACTION_CREATE_DOCUMENT = - r"""android.intent.action.CREATE_DOCUMENT"""; - - /// from: static public final java.lang.String ACTION_CREATE_NOTE - static const ACTION_CREATE_NOTE = r"""android.intent.action.CREATE_NOTE"""; - - /// from: static public final java.lang.String ACTION_CREATE_REMINDER - static const ACTION_CREATE_REMINDER = - r"""android.intent.action.CREATE_REMINDER"""; - - /// from: static public final java.lang.String ACTION_CREATE_SHORTCUT - static const ACTION_CREATE_SHORTCUT = - r"""android.intent.action.CREATE_SHORTCUT"""; - - /// from: static public final java.lang.String ACTION_DATE_CHANGED - static const ACTION_DATE_CHANGED = r"""android.intent.action.DATE_CHANGED"""; - - /// from: static public final java.lang.String ACTION_DEFAULT - static const ACTION_DEFAULT = r"""android.intent.action.VIEW"""; - - /// from: static public final java.lang.String ACTION_DEFINE - static const ACTION_DEFINE = r"""android.intent.action.DEFINE"""; - - /// from: static public final java.lang.String ACTION_DELETE - static const ACTION_DELETE = r"""android.intent.action.DELETE"""; - - /// from: static public final java.lang.String ACTION_DEVICE_STORAGE_LOW - static const ACTION_DEVICE_STORAGE_LOW = - r"""android.intent.action.DEVICE_STORAGE_LOW"""; - - /// from: static public final java.lang.String ACTION_DEVICE_STORAGE_OK - static const ACTION_DEVICE_STORAGE_OK = - r"""android.intent.action.DEVICE_STORAGE_OK"""; - - /// from: static public final java.lang.String ACTION_DIAL - static const ACTION_DIAL = r"""android.intent.action.DIAL"""; - - /// from: static public final java.lang.String ACTION_DOCK_EVENT - static const ACTION_DOCK_EVENT = r"""android.intent.action.DOCK_EVENT"""; - - /// from: static public final java.lang.String ACTION_DREAMING_STARTED - static const ACTION_DREAMING_STARTED = - r"""android.intent.action.DREAMING_STARTED"""; - - /// from: static public final java.lang.String ACTION_DREAMING_STOPPED - static const ACTION_DREAMING_STOPPED = - r"""android.intent.action.DREAMING_STOPPED"""; - - /// from: static public final java.lang.String ACTION_EDIT - static const ACTION_EDIT = r"""android.intent.action.EDIT"""; - - /// from: static public final java.lang.String ACTION_EXTERNAL_APPLICATIONS_AVAILABLE - static const ACTION_EXTERNAL_APPLICATIONS_AVAILABLE = - r"""android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE"""; - - /// from: static public final java.lang.String ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE - static const ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE = - r"""android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE"""; - - /// from: static public final java.lang.String ACTION_FACTORY_TEST - static const ACTION_FACTORY_TEST = r"""android.intent.action.FACTORY_TEST"""; - - /// from: static public final java.lang.String ACTION_GET_CONTENT - static const ACTION_GET_CONTENT = r"""android.intent.action.GET_CONTENT"""; - - /// from: static public final java.lang.String ACTION_GET_RESTRICTION_ENTRIES - static const ACTION_GET_RESTRICTION_ENTRIES = - r"""android.intent.action.GET_RESTRICTION_ENTRIES"""; - - /// from: static public final java.lang.String ACTION_GTALK_SERVICE_CONNECTED - static const ACTION_GTALK_SERVICE_CONNECTED = - r"""android.intent.action.GTALK_CONNECTED"""; - - /// from: static public final java.lang.String ACTION_GTALK_SERVICE_DISCONNECTED - static const ACTION_GTALK_SERVICE_DISCONNECTED = - r"""android.intent.action.GTALK_DISCONNECTED"""; - - /// from: static public final java.lang.String ACTION_HEADSET_PLUG - static const ACTION_HEADSET_PLUG = r"""android.intent.action.HEADSET_PLUG"""; - - /// from: static public final java.lang.String ACTION_INPUT_METHOD_CHANGED - static const ACTION_INPUT_METHOD_CHANGED = - r"""android.intent.action.INPUT_METHOD_CHANGED"""; - - /// from: static public final java.lang.String ACTION_INSERT - static const ACTION_INSERT = r"""android.intent.action.INSERT"""; - - /// from: static public final java.lang.String ACTION_INSERT_OR_EDIT - static const ACTION_INSERT_OR_EDIT = - r"""android.intent.action.INSERT_OR_EDIT"""; - - /// from: static public final java.lang.String ACTION_INSTALL_FAILURE - static const ACTION_INSTALL_FAILURE = - r"""android.intent.action.INSTALL_FAILURE"""; - - /// from: static public final java.lang.String ACTION_INSTALL_PACKAGE - static const ACTION_INSTALL_PACKAGE = - r"""android.intent.action.INSTALL_PACKAGE"""; - - /// from: static public final java.lang.String ACTION_LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE - static const ACTION_LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE = - r"""android.intent.action.LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE"""; - - /// from: static public final java.lang.String ACTION_LOCALE_CHANGED - static const ACTION_LOCALE_CHANGED = - r"""android.intent.action.LOCALE_CHANGED"""; - - /// from: static public final java.lang.String ACTION_LOCKED_BOOT_COMPLETED - static const ACTION_LOCKED_BOOT_COMPLETED = - r"""android.intent.action.LOCKED_BOOT_COMPLETED"""; - - /// from: static public final java.lang.String ACTION_MAIN - static const ACTION_MAIN = r"""android.intent.action.MAIN"""; - - /// from: static public final java.lang.String ACTION_MANAGED_PROFILE_ADDED - static const ACTION_MANAGED_PROFILE_ADDED = - r"""android.intent.action.MANAGED_PROFILE_ADDED"""; - - /// from: static public final java.lang.String ACTION_MANAGED_PROFILE_AVAILABLE - static const ACTION_MANAGED_PROFILE_AVAILABLE = - r"""android.intent.action.MANAGED_PROFILE_AVAILABLE"""; - - /// from: static public final java.lang.String ACTION_MANAGED_PROFILE_REMOVED - static const ACTION_MANAGED_PROFILE_REMOVED = - r"""android.intent.action.MANAGED_PROFILE_REMOVED"""; - - /// from: static public final java.lang.String ACTION_MANAGED_PROFILE_UNAVAILABLE - static const ACTION_MANAGED_PROFILE_UNAVAILABLE = - r"""android.intent.action.MANAGED_PROFILE_UNAVAILABLE"""; - - /// from: static public final java.lang.String ACTION_MANAGED_PROFILE_UNLOCKED - static const ACTION_MANAGED_PROFILE_UNLOCKED = - r"""android.intent.action.MANAGED_PROFILE_UNLOCKED"""; - - /// from: static public final java.lang.String ACTION_MANAGE_NETWORK_USAGE - static const ACTION_MANAGE_NETWORK_USAGE = - r"""android.intent.action.MANAGE_NETWORK_USAGE"""; - - /// from: static public final java.lang.String ACTION_MANAGE_PACKAGE_STORAGE - static const ACTION_MANAGE_PACKAGE_STORAGE = - r"""android.intent.action.MANAGE_PACKAGE_STORAGE"""; - - /// from: static public final java.lang.String ACTION_MANAGE_UNUSED_APPS - static const ACTION_MANAGE_UNUSED_APPS = - r"""android.intent.action.MANAGE_UNUSED_APPS"""; - - /// from: static public final java.lang.String ACTION_MEDIA_BAD_REMOVAL - static const ACTION_MEDIA_BAD_REMOVAL = - r"""android.intent.action.MEDIA_BAD_REMOVAL"""; - - /// from: static public final java.lang.String ACTION_MEDIA_BUTTON - static const ACTION_MEDIA_BUTTON = r"""android.intent.action.MEDIA_BUTTON"""; - - /// from: static public final java.lang.String ACTION_MEDIA_CHECKING - static const ACTION_MEDIA_CHECKING = - r"""android.intent.action.MEDIA_CHECKING"""; - - /// from: static public final java.lang.String ACTION_MEDIA_EJECT - static const ACTION_MEDIA_EJECT = r"""android.intent.action.MEDIA_EJECT"""; - - /// from: static public final java.lang.String ACTION_MEDIA_MOUNTED - static const ACTION_MEDIA_MOUNTED = - r"""android.intent.action.MEDIA_MOUNTED"""; - - /// from: static public final java.lang.String ACTION_MEDIA_NOFS - static const ACTION_MEDIA_NOFS = r"""android.intent.action.MEDIA_NOFS"""; - - /// from: static public final java.lang.String ACTION_MEDIA_REMOVED - static const ACTION_MEDIA_REMOVED = - r"""android.intent.action.MEDIA_REMOVED"""; - - /// from: static public final java.lang.String ACTION_MEDIA_SCANNER_FINISHED - static const ACTION_MEDIA_SCANNER_FINISHED = - r"""android.intent.action.MEDIA_SCANNER_FINISHED"""; - - /// from: static public final java.lang.String ACTION_MEDIA_SCANNER_SCAN_FILE - static const ACTION_MEDIA_SCANNER_SCAN_FILE = - r"""android.intent.action.MEDIA_SCANNER_SCAN_FILE"""; - - /// from: static public final java.lang.String ACTION_MEDIA_SCANNER_STARTED - static const ACTION_MEDIA_SCANNER_STARTED = - r"""android.intent.action.MEDIA_SCANNER_STARTED"""; - - /// from: static public final java.lang.String ACTION_MEDIA_SHARED - static const ACTION_MEDIA_SHARED = r"""android.intent.action.MEDIA_SHARED"""; - - /// from: static public final java.lang.String ACTION_MEDIA_UNMOUNTABLE - static const ACTION_MEDIA_UNMOUNTABLE = - r"""android.intent.action.MEDIA_UNMOUNTABLE"""; - - /// from: static public final java.lang.String ACTION_MEDIA_UNMOUNTED - static const ACTION_MEDIA_UNMOUNTED = - r"""android.intent.action.MEDIA_UNMOUNTED"""; - - /// from: static public final java.lang.String ACTION_MY_PACKAGE_REPLACED - static const ACTION_MY_PACKAGE_REPLACED = - r"""android.intent.action.MY_PACKAGE_REPLACED"""; - - /// from: static public final java.lang.String ACTION_MY_PACKAGE_SUSPENDED - static const ACTION_MY_PACKAGE_SUSPENDED = - r"""android.intent.action.MY_PACKAGE_SUSPENDED"""; - - /// from: static public final java.lang.String ACTION_MY_PACKAGE_UNSUSPENDED - static const ACTION_MY_PACKAGE_UNSUSPENDED = - r"""android.intent.action.MY_PACKAGE_UNSUSPENDED"""; - - /// from: static public final java.lang.String ACTION_NEW_OUTGOING_CALL - static const ACTION_NEW_OUTGOING_CALL = - r"""android.intent.action.NEW_OUTGOING_CALL"""; - - /// from: static public final java.lang.String ACTION_OPEN_DOCUMENT - static const ACTION_OPEN_DOCUMENT = - r"""android.intent.action.OPEN_DOCUMENT"""; - - /// from: static public final java.lang.String ACTION_OPEN_DOCUMENT_TREE - static const ACTION_OPEN_DOCUMENT_TREE = - r"""android.intent.action.OPEN_DOCUMENT_TREE"""; - - /// from: static public final java.lang.String ACTION_PACKAGES_SUSPENDED - static const ACTION_PACKAGES_SUSPENDED = - r"""android.intent.action.PACKAGES_SUSPENDED"""; - - /// from: static public final java.lang.String ACTION_PACKAGES_UNSUSPENDED - static const ACTION_PACKAGES_UNSUSPENDED = - r"""android.intent.action.PACKAGES_UNSUSPENDED"""; - - /// from: static public final java.lang.String ACTION_PACKAGE_ADDED - static const ACTION_PACKAGE_ADDED = - r"""android.intent.action.PACKAGE_ADDED"""; - - /// from: static public final java.lang.String ACTION_PACKAGE_CHANGED - static const ACTION_PACKAGE_CHANGED = - r"""android.intent.action.PACKAGE_CHANGED"""; - - /// from: static public final java.lang.String ACTION_PACKAGE_DATA_CLEARED - static const ACTION_PACKAGE_DATA_CLEARED = - r"""android.intent.action.PACKAGE_DATA_CLEARED"""; - - /// from: static public final java.lang.String ACTION_PACKAGE_FIRST_LAUNCH - static const ACTION_PACKAGE_FIRST_LAUNCH = - r"""android.intent.action.PACKAGE_FIRST_LAUNCH"""; - - /// from: static public final java.lang.String ACTION_PACKAGE_FULLY_REMOVED - static const ACTION_PACKAGE_FULLY_REMOVED = - r"""android.intent.action.PACKAGE_FULLY_REMOVED"""; - - /// from: static public final java.lang.String ACTION_PACKAGE_INSTALL - static const ACTION_PACKAGE_INSTALL = - r"""android.intent.action.PACKAGE_INSTALL"""; - - /// from: static public final java.lang.String ACTION_PACKAGE_NEEDS_VERIFICATION - static const ACTION_PACKAGE_NEEDS_VERIFICATION = - r"""android.intent.action.PACKAGE_NEEDS_VERIFICATION"""; - - /// from: static public final java.lang.String ACTION_PACKAGE_REMOVED - static const ACTION_PACKAGE_REMOVED = - r"""android.intent.action.PACKAGE_REMOVED"""; - - /// from: static public final java.lang.String ACTION_PACKAGE_REPLACED - static const ACTION_PACKAGE_REPLACED = - r"""android.intent.action.PACKAGE_REPLACED"""; - - /// from: static public final java.lang.String ACTION_PACKAGE_RESTARTED - static const ACTION_PACKAGE_RESTARTED = - r"""android.intent.action.PACKAGE_RESTARTED"""; - - /// from: static public final java.lang.String ACTION_PACKAGE_VERIFIED - static const ACTION_PACKAGE_VERIFIED = - r"""android.intent.action.PACKAGE_VERIFIED"""; - - /// from: static public final java.lang.String ACTION_PASTE - static const ACTION_PASTE = r"""android.intent.action.PASTE"""; - - /// from: static public final java.lang.String ACTION_PICK - static const ACTION_PICK = r"""android.intent.action.PICK"""; - - /// from: static public final java.lang.String ACTION_PICK_ACTIVITY - static const ACTION_PICK_ACTIVITY = - r"""android.intent.action.PICK_ACTIVITY"""; - - /// from: static public final java.lang.String ACTION_POWER_CONNECTED - static const ACTION_POWER_CONNECTED = - r"""android.intent.action.ACTION_POWER_CONNECTED"""; - - /// from: static public final java.lang.String ACTION_POWER_DISCONNECTED - static const ACTION_POWER_DISCONNECTED = - r"""android.intent.action.ACTION_POWER_DISCONNECTED"""; - - /// from: static public final java.lang.String ACTION_POWER_USAGE_SUMMARY - static const ACTION_POWER_USAGE_SUMMARY = - r"""android.intent.action.POWER_USAGE_SUMMARY"""; - - /// from: static public final java.lang.String ACTION_PROCESS_TEXT - static const ACTION_PROCESS_TEXT = r"""android.intent.action.PROCESS_TEXT"""; - - /// from: static public final java.lang.String ACTION_PROFILE_ACCESSIBLE - static const ACTION_PROFILE_ACCESSIBLE = - r"""android.intent.action.PROFILE_ACCESSIBLE"""; - - /// from: static public final java.lang.String ACTION_PROFILE_ADDED - static const ACTION_PROFILE_ADDED = - r"""android.intent.action.PROFILE_ADDED"""; - - /// from: static public final java.lang.String ACTION_PROFILE_INACCESSIBLE - static const ACTION_PROFILE_INACCESSIBLE = - r"""android.intent.action.PROFILE_INACCESSIBLE"""; - - /// from: static public final java.lang.String ACTION_PROFILE_REMOVED - static const ACTION_PROFILE_REMOVED = - r"""android.intent.action.PROFILE_REMOVED"""; - - /// from: static public final java.lang.String ACTION_PROVIDER_CHANGED - static const ACTION_PROVIDER_CHANGED = - r"""android.intent.action.PROVIDER_CHANGED"""; - - /// from: static public final java.lang.String ACTION_QUICK_CLOCK - static const ACTION_QUICK_CLOCK = r"""android.intent.action.QUICK_CLOCK"""; - - /// from: static public final java.lang.String ACTION_QUICK_VIEW - static const ACTION_QUICK_VIEW = r"""android.intent.action.QUICK_VIEW"""; - - /// from: static public final java.lang.String ACTION_REBOOT - static const ACTION_REBOOT = r"""android.intent.action.REBOOT"""; - - /// from: static public final java.lang.String ACTION_RUN - static const ACTION_RUN = r"""android.intent.action.RUN"""; - - /// from: static public final java.lang.String ACTION_SAFETY_CENTER - static const ACTION_SAFETY_CENTER = - r"""android.intent.action.SAFETY_CENTER"""; - - /// from: static public final java.lang.String ACTION_SCREEN_OFF - static const ACTION_SCREEN_OFF = r"""android.intent.action.SCREEN_OFF"""; - - /// from: static public final java.lang.String ACTION_SCREEN_ON - static const ACTION_SCREEN_ON = r"""android.intent.action.SCREEN_ON"""; - - /// from: static public final java.lang.String ACTION_SEARCH - static const ACTION_SEARCH = r"""android.intent.action.SEARCH"""; - - /// from: static public final java.lang.String ACTION_SEARCH_LONG_PRESS - static const ACTION_SEARCH_LONG_PRESS = - r"""android.intent.action.SEARCH_LONG_PRESS"""; - - /// from: static public final java.lang.String ACTION_SEND - static const ACTION_SEND = r"""android.intent.action.SEND"""; - - /// from: static public final java.lang.String ACTION_SENDTO - static const ACTION_SENDTO = r"""android.intent.action.SENDTO"""; - - /// from: static public final java.lang.String ACTION_SEND_MULTIPLE - static const ACTION_SEND_MULTIPLE = - r"""android.intent.action.SEND_MULTIPLE"""; - - /// from: static public final java.lang.String ACTION_SET_WALLPAPER - static const ACTION_SET_WALLPAPER = - r"""android.intent.action.SET_WALLPAPER"""; - - /// from: static public final java.lang.String ACTION_SHOW_APP_INFO - static const ACTION_SHOW_APP_INFO = - r"""android.intent.action.SHOW_APP_INFO"""; - - /// from: static public final java.lang.String ACTION_SHOW_WORK_APPS - static const ACTION_SHOW_WORK_APPS = - r"""android.intent.action.SHOW_WORK_APPS"""; - - /// from: static public final java.lang.String ACTION_SHUTDOWN - static const ACTION_SHUTDOWN = r"""android.intent.action.ACTION_SHUTDOWN"""; - - /// from: static public final java.lang.String ACTION_SYNC - static const ACTION_SYNC = r"""android.intent.action.SYNC"""; - - /// from: static public final java.lang.String ACTION_SYSTEM_TUTORIAL - static const ACTION_SYSTEM_TUTORIAL = - r"""android.intent.action.SYSTEM_TUTORIAL"""; - - /// from: static public final java.lang.String ACTION_TIMEZONE_CHANGED - static const ACTION_TIMEZONE_CHANGED = - r"""android.intent.action.TIMEZONE_CHANGED"""; - - /// from: static public final java.lang.String ACTION_TIME_CHANGED - static const ACTION_TIME_CHANGED = r"""android.intent.action.TIME_SET"""; - - /// from: static public final java.lang.String ACTION_TIME_TICK - static const ACTION_TIME_TICK = r"""android.intent.action.TIME_TICK"""; - - /// from: static public final java.lang.String ACTION_TRANSLATE - static const ACTION_TRANSLATE = r"""android.intent.action.TRANSLATE"""; - - /// from: static public final java.lang.String ACTION_UID_REMOVED - static const ACTION_UID_REMOVED = r"""android.intent.action.UID_REMOVED"""; - - /// from: static public final java.lang.String ACTION_UMS_CONNECTED - static const ACTION_UMS_CONNECTED = - r"""android.intent.action.UMS_CONNECTED"""; - - /// from: static public final java.lang.String ACTION_UMS_DISCONNECTED - static const ACTION_UMS_DISCONNECTED = - r"""android.intent.action.UMS_DISCONNECTED"""; - - /// from: static public final java.lang.String ACTION_UNINSTALL_PACKAGE - static const ACTION_UNINSTALL_PACKAGE = - r"""android.intent.action.UNINSTALL_PACKAGE"""; - - /// from: static public final java.lang.String ACTION_USER_BACKGROUND - static const ACTION_USER_BACKGROUND = - r"""android.intent.action.USER_BACKGROUND"""; - - /// from: static public final java.lang.String ACTION_USER_FOREGROUND - static const ACTION_USER_FOREGROUND = - r"""android.intent.action.USER_FOREGROUND"""; - - /// from: static public final java.lang.String ACTION_USER_INITIALIZE - static const ACTION_USER_INITIALIZE = - r"""android.intent.action.USER_INITIALIZE"""; - - /// from: static public final java.lang.String ACTION_USER_PRESENT - static const ACTION_USER_PRESENT = r"""android.intent.action.USER_PRESENT"""; - - /// from: static public final java.lang.String ACTION_USER_UNLOCKED - static const ACTION_USER_UNLOCKED = - r"""android.intent.action.USER_UNLOCKED"""; - - /// from: static public final java.lang.String ACTION_VIEW - static const ACTION_VIEW = r"""android.intent.action.VIEW"""; - - /// from: static public final java.lang.String ACTION_VIEW_LOCUS - static const ACTION_VIEW_LOCUS = r"""android.intent.action.VIEW_LOCUS"""; - - /// from: static public final java.lang.String ACTION_VIEW_PERMISSION_USAGE - static const ACTION_VIEW_PERMISSION_USAGE = - r"""android.intent.action.VIEW_PERMISSION_USAGE"""; - - /// from: static public final java.lang.String ACTION_VIEW_PERMISSION_USAGE_FOR_PERIOD - static const ACTION_VIEW_PERMISSION_USAGE_FOR_PERIOD = - r"""android.intent.action.VIEW_PERMISSION_USAGE_FOR_PERIOD"""; - - /// from: static public final java.lang.String ACTION_VOICE_COMMAND - static const ACTION_VOICE_COMMAND = - r"""android.intent.action.VOICE_COMMAND"""; - - /// from: static public final java.lang.String ACTION_WALLPAPER_CHANGED - static const ACTION_WALLPAPER_CHANGED = - r"""android.intent.action.WALLPAPER_CHANGED"""; - - /// from: static public final java.lang.String ACTION_WEB_SEARCH - static const ACTION_WEB_SEARCH = r"""android.intent.action.WEB_SEARCH"""; - - /// from: static public final int CAPTURE_CONTENT_FOR_NOTE_BLOCKED_BY_ADMIN - static const CAPTURE_CONTENT_FOR_NOTE_BLOCKED_BY_ADMIN = 4; - - /// from: static public final int CAPTURE_CONTENT_FOR_NOTE_FAILED - static const CAPTURE_CONTENT_FOR_NOTE_FAILED = 1; - - /// from: static public final int CAPTURE_CONTENT_FOR_NOTE_SUCCESS - static const CAPTURE_CONTENT_FOR_NOTE_SUCCESS = 0; - - /// from: static public final int CAPTURE_CONTENT_FOR_NOTE_USER_CANCELED - static const CAPTURE_CONTENT_FOR_NOTE_USER_CANCELED = 2; - - /// from: static public final int CAPTURE_CONTENT_FOR_NOTE_WINDOW_MODE_UNSUPPORTED - static const CAPTURE_CONTENT_FOR_NOTE_WINDOW_MODE_UNSUPPORTED = 3; - - /// from: static public final java.lang.String CATEGORY_ACCESSIBILITY_SHORTCUT_TARGET - static const CATEGORY_ACCESSIBILITY_SHORTCUT_TARGET = - r"""android.intent.category.ACCESSIBILITY_SHORTCUT_TARGET"""; - - /// from: static public final java.lang.String CATEGORY_ALTERNATIVE - static const CATEGORY_ALTERNATIVE = - r"""android.intent.category.ALTERNATIVE"""; - - /// from: static public final java.lang.String CATEGORY_APP_BROWSER - static const CATEGORY_APP_BROWSER = - r"""android.intent.category.APP_BROWSER"""; - - /// from: static public final java.lang.String CATEGORY_APP_CALCULATOR - static const CATEGORY_APP_CALCULATOR = - r"""android.intent.category.APP_CALCULATOR"""; - - /// from: static public final java.lang.String CATEGORY_APP_CALENDAR - static const CATEGORY_APP_CALENDAR = - r"""android.intent.category.APP_CALENDAR"""; - - /// from: static public final java.lang.String CATEGORY_APP_CONTACTS - static const CATEGORY_APP_CONTACTS = - r"""android.intent.category.APP_CONTACTS"""; - - /// from: static public final java.lang.String CATEGORY_APP_EMAIL - static const CATEGORY_APP_EMAIL = r"""android.intent.category.APP_EMAIL"""; - - /// from: static public final java.lang.String CATEGORY_APP_FILES - static const CATEGORY_APP_FILES = r"""android.intent.category.APP_FILES"""; - - /// from: static public final java.lang.String CATEGORY_APP_FITNESS - static const CATEGORY_APP_FITNESS = - r"""android.intent.category.APP_FITNESS"""; - - /// from: static public final java.lang.String CATEGORY_APP_GALLERY - static const CATEGORY_APP_GALLERY = - r"""android.intent.category.APP_GALLERY"""; - - /// from: static public final java.lang.String CATEGORY_APP_MAPS - static const CATEGORY_APP_MAPS = r"""android.intent.category.APP_MAPS"""; - - /// from: static public final java.lang.String CATEGORY_APP_MARKET - static const CATEGORY_APP_MARKET = r"""android.intent.category.APP_MARKET"""; - - /// from: static public final java.lang.String CATEGORY_APP_MESSAGING - static const CATEGORY_APP_MESSAGING = - r"""android.intent.category.APP_MESSAGING"""; - - /// from: static public final java.lang.String CATEGORY_APP_MUSIC - static const CATEGORY_APP_MUSIC = r"""android.intent.category.APP_MUSIC"""; - - /// from: static public final java.lang.String CATEGORY_APP_WEATHER - static const CATEGORY_APP_WEATHER = - r"""android.intent.category.APP_WEATHER"""; - - /// from: static public final java.lang.String CATEGORY_BROWSABLE - static const CATEGORY_BROWSABLE = r"""android.intent.category.BROWSABLE"""; - - /// from: static public final java.lang.String CATEGORY_CAR_DOCK - static const CATEGORY_CAR_DOCK = r"""android.intent.category.CAR_DOCK"""; - - /// from: static public final java.lang.String CATEGORY_CAR_MODE - static const CATEGORY_CAR_MODE = r"""android.intent.category.CAR_MODE"""; - - /// from: static public final java.lang.String CATEGORY_DEFAULT - static const CATEGORY_DEFAULT = r"""android.intent.category.DEFAULT"""; - - /// from: static public final java.lang.String CATEGORY_DESK_DOCK - static const CATEGORY_DESK_DOCK = r"""android.intent.category.DESK_DOCK"""; - - /// from: static public final java.lang.String CATEGORY_DEVELOPMENT_PREFERENCE - static const CATEGORY_DEVELOPMENT_PREFERENCE = - r"""android.intent.category.DEVELOPMENT_PREFERENCE"""; - - /// from: static public final java.lang.String CATEGORY_EMBED - static const CATEGORY_EMBED = r"""android.intent.category.EMBED"""; - - /// from: static public final java.lang.String CATEGORY_FRAMEWORK_INSTRUMENTATION_TEST - static const CATEGORY_FRAMEWORK_INSTRUMENTATION_TEST = - r"""android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST"""; - - /// from: static public final java.lang.String CATEGORY_HE_DESK_DOCK - static const CATEGORY_HE_DESK_DOCK = - r"""android.intent.category.HE_DESK_DOCK"""; - - /// from: static public final java.lang.String CATEGORY_HOME - static const CATEGORY_HOME = r"""android.intent.category.HOME"""; - - /// from: static public final java.lang.String CATEGORY_INFO - static const CATEGORY_INFO = r"""android.intent.category.INFO"""; - - /// from: static public final java.lang.String CATEGORY_LAUNCHER - static const CATEGORY_LAUNCHER = r"""android.intent.category.LAUNCHER"""; - - /// from: static public final java.lang.String CATEGORY_LEANBACK_LAUNCHER - static const CATEGORY_LEANBACK_LAUNCHER = - r"""android.intent.category.LEANBACK_LAUNCHER"""; - - /// from: static public final java.lang.String CATEGORY_LE_DESK_DOCK - static const CATEGORY_LE_DESK_DOCK = - r"""android.intent.category.LE_DESK_DOCK"""; - - /// from: static public final java.lang.String CATEGORY_MONKEY - static const CATEGORY_MONKEY = r"""android.intent.category.MONKEY"""; - - /// from: static public final java.lang.String CATEGORY_OPENABLE - static const CATEGORY_OPENABLE = r"""android.intent.category.OPENABLE"""; - - /// from: static public final java.lang.String CATEGORY_PREFERENCE - static const CATEGORY_PREFERENCE = r"""android.intent.category.PREFERENCE"""; - - /// from: static public final java.lang.String CATEGORY_SAMPLE_CODE - static const CATEGORY_SAMPLE_CODE = - r"""android.intent.category.SAMPLE_CODE"""; - - /// from: static public final java.lang.String CATEGORY_SECONDARY_HOME - static const CATEGORY_SECONDARY_HOME = - r"""android.intent.category.SECONDARY_HOME"""; - - /// from: static public final java.lang.String CATEGORY_SELECTED_ALTERNATIVE - static const CATEGORY_SELECTED_ALTERNATIVE = - r"""android.intent.category.SELECTED_ALTERNATIVE"""; - - /// from: static public final java.lang.String CATEGORY_TAB - static const CATEGORY_TAB = r"""android.intent.category.TAB"""; - - /// from: static public final java.lang.String CATEGORY_TEST - static const CATEGORY_TEST = r"""android.intent.category.TEST"""; - - /// from: static public final java.lang.String CATEGORY_TYPED_OPENABLE - static const CATEGORY_TYPED_OPENABLE = - r"""android.intent.category.TYPED_OPENABLE"""; - - /// from: static public final java.lang.String CATEGORY_UNIT_TEST - static const CATEGORY_UNIT_TEST = r"""android.intent.category.UNIT_TEST"""; - - /// from: static public final java.lang.String CATEGORY_VOICE - static const CATEGORY_VOICE = r"""android.intent.category.VOICE"""; - - /// from: static public final java.lang.String CATEGORY_VR_HOME - static const CATEGORY_VR_HOME = r"""android.intent.category.VR_HOME"""; - - static final _id_CREATOR = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"CREATOR", - r"Landroid/os/Parcelable$Creator;", - ); - - /// from: static public final android.os.Parcelable$Creator CREATOR - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject get CREATOR => const jni.JObjectType().fromRef(jni - .Jni.accessors - .getStaticField(_class.reference, _id_CREATOR, jni.JniCallType.objectType) - .object); - - /// from: static public final java.lang.String EXTRA_ALARM_COUNT - static const EXTRA_ALARM_COUNT = r"""android.intent.extra.ALARM_COUNT"""; - - /// from: static public final java.lang.String EXTRA_ALLOW_MULTIPLE - static const EXTRA_ALLOW_MULTIPLE = - r"""android.intent.extra.ALLOW_MULTIPLE"""; - - /// from: static public final java.lang.String EXTRA_ALLOW_REPLACE - static const EXTRA_ALLOW_REPLACE = r"""android.intent.extra.ALLOW_REPLACE"""; - - /// from: static public final java.lang.String EXTRA_ALTERNATE_INTENTS - static const EXTRA_ALTERNATE_INTENTS = - r"""android.intent.extra.ALTERNATE_INTENTS"""; - - /// from: static public final java.lang.String EXTRA_ASSIST_CONTEXT - static const EXTRA_ASSIST_CONTEXT = - r"""android.intent.extra.ASSIST_CONTEXT"""; - - /// from: static public final java.lang.String EXTRA_ASSIST_INPUT_DEVICE_ID - static const EXTRA_ASSIST_INPUT_DEVICE_ID = - r"""android.intent.extra.ASSIST_INPUT_DEVICE_ID"""; - - /// from: static public final java.lang.String EXTRA_ASSIST_INPUT_HINT_KEYBOARD - static const EXTRA_ASSIST_INPUT_HINT_KEYBOARD = - r"""android.intent.extra.ASSIST_INPUT_HINT_KEYBOARD"""; - - /// from: static public final java.lang.String EXTRA_ASSIST_PACKAGE - static const EXTRA_ASSIST_PACKAGE = - r"""android.intent.extra.ASSIST_PACKAGE"""; - - /// from: static public final java.lang.String EXTRA_ASSIST_UID - static const EXTRA_ASSIST_UID = r"""android.intent.extra.ASSIST_UID"""; - - /// from: static public final java.lang.String EXTRA_ATTRIBUTION_TAGS - static const EXTRA_ATTRIBUTION_TAGS = - r"""android.intent.extra.ATTRIBUTION_TAGS"""; - - /// from: static public final java.lang.String EXTRA_AUTO_LAUNCH_SINGLE_CHOICE - static const EXTRA_AUTO_LAUNCH_SINGLE_CHOICE = - r"""android.intent.extra.AUTO_LAUNCH_SINGLE_CHOICE"""; - - /// from: static public final java.lang.String EXTRA_BCC - static const EXTRA_BCC = r"""android.intent.extra.BCC"""; - - /// from: static public final java.lang.String EXTRA_BUG_REPORT - static const EXTRA_BUG_REPORT = r"""android.intent.extra.BUG_REPORT"""; - - /// from: static public final java.lang.String EXTRA_CAPTURE_CONTENT_FOR_NOTE_STATUS_CODE - static const EXTRA_CAPTURE_CONTENT_FOR_NOTE_STATUS_CODE = - r"""android.intent.extra.CAPTURE_CONTENT_FOR_NOTE_STATUS_CODE"""; - - /// from: static public final java.lang.String EXTRA_CC - static const EXTRA_CC = r"""android.intent.extra.CC"""; - - /// from: static public final java.lang.String EXTRA_CHANGED_COMPONENT_NAME - static const EXTRA_CHANGED_COMPONENT_NAME = - r"""android.intent.extra.changed_component_name"""; - - /// from: static public final java.lang.String EXTRA_CHANGED_COMPONENT_NAME_LIST - static const EXTRA_CHANGED_COMPONENT_NAME_LIST = - r"""android.intent.extra.changed_component_name_list"""; - - /// from: static public final java.lang.String EXTRA_CHANGED_PACKAGE_LIST - static const EXTRA_CHANGED_PACKAGE_LIST = - r"""android.intent.extra.changed_package_list"""; - - /// from: static public final java.lang.String EXTRA_CHANGED_UID_LIST - static const EXTRA_CHANGED_UID_LIST = - r"""android.intent.extra.changed_uid_list"""; - - /// from: static public final java.lang.String EXTRA_CHOOSER_CUSTOM_ACTIONS - static const EXTRA_CHOOSER_CUSTOM_ACTIONS = - r"""android.intent.extra.CHOOSER_CUSTOM_ACTIONS"""; - - /// from: static public final java.lang.String EXTRA_CHOOSER_MODIFY_SHARE_ACTION - static const EXTRA_CHOOSER_MODIFY_SHARE_ACTION = - r"""android.intent.extra.CHOOSER_MODIFY_SHARE_ACTION"""; - - /// from: static public final java.lang.String EXTRA_CHOOSER_REFINEMENT_INTENT_SENDER - static const EXTRA_CHOOSER_REFINEMENT_INTENT_SENDER = - r"""android.intent.extra.CHOOSER_REFINEMENT_INTENT_SENDER"""; - - /// from: static public final java.lang.String EXTRA_CHOOSER_TARGETS - static const EXTRA_CHOOSER_TARGETS = - r"""android.intent.extra.CHOOSER_TARGETS"""; - - /// from: static public final java.lang.String EXTRA_CHOSEN_COMPONENT - static const EXTRA_CHOSEN_COMPONENT = - r"""android.intent.extra.CHOSEN_COMPONENT"""; - - /// from: static public final java.lang.String EXTRA_CHOSEN_COMPONENT_INTENT_SENDER - static const EXTRA_CHOSEN_COMPONENT_INTENT_SENDER = - r"""android.intent.extra.CHOSEN_COMPONENT_INTENT_SENDER"""; - - /// from: static public final java.lang.String EXTRA_COMPONENT_NAME - static const EXTRA_COMPONENT_NAME = - r"""android.intent.extra.COMPONENT_NAME"""; - - /// from: static public final java.lang.String EXTRA_CONTENT_ANNOTATIONS - static const EXTRA_CONTENT_ANNOTATIONS = - r"""android.intent.extra.CONTENT_ANNOTATIONS"""; - - /// from: static public final java.lang.String EXTRA_CONTENT_QUERY - static const EXTRA_CONTENT_QUERY = r"""android.intent.extra.CONTENT_QUERY"""; - - /// from: static public final java.lang.String EXTRA_DATA_REMOVED - static const EXTRA_DATA_REMOVED = r"""android.intent.extra.DATA_REMOVED"""; - - /// from: static public final java.lang.String EXTRA_DOCK_STATE - static const EXTRA_DOCK_STATE = r"""android.intent.extra.DOCK_STATE"""; - - /// from: static public final int EXTRA_DOCK_STATE_CAR - static const EXTRA_DOCK_STATE_CAR = 2; - - /// from: static public final int EXTRA_DOCK_STATE_DESK - static const EXTRA_DOCK_STATE_DESK = 1; - - /// from: static public final int EXTRA_DOCK_STATE_HE_DESK - static const EXTRA_DOCK_STATE_HE_DESK = 4; - - /// from: static public final int EXTRA_DOCK_STATE_LE_DESK - static const EXTRA_DOCK_STATE_LE_DESK = 3; - - /// from: static public final int EXTRA_DOCK_STATE_UNDOCKED - static const EXTRA_DOCK_STATE_UNDOCKED = 0; - - /// from: static public final java.lang.String EXTRA_DONT_KILL_APP - static const EXTRA_DONT_KILL_APP = r"""android.intent.extra.DONT_KILL_APP"""; - - /// from: static public final java.lang.String EXTRA_DURATION_MILLIS - static const EXTRA_DURATION_MILLIS = - r"""android.intent.extra.DURATION_MILLIS"""; - - /// from: static public final java.lang.String EXTRA_EMAIL - static const EXTRA_EMAIL = r"""android.intent.extra.EMAIL"""; - - /// from: static public final java.lang.String EXTRA_END_TIME - static const EXTRA_END_TIME = r"""android.intent.extra.END_TIME"""; - - /// from: static public final java.lang.String EXTRA_EXCLUDE_COMPONENTS - static const EXTRA_EXCLUDE_COMPONENTS = - r"""android.intent.extra.EXCLUDE_COMPONENTS"""; - - /// from: static public final java.lang.String EXTRA_FROM_STORAGE - static const EXTRA_FROM_STORAGE = r"""android.intent.extra.FROM_STORAGE"""; - - /// from: static public final java.lang.String EXTRA_HTML_TEXT - static const EXTRA_HTML_TEXT = r"""android.intent.extra.HTML_TEXT"""; - - /// from: static public final java.lang.String EXTRA_INDEX - static const EXTRA_INDEX = r"""android.intent.extra.INDEX"""; - - /// from: static public final java.lang.String EXTRA_INITIAL_INTENTS - static const EXTRA_INITIAL_INTENTS = - r"""android.intent.extra.INITIAL_INTENTS"""; - - /// from: static public final java.lang.String EXTRA_INSTALLER_PACKAGE_NAME - static const EXTRA_INSTALLER_PACKAGE_NAME = - r"""android.intent.extra.INSTALLER_PACKAGE_NAME"""; - - /// from: static public final java.lang.String EXTRA_INTENT - static const EXTRA_INTENT = r"""android.intent.extra.INTENT"""; - - /// from: static public final java.lang.String EXTRA_KEY_EVENT - static const EXTRA_KEY_EVENT = r"""android.intent.extra.KEY_EVENT"""; - - /// from: static public final java.lang.String EXTRA_LOCALE_LIST - static const EXTRA_LOCALE_LIST = r"""android.intent.extra.LOCALE_LIST"""; - - /// from: static public final java.lang.String EXTRA_LOCAL_ONLY - static const EXTRA_LOCAL_ONLY = r"""android.intent.extra.LOCAL_ONLY"""; - - /// from: static public final java.lang.String EXTRA_LOCUS_ID - static const EXTRA_LOCUS_ID = r"""android.intent.extra.LOCUS_ID"""; - - /// from: static public final java.lang.String EXTRA_MIME_TYPES - static const EXTRA_MIME_TYPES = r"""android.intent.extra.MIME_TYPES"""; - - /// from: static public final java.lang.String EXTRA_NOT_UNKNOWN_SOURCE - static const EXTRA_NOT_UNKNOWN_SOURCE = - r"""android.intent.extra.NOT_UNKNOWN_SOURCE"""; - - /// from: static public final java.lang.String EXTRA_ORIGINATING_URI - static const EXTRA_ORIGINATING_URI = - r"""android.intent.extra.ORIGINATING_URI"""; - - /// from: static public final java.lang.String EXTRA_PACKAGES - static const EXTRA_PACKAGES = r"""android.intent.extra.PACKAGES"""; - - /// from: static public final java.lang.String EXTRA_PACKAGE_NAME - static const EXTRA_PACKAGE_NAME = r"""android.intent.extra.PACKAGE_NAME"""; - - /// from: static public final java.lang.String EXTRA_PERMISSION_GROUP_NAME - static const EXTRA_PERMISSION_GROUP_NAME = - r"""android.intent.extra.PERMISSION_GROUP_NAME"""; - - /// from: static public final java.lang.String EXTRA_PHONE_NUMBER - static const EXTRA_PHONE_NUMBER = r"""android.intent.extra.PHONE_NUMBER"""; - - /// from: static public final java.lang.String EXTRA_PROCESS_TEXT - static const EXTRA_PROCESS_TEXT = r"""android.intent.extra.PROCESS_TEXT"""; - - /// from: static public final java.lang.String EXTRA_PROCESS_TEXT_READONLY - static const EXTRA_PROCESS_TEXT_READONLY = - r"""android.intent.extra.PROCESS_TEXT_READONLY"""; - - /// from: static public final java.lang.String EXTRA_QUICK_VIEW_FEATURES - static const EXTRA_QUICK_VIEW_FEATURES = - r"""android.intent.extra.QUICK_VIEW_FEATURES"""; - - /// from: static public final java.lang.String EXTRA_QUIET_MODE - static const EXTRA_QUIET_MODE = r"""android.intent.extra.QUIET_MODE"""; - - /// from: static public final java.lang.String EXTRA_REFERRER - static const EXTRA_REFERRER = r"""android.intent.extra.REFERRER"""; - - /// from: static public final java.lang.String EXTRA_REFERRER_NAME - static const EXTRA_REFERRER_NAME = r"""android.intent.extra.REFERRER_NAME"""; - - /// from: static public final java.lang.String EXTRA_REMOTE_INTENT_TOKEN - static const EXTRA_REMOTE_INTENT_TOKEN = - r"""android.intent.extra.remote_intent_token"""; - - /// from: static public final java.lang.String EXTRA_REPLACEMENT_EXTRAS - static const EXTRA_REPLACEMENT_EXTRAS = - r"""android.intent.extra.REPLACEMENT_EXTRAS"""; - - /// from: static public final java.lang.String EXTRA_REPLACING - static const EXTRA_REPLACING = r"""android.intent.extra.REPLACING"""; - - /// from: static public final java.lang.String EXTRA_RESTRICTIONS_BUNDLE - static const EXTRA_RESTRICTIONS_BUNDLE = - r"""android.intent.extra.restrictions_bundle"""; - - /// from: static public final java.lang.String EXTRA_RESTRICTIONS_INTENT - static const EXTRA_RESTRICTIONS_INTENT = - r"""android.intent.extra.restrictions_intent"""; - - /// from: static public final java.lang.String EXTRA_RESTRICTIONS_LIST - static const EXTRA_RESTRICTIONS_LIST = - r"""android.intent.extra.restrictions_list"""; - - /// from: static public final java.lang.String EXTRA_RESULT_RECEIVER - static const EXTRA_RESULT_RECEIVER = - r"""android.intent.extra.RESULT_RECEIVER"""; - - /// from: static public final java.lang.String EXTRA_RETURN_RESULT - static const EXTRA_RETURN_RESULT = r"""android.intent.extra.RETURN_RESULT"""; - - /// from: static public final java.lang.String EXTRA_SHORTCUT_ICON - static const EXTRA_SHORTCUT_ICON = r"""android.intent.extra.shortcut.ICON"""; - - /// from: static public final java.lang.String EXTRA_SHORTCUT_ICON_RESOURCE - static const EXTRA_SHORTCUT_ICON_RESOURCE = - r"""android.intent.extra.shortcut.ICON_RESOURCE"""; - - /// from: static public final java.lang.String EXTRA_SHORTCUT_ID - static const EXTRA_SHORTCUT_ID = r"""android.intent.extra.shortcut.ID"""; - - /// from: static public final java.lang.String EXTRA_SHORTCUT_INTENT - static const EXTRA_SHORTCUT_INTENT = - r"""android.intent.extra.shortcut.INTENT"""; - - /// from: static public final java.lang.String EXTRA_SHORTCUT_NAME - static const EXTRA_SHORTCUT_NAME = r"""android.intent.extra.shortcut.NAME"""; - - /// from: static public final java.lang.String EXTRA_SHUTDOWN_USERSPACE_ONLY - static const EXTRA_SHUTDOWN_USERSPACE_ONLY = - r"""android.intent.extra.SHUTDOWN_USERSPACE_ONLY"""; - - /// from: static public final java.lang.String EXTRA_SPLIT_NAME - static const EXTRA_SPLIT_NAME = r"""android.intent.extra.SPLIT_NAME"""; - - /// from: static public final java.lang.String EXTRA_START_TIME - static const EXTRA_START_TIME = r"""android.intent.extra.START_TIME"""; - - /// from: static public final java.lang.String EXTRA_STREAM - static const EXTRA_STREAM = r"""android.intent.extra.STREAM"""; - - /// from: static public final java.lang.String EXTRA_SUBJECT - static const EXTRA_SUBJECT = r"""android.intent.extra.SUBJECT"""; - - /// from: static public final java.lang.String EXTRA_SUSPENDED_PACKAGE_EXTRAS - static const EXTRA_SUSPENDED_PACKAGE_EXTRAS = - r"""android.intent.extra.SUSPENDED_PACKAGE_EXTRAS"""; - - /// from: static public final java.lang.String EXTRA_TEMPLATE - static const EXTRA_TEMPLATE = r"""android.intent.extra.TEMPLATE"""; - - /// from: static public final java.lang.String EXTRA_TEXT - static const EXTRA_TEXT = r"""android.intent.extra.TEXT"""; - - /// from: static public final java.lang.String EXTRA_TIME - static const EXTRA_TIME = r"""android.intent.extra.TIME"""; - - /// from: static public final java.lang.String EXTRA_TIMEZONE - static const EXTRA_TIMEZONE = r"""time-zone"""; - - /// from: static public final java.lang.String EXTRA_TITLE - static const EXTRA_TITLE = r"""android.intent.extra.TITLE"""; - - /// from: static public final java.lang.String EXTRA_UID - static const EXTRA_UID = r"""android.intent.extra.UID"""; - - /// from: static public final java.lang.String EXTRA_USER - static const EXTRA_USER = r"""android.intent.extra.USER"""; - - /// from: static public final java.lang.String EXTRA_USER_INITIATED - static const EXTRA_USER_INITIATED = - r"""android.intent.extra.USER_INITIATED"""; - - /// from: static public final java.lang.String EXTRA_USE_STYLUS_MODE - static const EXTRA_USE_STYLUS_MODE = - r"""android.intent.extra.USE_STYLUS_MODE"""; - - /// from: static public final int FILL_IN_ACTION - static const FILL_IN_ACTION = 1; - - /// from: static public final int FILL_IN_CATEGORIES - static const FILL_IN_CATEGORIES = 4; - - /// from: static public final int FILL_IN_CLIP_DATA - static const FILL_IN_CLIP_DATA = 128; - - /// from: static public final int FILL_IN_COMPONENT - static const FILL_IN_COMPONENT = 8; - - /// from: static public final int FILL_IN_DATA - static const FILL_IN_DATA = 2; - - /// from: static public final int FILL_IN_IDENTIFIER - static const FILL_IN_IDENTIFIER = 256; - - /// from: static public final int FILL_IN_PACKAGE - static const FILL_IN_PACKAGE = 16; - - /// from: static public final int FILL_IN_SELECTOR - static const FILL_IN_SELECTOR = 64; - - /// from: static public final int FILL_IN_SOURCE_BOUNDS - static const FILL_IN_SOURCE_BOUNDS = 32; - - /// from: static public final int FLAG_ACTIVITY_BROUGHT_TO_FRONT - static const FLAG_ACTIVITY_BROUGHT_TO_FRONT = 4194304; - - /// from: static public final int FLAG_ACTIVITY_CLEAR_TASK - static const FLAG_ACTIVITY_CLEAR_TASK = 32768; - - /// from: static public final int FLAG_ACTIVITY_CLEAR_TOP - static const FLAG_ACTIVITY_CLEAR_TOP = 67108864; - - /// from: static public final int FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET - static const FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET = 524288; - - /// from: static public final int FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS - static const FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS = 8388608; - - /// from: static public final int FLAG_ACTIVITY_FORWARD_RESULT - static const FLAG_ACTIVITY_FORWARD_RESULT = 33554432; - - /// from: static public final int FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY - static const FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY = 1048576; - - /// from: static public final int FLAG_ACTIVITY_LAUNCH_ADJACENT - static const FLAG_ACTIVITY_LAUNCH_ADJACENT = 4096; - - /// from: static public final int FLAG_ACTIVITY_MATCH_EXTERNAL - static const FLAG_ACTIVITY_MATCH_EXTERNAL = 2048; - - /// from: static public final int FLAG_ACTIVITY_MULTIPLE_TASK - static const FLAG_ACTIVITY_MULTIPLE_TASK = 134217728; - - /// from: static public final int FLAG_ACTIVITY_NEW_DOCUMENT - static const FLAG_ACTIVITY_NEW_DOCUMENT = 524288; - - /// from: static public final int FLAG_ACTIVITY_NEW_TASK - static const FLAG_ACTIVITY_NEW_TASK = 268435456; - - /// from: static public final int FLAG_ACTIVITY_NO_ANIMATION - static const FLAG_ACTIVITY_NO_ANIMATION = 65536; - - /// from: static public final int FLAG_ACTIVITY_NO_HISTORY - static const FLAG_ACTIVITY_NO_HISTORY = 1073741824; - - /// from: static public final int FLAG_ACTIVITY_NO_USER_ACTION - static const FLAG_ACTIVITY_NO_USER_ACTION = 262144; - - /// from: static public final int FLAG_ACTIVITY_PREVIOUS_IS_TOP - static const FLAG_ACTIVITY_PREVIOUS_IS_TOP = 16777216; - - /// from: static public final int FLAG_ACTIVITY_REORDER_TO_FRONT - static const FLAG_ACTIVITY_REORDER_TO_FRONT = 131072; - - /// from: static public final int FLAG_ACTIVITY_REQUIRE_DEFAULT - static const FLAG_ACTIVITY_REQUIRE_DEFAULT = 512; - - /// from: static public final int FLAG_ACTIVITY_REQUIRE_NON_BROWSER - static const FLAG_ACTIVITY_REQUIRE_NON_BROWSER = 1024; - - /// from: static public final int FLAG_ACTIVITY_RESET_TASK_IF_NEEDED - static const FLAG_ACTIVITY_RESET_TASK_IF_NEEDED = 2097152; - - /// from: static public final int FLAG_ACTIVITY_RETAIN_IN_RECENTS - static const FLAG_ACTIVITY_RETAIN_IN_RECENTS = 8192; - - /// from: static public final int FLAG_ACTIVITY_SINGLE_TOP - static const FLAG_ACTIVITY_SINGLE_TOP = 536870912; - - /// from: static public final int FLAG_ACTIVITY_TASK_ON_HOME - static const FLAG_ACTIVITY_TASK_ON_HOME = 16384; - - /// from: static public final int FLAG_DEBUG_LOG_RESOLUTION - static const FLAG_DEBUG_LOG_RESOLUTION = 8; - - /// from: static public final int FLAG_DIRECT_BOOT_AUTO - static const FLAG_DIRECT_BOOT_AUTO = 256; - - /// from: static public final int FLAG_EXCLUDE_STOPPED_PACKAGES - static const FLAG_EXCLUDE_STOPPED_PACKAGES = 16; - - /// from: static public final int FLAG_FROM_BACKGROUND - static const FLAG_FROM_BACKGROUND = 4; - - /// from: static public final int FLAG_GRANT_PERSISTABLE_URI_PERMISSION - static const FLAG_GRANT_PERSISTABLE_URI_PERMISSION = 64; - - /// from: static public final int FLAG_GRANT_PREFIX_URI_PERMISSION - static const FLAG_GRANT_PREFIX_URI_PERMISSION = 128; - - /// from: static public final int FLAG_GRANT_READ_URI_PERMISSION - static const FLAG_GRANT_READ_URI_PERMISSION = 1; - - /// from: static public final int FLAG_GRANT_WRITE_URI_PERMISSION - static const FLAG_GRANT_WRITE_URI_PERMISSION = 2; - - /// from: static public final int FLAG_INCLUDE_STOPPED_PACKAGES - static const FLAG_INCLUDE_STOPPED_PACKAGES = 32; - - /// from: static public final int FLAG_RECEIVER_FOREGROUND - static const FLAG_RECEIVER_FOREGROUND = 268435456; - - /// from: static public final int FLAG_RECEIVER_NO_ABORT - static const FLAG_RECEIVER_NO_ABORT = 134217728; - - /// from: static public final int FLAG_RECEIVER_REGISTERED_ONLY - static const FLAG_RECEIVER_REGISTERED_ONLY = 1073741824; - - /// from: static public final int FLAG_RECEIVER_REPLACE_PENDING - static const FLAG_RECEIVER_REPLACE_PENDING = 536870912; - - /// from: static public final int FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS - static const FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS = 2097152; - - /// from: static public final java.lang.String METADATA_DOCK_HOME - static const METADATA_DOCK_HOME = r"""android.dock_home"""; - - /// from: static public final int URI_ALLOW_UNSAFE - static const URI_ALLOW_UNSAFE = 4; - - /// from: static public final int URI_ANDROID_APP_SCHEME - static const URI_ANDROID_APP_SCHEME = 2; - - /// from: static public final int URI_INTENT_SCHEME - static const URI_INTENT_SCHEME = 1; - - static final _id_new0 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); - - /// from: public void () - /// The returned object must be released after use, by calling the [release] method. - factory Intent() { - return Intent.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, []).object); - } - - static final _id_new1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Landroid/content/Intent;)V"); - - /// from: public void (android.content.Intent intent) - /// The returned object must be released after use, by calling the [release] method. - factory Intent.new1( - Intent intent, - ) { - return Intent.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new1, [intent.reference]).object); - } - - static final _id_new2 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); - - /// from: public void (java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - factory Intent.new2( - jni.JString string, - ) { - return Intent.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new2, [string.reference]).object); - } - - static final _id_new3 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Ljava/lang/String;Landroid/net/Uri;)V"); - - /// from: public void (java.lang.String string, android.net.Uri uri) - /// The returned object must be released after use, by calling the [release] method. - factory Intent.new3( - jni.JString string, - Uri uri, - ) { - return Intent.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new3, [string.reference, uri.reference]).object); - } - - static final _id_new4 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Landroid/content/Context;Ljava/lang/Class;)V"); - - /// from: public void (android.content.Context context, java.lang.Class class) - /// The returned object must be released after use, by calling the [release] method. - factory Intent.new4( - Context context, - jni.JObject class0, - ) { - return Intent.fromRef(jni.Jni.accessors.newObjectWithArgs(_class.reference, - _id_new4, [context.reference, class0.reference]).object); - } - - static final _id_new5 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/lang/String;Landroid/net/Uri;Landroid/content/Context;Ljava/lang/Class;)V"); - - /// from: public void (java.lang.String string, android.net.Uri uri, android.content.Context context, java.lang.Class class) - /// The returned object must be released after use, by calling the [release] method. - factory Intent.new5( - jni.JString string, - Uri uri, - Context context, - jni.JObject class0, - ) { - return Intent.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new5, [ - string.reference, - uri.reference, - context.reference, - class0.reference - ]).object); - } - - static final _id_createChooser = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"createChooser", - r"(Landroid/content/Intent;Ljava/lang/CharSequence;)Landroid/content/Intent;"); - - /// from: static public android.content.Intent createChooser(android.content.Intent intent, java.lang.CharSequence charSequence) - /// The returned object must be released after use, by calling the [release] method. - static Intent createChooser( - Intent intent, - jni.JObject charSequence, - ) { - return const $IntentType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_createChooser, - jni.JniCallType.objectType, - [intent.reference, charSequence.reference]).object); - } - - static final _id_createChooser1 = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"createChooser", - r"(Landroid/content/Intent;Ljava/lang/CharSequence;Landroid/content/IntentSender;)Landroid/content/Intent;"); - - /// from: static public android.content.Intent createChooser(android.content.Intent intent, java.lang.CharSequence charSequence, android.content.IntentSender intentSender) - /// The returned object must be released after use, by calling the [release] method. - static Intent createChooser1( - Intent intent, - jni.JObject charSequence, - jni.JObject intentSender, - ) { - return const $IntentType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, _id_createChooser1, jni.JniCallType.objectType, [ - intent.reference, - charSequence.reference, - intentSender.reference - ]).object); - } - - static final _id_clone = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"clone", r"()Ljava/lang/Object;"); - - /// from: public java.lang.Object clone() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject clone() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_clone, jni.JniCallType.objectType, []).object); - } - - static final _id_cloneFilter = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"cloneFilter", r"()Landroid/content/Intent;"); - - /// from: public android.content.Intent cloneFilter() - /// The returned object must be released after use, by calling the [release] method. - Intent cloneFilter() { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_cloneFilter, jni.JniCallType.objectType, []).object); - } - - static final _id_makeMainActivity = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"makeMainActivity", - r"(Landroid/content/ComponentName;)Landroid/content/Intent;"); - - /// from: static public android.content.Intent makeMainActivity(android.content.ComponentName componentName) - /// The returned object must be released after use, by calling the [release] method. - static Intent makeMainActivity( - jni.JObject componentName, - ) { - return const $IntentType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_makeMainActivity, - jni.JniCallType.objectType, [componentName.reference]).object); - } - - static final _id_makeMainSelectorActivity = jni.Jni.accessors - .getStaticMethodIDOf(_class.reference, r"makeMainSelectorActivity", - r"(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;"); - - /// from: static public android.content.Intent makeMainSelectorActivity(java.lang.String string, java.lang.String string1) - /// The returned object must be released after use, by calling the [release] method. - static Intent makeMainSelectorActivity( - jni.JString string, - jni.JString string1, - ) { - return const $IntentType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_makeMainSelectorActivity, - jni.JniCallType.objectType, - [string.reference, string1.reference]).object); - } - - static final _id_makeRestartActivityTask = jni.Jni.accessors - .getStaticMethodIDOf(_class.reference, r"makeRestartActivityTask", - r"(Landroid/content/ComponentName;)Landroid/content/Intent;"); - - /// from: static public android.content.Intent makeRestartActivityTask(android.content.ComponentName componentName) - /// The returned object must be released after use, by calling the [release] method. - static Intent makeRestartActivityTask( - jni.JObject componentName, - ) { - return const $IntentType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_makeRestartActivityTask, - jni.JniCallType.objectType, [componentName.reference]).object); - } - - static final _id_getIntent = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"getIntent", - r"(Ljava/lang/String;)Landroid/content/Intent;"); - - /// from: static public android.content.Intent getIntent(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - static Intent getIntent( - jni.JString string, - ) { - return const $IntentType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_getIntent, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_parseUri = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"parseUri", - r"(Ljava/lang/String;I)Landroid/content/Intent;"); - - /// from: static public android.content.Intent parseUri(java.lang.String string, int i) - /// The returned object must be released after use, by calling the [release] method. - static Intent parseUri( - jni.JString string, - int i, - ) { - return const $IntentType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_parseUri, - jni.JniCallType.objectType, - [string.reference, jni.JValueInt(i)]).object); - } - - static final _id_getIntentOld = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"getIntentOld", - r"(Ljava/lang/String;)Landroid/content/Intent;"); - - /// from: static public android.content.Intent getIntentOld(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - static Intent getIntentOld( - jni.JString string, - ) { - return const $IntentType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_getIntentOld, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getAction = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getAction", r"()Ljava/lang/String;"); - - /// from: public java.lang.String getAction() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getAction() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getAction, jni.JniCallType.objectType, []).object); - } - - static final _id_getData = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getData", r"()Landroid/net/Uri;"); - - /// from: public android.net.Uri getData() - /// The returned object must be released after use, by calling the [release] method. - Uri getData() { - return const $UriType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getData, jni.JniCallType.objectType, []).object); - } - - static final _id_getDataString = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getDataString", r"()Ljava/lang/String;"); - - /// from: public java.lang.String getDataString() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getDataString() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getDataString, jni.JniCallType.objectType, []).object); - } - - static final _id_getScheme = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getScheme", r"()Ljava/lang/String;"); - - /// from: public java.lang.String getScheme() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getScheme() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getScheme, jni.JniCallType.objectType, []).object); - } - - static final _id_getType = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getType", r"()Ljava/lang/String;"); - - /// from: public java.lang.String getType() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getType() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getType, jni.JniCallType.objectType, []).object); - } - - static final _id_resolveType = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"resolveType", - r"(Landroid/content/Context;)Ljava/lang/String;"); - - /// from: public java.lang.String resolveType(android.content.Context context) - /// The returned object must be released after use, by calling the [release] method. - jni.JString resolveType( - Context context, - ) { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_resolveType, - jni.JniCallType.objectType, - [context.reference]).object); - } - - static final _id_resolveType1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"resolveType", - r"(Landroid/content/ContentResolver;)Ljava/lang/String;"); - - /// from: public java.lang.String resolveType(android.content.ContentResolver contentResolver) - /// The returned object must be released after use, by calling the [release] method. - jni.JString resolveType1( - jni.JObject contentResolver, - ) { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_resolveType1, - jni.JniCallType.objectType, - [contentResolver.reference]).object); - } - - static final _id_resolveTypeIfNeeded = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"resolveTypeIfNeeded", - r"(Landroid/content/ContentResolver;)Ljava/lang/String;"); - - /// from: public java.lang.String resolveTypeIfNeeded(android.content.ContentResolver contentResolver) - /// The returned object must be released after use, by calling the [release] method. - jni.JString resolveTypeIfNeeded( - jni.JObject contentResolver, - ) { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_resolveTypeIfNeeded, - jni.JniCallType.objectType, - [contentResolver.reference]).object); - } - - static final _id_getIdentifier = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getIdentifier", r"()Ljava/lang/String;"); - - /// from: public java.lang.String getIdentifier() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getIdentifier() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getIdentifier, jni.JniCallType.objectType, []).object); - } - - static final _id_hasCategory = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"hasCategory", r"(Ljava/lang/String;)Z"); - - /// from: public boolean hasCategory(java.lang.String string) - bool hasCategory( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_hasCategory, - jni.JniCallType.booleanType, [string.reference]).boolean; - } - - static final _id_getCategories = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getCategories", r"()Ljava/util/Set;"); - - /// from: public java.util.Set getCategories() - /// The returned object must be released after use, by calling the [release] method. - jni.JSet getCategories() { - return const jni.JSetType(jni.JStringType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getCategories, - jni.JniCallType.objectType, []).object); - } - - static final _id_getSelector = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getSelector", r"()Landroid/content/Intent;"); - - /// from: public android.content.Intent getSelector() - /// The returned object must be released after use, by calling the [release] method. - Intent getSelector() { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getSelector, jni.JniCallType.objectType, []).object); - } - - static final _id_getClipData = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getClipData", r"()Landroid/content/ClipData;"); - - /// from: public android.content.ClipData getClipData() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getClipData() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getClipData, jni.JniCallType.objectType, []).object); - } - - static final _id_setExtrasClassLoader = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"setExtrasClassLoader", r"(Ljava/lang/ClassLoader;)V"); - - /// from: public void setExtrasClassLoader(java.lang.ClassLoader classLoader) - void setExtrasClassLoader( - jni.JObject classLoader, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setExtrasClassLoader, - jni.JniCallType.voidType, - [classLoader.reference]).check(); - } - - static final _id_hasExtra = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"hasExtra", r"(Ljava/lang/String;)Z"); - - /// from: public boolean hasExtra(java.lang.String string) - bool hasExtra( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_hasExtra, - jni.JniCallType.booleanType, [string.reference]).boolean; - } - - static final _id_hasFileDescriptors = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"hasFileDescriptors", r"()Z"); - - /// from: public boolean hasFileDescriptors() - bool hasFileDescriptors() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_hasFileDescriptors, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_getBooleanExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getBooleanExtra", r"(Ljava/lang/String;Z)Z"); - - /// from: public boolean getBooleanExtra(java.lang.String string, boolean z) - bool getBooleanExtra( - jni.JString string, - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_getBooleanExtra, - jni.JniCallType.booleanType, [string.reference, z ? 1 : 0]).boolean; - } - - static final _id_getByteExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getByteExtra", r"(Ljava/lang/String;B)B"); - - /// from: public byte getByteExtra(java.lang.String string, byte b) - int getByteExtra( - jni.JString string, - int b, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_getByteExtra, - jni.JniCallType.byteType, [string.reference, jni.JValueByte(b)]).byte; - } - - static final _id_getShortExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getShortExtra", r"(Ljava/lang/String;S)S"); - - /// from: public short getShortExtra(java.lang.String string, short s) - int getShortExtra( - jni.JString string, - int s, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getShortExtra, - jni.JniCallType.shortType, - [string.reference, jni.JValueShort(s)]).short; - } - - static final _id_getCharExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getCharExtra", r"(Ljava/lang/String;C)C"); - - /// from: public char getCharExtra(java.lang.String string, char c) - int getCharExtra( - jni.JString string, - int c, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_getCharExtra, - jni.JniCallType.charType, [string.reference, jni.JValueChar(c)]).char; - } - - static final _id_getIntExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getIntExtra", r"(Ljava/lang/String;I)I"); - - /// from: public int getIntExtra(java.lang.String string, int i) - int getIntExtra( - jni.JString string, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_getIntExtra, - jni.JniCallType.intType, [string.reference, jni.JValueInt(i)]).integer; - } - - static final _id_getLongExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getLongExtra", r"(Ljava/lang/String;J)J"); - - /// from: public long getLongExtra(java.lang.String string, long j) - int getLongExtra( - jni.JString string, - int j, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_getLongExtra, - jni.JniCallType.longType, [string.reference, j]).long; - } - - static final _id_getFloatExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getFloatExtra", r"(Ljava/lang/String;F)F"); - - /// from: public float getFloatExtra(java.lang.String string, float f) - double getFloatExtra( - jni.JString string, - double f, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getFloatExtra, - jni.JniCallType.floatType, - [string.reference, jni.JValueFloat(f)]).float; - } - - static final _id_getDoubleExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getDoubleExtra", r"(Ljava/lang/String;D)D"); - - /// from: public double getDoubleExtra(java.lang.String string, double d) - double getDoubleExtra( - jni.JString string, - double d, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_getDoubleExtra, - jni.JniCallType.doubleType, [string.reference, d]).doubleFloat; - } - - static final _id_getStringExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getStringExtra", - r"(Ljava/lang/String;)Ljava/lang/String;"); - - /// from: public java.lang.String getStringExtra(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JString getStringExtra( - jni.JString string, - ) { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getStringExtra, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getCharSequenceExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getCharSequenceExtra", - r"(Ljava/lang/String;)Ljava/lang/CharSequence;"); - - /// from: public java.lang.CharSequence getCharSequenceExtra(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getCharSequenceExtra( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getCharSequenceExtra, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getParcelableExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getParcelableExtra", - r"(Ljava/lang/String;)Landroid/os/Parcelable;"); - - /// from: public T getParcelableExtra(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - $T getParcelableExtra<$T extends jni.JObject>( - jni.JString string, { - required jni.JObjType<$T> T, - }) { - return T.fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getParcelableExtra, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getParcelableExtra1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getParcelableExtra", - r"(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;"); - - /// from: public T getParcelableExtra(java.lang.String string, java.lang.Class class) - /// The returned object must be released after use, by calling the [release] method. - $T getParcelableExtra1<$T extends jni.JObject>( - jni.JString string, - jni.JObject class0, { - required jni.JObjType<$T> T, - }) { - return T.fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getParcelableExtra1, - jni.JniCallType.objectType, - [string.reference, class0.reference]).object); - } - - static final _id_getParcelableArrayExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getParcelableArrayExtra", - r"(Ljava/lang/String;)[Landroid/os/Parcelable;"); - - /// from: public android.os.Parcelable[] getParcelableArrayExtra(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getParcelableArrayExtra( - jni.JString string, - ) { - return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getParcelableArrayExtra, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getParcelableArrayExtra1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getParcelableArrayExtra", - r"(Ljava/lang/String;Ljava/lang/Class;)[Ljava/lang/Object;"); - - /// from: public java.lang.Object[] getParcelableArrayExtra(java.lang.String string, java.lang.Class class) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray<$T> getParcelableArrayExtra1<$T extends jni.JObject>( - jni.JString string, - jni.JObject class0, { - required jni.JObjType<$T> T, - }) { - return jni.JArrayType(T).fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getParcelableArrayExtra1, - jni.JniCallType.objectType, - [string.reference, class0.reference]).object); - } - - static final _id_getParcelableArrayListExtra = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getParcelableArrayListExtra", - r"(Ljava/lang/String;)Ljava/util/ArrayList;"); - - /// from: public java.util.ArrayList getParcelableArrayListExtra(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getParcelableArrayListExtra<$T extends jni.JObject>( - jni.JString string, { - required jni.JObjType<$T> T, - }) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getParcelableArrayListExtra, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getParcelableArrayListExtra1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getParcelableArrayListExtra", - r"(Ljava/lang/String;Ljava/lang/Class;)Ljava/util/ArrayList;"); - - /// from: public java.util.ArrayList getParcelableArrayListExtra(java.lang.String string, java.lang.Class class) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getParcelableArrayListExtra1<$T extends jni.JObject>( - jni.JString string, - jni.JObject class0, { - required jni.JObjType<$T> T, - }) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getParcelableArrayListExtra1, - jni.JniCallType.objectType, - [string.reference, class0.reference]).object); - } - - static final _id_getSerializableExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getSerializableExtra", - r"(Ljava/lang/String;)Ljava/io/Serializable;"); - - /// from: public java.io.Serializable getSerializableExtra(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getSerializableExtra( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getSerializableExtra, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getSerializableExtra1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getSerializableExtra", - r"(Ljava/lang/String;Ljava/lang/Class;)Ljava/io/Serializable;"); - - /// from: public T getSerializableExtra(java.lang.String string, java.lang.Class class) - /// The returned object must be released after use, by calling the [release] method. - $T getSerializableExtra1<$T extends jni.JObject>( - jni.JString string, - jni.JObject class0, { - required jni.JObjType<$T> T, - }) { - return T.fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getSerializableExtra1, - jni.JniCallType.objectType, - [string.reference, class0.reference]).object); - } - - static final _id_getIntegerArrayListExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getIntegerArrayListExtra", - r"(Ljava/lang/String;)Ljava/util/ArrayList;"); - - /// from: public java.util.ArrayList getIntegerArrayListExtra(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getIntegerArrayListExtra( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getIntegerArrayListExtra, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getStringArrayListExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getStringArrayListExtra", - r"(Ljava/lang/String;)Ljava/util/ArrayList;"); - - /// from: public java.util.ArrayList getStringArrayListExtra(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getStringArrayListExtra( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getStringArrayListExtra, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getCharSequenceArrayListExtra = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getCharSequenceArrayListExtra", - r"(Ljava/lang/String;)Ljava/util/ArrayList;"); - - /// from: public java.util.ArrayList getCharSequenceArrayListExtra(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getCharSequenceArrayListExtra( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getCharSequenceArrayListExtra, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getBooleanArrayExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getBooleanArrayExtra", r"(Ljava/lang/String;)[Z"); - - /// from: public boolean[] getBooleanArrayExtra(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getBooleanArrayExtra( - jni.JString string, - ) { - return const jni.JArrayType(jni.jbooleanType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getBooleanArrayExtra, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getByteArrayExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getByteArrayExtra", r"(Ljava/lang/String;)[B"); - - /// from: public byte[] getByteArrayExtra(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getByteArrayExtra( - jni.JString string, - ) { - return const jni.JArrayType(jni.jbyteType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getByteArrayExtra, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getShortArrayExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getShortArrayExtra", r"(Ljava/lang/String;)[S"); - - /// from: public short[] getShortArrayExtra(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getShortArrayExtra( - jni.JString string, - ) { - return const jni.JArrayType(jni.jshortType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getShortArrayExtra, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getCharArrayExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getCharArrayExtra", r"(Ljava/lang/String;)[C"); - - /// from: public char[] getCharArrayExtra(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getCharArrayExtra( - jni.JString string, - ) { - return const jni.JArrayType(jni.jcharType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getCharArrayExtra, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getIntArrayExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getIntArrayExtra", r"(Ljava/lang/String;)[I"); - - /// from: public int[] getIntArrayExtra(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getIntArrayExtra( - jni.JString string, - ) { - return const jni.JArrayType(jni.jintType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getIntArrayExtra, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getLongArrayExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getLongArrayExtra", r"(Ljava/lang/String;)[J"); - - /// from: public long[] getLongArrayExtra(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getLongArrayExtra( - jni.JString string, - ) { - return const jni.JArrayType(jni.jlongType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getLongArrayExtra, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getFloatArrayExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getFloatArrayExtra", r"(Ljava/lang/String;)[F"); - - /// from: public float[] getFloatArrayExtra(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getFloatArrayExtra( - jni.JString string, - ) { - return const jni.JArrayType(jni.jfloatType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getFloatArrayExtra, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getDoubleArrayExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getDoubleArrayExtra", r"(Ljava/lang/String;)[D"); - - /// from: public double[] getDoubleArrayExtra(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getDoubleArrayExtra( - jni.JString string, - ) { - return const jni.JArrayType(jni.jdoubleType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getDoubleArrayExtra, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getStringArrayExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getStringArrayExtra", - r"(Ljava/lang/String;)[Ljava/lang/String;"); - - /// from: public java.lang.String[] getStringArrayExtra(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getStringArrayExtra( - jni.JString string, - ) { - return const jni.JArrayType(jni.JStringType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getStringArrayExtra, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getCharSequenceArrayExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getCharSequenceArrayExtra", - r"(Ljava/lang/String;)[Ljava/lang/CharSequence;"); - - /// from: public java.lang.CharSequence[] getCharSequenceArrayExtra(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getCharSequenceArrayExtra( - jni.JString string, - ) { - return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getCharSequenceArrayExtra, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getBundleExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getBundleExtra", - r"(Ljava/lang/String;)Landroid/os/Bundle;"); - - /// from: public android.os.Bundle getBundleExtra(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Bundle getBundleExtra( - jni.JString string, - ) { - return const $BundleType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getBundleExtra, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getExtras = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getExtras", r"()Landroid/os/Bundle;"); - - /// from: public android.os.Bundle getExtras() - /// The returned object must be released after use, by calling the [release] method. - Bundle getExtras() { - return const $BundleType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getExtras, jni.JniCallType.objectType, []).object); - } - - static final _id_getFlags = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"getFlags", r"()I"); - - /// from: public int getFlags() - int getFlags() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_getFlags, jni.JniCallType.intType, []).integer; - } - - static final _id_getPackage = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getPackage", r"()Ljava/lang/String;"); - - /// from: public java.lang.String getPackage() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getPackage() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getPackage, jni.JniCallType.objectType, []).object); - } - - static final _id_getComponent = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getComponent", r"()Landroid/content/ComponentName;"); - - /// from: public android.content.ComponentName getComponent() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getComponent() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getComponent, jni.JniCallType.objectType, []).object); - } - - static final _id_getSourceBounds = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getSourceBounds", r"()Landroid/graphics/Rect;"); - - /// from: public android.graphics.Rect getSourceBounds() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getSourceBounds() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getSourceBounds, jni.JniCallType.objectType, []).object); - } - - static final _id_resolveActivity = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"resolveActivity", - r"(Landroid/content/pm/PackageManager;)Landroid/content/ComponentName;"); - - /// from: public android.content.ComponentName resolveActivity(android.content.pm.PackageManager packageManager) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject resolveActivity( - PackageManager packageManager, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_resolveActivity, - jni.JniCallType.objectType, - [packageManager.reference]).object); - } - - static final _id_resolveActivityInfo = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"resolveActivityInfo", - r"(Landroid/content/pm/PackageManager;I)Landroid/content/pm/ActivityInfo;"); - - /// from: public android.content.pm.ActivityInfo resolveActivityInfo(android.content.pm.PackageManager packageManager, int i) - /// The returned object must be released after use, by calling the [release] method. - ActivityInfo resolveActivityInfo( - PackageManager packageManager, - int i, - ) { - return const $ActivityInfoType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_resolveActivityInfo, - jni.JniCallType.objectType, - [packageManager.reference, jni.JValueInt(i)]).object); - } - - static final _id_setAction = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"setAction", r"(Ljava/lang/String;)Landroid/content/Intent;"); - - /// from: public android.content.Intent setAction(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Intent setAction( - jni.JString string, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setAction, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_setData = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"setData", r"(Landroid/net/Uri;)Landroid/content/Intent;"); - - /// from: public android.content.Intent setData(android.net.Uri uri) - /// The returned object must be released after use, by calling the [release] method. - Intent setData( - Uri uri, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setData, - jni.JniCallType.objectType, - [uri.reference]).object); - } - - static final _id_setDataAndNormalize = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setDataAndNormalize", - r"(Landroid/net/Uri;)Landroid/content/Intent;"); - - /// from: public android.content.Intent setDataAndNormalize(android.net.Uri uri) - /// The returned object must be released after use, by calling the [release] method. - Intent setDataAndNormalize( - Uri uri, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setDataAndNormalize, - jni.JniCallType.objectType, - [uri.reference]).object); - } - - static final _id_setType = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"setType", r"(Ljava/lang/String;)Landroid/content/Intent;"); - - /// from: public android.content.Intent setType(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Intent setType( - jni.JString string, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setType, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_setTypeAndNormalize = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setTypeAndNormalize", - r"(Ljava/lang/String;)Landroid/content/Intent;"); - - /// from: public android.content.Intent setTypeAndNormalize(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Intent setTypeAndNormalize( - jni.JString string, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setTypeAndNormalize, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_setDataAndType = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setDataAndType", - r"(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/Intent;"); - - /// from: public android.content.Intent setDataAndType(android.net.Uri uri, java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Intent setDataAndType( - Uri uri, - jni.JString string, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setDataAndType, - jni.JniCallType.objectType, - [uri.reference, string.reference]).object); - } - - static final _id_setDataAndTypeAndNormalize = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setDataAndTypeAndNormalize", - r"(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/Intent;"); - - /// from: public android.content.Intent setDataAndTypeAndNormalize(android.net.Uri uri, java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Intent setDataAndTypeAndNormalize( - Uri uri, - jni.JString string, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setDataAndTypeAndNormalize, - jni.JniCallType.objectType, - [uri.reference, string.reference]).object); - } - - static final _id_setIdentifier = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setIdentifier", - r"(Ljava/lang/String;)Landroid/content/Intent;"); - - /// from: public android.content.Intent setIdentifier(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Intent setIdentifier( - jni.JString string, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setIdentifier, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_addCategory = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"addCategory", - r"(Ljava/lang/String;)Landroid/content/Intent;"); - - /// from: public android.content.Intent addCategory(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Intent addCategory( - jni.JString string, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_addCategory, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_removeCategory = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"removeCategory", r"(Ljava/lang/String;)V"); - - /// from: public void removeCategory(java.lang.String string) - void removeCategory( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_removeCategory, - jni.JniCallType.voidType, [string.reference]).check(); - } - - static final _id_setSelector = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"setSelector", r"(Landroid/content/Intent;)V"); - - /// from: public void setSelector(android.content.Intent intent) - void setSelector( - Intent intent, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setSelector, - jni.JniCallType.voidType, [intent.reference]).check(); - } - - static final _id_setClipData = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"setClipData", r"(Landroid/content/ClipData;)V"); - - /// from: public void setClipData(android.content.ClipData clipData) - void setClipData( - jni.JObject clipData, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setClipData, - jni.JniCallType.voidType, [clipData.reference]).check(); - } - - static final _id_putExtra = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"putExtra", r"(Ljava/lang/String;Z)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtra(java.lang.String string, boolean z) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtra( - jni.JString string, - bool z, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtra, - jni.JniCallType.objectType, - [string.reference, z ? 1 : 0]).object); - } - - static final _id_putExtra1 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"putExtra", r"(Ljava/lang/String;B)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtra(java.lang.String string, byte b) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtra1( - jni.JString string, - int b, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtra1, - jni.JniCallType.objectType, - [string.reference, jni.JValueByte(b)]).object); - } - - static final _id_putExtra2 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"putExtra", r"(Ljava/lang/String;C)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtra(java.lang.String string, char c) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtra2( - jni.JString string, - int c, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtra2, - jni.JniCallType.objectType, - [string.reference, jni.JValueChar(c)]).object); - } - - static final _id_putExtra3 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"putExtra", r"(Ljava/lang/String;S)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtra(java.lang.String string, short s) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtra3( - jni.JString string, - int s, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtra3, - jni.JniCallType.objectType, - [string.reference, jni.JValueShort(s)]).object); - } - - static final _id_putExtra4 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"putExtra", r"(Ljava/lang/String;I)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtra(java.lang.String string, int i) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtra4( - jni.JString string, - int i, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtra4, - jni.JniCallType.objectType, - [string.reference, jni.JValueInt(i)]).object); - } - - static final _id_putExtra5 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"putExtra", r"(Ljava/lang/String;J)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtra(java.lang.String string, long j) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtra5( - jni.JString string, - int j, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtra5, - jni.JniCallType.objectType, - [string.reference, j]).object); - } - - static final _id_putExtra6 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"putExtra", r"(Ljava/lang/String;F)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtra(java.lang.String string, float f) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtra6( - jni.JString string, - double f, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtra6, - jni.JniCallType.objectType, - [string.reference, jni.JValueFloat(f)]).object); - } - - static final _id_putExtra7 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"putExtra", r"(Ljava/lang/String;D)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtra(java.lang.String string, double d) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtra7( - jni.JString string, - double d, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtra7, - jni.JniCallType.objectType, - [string.reference, d]).object); - } - - static final _id_putExtra8 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putExtra", - r"(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtra(java.lang.String string, java.lang.String string1) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtra8( - jni.JString string, - jni.JString string1, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtra8, - jni.JniCallType.objectType, - [string.reference, string1.reference]).object); - } - - static final _id_putExtra9 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putExtra", - r"(Ljava/lang/String;Ljava/lang/CharSequence;)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtra(java.lang.String string, java.lang.CharSequence charSequence) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtra9( - jni.JString string, - jni.JObject charSequence, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtra9, - jni.JniCallType.objectType, - [string.reference, charSequence.reference]).object); - } - - static final _id_putExtra10 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putExtra", - r"(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtra(java.lang.String string, android.os.Parcelable parcelable) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtra10( - jni.JString string, - jni.JObject parcelable, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtra10, - jni.JniCallType.objectType, - [string.reference, parcelable.reference]).object); - } - - static final _id_putExtra11 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putExtra", - r"(Ljava/lang/String;[Landroid/os/Parcelable;)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtra(java.lang.String string, android.os.Parcelable[] parcelables) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtra11( - jni.JString string, - jni.JArray parcelables, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtra11, - jni.JniCallType.objectType, - [string.reference, parcelables.reference]).object); - } - - static final _id_putParcelableArrayListExtra = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"putParcelableArrayListExtra", - r"(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;"); - - /// from: public android.content.Intent putParcelableArrayListExtra(java.lang.String string, java.util.ArrayList arrayList) - /// The returned object must be released after use, by calling the [release] method. - Intent putParcelableArrayListExtra( - jni.JString string, - jni.JObject arrayList, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putParcelableArrayListExtra, - jni.JniCallType.objectType, - [string.reference, arrayList.reference]).object); - } - - static final _id_putIntegerArrayListExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putIntegerArrayListExtra", - r"(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;"); - - /// from: public android.content.Intent putIntegerArrayListExtra(java.lang.String string, java.util.ArrayList arrayList) - /// The returned object must be released after use, by calling the [release] method. - Intent putIntegerArrayListExtra( - jni.JString string, - jni.JObject arrayList, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putIntegerArrayListExtra, - jni.JniCallType.objectType, - [string.reference, arrayList.reference]).object); - } - - static final _id_putStringArrayListExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putStringArrayListExtra", - r"(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;"); - - /// from: public android.content.Intent putStringArrayListExtra(java.lang.String string, java.util.ArrayList arrayList) - /// The returned object must be released after use, by calling the [release] method. - Intent putStringArrayListExtra( - jni.JString string, - jni.JObject arrayList, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putStringArrayListExtra, - jni.JniCallType.objectType, - [string.reference, arrayList.reference]).object); - } - - static final _id_putCharSequenceArrayListExtra = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"putCharSequenceArrayListExtra", - r"(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;"); - - /// from: public android.content.Intent putCharSequenceArrayListExtra(java.lang.String string, java.util.ArrayList arrayList) - /// The returned object must be released after use, by calling the [release] method. - Intent putCharSequenceArrayListExtra( - jni.JString string, - jni.JObject arrayList, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putCharSequenceArrayListExtra, - jni.JniCallType.objectType, - [string.reference, arrayList.reference]).object); - } - - static final _id_putExtra12 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putExtra", - r"(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtra(java.lang.String string, java.io.Serializable serializable) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtra12( - jni.JString string, - jni.JObject serializable, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtra12, - jni.JniCallType.objectType, - [string.reference, serializable.reference]).object); - } - - static final _id_putExtra13 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putExtra", - r"(Ljava/lang/String;[Z)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtra(java.lang.String string, boolean[] zs) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtra13( - jni.JString string, - jni.JArray zs, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtra13, - jni.JniCallType.objectType, - [string.reference, zs.reference]).object); - } - - static final _id_putExtra14 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putExtra", - r"(Ljava/lang/String;[B)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtra(java.lang.String string, byte[] bs) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtra14( - jni.JString string, - jni.JArray bs, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtra14, - jni.JniCallType.objectType, - [string.reference, bs.reference]).object); - } - - static final _id_putExtra15 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putExtra", - r"(Ljava/lang/String;[S)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtra(java.lang.String string, short[] ss) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtra15( - jni.JString string, - jni.JArray ss, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtra15, - jni.JniCallType.objectType, - [string.reference, ss.reference]).object); - } - - static final _id_putExtra16 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putExtra", - r"(Ljava/lang/String;[C)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtra(java.lang.String string, char[] cs) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtra16( - jni.JString string, - jni.JArray cs, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtra16, - jni.JniCallType.objectType, - [string.reference, cs.reference]).object); - } - - static final _id_putExtra17 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putExtra", - r"(Ljava/lang/String;[I)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtra(java.lang.String string, int[] is) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtra17( - jni.JString string, - jni.JArray is0, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtra17, - jni.JniCallType.objectType, - [string.reference, is0.reference]).object); - } - - static final _id_putExtra18 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putExtra", - r"(Ljava/lang/String;[J)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtra(java.lang.String string, long[] js) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtra18( - jni.JString string, - jni.JArray js, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtra18, - jni.JniCallType.objectType, - [string.reference, js.reference]).object); - } - - static final _id_putExtra19 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putExtra", - r"(Ljava/lang/String;[F)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtra(java.lang.String string, float[] fs) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtra19( - jni.JString string, - jni.JArray fs, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtra19, - jni.JniCallType.objectType, - [string.reference, fs.reference]).object); - } - - static final _id_putExtra20 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putExtra", - r"(Ljava/lang/String;[D)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtra(java.lang.String string, double[] ds) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtra20( - jni.JString string, - jni.JArray ds, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtra20, - jni.JniCallType.objectType, - [string.reference, ds.reference]).object); - } - - static final _id_putExtra21 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putExtra", - r"(Ljava/lang/String;[Ljava/lang/String;)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtra(java.lang.String string, java.lang.String[] strings) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtra21( - jni.JString string, - jni.JArray strings, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtra21, - jni.JniCallType.objectType, - [string.reference, strings.reference]).object); - } - - static final _id_putExtra22 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putExtra", - r"(Ljava/lang/String;[Ljava/lang/CharSequence;)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtra(java.lang.String string, java.lang.CharSequence[] charSequences) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtra22( - jni.JString string, - jni.JArray charSequences, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtra22, - jni.JniCallType.objectType, - [string.reference, charSequences.reference]).object); - } - - static final _id_putExtra23 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putExtra", - r"(Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtra(java.lang.String string, android.os.Bundle bundle) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtra23( - jni.JString string, - Bundle bundle, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtra23, - jni.JniCallType.objectType, - [string.reference, bundle.reference]).object); - } - - static final _id_putExtras = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"putExtras", r"(Landroid/content/Intent;)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtras(android.content.Intent intent) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtras( - Intent intent, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtras, - jni.JniCallType.objectType, - [intent.reference]).object); - } - - static final _id_putExtras1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putExtras", - r"(Landroid/os/Bundle;)Landroid/content/Intent;"); - - /// from: public android.content.Intent putExtras(android.os.Bundle bundle) - /// The returned object must be released after use, by calling the [release] method. - Intent putExtras1( - Bundle bundle, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putExtras1, - jni.JniCallType.objectType, - [bundle.reference]).object); - } - - static final _id_replaceExtras = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"replaceExtras", - r"(Landroid/content/Intent;)Landroid/content/Intent;"); - - /// from: public android.content.Intent replaceExtras(android.content.Intent intent) - /// The returned object must be released after use, by calling the [release] method. - Intent replaceExtras( - Intent intent, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_replaceExtras, - jni.JniCallType.objectType, - [intent.reference]).object); - } - - static final _id_replaceExtras1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"replaceExtras", - r"(Landroid/os/Bundle;)Landroid/content/Intent;"); - - /// from: public android.content.Intent replaceExtras(android.os.Bundle bundle) - /// The returned object must be released after use, by calling the [release] method. - Intent replaceExtras1( - Bundle bundle, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_replaceExtras1, - jni.JniCallType.objectType, - [bundle.reference]).object); - } - - static final _id_removeExtra = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"removeExtra", r"(Ljava/lang/String;)V"); - - /// from: public void removeExtra(java.lang.String string) - void removeExtra( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_removeExtra, - jni.JniCallType.voidType, [string.reference]).check(); - } - - static final _id_setFlags = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"setFlags", r"(I)Landroid/content/Intent;"); - - /// from: public android.content.Intent setFlags(int i) - /// The returned object must be released after use, by calling the [release] method. - Intent setFlags( - int i, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setFlags, - jni.JniCallType.objectType, - [jni.JValueInt(i)]).object); - } - - static final _id_addFlags = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"addFlags", r"(I)Landroid/content/Intent;"); - - /// from: public android.content.Intent addFlags(int i) - /// The returned object must be released after use, by calling the [release] method. - Intent addFlags( - int i, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_addFlags, - jni.JniCallType.objectType, - [jni.JValueInt(i)]).object); - } - - static final _id_removeFlags = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"removeFlags", r"(I)V"); - - /// from: public void removeFlags(int i) - void removeFlags( - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_removeFlags, - jni.JniCallType.voidType, [jni.JValueInt(i)]).check(); - } - - static final _id_setPackage = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setPackage", - r"(Ljava/lang/String;)Landroid/content/Intent;"); - - /// from: public android.content.Intent setPackage(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Intent setPackage( - jni.JString string, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setPackage, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_setComponent = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setComponent", - r"(Landroid/content/ComponentName;)Landroid/content/Intent;"); - - /// from: public android.content.Intent setComponent(android.content.ComponentName componentName) - /// The returned object must be released after use, by calling the [release] method. - Intent setComponent( - jni.JObject componentName, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setComponent, - jni.JniCallType.objectType, - [componentName.reference]).object); - } - - static final _id_setClassName = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setClassName", - r"(Landroid/content/Context;Ljava/lang/String;)Landroid/content/Intent;"); - - /// from: public android.content.Intent setClassName(android.content.Context context, java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Intent setClassName( - Context context, - jni.JString string, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setClassName, - jni.JniCallType.objectType, - [context.reference, string.reference]).object); - } - - static final _id_setClassName1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setClassName", - r"(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;"); - - /// from: public android.content.Intent setClassName(java.lang.String string, java.lang.String string1) - /// The returned object must be released after use, by calling the [release] method. - Intent setClassName1( - jni.JString string, - jni.JString string1, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setClassName1, - jni.JniCallType.objectType, - [string.reference, string1.reference]).object); - } - - static final _id_setClass = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setClass", - r"(Landroid/content/Context;Ljava/lang/Class;)Landroid/content/Intent;"); - - /// from: public android.content.Intent setClass(android.content.Context context, java.lang.Class class) - /// The returned object must be released after use, by calling the [release] method. - Intent setClass( - Context context, - jni.JObject class0, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setClass, - jni.JniCallType.objectType, - [context.reference, class0.reference]).object); - } - - static final _id_setSourceBounds = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"setSourceBounds", r"(Landroid/graphics/Rect;)V"); - - /// from: public void setSourceBounds(android.graphics.Rect rect) - void setSourceBounds( - jni.JObject rect, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setSourceBounds, - jni.JniCallType.voidType, [rect.reference]).check(); - } - - static final _id_fillIn = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"fillIn", r"(Landroid/content/Intent;I)I"); - - /// from: public int fillIn(android.content.Intent intent, int i) - int fillIn( - Intent intent, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_fillIn, - jni.JniCallType.intType, [intent.reference, jni.JValueInt(i)]).integer; - } - - static final _id_filterEquals = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"filterEquals", r"(Landroid/content/Intent;)Z"); - - /// from: public boolean filterEquals(android.content.Intent intent) - bool filterEquals( - Intent intent, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_filterEquals, - jni.JniCallType.booleanType, [intent.reference]).boolean; - } - - static final _id_filterHashCode = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"filterHashCode", r"()I"); - - /// from: public int filterHashCode() - int filterHashCode() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_filterHashCode, jni.JniCallType.intType, []).integer; - } - - static final _id_toString1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"toString", r"()Ljava/lang/String;"); - - /// from: public java.lang.String toString() - /// The returned object must be released after use, by calling the [release] method. - jni.JString toString1() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_toString1, jni.JniCallType.objectType, []).object); - } - - static final _id_toURI = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"toURI", r"()Ljava/lang/String;"); - - /// from: public java.lang.String toURI() - /// The returned object must be released after use, by calling the [release] method. - jni.JString toURI() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_toURI, jni.JniCallType.objectType, []).object); - } - - static final _id_toUri = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"toUri", r"(I)Ljava/lang/String;"); - - /// from: public java.lang.String toUri(int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JString toUri( - int i, - ) { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_toUri, - jni.JniCallType.objectType, - [jni.JValueInt(i)]).object); - } - - static final _id_describeContents = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"describeContents", r"()I"); - - /// from: public int describeContents() - int describeContents() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_describeContents, jni.JniCallType.intType, []).integer; - } - - static final _id_writeToParcel = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"writeToParcel", r"(Landroid/os/Parcel;I)V"); - - /// from: public void writeToParcel(android.os.Parcel parcel, int i) - void writeToParcel( - jni.JObject parcel, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_writeToParcel, - jni.JniCallType.voidType, [parcel.reference, jni.JValueInt(i)]).check(); - } - - static final _id_readFromParcel = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"readFromParcel", r"(Landroid/os/Parcel;)V"); - - /// from: public void readFromParcel(android.os.Parcel parcel) - void readFromParcel( - jni.JObject parcel, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_readFromParcel, - jni.JniCallType.voidType, [parcel.reference]).check(); - } - - static final _id_parseIntent = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"parseIntent", - r"(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)Landroid/content/Intent;"); - - /// from: static public android.content.Intent parseIntent(android.content.res.Resources resources, org.xmlpull.v1.XmlPullParser xmlPullParser, android.util.AttributeSet attributeSet) - /// The returned object must be released after use, by calling the [release] method. - static Intent parseIntent( - jni.JObject resources, - jni.JObject xmlPullParser, - jni.JObject attributeSet, - ) { - return const $IntentType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, _id_parseIntent, jni.JniCallType.objectType, [ - resources.reference, - xmlPullParser.reference, - attributeSet.reference - ]).object); - } - - static final _id_normalizeMimeType = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"normalizeMimeType", - r"(Ljava/lang/String;)Ljava/lang/String;"); - - /// from: static public java.lang.String normalizeMimeType(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - static jni.JString normalizeMimeType( - jni.JString string, - ) { - return const jni.JStringType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_normalizeMimeType, - jni.JniCallType.objectType, [string.reference]).object); - } -} - -final class $IntentType extends jni.JObjType { - const $IntentType(); - - @override - String get signature => r"Landroid/content/Intent;"; - - @override - Intent fromRef(jni.JObjectPtr ref) => Intent.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($IntentType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($IntentType) && other is $IntentType; - } -} - -/// from: android.content.pm.PackageManager$ApplicationInfoFlags -class PackageManager_ApplicationInfoFlags extends jni.JObject { - @override - late final jni.JObjType $type = type; - - PackageManager_ApplicationInfoFlags.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"android/content/pm/PackageManager$ApplicationInfoFlags"); - - /// The type which includes information such as the signature of this class. - static const type = $PackageManager_ApplicationInfoFlagsType(); - static final _id_of = jni.Jni.accessors.getStaticMethodIDOf(_class.reference, - r"of", r"(J)Landroid/content/pm/PackageManager$ApplicationInfoFlags;"); - - /// from: static public android.content.pm.PackageManager$ApplicationInfoFlags of(long j) - /// The returned object must be released after use, by calling the [release] method. - static PackageManager_ApplicationInfoFlags of( - int j, - ) { - return const $PackageManager_ApplicationInfoFlagsType().fromRef( - jni.Jni.accessors.callStaticMethodWithArgs( - _class.reference, _id_of, jni.JniCallType.objectType, [j]).object); - } - - static final _id_getValue = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"getValue", r"()J"); - - /// from: public long getValue() - int getValue() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_getValue, jni.JniCallType.longType, []).long; - } -} - -final class $PackageManager_ApplicationInfoFlagsType - extends jni.JObjType { - const $PackageManager_ApplicationInfoFlagsType(); - - @override - String get signature => - r"Landroid/content/pm/PackageManager$ApplicationInfoFlags;"; - - @override - PackageManager_ApplicationInfoFlags fromRef(jni.JObjectPtr ref) => - PackageManager_ApplicationInfoFlags.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($PackageManager_ApplicationInfoFlagsType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($PackageManager_ApplicationInfoFlagsType) && - other is $PackageManager_ApplicationInfoFlagsType; - } -} - -/// from: android.content.pm.PackageManager$ComponentEnabledSetting -class PackageManager_ComponentEnabledSetting extends jni.JObject { - @override - late final jni.JObjType $type = type; - - PackageManager_ComponentEnabledSetting.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"android/content/pm/PackageManager$ComponentEnabledSetting"); - - /// The type which includes information such as the signature of this class. - static const type = $PackageManager_ComponentEnabledSettingType(); - static final _id_CREATOR = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"CREATOR", - r"Landroid/os/Parcelable$Creator;", - ); - - /// from: static public final android.os.Parcelable$Creator CREATOR - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject get CREATOR => const jni.JObjectType().fromRef(jni - .Jni.accessors - .getStaticField(_class.reference, _id_CREATOR, jni.JniCallType.objectType) - .object); - - static final _id_new0 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Landroid/content/ComponentName;II)V"); - - /// from: public void (android.content.ComponentName componentName, int i, int i1) - /// The returned object must be released after use, by calling the [release] method. - factory PackageManager_ComponentEnabledSetting( - jni.JObject componentName, - int i, - int i1, - ) { - return PackageManager_ComponentEnabledSetting.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, [ - componentName.reference, - jni.JValueInt(i), - jni.JValueInt(i1) - ]).object); - } - - static final _id_getComponentName = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getComponentName", - r"()Landroid/content/ComponentName;"); - - /// from: public android.content.ComponentName getComponentName() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getComponentName() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getComponentName, - jni.JniCallType.objectType, []).object); - } - - static final _id_getEnabledState = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getEnabledState", r"()I"); - - /// from: public int getEnabledState() - int getEnabledState() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_getEnabledState, jni.JniCallType.intType, []).integer; - } - - static final _id_getEnabledFlags = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getEnabledFlags", r"()I"); - - /// from: public int getEnabledFlags() - int getEnabledFlags() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_getEnabledFlags, jni.JniCallType.intType, []).integer; - } - - static final _id_writeToParcel = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"writeToParcel", r"(Landroid/os/Parcel;I)V"); - - /// from: public void writeToParcel(android.os.Parcel parcel, int i) - void writeToParcel( - jni.JObject parcel, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_writeToParcel, - jni.JniCallType.voidType, [parcel.reference, jni.JValueInt(i)]).check(); - } - - static final _id_describeContents = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"describeContents", r"()I"); - - /// from: public int describeContents() - int describeContents() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_describeContents, jni.JniCallType.intType, []).integer; - } -} - -final class $PackageManager_ComponentEnabledSettingType - extends jni.JObjType { - const $PackageManager_ComponentEnabledSettingType(); - - @override - String get signature => - r"Landroid/content/pm/PackageManager$ComponentEnabledSetting;"; - - @override - PackageManager_ComponentEnabledSetting fromRef(jni.JObjectPtr ref) => - PackageManager_ComponentEnabledSetting.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($PackageManager_ComponentEnabledSettingType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($PackageManager_ComponentEnabledSettingType) && - other is $PackageManager_ComponentEnabledSettingType; - } -} - -/// from: android.content.pm.PackageManager$ComponentInfoFlags -class PackageManager_ComponentInfoFlags extends jni.JObject { - @override - late final jni.JObjType $type = type; - - PackageManager_ComponentInfoFlags.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"android/content/pm/PackageManager$ComponentInfoFlags"); - - /// The type which includes information such as the signature of this class. - static const type = $PackageManager_ComponentInfoFlagsType(); - static final _id_of = jni.Jni.accessors.getStaticMethodIDOf(_class.reference, - r"of", r"(J)Landroid/content/pm/PackageManager$ComponentInfoFlags;"); - - /// from: static public android.content.pm.PackageManager$ComponentInfoFlags of(long j) - /// The returned object must be released after use, by calling the [release] method. - static PackageManager_ComponentInfoFlags of( - int j, - ) { - return const $PackageManager_ComponentInfoFlagsType().fromRef( - jni.Jni.accessors.callStaticMethodWithArgs( - _class.reference, _id_of, jni.JniCallType.objectType, [j]).object); - } - - static final _id_getValue = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"getValue", r"()J"); - - /// from: public long getValue() - int getValue() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_getValue, jni.JniCallType.longType, []).long; - } -} - -final class $PackageManager_ComponentInfoFlagsType - extends jni.JObjType { - const $PackageManager_ComponentInfoFlagsType(); - - @override - String get signature => - r"Landroid/content/pm/PackageManager$ComponentInfoFlags;"; - - @override - PackageManager_ComponentInfoFlags fromRef(jni.JObjectPtr ref) => - PackageManager_ComponentInfoFlags.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($PackageManager_ComponentInfoFlagsType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($PackageManager_ComponentInfoFlagsType) && - other is $PackageManager_ComponentInfoFlagsType; - } -} - -/// from: android.content.pm.PackageManager$NameNotFoundException -class PackageManager_NameNotFoundException extends jni.JObject { - @override - late final jni.JObjType $type = type; - - PackageManager_NameNotFoundException.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"android/content/pm/PackageManager$NameNotFoundException"); - - /// The type which includes information such as the signature of this class. - static const type = $PackageManager_NameNotFoundExceptionType(); - static final _id_new0 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); - - /// from: public void () - /// The returned object must be released after use, by calling the [release] method. - factory PackageManager_NameNotFoundException() { - return PackageManager_NameNotFoundException.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, []).object); - } - - static final _id_new1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); - - /// from: public void (java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - factory PackageManager_NameNotFoundException.new1( - jni.JString string, - ) { - return PackageManager_NameNotFoundException.fromRef(jni.Jni.accessors - .newObjectWithArgs( - _class.reference, _id_new1, [string.reference]).object); - } -} - -final class $PackageManager_NameNotFoundExceptionType - extends jni.JObjType { - const $PackageManager_NameNotFoundExceptionType(); - - @override - String get signature => - r"Landroid/content/pm/PackageManager$NameNotFoundException;"; - - @override - PackageManager_NameNotFoundException fromRef(jni.JObjectPtr ref) => - PackageManager_NameNotFoundException.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($PackageManager_NameNotFoundExceptionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($PackageManager_NameNotFoundExceptionType) && - other is $PackageManager_NameNotFoundExceptionType; - } -} - -/// from: android.content.pm.PackageManager$OnChecksumsReadyListener -class PackageManager_OnChecksumsReadyListener extends jni.JObject { - @override - late final jni.JObjType $type = type; - - PackageManager_OnChecksumsReadyListener.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"android/content/pm/PackageManager$OnChecksumsReadyListener"); - - /// The type which includes information such as the signature of this class. - static const type = $PackageManager_OnChecksumsReadyListenerType(); - static final _id_onChecksumsReady = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onChecksumsReady", r"(Ljava/util/List;)V"); - - /// from: public abstract void onChecksumsReady(java.util.List list) - void onChecksumsReady( - jni.JList list, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_onChecksumsReady, - jni.JniCallType.voidType, [list.reference]).check(); - } - - /// Maps a specific port to the implemented interface. - static final Map _$impls = - {}; - ReceivePort? _$p; - - static jni.JObjectPtr _$invoke( - int port, - jni.JObjectPtr descriptor, - jni.JObjectPtr args, - ) { - return _$invokeMethod( - port, - $MethodInvocation.fromAddresses( - 0, - descriptor.address, - args.address, - ), - ); - } - - static final ffi.Pointer< - ffi.NativeFunction< - jni.JObjectPtr Function( - ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> - _$invokePointer = ffi.Pointer.fromFunction(_$invoke); - - static ffi.Pointer _$invokeMethod( - int $p, - $MethodInvocation $i, - ) { - try { - final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); - final $a = $i.args; - if ($d == r"onChecksumsReady(Ljava/util/List;)V") { - _$impls[$p]!.onChecksumsReady( - $a[0].castTo(const jni.JListType(jni.JObjectType()), - releaseOriginal: true), - ); - return jni.nullptr; - } - } catch (e) { - return ProtectedJniExtensions.newDartException(e.toString()); - } - return jni.nullptr; - } - - factory PackageManager_OnChecksumsReadyListener.implement( - $PackageManager_OnChecksumsReadyListenerImpl $impl, - ) { - final $p = ReceivePort(); - final $x = PackageManager_OnChecksumsReadyListener.fromRef( - ProtectedJniExtensions.newPortProxy( - r"android.content.pm.PackageManager$OnChecksumsReadyListener", - $p, - _$invokePointer, - ), - ).._$p = $p; - final $a = $p.sendPort.nativePort; - _$impls[$a] = $impl; - $p.listen(($m) { - if ($m == null) { - _$impls.remove($p.sendPort.nativePort); - $p.close(); - return; - } - final $i = $MethodInvocation.fromMessage($m as List); - final $r = _$invokeMethod($p.sendPort.nativePort, $i); - ProtectedJniExtensions.returnResult($i.result, $r); - }); - return $x; - } -} - -abstract class $PackageManager_OnChecksumsReadyListenerImpl { - factory $PackageManager_OnChecksumsReadyListenerImpl({ - required void Function(jni.JList list) onChecksumsReady, - }) = _$PackageManager_OnChecksumsReadyListenerImpl; - - void onChecksumsReady(jni.JList list); -} - -class _$PackageManager_OnChecksumsReadyListenerImpl - implements $PackageManager_OnChecksumsReadyListenerImpl { - _$PackageManager_OnChecksumsReadyListenerImpl({ - required void Function(jni.JList list) onChecksumsReady, - }) : _onChecksumsReady = onChecksumsReady; - - final void Function(jni.JList list) _onChecksumsReady; - - void onChecksumsReady(jni.JList list) { - return _onChecksumsReady(list); - } -} - -final class $PackageManager_OnChecksumsReadyListenerType - extends jni.JObjType { - const $PackageManager_OnChecksumsReadyListenerType(); - - @override - String get signature => - r"Landroid/content/pm/PackageManager$OnChecksumsReadyListener;"; - - @override - PackageManager_OnChecksumsReadyListener fromRef(jni.JObjectPtr ref) => - PackageManager_OnChecksumsReadyListener.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($PackageManager_OnChecksumsReadyListenerType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == - ($PackageManager_OnChecksumsReadyListenerType) && - other is $PackageManager_OnChecksumsReadyListenerType; - } -} - -/// from: android.content.pm.PackageManager$PackageInfoFlags -class PackageManager_PackageInfoFlags extends jni.JObject { - @override - late final jni.JObjType $type = type; - - PackageManager_PackageInfoFlags.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"android/content/pm/PackageManager$PackageInfoFlags"); - - /// The type which includes information such as the signature of this class. - static const type = $PackageManager_PackageInfoFlagsType(); - static final _id_of = jni.Jni.accessors.getStaticMethodIDOf(_class.reference, - r"of", r"(J)Landroid/content/pm/PackageManager$PackageInfoFlags;"); - - /// from: static public android.content.pm.PackageManager$PackageInfoFlags of(long j) - /// The returned object must be released after use, by calling the [release] method. - static PackageManager_PackageInfoFlags of( - int j, - ) { - return const $PackageManager_PackageInfoFlagsType().fromRef( - jni.Jni.accessors.callStaticMethodWithArgs( - _class.reference, _id_of, jni.JniCallType.objectType, [j]).object); - } - - static final _id_getValue = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"getValue", r"()J"); - - /// from: public long getValue() - int getValue() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_getValue, jni.JniCallType.longType, []).long; - } -} - -final class $PackageManager_PackageInfoFlagsType - extends jni.JObjType { - const $PackageManager_PackageInfoFlagsType(); - - @override - String get signature => - r"Landroid/content/pm/PackageManager$PackageInfoFlags;"; - - @override - PackageManager_PackageInfoFlags fromRef(jni.JObjectPtr ref) => - PackageManager_PackageInfoFlags.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($PackageManager_PackageInfoFlagsType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($PackageManager_PackageInfoFlagsType) && - other is $PackageManager_PackageInfoFlagsType; - } -} - -/// from: android.content.pm.PackageManager$Property -class PackageManager_Property extends jni.JObject { - @override - late final jni.JObjType $type = type; - - PackageManager_Property.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"android/content/pm/PackageManager$Property"); - - /// The type which includes information such as the signature of this class. - static const type = $PackageManager_PropertyType(); - static final _id_CREATOR = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"CREATOR", - r"Landroid/os/Parcelable$Creator;", - ); - - /// from: static public final android.os.Parcelable$Creator CREATOR - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject get CREATOR => const jni.JObjectType().fromRef(jni - .Jni.accessors - .getStaticField(_class.reference, _id_CREATOR, jni.JniCallType.objectType) - .object); - - static final _id_getName = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getName", r"()Ljava/lang/String;"); - - /// from: public java.lang.String getName() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getName() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getName, jni.JniCallType.objectType, []).object); - } - - static final _id_getPackageName = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getPackageName", r"()Ljava/lang/String;"); - - /// from: public java.lang.String getPackageName() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getPackageName() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getPackageName, jni.JniCallType.objectType, []).object); - } - - static final _id_getClassName = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getClassName", r"()Ljava/lang/String;"); - - /// from: public java.lang.String getClassName() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getClassName() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getClassName, jni.JniCallType.objectType, []).object); - } - - static final _id_getBoolean = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"getBoolean", r"()Z"); - - /// from: public boolean getBoolean() - bool getBoolean() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_getBoolean, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_isBoolean = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"isBoolean", r"()Z"); - - /// from: public boolean isBoolean() - bool isBoolean() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_isBoolean, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_getFloat = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"getFloat", r"()F"); - - /// from: public float getFloat() - double getFloat() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_getFloat, jni.JniCallType.floatType, []).float; - } - - static final _id_isFloat = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"isFloat", r"()Z"); - - /// from: public boolean isFloat() - bool isFloat() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_isFloat, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_getInteger = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"getInteger", r"()I"); - - /// from: public int getInteger() - int getInteger() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_getInteger, jni.JniCallType.intType, []).integer; - } - - static final _id_isInteger = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"isInteger", r"()Z"); - - /// from: public boolean isInteger() - bool isInteger() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_isInteger, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_getResourceId = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getResourceId", r"()I"); - - /// from: public int getResourceId() - int getResourceId() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_getResourceId, jni.JniCallType.intType, []).integer; - } - - static final _id_isResourceId = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"isResourceId", r"()Z"); - - /// from: public boolean isResourceId() - bool isResourceId() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_isResourceId, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_getString = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getString", r"()Ljava/lang/String;"); - - /// from: public java.lang.String getString() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getString() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getString, jni.JniCallType.objectType, []).object); - } - - static final _id_isString = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"isString", r"()Z"); - - /// from: public boolean isString() - bool isString() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_isString, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_describeContents = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"describeContents", r"()I"); - - /// from: public int describeContents() - int describeContents() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_describeContents, jni.JniCallType.intType, []).integer; - } - - static final _id_writeToParcel = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"writeToParcel", r"(Landroid/os/Parcel;I)V"); - - /// from: public void writeToParcel(android.os.Parcel parcel, int i) - void writeToParcel( - jni.JObject parcel, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_writeToParcel, - jni.JniCallType.voidType, [parcel.reference, jni.JValueInt(i)]).check(); - } -} - -final class $PackageManager_PropertyType - extends jni.JObjType { - const $PackageManager_PropertyType(); - - @override - String get signature => r"Landroid/content/pm/PackageManager$Property;"; - - @override - PackageManager_Property fromRef(jni.JObjectPtr ref) => - PackageManager_Property.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($PackageManager_PropertyType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($PackageManager_PropertyType) && - other is $PackageManager_PropertyType; - } -} - -/// from: android.content.pm.PackageManager$ResolveInfoFlags -class PackageManager_ResolveInfoFlags extends jni.JObject { - @override - late final jni.JObjType $type = type; - - PackageManager_ResolveInfoFlags.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"android/content/pm/PackageManager$ResolveInfoFlags"); - - /// The type which includes information such as the signature of this class. - static const type = $PackageManager_ResolveInfoFlagsType(); - static final _id_of = jni.Jni.accessors.getStaticMethodIDOf(_class.reference, - r"of", r"(J)Landroid/content/pm/PackageManager$ResolveInfoFlags;"); - - /// from: static public android.content.pm.PackageManager$ResolveInfoFlags of(long j) - /// The returned object must be released after use, by calling the [release] method. - static PackageManager_ResolveInfoFlags of( - int j, - ) { - return const $PackageManager_ResolveInfoFlagsType().fromRef( - jni.Jni.accessors.callStaticMethodWithArgs( - _class.reference, _id_of, jni.JniCallType.objectType, [j]).object); - } - - static final _id_getValue = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"getValue", r"()J"); - - /// from: public long getValue() - int getValue() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_getValue, jni.JniCallType.longType, []).long; - } -} - -final class $PackageManager_ResolveInfoFlagsType - extends jni.JObjType { - const $PackageManager_ResolveInfoFlagsType(); - - @override - String get signature => - r"Landroid/content/pm/PackageManager$ResolveInfoFlags;"; - - @override - PackageManager_ResolveInfoFlags fromRef(jni.JObjectPtr ref) => - PackageManager_ResolveInfoFlags.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($PackageManager_ResolveInfoFlagsType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($PackageManager_ResolveInfoFlagsType) && - other is $PackageManager_ResolveInfoFlagsType; - } -} - -/// from: android.content.pm.PackageManager -class PackageManager extends jni.JObject { - @override - late final jni.JObjType $type = type; - - PackageManager.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"android/content/pm/PackageManager"); - - /// The type which includes information such as the signature of this class. - static const type = $PackageManagerType(); - - /// from: static public final int CERT_INPUT_RAW_X509 - static const CERT_INPUT_RAW_X509 = 0; - - /// from: static public final int CERT_INPUT_SHA256 - static const CERT_INPUT_SHA256 = 1; - - /// from: static public final int COMPONENT_ENABLED_STATE_DEFAULT - static const COMPONENT_ENABLED_STATE_DEFAULT = 0; - - /// from: static public final int COMPONENT_ENABLED_STATE_DISABLED - static const COMPONENT_ENABLED_STATE_DISABLED = 2; - - /// from: static public final int COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED - static const COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED = 4; - - /// from: static public final int COMPONENT_ENABLED_STATE_DISABLED_USER - static const COMPONENT_ENABLED_STATE_DISABLED_USER = 3; - - /// from: static public final int COMPONENT_ENABLED_STATE_ENABLED - static const COMPONENT_ENABLED_STATE_ENABLED = 1; - - /// from: static public final int DONT_KILL_APP - static const DONT_KILL_APP = 1; - - /// from: static public final java.lang.String EXTRA_VERIFICATION_ID - static const EXTRA_VERIFICATION_ID = - r"""android.content.pm.extra.VERIFICATION_ID"""; - - /// from: static public final java.lang.String EXTRA_VERIFICATION_RESULT - static const EXTRA_VERIFICATION_RESULT = - r"""android.content.pm.extra.VERIFICATION_RESULT"""; - - /// from: static public final java.lang.String FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS - static const FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS = - r"""android.software.activities_on_secondary_displays"""; - - /// from: static public final java.lang.String FEATURE_APP_WIDGETS - static const FEATURE_APP_WIDGETS = r"""android.software.app_widgets"""; - - /// from: static public final java.lang.String FEATURE_AUDIO_LOW_LATENCY - static const FEATURE_AUDIO_LOW_LATENCY = - r"""android.hardware.audio.low_latency"""; - - /// from: static public final java.lang.String FEATURE_AUDIO_OUTPUT - static const FEATURE_AUDIO_OUTPUT = r"""android.hardware.audio.output"""; - - /// from: static public final java.lang.String FEATURE_AUDIO_PRO - static const FEATURE_AUDIO_PRO = r"""android.hardware.audio.pro"""; - - /// from: static public final java.lang.String FEATURE_AUTOFILL - static const FEATURE_AUTOFILL = r"""android.software.autofill"""; - - /// from: static public final java.lang.String FEATURE_AUTOMOTIVE - static const FEATURE_AUTOMOTIVE = r"""android.hardware.type.automotive"""; - - /// from: static public final java.lang.String FEATURE_BACKUP - static const FEATURE_BACKUP = r"""android.software.backup"""; - - /// from: static public final java.lang.String FEATURE_BLUETOOTH - static const FEATURE_BLUETOOTH = r"""android.hardware.bluetooth"""; - - /// from: static public final java.lang.String FEATURE_BLUETOOTH_LE - static const FEATURE_BLUETOOTH_LE = r"""android.hardware.bluetooth_le"""; - - /// from: static public final java.lang.String FEATURE_CAMERA - static const FEATURE_CAMERA = r"""android.hardware.camera"""; - - /// from: static public final java.lang.String FEATURE_CAMERA_ANY - static const FEATURE_CAMERA_ANY = r"""android.hardware.camera.any"""; - - /// from: static public final java.lang.String FEATURE_CAMERA_AR - static const FEATURE_CAMERA_AR = r"""android.hardware.camera.ar"""; - - /// from: static public final java.lang.String FEATURE_CAMERA_AUTOFOCUS - static const FEATURE_CAMERA_AUTOFOCUS = - r"""android.hardware.camera.autofocus"""; - - /// from: static public final java.lang.String FEATURE_CAMERA_CAPABILITY_MANUAL_POST_PROCESSING - static const FEATURE_CAMERA_CAPABILITY_MANUAL_POST_PROCESSING = - r"""android.hardware.camera.capability.manual_post_processing"""; - - /// from: static public final java.lang.String FEATURE_CAMERA_CAPABILITY_MANUAL_SENSOR - static const FEATURE_CAMERA_CAPABILITY_MANUAL_SENSOR = - r"""android.hardware.camera.capability.manual_sensor"""; - - /// from: static public final java.lang.String FEATURE_CAMERA_CAPABILITY_RAW - static const FEATURE_CAMERA_CAPABILITY_RAW = - r"""android.hardware.camera.capability.raw"""; - - /// from: static public final java.lang.String FEATURE_CAMERA_CONCURRENT - static const FEATURE_CAMERA_CONCURRENT = - r"""android.hardware.camera.concurrent"""; - - /// from: static public final java.lang.String FEATURE_CAMERA_EXTERNAL - static const FEATURE_CAMERA_EXTERNAL = - r"""android.hardware.camera.external"""; - - /// from: static public final java.lang.String FEATURE_CAMERA_FLASH - static const FEATURE_CAMERA_FLASH = r"""android.hardware.camera.flash"""; - - /// from: static public final java.lang.String FEATURE_CAMERA_FRONT - static const FEATURE_CAMERA_FRONT = r"""android.hardware.camera.front"""; - - /// from: static public final java.lang.String FEATURE_CAMERA_LEVEL_FULL - static const FEATURE_CAMERA_LEVEL_FULL = - r"""android.hardware.camera.level.full"""; - - /// from: static public final java.lang.String FEATURE_CANT_SAVE_STATE - static const FEATURE_CANT_SAVE_STATE = - r"""android.software.cant_save_state"""; - - /// from: static public final java.lang.String FEATURE_COMPANION_DEVICE_SETUP - static const FEATURE_COMPANION_DEVICE_SETUP = - r"""android.software.companion_device_setup"""; - - /// from: static public final java.lang.String FEATURE_CONNECTION_SERVICE - static const FEATURE_CONNECTION_SERVICE = - r"""android.software.connectionservice"""; - - /// from: static public final java.lang.String FEATURE_CONSUMER_IR - static const FEATURE_CONSUMER_IR = r"""android.hardware.consumerir"""; - - /// from: static public final java.lang.String FEATURE_CONTROLS - static const FEATURE_CONTROLS = r"""android.software.controls"""; - - /// from: static public final java.lang.String FEATURE_CREDENTIALS - static const FEATURE_CREDENTIALS = r"""android.software.credentials"""; - - /// from: static public final java.lang.String FEATURE_DEVICE_ADMIN - static const FEATURE_DEVICE_ADMIN = r"""android.software.device_admin"""; - - /// from: static public final java.lang.String FEATURE_DEVICE_LOCK - static const FEATURE_DEVICE_LOCK = r"""android.software.device_lock"""; - - /// from: static public final java.lang.String FEATURE_EMBEDDED - static const FEATURE_EMBEDDED = r"""android.hardware.type.embedded"""; - - /// from: static public final java.lang.String FEATURE_ETHERNET - static const FEATURE_ETHERNET = r"""android.hardware.ethernet"""; - - /// from: static public final java.lang.String FEATURE_EXPANDED_PICTURE_IN_PICTURE - static const FEATURE_EXPANDED_PICTURE_IN_PICTURE = - r"""android.software.expanded_picture_in_picture"""; - - /// from: static public final java.lang.String FEATURE_FACE - static const FEATURE_FACE = r"""android.hardware.biometrics.face"""; - - /// from: static public final java.lang.String FEATURE_FAKETOUCH - static const FEATURE_FAKETOUCH = r"""android.hardware.faketouch"""; - - /// from: static public final java.lang.String FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT - static const FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT = - r"""android.hardware.faketouch.multitouch.distinct"""; - - /// from: static public final java.lang.String FEATURE_FAKETOUCH_MULTITOUCH_JAZZHAND - static const FEATURE_FAKETOUCH_MULTITOUCH_JAZZHAND = - r"""android.hardware.faketouch.multitouch.jazzhand"""; - - /// from: static public final java.lang.String FEATURE_FINGERPRINT - static const FEATURE_FINGERPRINT = r"""android.hardware.fingerprint"""; - - /// from: static public final java.lang.String FEATURE_FREEFORM_WINDOW_MANAGEMENT - static const FEATURE_FREEFORM_WINDOW_MANAGEMENT = - r"""android.software.freeform_window_management"""; - - /// from: static public final java.lang.String FEATURE_GAMEPAD - static const FEATURE_GAMEPAD = r"""android.hardware.gamepad"""; - - /// from: static public final java.lang.String FEATURE_HARDWARE_KEYSTORE - static const FEATURE_HARDWARE_KEYSTORE = - r"""android.hardware.hardware_keystore"""; - - /// from: static public final java.lang.String FEATURE_HIFI_SENSORS - static const FEATURE_HIFI_SENSORS = - r"""android.hardware.sensor.hifi_sensors"""; - - /// from: static public final java.lang.String FEATURE_HOME_SCREEN - static const FEATURE_HOME_SCREEN = r"""android.software.home_screen"""; - - /// from: static public final java.lang.String FEATURE_IDENTITY_CREDENTIAL_HARDWARE - static const FEATURE_IDENTITY_CREDENTIAL_HARDWARE = - r"""android.hardware.identity_credential"""; - - /// from: static public final java.lang.String FEATURE_IDENTITY_CREDENTIAL_HARDWARE_DIRECT_ACCESS - static const FEATURE_IDENTITY_CREDENTIAL_HARDWARE_DIRECT_ACCESS = - r"""android.hardware.identity_credential_direct_access"""; - - /// from: static public final java.lang.String FEATURE_INPUT_METHODS - static const FEATURE_INPUT_METHODS = r"""android.software.input_methods"""; - - /// from: static public final java.lang.String FEATURE_IPSEC_TUNNELS - static const FEATURE_IPSEC_TUNNELS = r"""android.software.ipsec_tunnels"""; - - /// from: static public final java.lang.String FEATURE_IPSEC_TUNNEL_MIGRATION - static const FEATURE_IPSEC_TUNNEL_MIGRATION = - r"""android.software.ipsec_tunnel_migration"""; - - /// from: static public final java.lang.String FEATURE_IRIS - static const FEATURE_IRIS = r"""android.hardware.biometrics.iris"""; - - /// from: static public final java.lang.String FEATURE_KEYSTORE_APP_ATTEST_KEY - static const FEATURE_KEYSTORE_APP_ATTEST_KEY = - r"""android.hardware.keystore.app_attest_key"""; - - /// from: static public final java.lang.String FEATURE_KEYSTORE_LIMITED_USE_KEY - static const FEATURE_KEYSTORE_LIMITED_USE_KEY = - r"""android.hardware.keystore.limited_use_key"""; - - /// from: static public final java.lang.String FEATURE_KEYSTORE_SINGLE_USE_KEY - static const FEATURE_KEYSTORE_SINGLE_USE_KEY = - r"""android.hardware.keystore.single_use_key"""; - - /// from: static public final java.lang.String FEATURE_LEANBACK - static const FEATURE_LEANBACK = r"""android.software.leanback"""; - - /// from: static public final java.lang.String FEATURE_LEANBACK_ONLY - static const FEATURE_LEANBACK_ONLY = r"""android.software.leanback_only"""; - - /// from: static public final java.lang.String FEATURE_LIVE_TV - static const FEATURE_LIVE_TV = r"""android.software.live_tv"""; - - /// from: static public final java.lang.String FEATURE_LIVE_WALLPAPER - static const FEATURE_LIVE_WALLPAPER = r"""android.software.live_wallpaper"""; - - /// from: static public final java.lang.String FEATURE_LOCATION - static const FEATURE_LOCATION = r"""android.hardware.location"""; - - /// from: static public final java.lang.String FEATURE_LOCATION_GPS - static const FEATURE_LOCATION_GPS = r"""android.hardware.location.gps"""; - - /// from: static public final java.lang.String FEATURE_LOCATION_NETWORK - static const FEATURE_LOCATION_NETWORK = - r"""android.hardware.location.network"""; - - /// from: static public final java.lang.String FEATURE_MANAGED_USERS - static const FEATURE_MANAGED_USERS = r"""android.software.managed_users"""; - - /// from: static public final java.lang.String FEATURE_MICROPHONE - static const FEATURE_MICROPHONE = r"""android.hardware.microphone"""; - - /// from: static public final java.lang.String FEATURE_MIDI - static const FEATURE_MIDI = r"""android.software.midi"""; - - /// from: static public final java.lang.String FEATURE_NFC - static const FEATURE_NFC = r"""android.hardware.nfc"""; - - /// from: static public final java.lang.String FEATURE_NFC_BEAM - static const FEATURE_NFC_BEAM = r"""android.sofware.nfc.beam"""; - - /// from: static public final java.lang.String FEATURE_NFC_HOST_CARD_EMULATION - static const FEATURE_NFC_HOST_CARD_EMULATION = - r"""android.hardware.nfc.hce"""; - - /// from: static public final java.lang.String FEATURE_NFC_HOST_CARD_EMULATION_NFCF - static const FEATURE_NFC_HOST_CARD_EMULATION_NFCF = - r"""android.hardware.nfc.hcef"""; - - /// from: static public final java.lang.String FEATURE_NFC_OFF_HOST_CARD_EMULATION_ESE - static const FEATURE_NFC_OFF_HOST_CARD_EMULATION_ESE = - r"""android.hardware.nfc.ese"""; - - /// from: static public final java.lang.String FEATURE_NFC_OFF_HOST_CARD_EMULATION_UICC - static const FEATURE_NFC_OFF_HOST_CARD_EMULATION_UICC = - r"""android.hardware.nfc.uicc"""; - - /// from: static public final java.lang.String FEATURE_OPENGLES_DEQP_LEVEL - static const FEATURE_OPENGLES_DEQP_LEVEL = - r"""android.software.opengles.deqp.level"""; - - /// from: static public final java.lang.String FEATURE_OPENGLES_EXTENSION_PACK - static const FEATURE_OPENGLES_EXTENSION_PACK = - r"""android.hardware.opengles.aep"""; - - /// from: static public final java.lang.String FEATURE_PC - static const FEATURE_PC = r"""android.hardware.type.pc"""; - - /// from: static public final java.lang.String FEATURE_PICTURE_IN_PICTURE - static const FEATURE_PICTURE_IN_PICTURE = - r"""android.software.picture_in_picture"""; - - /// from: static public final java.lang.String FEATURE_PRINTING - static const FEATURE_PRINTING = r"""android.software.print"""; - - /// from: static public final java.lang.String FEATURE_RAM_LOW - static const FEATURE_RAM_LOW = r"""android.hardware.ram.low"""; - - /// from: static public final java.lang.String FEATURE_RAM_NORMAL - static const FEATURE_RAM_NORMAL = r"""android.hardware.ram.normal"""; - - /// from: static public final java.lang.String FEATURE_SCREEN_LANDSCAPE - static const FEATURE_SCREEN_LANDSCAPE = - r"""android.hardware.screen.landscape"""; - - /// from: static public final java.lang.String FEATURE_SCREEN_PORTRAIT - static const FEATURE_SCREEN_PORTRAIT = - r"""android.hardware.screen.portrait"""; - - /// from: static public final java.lang.String FEATURE_SECURELY_REMOVES_USERS - static const FEATURE_SECURELY_REMOVES_USERS = - r"""android.software.securely_removes_users"""; - - /// from: static public final java.lang.String FEATURE_SECURE_LOCK_SCREEN - static const FEATURE_SECURE_LOCK_SCREEN = - r"""android.software.secure_lock_screen"""; - - /// from: static public final java.lang.String FEATURE_SECURITY_MODEL_COMPATIBLE - static const FEATURE_SECURITY_MODEL_COMPATIBLE = - r"""android.hardware.security.model.compatible"""; - - /// from: static public final java.lang.String FEATURE_SENSOR_ACCELEROMETER - static const FEATURE_SENSOR_ACCELEROMETER = - r"""android.hardware.sensor.accelerometer"""; - - /// from: static public final java.lang.String FEATURE_SENSOR_ACCELEROMETER_LIMITED_AXES - static const FEATURE_SENSOR_ACCELEROMETER_LIMITED_AXES = - r"""android.hardware.sensor.accelerometer_limited_axes"""; - - /// from: static public final java.lang.String FEATURE_SENSOR_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED - static const FEATURE_SENSOR_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED = - r"""android.hardware.sensor.accelerometer_limited_axes_uncalibrated"""; - - /// from: static public final java.lang.String FEATURE_SENSOR_AMBIENT_TEMPERATURE - static const FEATURE_SENSOR_AMBIENT_TEMPERATURE = - r"""android.hardware.sensor.ambient_temperature"""; - - /// from: static public final java.lang.String FEATURE_SENSOR_BAROMETER - static const FEATURE_SENSOR_BAROMETER = - r"""android.hardware.sensor.barometer"""; - - /// from: static public final java.lang.String FEATURE_SENSOR_COMPASS - static const FEATURE_SENSOR_COMPASS = r"""android.hardware.sensor.compass"""; - - /// from: static public final java.lang.String FEATURE_SENSOR_DYNAMIC_HEAD_TRACKER - static const FEATURE_SENSOR_DYNAMIC_HEAD_TRACKER = - r"""android.hardware.sensor.dynamic.head_tracker"""; - - /// from: static public final java.lang.String FEATURE_SENSOR_GYROSCOPE - static const FEATURE_SENSOR_GYROSCOPE = - r"""android.hardware.sensor.gyroscope"""; - - /// from: static public final java.lang.String FEATURE_SENSOR_GYROSCOPE_LIMITED_AXES - static const FEATURE_SENSOR_GYROSCOPE_LIMITED_AXES = - r"""android.hardware.sensor.gyroscope_limited_axes"""; - - /// from: static public final java.lang.String FEATURE_SENSOR_GYROSCOPE_LIMITED_AXES_UNCALIBRATED - static const FEATURE_SENSOR_GYROSCOPE_LIMITED_AXES_UNCALIBRATED = - r"""android.hardware.sensor.gyroscope_limited_axes_uncalibrated"""; - - /// from: static public final java.lang.String FEATURE_SENSOR_HEADING - static const FEATURE_SENSOR_HEADING = r"""android.hardware.sensor.heading"""; - - /// from: static public final java.lang.String FEATURE_SENSOR_HEART_RATE - static const FEATURE_SENSOR_HEART_RATE = - r"""android.hardware.sensor.heartrate"""; - - /// from: static public final java.lang.String FEATURE_SENSOR_HEART_RATE_ECG - static const FEATURE_SENSOR_HEART_RATE_ECG = - r"""android.hardware.sensor.heartrate.ecg"""; - - /// from: static public final java.lang.String FEATURE_SENSOR_HINGE_ANGLE - static const FEATURE_SENSOR_HINGE_ANGLE = - r"""android.hardware.sensor.hinge_angle"""; - - /// from: static public final java.lang.String FEATURE_SENSOR_LIGHT - static const FEATURE_SENSOR_LIGHT = r"""android.hardware.sensor.light"""; - - /// from: static public final java.lang.String FEATURE_SENSOR_PROXIMITY - static const FEATURE_SENSOR_PROXIMITY = - r"""android.hardware.sensor.proximity"""; - - /// from: static public final java.lang.String FEATURE_SENSOR_RELATIVE_HUMIDITY - static const FEATURE_SENSOR_RELATIVE_HUMIDITY = - r"""android.hardware.sensor.relative_humidity"""; - - /// from: static public final java.lang.String FEATURE_SENSOR_STEP_COUNTER - static const FEATURE_SENSOR_STEP_COUNTER = - r"""android.hardware.sensor.stepcounter"""; - - /// from: static public final java.lang.String FEATURE_SENSOR_STEP_DETECTOR - static const FEATURE_SENSOR_STEP_DETECTOR = - r"""android.hardware.sensor.stepdetector"""; - - /// from: static public final java.lang.String FEATURE_SE_OMAPI_ESE - static const FEATURE_SE_OMAPI_ESE = r"""android.hardware.se.omapi.ese"""; - - /// from: static public final java.lang.String FEATURE_SE_OMAPI_SD - static const FEATURE_SE_OMAPI_SD = r"""android.hardware.se.omapi.sd"""; - - /// from: static public final java.lang.String FEATURE_SE_OMAPI_UICC - static const FEATURE_SE_OMAPI_UICC = r"""android.hardware.se.omapi.uicc"""; - - /// from: static public final java.lang.String FEATURE_SIP - static const FEATURE_SIP = r"""android.software.sip"""; - - /// from: static public final java.lang.String FEATURE_SIP_VOIP - static const FEATURE_SIP_VOIP = r"""android.software.sip.voip"""; - - /// from: static public final java.lang.String FEATURE_STRONGBOX_KEYSTORE - static const FEATURE_STRONGBOX_KEYSTORE = - r"""android.hardware.strongbox_keystore"""; - - /// from: static public final java.lang.String FEATURE_TELECOM - static const FEATURE_TELECOM = r"""android.software.telecom"""; - - /// from: static public final java.lang.String FEATURE_TELEPHONY - static const FEATURE_TELEPHONY = r"""android.hardware.telephony"""; - - /// from: static public final java.lang.String FEATURE_TELEPHONY_CALLING - static const FEATURE_TELEPHONY_CALLING = - r"""android.hardware.telephony.calling"""; - - /// from: static public final java.lang.String FEATURE_TELEPHONY_CDMA - static const FEATURE_TELEPHONY_CDMA = r"""android.hardware.telephony.cdma"""; - - /// from: static public final java.lang.String FEATURE_TELEPHONY_DATA - static const FEATURE_TELEPHONY_DATA = r"""android.hardware.telephony.data"""; - - /// from: static public final java.lang.String FEATURE_TELEPHONY_EUICC - static const FEATURE_TELEPHONY_EUICC = - r"""android.hardware.telephony.euicc"""; - - /// from: static public final java.lang.String FEATURE_TELEPHONY_EUICC_MEP - static const FEATURE_TELEPHONY_EUICC_MEP = - r"""android.hardware.telephony.euicc.mep"""; - - /// from: static public final java.lang.String FEATURE_TELEPHONY_GSM - static const FEATURE_TELEPHONY_GSM = r"""android.hardware.telephony.gsm"""; - - /// from: static public final java.lang.String FEATURE_TELEPHONY_IMS - static const FEATURE_TELEPHONY_IMS = r"""android.hardware.telephony.ims"""; - - /// from: static public final java.lang.String FEATURE_TELEPHONY_MBMS - static const FEATURE_TELEPHONY_MBMS = r"""android.hardware.telephony.mbms"""; - - /// from: static public final java.lang.String FEATURE_TELEPHONY_MESSAGING - static const FEATURE_TELEPHONY_MESSAGING = - r"""android.hardware.telephony.messaging"""; - - /// from: static public final java.lang.String FEATURE_TELEPHONY_RADIO_ACCESS - static const FEATURE_TELEPHONY_RADIO_ACCESS = - r"""android.hardware.telephony.radio.access"""; - - /// from: static public final java.lang.String FEATURE_TELEPHONY_SUBSCRIPTION - static const FEATURE_TELEPHONY_SUBSCRIPTION = - r"""android.hardware.telephony.subscription"""; - - /// from: static public final java.lang.String FEATURE_TELEVISION - static const FEATURE_TELEVISION = r"""android.hardware.type.television"""; - - /// from: static public final java.lang.String FEATURE_TOUCHSCREEN - static const FEATURE_TOUCHSCREEN = r"""android.hardware.touchscreen"""; - - /// from: static public final java.lang.String FEATURE_TOUCHSCREEN_MULTITOUCH - static const FEATURE_TOUCHSCREEN_MULTITOUCH = - r"""android.hardware.touchscreen.multitouch"""; - - /// from: static public final java.lang.String FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT - static const FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT = - r"""android.hardware.touchscreen.multitouch.distinct"""; - - /// from: static public final java.lang.String FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND - static const FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND = - r"""android.hardware.touchscreen.multitouch.jazzhand"""; - - /// from: static public final java.lang.String FEATURE_USB_ACCESSORY - static const FEATURE_USB_ACCESSORY = r"""android.hardware.usb.accessory"""; - - /// from: static public final java.lang.String FEATURE_USB_HOST - static const FEATURE_USB_HOST = r"""android.hardware.usb.host"""; - - /// from: static public final java.lang.String FEATURE_UWB - static const FEATURE_UWB = r"""android.hardware.uwb"""; - - /// from: static public final java.lang.String FEATURE_VERIFIED_BOOT - static const FEATURE_VERIFIED_BOOT = r"""android.software.verified_boot"""; - - /// from: static public final java.lang.String FEATURE_VR_HEADTRACKING - static const FEATURE_VR_HEADTRACKING = - r"""android.hardware.vr.headtracking"""; - - /// from: static public final java.lang.String FEATURE_VR_MODE - static const FEATURE_VR_MODE = r"""android.software.vr.mode"""; - - /// from: static public final java.lang.String FEATURE_VR_MODE_HIGH_PERFORMANCE - static const FEATURE_VR_MODE_HIGH_PERFORMANCE = - r"""android.hardware.vr.high_performance"""; - - /// from: static public final java.lang.String FEATURE_VULKAN_DEQP_LEVEL - static const FEATURE_VULKAN_DEQP_LEVEL = - r"""android.software.vulkan.deqp.level"""; - - /// from: static public final java.lang.String FEATURE_VULKAN_HARDWARE_COMPUTE - static const FEATURE_VULKAN_HARDWARE_COMPUTE = - r"""android.hardware.vulkan.compute"""; - - /// from: static public final java.lang.String FEATURE_VULKAN_HARDWARE_LEVEL - static const FEATURE_VULKAN_HARDWARE_LEVEL = - r"""android.hardware.vulkan.level"""; - - /// from: static public final java.lang.String FEATURE_VULKAN_HARDWARE_VERSION - static const FEATURE_VULKAN_HARDWARE_VERSION = - r"""android.hardware.vulkan.version"""; - - /// from: static public final java.lang.String FEATURE_WALLET_LOCATION_BASED_SUGGESTIONS - static const FEATURE_WALLET_LOCATION_BASED_SUGGESTIONS = - r"""android.software.wallet_location_based_suggestions"""; - - /// from: static public final java.lang.String FEATURE_WATCH - static const FEATURE_WATCH = r"""android.hardware.type.watch"""; - - /// from: static public final java.lang.String FEATURE_WEBVIEW - static const FEATURE_WEBVIEW = r"""android.software.webview"""; - - /// from: static public final java.lang.String FEATURE_WIFI - static const FEATURE_WIFI = r"""android.hardware.wifi"""; - - /// from: static public final java.lang.String FEATURE_WIFI_AWARE - static const FEATURE_WIFI_AWARE = r"""android.hardware.wifi.aware"""; - - /// from: static public final java.lang.String FEATURE_WIFI_DIRECT - static const FEATURE_WIFI_DIRECT = r"""android.hardware.wifi.direct"""; - - /// from: static public final java.lang.String FEATURE_WIFI_PASSPOINT - static const FEATURE_WIFI_PASSPOINT = r"""android.hardware.wifi.passpoint"""; - - /// from: static public final java.lang.String FEATURE_WIFI_RTT - static const FEATURE_WIFI_RTT = r"""android.hardware.wifi.rtt"""; - - /// from: static public final java.lang.String FEATURE_WINDOW_MAGNIFICATION - static const FEATURE_WINDOW_MAGNIFICATION = - r"""android.software.window_magnification"""; - - /// from: static public final int FLAG_PERMISSION_WHITELIST_INSTALLER - static const FLAG_PERMISSION_WHITELIST_INSTALLER = 2; - - /// from: static public final int FLAG_PERMISSION_WHITELIST_SYSTEM - static const FLAG_PERMISSION_WHITELIST_SYSTEM = 1; - - /// from: static public final int FLAG_PERMISSION_WHITELIST_UPGRADE - static const FLAG_PERMISSION_WHITELIST_UPGRADE = 4; - - /// from: static public final int GET_ACTIVITIES - static const GET_ACTIVITIES = 1; - - /// from: static public final int GET_ATTRIBUTIONS - static const GET_ATTRIBUTIONS = -2147483648; - - /// from: static public final long GET_ATTRIBUTIONS_LONG - static const GET_ATTRIBUTIONS_LONG = 2147483648; - - /// from: static public final int GET_CONFIGURATIONS - static const GET_CONFIGURATIONS = 16384; - - /// from: static public final int GET_DISABLED_COMPONENTS - static const GET_DISABLED_COMPONENTS = 512; - - /// from: static public final int GET_DISABLED_UNTIL_USED_COMPONENTS - static const GET_DISABLED_UNTIL_USED_COMPONENTS = 32768; - - /// from: static public final int GET_GIDS - static const GET_GIDS = 256; - - /// from: static public final int GET_INSTRUMENTATION - static const GET_INSTRUMENTATION = 16; - - /// from: static public final int GET_INTENT_FILTERS - static const GET_INTENT_FILTERS = 32; - - /// from: static public final int GET_META_DATA - static const GET_META_DATA = 128; - - /// from: static public final int GET_PERMISSIONS - static const GET_PERMISSIONS = 4096; - - /// from: static public final int GET_PROVIDERS - static const GET_PROVIDERS = 8; - - /// from: static public final int GET_RECEIVERS - static const GET_RECEIVERS = 2; - - /// from: static public final int GET_RESOLVED_FILTER - static const GET_RESOLVED_FILTER = 64; - - /// from: static public final int GET_SERVICES - static const GET_SERVICES = 4; - - /// from: static public final int GET_SHARED_LIBRARY_FILES - static const GET_SHARED_LIBRARY_FILES = 1024; - - /// from: static public final int GET_SIGNATURES - static const GET_SIGNATURES = 64; - - /// from: static public final int GET_SIGNING_CERTIFICATES - static const GET_SIGNING_CERTIFICATES = 134217728; - - /// from: static public final int GET_UNINSTALLED_PACKAGES - static const GET_UNINSTALLED_PACKAGES = 8192; - - /// from: static public final int GET_URI_PERMISSION_PATTERNS - static const GET_URI_PERMISSION_PATTERNS = 2048; - - /// from: static public final int INSTALL_REASON_DEVICE_RESTORE - static const INSTALL_REASON_DEVICE_RESTORE = 2; - - /// from: static public final int INSTALL_REASON_DEVICE_SETUP - static const INSTALL_REASON_DEVICE_SETUP = 3; - - /// from: static public final int INSTALL_REASON_POLICY - static const INSTALL_REASON_POLICY = 1; - - /// from: static public final int INSTALL_REASON_UNKNOWN - static const INSTALL_REASON_UNKNOWN = 0; - - /// from: static public final int INSTALL_REASON_USER - static const INSTALL_REASON_USER = 4; - - /// from: static public final int INSTALL_SCENARIO_BULK - static const INSTALL_SCENARIO_BULK = 2; - - /// from: static public final int INSTALL_SCENARIO_BULK_SECONDARY - static const INSTALL_SCENARIO_BULK_SECONDARY = 3; - - /// from: static public final int INSTALL_SCENARIO_DEFAULT - static const INSTALL_SCENARIO_DEFAULT = 0; - - /// from: static public final int INSTALL_SCENARIO_FAST - static const INSTALL_SCENARIO_FAST = 1; - - /// from: static public final int MATCH_ALL - static const MATCH_ALL = 131072; - - /// from: static public final int MATCH_APEX - static const MATCH_APEX = 1073741824; - - /// from: static public final int MATCH_DEFAULT_ONLY - static const MATCH_DEFAULT_ONLY = 65536; - - /// from: static public final int MATCH_DIRECT_BOOT_AUTO - static const MATCH_DIRECT_BOOT_AUTO = 268435456; - - /// from: static public final int MATCH_DIRECT_BOOT_AWARE - static const MATCH_DIRECT_BOOT_AWARE = 524288; - - /// from: static public final int MATCH_DIRECT_BOOT_UNAWARE - static const MATCH_DIRECT_BOOT_UNAWARE = 262144; - - /// from: static public final int MATCH_DISABLED_COMPONENTS - static const MATCH_DISABLED_COMPONENTS = 512; - - /// from: static public final int MATCH_DISABLED_UNTIL_USED_COMPONENTS - static const MATCH_DISABLED_UNTIL_USED_COMPONENTS = 32768; - - /// from: static public final int MATCH_SYSTEM_ONLY - static const MATCH_SYSTEM_ONLY = 1048576; - - /// from: static public final int MATCH_UNINSTALLED_PACKAGES - static const MATCH_UNINSTALLED_PACKAGES = 8192; - - /// from: static public final long MAXIMUM_VERIFICATION_TIMEOUT - static const MAXIMUM_VERIFICATION_TIMEOUT = 3600000; - - /// from: static public final int PERMISSION_DENIED - static const PERMISSION_DENIED = -1; - - /// from: static public final int PERMISSION_GRANTED - static const PERMISSION_GRANTED = 0; - - /// from: static public final java.lang.String PROPERTY_COMPAT_OVERRIDE_LANDSCAPE_TO_PORTRAIT - static const PROPERTY_COMPAT_OVERRIDE_LANDSCAPE_TO_PORTRAIT = - r"""android.camera.PROPERTY_COMPAT_OVERRIDE_LANDSCAPE_TO_PORTRAIT"""; - - /// from: static public final java.lang.String PROPERTY_MEDIA_CAPABILITIES - static const PROPERTY_MEDIA_CAPABILITIES = - r"""android.media.PROPERTY_MEDIA_CAPABILITIES"""; - - /// from: static public final java.lang.String PROPERTY_SELF_CERTIFIED_NETWORK_CAPABILITIES - static const PROPERTY_SELF_CERTIFIED_NETWORK_CAPABILITIES = - r"""android.net.PROPERTY_SELF_CERTIFIED_NETWORK_CAPABILITIES"""; - - /// from: static public final java.lang.String PROPERTY_SPECIAL_USE_FGS_SUBTYPE - static const PROPERTY_SPECIAL_USE_FGS_SUBTYPE = - r"""android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"""; - - /// from: static public final int SIGNATURE_FIRST_NOT_SIGNED - static const SIGNATURE_FIRST_NOT_SIGNED = -1; - - /// from: static public final int SIGNATURE_MATCH - static const SIGNATURE_MATCH = 0; - - /// from: static public final int SIGNATURE_NEITHER_SIGNED - static const SIGNATURE_NEITHER_SIGNED = 1; - - /// from: static public final int SIGNATURE_NO_MATCH - static const SIGNATURE_NO_MATCH = -3; - - /// from: static public final int SIGNATURE_SECOND_NOT_SIGNED - static const SIGNATURE_SECOND_NOT_SIGNED = -2; - - /// from: static public final int SIGNATURE_UNKNOWN_PACKAGE - static const SIGNATURE_UNKNOWN_PACKAGE = -4; - - /// from: static public final int SYNCHRONOUS - static const SYNCHRONOUS = 2; - - static final _id_TRUST_ALL = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"TRUST_ALL", - r"Ljava/util/List;", - ); - - /// from: static public final java.util.List TRUST_ALL - /// The returned object must be released after use, by calling the [release] method. - static jni.JList get TRUST_ALL => - const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors - .getStaticField( - _class.reference, _id_TRUST_ALL, jni.JniCallType.objectType) - .object); - - static final _id_TRUST_NONE = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"TRUST_NONE", - r"Ljava/util/List;", - ); - - /// from: static public final java.util.List TRUST_NONE - /// The returned object must be released after use, by calling the [release] method. - static jni.JList get TRUST_NONE => - const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors - .getStaticField( - _class.reference, _id_TRUST_NONE, jni.JniCallType.objectType) - .object); - - /// from: static public final int VERIFICATION_ALLOW - static const VERIFICATION_ALLOW = 1; - - /// from: static public final int VERIFICATION_REJECT - static const VERIFICATION_REJECT = -1; - - /// from: static public final int VERSION_CODE_HIGHEST - static const VERSION_CODE_HIGHEST = -1; - - static final _id_new0 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); - - /// from: public void () - /// The returned object must be released after use, by calling the [release] method. - factory PackageManager() { - return PackageManager.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, []).object); - } - - static final _id_getPackageInfo = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getPackageInfo", - r"(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;"); - - /// from: public abstract android.content.pm.PackageInfo getPackageInfo(java.lang.String string, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getPackageInfo( - jni.JString string, - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getPackageInfo, - jni.JniCallType.objectType, - [string.reference, jni.JValueInt(i)]).object); - } - - static final _id_getPackageInfo1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getPackageInfo", - r"(Ljava/lang/String;Landroid/content/pm/PackageManager$PackageInfoFlags;)Landroid/content/pm/PackageInfo;"); - - /// from: public android.content.pm.PackageInfo getPackageInfo(java.lang.String string, android.content.pm.PackageManager$PackageInfoFlags packageInfoFlags) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getPackageInfo1( - jni.JString string, - PackageManager_PackageInfoFlags packageInfoFlags, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getPackageInfo1, - jni.JniCallType.objectType, - [string.reference, packageInfoFlags.reference]).object); - } - - static final _id_getPackageInfo2 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getPackageInfo", - r"(Landroid/content/pm/VersionedPackage;I)Landroid/content/pm/PackageInfo;"); - - /// from: public abstract android.content.pm.PackageInfo getPackageInfo(android.content.pm.VersionedPackage versionedPackage, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getPackageInfo2( - jni.JObject versionedPackage, - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getPackageInfo2, - jni.JniCallType.objectType, - [versionedPackage.reference, jni.JValueInt(i)]).object); - } - - static final _id_getPackageInfo3 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getPackageInfo", - r"(Landroid/content/pm/VersionedPackage;Landroid/content/pm/PackageManager$PackageInfoFlags;)Landroid/content/pm/PackageInfo;"); - - /// from: public android.content.pm.PackageInfo getPackageInfo(android.content.pm.VersionedPackage versionedPackage, android.content.pm.PackageManager$PackageInfoFlags packageInfoFlags) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getPackageInfo3( - jni.JObject versionedPackage, - PackageManager_PackageInfoFlags packageInfoFlags, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getPackageInfo3, - jni.JniCallType.objectType, - [versionedPackage.reference, packageInfoFlags.reference]).object); - } - - static final _id_currentToCanonicalPackageNames = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"currentToCanonicalPackageNames", - r"([Ljava/lang/String;)[Ljava/lang/String;"); - - /// from: public abstract java.lang.String[] currentToCanonicalPackageNames(java.lang.String[] strings) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray currentToCanonicalPackageNames( - jni.JArray strings, - ) { - return const jni.JArrayType(jni.JStringType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_currentToCanonicalPackageNames, - jni.JniCallType.objectType, [strings.reference]).object); - } - - static final _id_canonicalToCurrentPackageNames = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"canonicalToCurrentPackageNames", - r"([Ljava/lang/String;)[Ljava/lang/String;"); - - /// from: public abstract java.lang.String[] canonicalToCurrentPackageNames(java.lang.String[] strings) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray canonicalToCurrentPackageNames( - jni.JArray strings, - ) { - return const jni.JArrayType(jni.JStringType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_canonicalToCurrentPackageNames, - jni.JniCallType.objectType, [strings.reference]).object); - } - - static final _id_getLaunchIntentForPackage = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getLaunchIntentForPackage", - r"(Ljava/lang/String;)Landroid/content/Intent;"); - - /// from: public abstract android.content.Intent getLaunchIntentForPackage(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Intent getLaunchIntentForPackage( - jni.JString string, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getLaunchIntentForPackage, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getLeanbackLaunchIntentForPackage = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getLeanbackLaunchIntentForPackage", - r"(Ljava/lang/String;)Landroid/content/Intent;"); - - /// from: public abstract android.content.Intent getLeanbackLaunchIntentForPackage(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Intent getLeanbackLaunchIntentForPackage( - jni.JString string, - ) { - return const $IntentType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getLeanbackLaunchIntentForPackage, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getLaunchIntentSenderForPackage = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getLaunchIntentSenderForPackage", - r"(Ljava/lang/String;)Landroid/content/IntentSender;"); - - /// from: public android.content.IntentSender getLaunchIntentSenderForPackage(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getLaunchIntentSenderForPackage( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getLaunchIntentSenderForPackage, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getPackageGids = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getPackageGids", r"(Ljava/lang/String;)[I"); - - /// from: public abstract int[] getPackageGids(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getPackageGids( - jni.JString string, - ) { - return const jni.JArrayType(jni.jintType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getPackageGids, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getPackageGids1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getPackageGids", r"(Ljava/lang/String;I)[I"); - - /// from: public abstract int[] getPackageGids(java.lang.String string, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getPackageGids1( - jni.JString string, - int i, - ) { - return const jni.JArrayType(jni.jintType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_getPackageGids1, - jni.JniCallType.objectType, - [string.reference, jni.JValueInt(i)]).object); - } - - static final _id_getPackageGids2 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getPackageGids", - r"(Ljava/lang/String;Landroid/content/pm/PackageManager$PackageInfoFlags;)[I"); - - /// from: public int[] getPackageGids(java.lang.String string, android.content.pm.PackageManager$PackageInfoFlags packageInfoFlags) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getPackageGids2( - jni.JString string, - PackageManager_PackageInfoFlags packageInfoFlags, - ) { - return const jni.JArrayType(jni.jintType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_getPackageGids2, - jni.JniCallType.objectType, - [string.reference, packageInfoFlags.reference]).object); - } - - static final _id_getPackageUid = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getPackageUid", r"(Ljava/lang/String;I)I"); - - /// from: public abstract int getPackageUid(java.lang.String string, int i) - int getPackageUid( - jni.JString string, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_getPackageUid, - jni.JniCallType.intType, [string.reference, jni.JValueInt(i)]).integer; - } - - static final _id_getPackageUid1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getPackageUid", - r"(Ljava/lang/String;Landroid/content/pm/PackageManager$PackageInfoFlags;)I"); - - /// from: public int getPackageUid(java.lang.String string, android.content.pm.PackageManager$PackageInfoFlags packageInfoFlags) - int getPackageUid1( - jni.JString string, - PackageManager_PackageInfoFlags packageInfoFlags, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getPackageUid1, - jni.JniCallType.intType, - [string.reference, packageInfoFlags.reference]).integer; - } - - static final _id_getPermissionInfo = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getPermissionInfo", - r"(Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;"); - - /// from: public abstract android.content.pm.PermissionInfo getPermissionInfo(java.lang.String string, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getPermissionInfo( - jni.JString string, - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getPermissionInfo, - jni.JniCallType.objectType, - [string.reference, jni.JValueInt(i)]).object); - } - - static final _id_queryPermissionsByGroup = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"queryPermissionsByGroup", - r"(Ljava/lang/String;I)Ljava/util/List;"); - - /// from: public abstract java.util.List queryPermissionsByGroup(java.lang.String string, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JList queryPermissionsByGroup( - jni.JString string, - int i, - ) { - return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_queryPermissionsByGroup, - jni.JniCallType.objectType, - [string.reference, jni.JValueInt(i)]).object); - } - - static final _id_getPermissionGroupInfo = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getPermissionGroupInfo", - r"(Ljava/lang/String;I)Landroid/content/pm/PermissionGroupInfo;"); - - /// from: public abstract android.content.pm.PermissionGroupInfo getPermissionGroupInfo(java.lang.String string, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getPermissionGroupInfo( - jni.JString string, - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getPermissionGroupInfo, - jni.JniCallType.objectType, - [string.reference, jni.JValueInt(i)]).object); - } - - static final _id_getAllPermissionGroups = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getAllPermissionGroups", r"(I)Ljava/util/List;"); - - /// from: public abstract java.util.List getAllPermissionGroups(int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JList getAllPermissionGroups( - int i, - ) { - return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getAllPermissionGroups, - jni.JniCallType.objectType, [jni.JValueInt(i)]).object); - } - - static final _id_getPlatformPermissionsForGroup = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getPlatformPermissionsForGroup", - r"(Ljava/lang/String;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V"); - - /// from: public void getPlatformPermissionsForGroup(java.lang.String string, java.util.concurrent.Executor executor, java.util.function.Consumer consumer) - void getPlatformPermissionsForGroup( - jni.JString string, - Executor executor, - jni.JObject consumer, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getPlatformPermissionsForGroup, - jni.JniCallType.voidType, - [string.reference, executor.reference, consumer.reference]).check(); - } - - static final _id_getGroupOfPlatformPermission = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getGroupOfPlatformPermission", - r"(Ljava/lang/String;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V"); - - /// from: public void getGroupOfPlatformPermission(java.lang.String string, java.util.concurrent.Executor executor, java.util.function.Consumer consumer) - void getGroupOfPlatformPermission( - jni.JString string, - Executor executor, - jni.JObject consumer, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getGroupOfPlatformPermission, - jni.JniCallType.voidType, - [string.reference, executor.reference, consumer.reference]).check(); - } - - static final _id_getApplicationInfo = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getApplicationInfo", - r"(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;"); - - /// from: public abstract android.content.pm.ApplicationInfo getApplicationInfo(java.lang.String string, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getApplicationInfo( - jni.JString string, - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getApplicationInfo, - jni.JniCallType.objectType, - [string.reference, jni.JValueInt(i)]).object); - } - - static final _id_getApplicationInfo1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getApplicationInfo", - r"(Ljava/lang/String;Landroid/content/pm/PackageManager$ApplicationInfoFlags;)Landroid/content/pm/ApplicationInfo;"); - - /// from: public android.content.pm.ApplicationInfo getApplicationInfo(java.lang.String string, android.content.pm.PackageManager$ApplicationInfoFlags applicationInfoFlags) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getApplicationInfo1( - jni.JString string, - PackageManager_ApplicationInfoFlags applicationInfoFlags, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getApplicationInfo1, - jni.JniCallType.objectType, - [string.reference, applicationInfoFlags.reference]).object); - } - - static final _id_getTargetSdkVersion = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getTargetSdkVersion", r"(Ljava/lang/String;)I"); - - /// from: public int getTargetSdkVersion(java.lang.String string) - int getTargetSdkVersion( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getTargetSdkVersion, - jni.JniCallType.intType, - [string.reference]).integer; - } - - static final _id_getActivityInfo = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getActivityInfo", - r"(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;"); - - /// from: public abstract android.content.pm.ActivityInfo getActivityInfo(android.content.ComponentName componentName, int i) - /// The returned object must be released after use, by calling the [release] method. - ActivityInfo getActivityInfo( - jni.JObject componentName, - int i, - ) { - return const $ActivityInfoType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_getActivityInfo, - jni.JniCallType.objectType, - [componentName.reference, jni.JValueInt(i)]).object); - } - - static final _id_getActivityInfo1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getActivityInfo", - r"(Landroid/content/ComponentName;Landroid/content/pm/PackageManager$ComponentInfoFlags;)Landroid/content/pm/ActivityInfo;"); - - /// from: public android.content.pm.ActivityInfo getActivityInfo(android.content.ComponentName componentName, android.content.pm.PackageManager$ComponentInfoFlags componentInfoFlags) - /// The returned object must be released after use, by calling the [release] method. - ActivityInfo getActivityInfo1( - jni.JObject componentName, - PackageManager_ComponentInfoFlags componentInfoFlags, - ) { - return const $ActivityInfoType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_getActivityInfo1, - jni.JniCallType.objectType, - [componentName.reference, componentInfoFlags.reference]).object); - } - - static final _id_getReceiverInfo = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getReceiverInfo", - r"(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;"); - - /// from: public abstract android.content.pm.ActivityInfo getReceiverInfo(android.content.ComponentName componentName, int i) - /// The returned object must be released after use, by calling the [release] method. - ActivityInfo getReceiverInfo( - jni.JObject componentName, - int i, - ) { - return const $ActivityInfoType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_getReceiverInfo, - jni.JniCallType.objectType, - [componentName.reference, jni.JValueInt(i)]).object); - } - - static final _id_getReceiverInfo1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getReceiverInfo", - r"(Landroid/content/ComponentName;Landroid/content/pm/PackageManager$ComponentInfoFlags;)Landroid/content/pm/ActivityInfo;"); - - /// from: public android.content.pm.ActivityInfo getReceiverInfo(android.content.ComponentName componentName, android.content.pm.PackageManager$ComponentInfoFlags componentInfoFlags) - /// The returned object must be released after use, by calling the [release] method. - ActivityInfo getReceiverInfo1( - jni.JObject componentName, - PackageManager_ComponentInfoFlags componentInfoFlags, - ) { - return const $ActivityInfoType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_getReceiverInfo1, - jni.JniCallType.objectType, - [componentName.reference, componentInfoFlags.reference]).object); - } - - static final _id_getServiceInfo = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getServiceInfo", - r"(Landroid/content/ComponentName;I)Landroid/content/pm/ServiceInfo;"); - - /// from: public abstract android.content.pm.ServiceInfo getServiceInfo(android.content.ComponentName componentName, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getServiceInfo( - jni.JObject componentName, - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getServiceInfo, - jni.JniCallType.objectType, - [componentName.reference, jni.JValueInt(i)]).object); - } - - static final _id_getServiceInfo1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getServiceInfo", - r"(Landroid/content/ComponentName;Landroid/content/pm/PackageManager$ComponentInfoFlags;)Landroid/content/pm/ServiceInfo;"); - - /// from: public android.content.pm.ServiceInfo getServiceInfo(android.content.ComponentName componentName, android.content.pm.PackageManager$ComponentInfoFlags componentInfoFlags) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getServiceInfo1( - jni.JObject componentName, - PackageManager_ComponentInfoFlags componentInfoFlags, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getServiceInfo1, - jni.JniCallType.objectType, - [componentName.reference, componentInfoFlags.reference]).object); - } - - static final _id_getProviderInfo = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getProviderInfo", - r"(Landroid/content/ComponentName;I)Landroid/content/pm/ProviderInfo;"); - - /// from: public abstract android.content.pm.ProviderInfo getProviderInfo(android.content.ComponentName componentName, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getProviderInfo( - jni.JObject componentName, - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getProviderInfo, - jni.JniCallType.objectType, - [componentName.reference, jni.JValueInt(i)]).object); - } - - static final _id_getProviderInfo1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getProviderInfo", - r"(Landroid/content/ComponentName;Landroid/content/pm/PackageManager$ComponentInfoFlags;)Landroid/content/pm/ProviderInfo;"); - - /// from: public android.content.pm.ProviderInfo getProviderInfo(android.content.ComponentName componentName, android.content.pm.PackageManager$ComponentInfoFlags componentInfoFlags) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getProviderInfo1( - jni.JObject componentName, - PackageManager_ComponentInfoFlags componentInfoFlags, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getProviderInfo1, - jni.JniCallType.objectType, - [componentName.reference, componentInfoFlags.reference]).object); - } - - static final _id_getModuleInfo = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getModuleInfo", - r"(Ljava/lang/String;I)Landroid/content/pm/ModuleInfo;"); - - /// from: public android.content.pm.ModuleInfo getModuleInfo(java.lang.String string, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getModuleInfo( - jni.JString string, - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getModuleInfo, - jni.JniCallType.objectType, - [string.reference, jni.JValueInt(i)]).object); - } - - static final _id_getInstalledModules = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getInstalledModules", r"(I)Ljava/util/List;"); - - /// from: public java.util.List getInstalledModules(int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JList getInstalledModules( - int i, - ) { - return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getInstalledModules, - jni.JniCallType.objectType, [jni.JValueInt(i)]).object); - } - - static final _id_getInstalledPackages = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getInstalledPackages", r"(I)Ljava/util/List;"); - - /// from: public abstract java.util.List getInstalledPackages(int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JList getInstalledPackages( - int i, - ) { - return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getInstalledPackages, - jni.JniCallType.objectType, [jni.JValueInt(i)]).object); - } - - static final _id_getInstalledPackages1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getInstalledPackages", - r"(Landroid/content/pm/PackageManager$PackageInfoFlags;)Ljava/util/List;"); - - /// from: public java.util.List getInstalledPackages(android.content.pm.PackageManager$PackageInfoFlags packageInfoFlags) - /// The returned object must be released after use, by calling the [release] method. - jni.JList getInstalledPackages1( - PackageManager_PackageInfoFlags packageInfoFlags, - ) { - return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getInstalledPackages1, - jni.JniCallType.objectType, [packageInfoFlags.reference]).object); - } - - static final _id_getPackagesHoldingPermissions = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getPackagesHoldingPermissions", - r"([Ljava/lang/String;I)Ljava/util/List;"); - - /// from: public abstract java.util.List getPackagesHoldingPermissions(java.lang.Object[] strings, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JList getPackagesHoldingPermissions( - jni.JArray strings, - int i, - ) { - return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_getPackagesHoldingPermissions, - jni.JniCallType.objectType, - [strings.reference, jni.JValueInt(i)]).object); - } - - static final _id_getPackagesHoldingPermissions1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getPackagesHoldingPermissions", - r"([Ljava/lang/String;Landroid/content/pm/PackageManager$PackageInfoFlags;)Ljava/util/List;"); - - /// from: public java.util.List getPackagesHoldingPermissions(java.lang.Object[] strings, android.content.pm.PackageManager$PackageInfoFlags packageInfoFlags) - /// The returned object must be released after use, by calling the [release] method. - jni.JList getPackagesHoldingPermissions1( - jni.JArray strings, - PackageManager_PackageInfoFlags packageInfoFlags, - ) { - return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_getPackagesHoldingPermissions1, - jni.JniCallType.objectType, - [strings.reference, packageInfoFlags.reference]).object); - } - - static final _id_checkPermission = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"checkPermission", - r"(Ljava/lang/String;Ljava/lang/String;)I"); - - /// from: public abstract int checkPermission(java.lang.String string, java.lang.String string1) - int checkPermission( - jni.JString string, - jni.JString string1, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_checkPermission, - jni.JniCallType.intType, [string.reference, string1.reference]).integer; - } - - static final _id_isPermissionRevokedByPolicy = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"isPermissionRevokedByPolicy", - r"(Ljava/lang/String;Ljava/lang/String;)Z"); - - /// from: public abstract boolean isPermissionRevokedByPolicy(java.lang.String string, java.lang.String string1) - bool isPermissionRevokedByPolicy( - jni.JString string, - jni.JString string1, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_isPermissionRevokedByPolicy, - jni.JniCallType.booleanType, - [string.reference, string1.reference]).boolean; - } - - static final _id_addPermission = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"addPermission", - r"(Landroid/content/pm/PermissionInfo;)Z"); - - /// from: public abstract boolean addPermission(android.content.pm.PermissionInfo permissionInfo) - bool addPermission( - jni.JObject permissionInfo, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_addPermission, - jni.JniCallType.booleanType, [permissionInfo.reference]).boolean; - } - - static final _id_addPermissionAsync = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"addPermissionAsync", - r"(Landroid/content/pm/PermissionInfo;)Z"); - - /// from: public abstract boolean addPermissionAsync(android.content.pm.PermissionInfo permissionInfo) - bool addPermissionAsync( - jni.JObject permissionInfo, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_addPermissionAsync, - jni.JniCallType.booleanType, - [permissionInfo.reference]).boolean; - } - - static final _id_removePermission = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"removePermission", r"(Ljava/lang/String;)V"); - - /// from: public abstract void removePermission(java.lang.String string) - void removePermission( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_removePermission, - jni.JniCallType.voidType, [string.reference]).check(); - } - - static final _id_getWhitelistedRestrictedPermissions = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getWhitelistedRestrictedPermissions", - r"(Ljava/lang/String;I)Ljava/util/Set;"); - - /// from: public java.util.Set getWhitelistedRestrictedPermissions(java.lang.String string, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JSet getWhitelistedRestrictedPermissions( - jni.JString string, - int i, - ) { - return const jni.JSetType(jni.JStringType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_getWhitelistedRestrictedPermissions, - jni.JniCallType.objectType, - [string.reference, jni.JValueInt(i)]).object); - } - - static final _id_addWhitelistedRestrictedPermission = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"addWhitelistedRestrictedPermission", - r"(Ljava/lang/String;Ljava/lang/String;I)Z"); - - /// from: public boolean addWhitelistedRestrictedPermission(java.lang.String string, java.lang.String string1, int i) - bool addWhitelistedRestrictedPermission( - jni.JString string, - jni.JString string1, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_addWhitelistedRestrictedPermission, - jni.JniCallType.booleanType, - [string.reference, string1.reference, jni.JValueInt(i)]).boolean; - } - - static final _id_removeWhitelistedRestrictedPermission = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"removeWhitelistedRestrictedPermission", - r"(Ljava/lang/String;Ljava/lang/String;I)Z"); - - /// from: public boolean removeWhitelistedRestrictedPermission(java.lang.String string, java.lang.String string1, int i) - bool removeWhitelistedRestrictedPermission( - jni.JString string, - jni.JString string1, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_removeWhitelistedRestrictedPermission, - jni.JniCallType.booleanType, - [string.reference, string1.reference, jni.JValueInt(i)]).boolean; - } - - static final _id_setAutoRevokeWhitelisted = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"setAutoRevokeWhitelisted", r"(Ljava/lang/String;Z)Z"); - - /// from: public boolean setAutoRevokeWhitelisted(java.lang.String string, boolean z) - bool setAutoRevokeWhitelisted( - jni.JString string, - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setAutoRevokeWhitelisted, - jni.JniCallType.booleanType, - [string.reference, z ? 1 : 0]).boolean; - } - - static final _id_isAutoRevokeWhitelisted = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"isAutoRevokeWhitelisted", r"(Ljava/lang/String;)Z"); - - /// from: public boolean isAutoRevokeWhitelisted(java.lang.String string) - bool isAutoRevokeWhitelisted( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_isAutoRevokeWhitelisted, - jni.JniCallType.booleanType, - [string.reference]).boolean; - } - - static final _id_getBackgroundPermissionOptionLabel = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getBackgroundPermissionOptionLabel", - r"()Ljava/lang/CharSequence;"); - - /// from: public java.lang.CharSequence getBackgroundPermissionOptionLabel() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getBackgroundPermissionOptionLabel() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getBackgroundPermissionOptionLabel, - jni.JniCallType.objectType, []).object); - } - - static final _id_checkSignatures = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"checkSignatures", - r"(Ljava/lang/String;Ljava/lang/String;)I"); - - /// from: public abstract int checkSignatures(java.lang.String string, java.lang.String string1) - int checkSignatures( - jni.JString string, - jni.JString string1, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_checkSignatures, - jni.JniCallType.intType, [string.reference, string1.reference]).integer; - } - - static final _id_checkSignatures1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"checkSignatures", r"(II)I"); - - /// from: public abstract int checkSignatures(int i, int i1) - int checkSignatures1( - int i, - int i1, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_checkSignatures1, - jni.JniCallType.intType, [jni.JValueInt(i), jni.JValueInt(i1)]).integer; - } - - static final _id_getPackagesForUid = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getPackagesForUid", r"(I)[Ljava/lang/String;"); - - /// from: public abstract java.lang.String[] getPackagesForUid(int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getPackagesForUid( - int i, - ) { - return const jni.JArrayType(jni.JStringType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getPackagesForUid, - jni.JniCallType.objectType, [jni.JValueInt(i)]).object); - } - - static final _id_getNameForUid = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getNameForUid", r"(I)Ljava/lang/String;"); - - /// from: public abstract java.lang.String getNameForUid(int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JString getNameForUid( - int i, - ) { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getNameForUid, - jni.JniCallType.objectType, - [jni.JValueInt(i)]).object); - } - - static final _id_getInstalledApplications = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getInstalledApplications", r"(I)Ljava/util/List;"); - - /// from: public abstract java.util.List getInstalledApplications(int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JList getInstalledApplications( - int i, - ) { - return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getInstalledApplications, - jni.JniCallType.objectType, [jni.JValueInt(i)]).object); - } - - static final _id_getInstalledApplications1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getInstalledApplications", - r"(Landroid/content/pm/PackageManager$ApplicationInfoFlags;)Ljava/util/List;"); - - /// from: public java.util.List getInstalledApplications(android.content.pm.PackageManager$ApplicationInfoFlags applicationInfoFlags) - /// The returned object must be released after use, by calling the [release] method. - jni.JList getInstalledApplications1( - PackageManager_ApplicationInfoFlags applicationInfoFlags, - ) { - return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_getInstalledApplications1, - jni.JniCallType.objectType, - [applicationInfoFlags.reference]).object); - } - - static final _id_isInstantApp = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"isInstantApp", r"()Z"); - - /// from: public abstract boolean isInstantApp() - bool isInstantApp() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_isInstantApp, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_isInstantApp1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"isInstantApp", r"(Ljava/lang/String;)Z"); - - /// from: public abstract boolean isInstantApp(java.lang.String string) - bool isInstantApp1( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_isInstantApp1, - jni.JniCallType.booleanType, [string.reference]).boolean; - } - - static final _id_getInstantAppCookieMaxBytes = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getInstantAppCookieMaxBytes", r"()I"); - - /// from: public abstract int getInstantAppCookieMaxBytes() - int getInstantAppCookieMaxBytes() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_getInstantAppCookieMaxBytes, jni.JniCallType.intType, []).integer; - } - - static final _id_getInstantAppCookie = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getInstantAppCookie", r"()[B"); - - /// from: public abstract byte[] getInstantAppCookie() - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getInstantAppCookie() { - return const jni.JArrayType(jni.jbyteType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getInstantAppCookie, - jni.JniCallType.objectType, []).object); - } - - static final _id_clearInstantAppCookie = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"clearInstantAppCookie", r"()V"); - - /// from: public abstract void clearInstantAppCookie() - void clearInstantAppCookie() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_clearInstantAppCookie, jni.JniCallType.voidType, []).check(); - } - - static final _id_updateInstantAppCookie = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"updateInstantAppCookie", r"([B)V"); - - /// from: public abstract void updateInstantAppCookie(byte[] bs) - void updateInstantAppCookie( - jni.JArray bs, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_updateInstantAppCookie, - jni.JniCallType.voidType, - [bs.reference]).check(); - } - - static final _id_getSystemSharedLibraryNames = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getSystemSharedLibraryNames", - r"()[Ljava/lang/String;"); - - /// from: public abstract java.lang.String[] getSystemSharedLibraryNames() - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getSystemSharedLibraryNames() { - return const jni.JArrayType(jni.JStringType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getSystemSharedLibraryNames, - jni.JniCallType.objectType, []).object); - } - - static final _id_getSharedLibraries = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getSharedLibraries", r"(I)Ljava/util/List;"); - - /// from: public abstract java.util.List getSharedLibraries(int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JList getSharedLibraries( - int i, - ) { - return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getSharedLibraries, - jni.JniCallType.objectType, [jni.JValueInt(i)]).object); - } - - static final _id_getSharedLibraries1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getSharedLibraries", - r"(Landroid/content/pm/PackageManager$PackageInfoFlags;)Ljava/util/List;"); - - /// from: public java.util.List getSharedLibraries(android.content.pm.PackageManager$PackageInfoFlags packageInfoFlags) - /// The returned object must be released after use, by calling the [release] method. - jni.JList getSharedLibraries1( - PackageManager_PackageInfoFlags packageInfoFlags, - ) { - return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getSharedLibraries1, - jni.JniCallType.objectType, [packageInfoFlags.reference]).object); - } - - static final _id_getChangedPackages = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getChangedPackages", - r"(I)Landroid/content/pm/ChangedPackages;"); - - /// from: public abstract android.content.pm.ChangedPackages getChangedPackages(int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getChangedPackages( - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getChangedPackages, - jni.JniCallType.objectType, - [jni.JValueInt(i)]).object); - } - - static final _id_getSystemAvailableFeatures = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getSystemAvailableFeatures", - r"()[Landroid/content/pm/FeatureInfo;"); - - /// from: public abstract android.content.pm.FeatureInfo[] getSystemAvailableFeatures() - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getSystemAvailableFeatures() { - return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getSystemAvailableFeatures, - jni.JniCallType.objectType, []).object); - } - - static final _id_hasSystemFeature = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"hasSystemFeature", r"(Ljava/lang/String;)Z"); - - /// from: public abstract boolean hasSystemFeature(java.lang.String string) - bool hasSystemFeature( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_hasSystemFeature, - jni.JniCallType.booleanType, [string.reference]).boolean; - } - - static final _id_hasSystemFeature1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"hasSystemFeature", r"(Ljava/lang/String;I)Z"); - - /// from: public abstract boolean hasSystemFeature(java.lang.String string, int i) - bool hasSystemFeature1( - jni.JString string, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_hasSystemFeature1, - jni.JniCallType.booleanType, - [string.reference, jni.JValueInt(i)]).boolean; - } - - static final _id_resolveActivity = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"resolveActivity", - r"(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;"); - - /// from: public abstract android.content.pm.ResolveInfo resolveActivity(android.content.Intent intent, int i) - /// The returned object must be released after use, by calling the [release] method. - ResolveInfo resolveActivity( - Intent intent, - int i, - ) { - return const $ResolveInfoType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_resolveActivity, - jni.JniCallType.objectType, - [intent.reference, jni.JValueInt(i)]).object); - } - - static final _id_resolveActivity1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"resolveActivity", - r"(Landroid/content/Intent;Landroid/content/pm/PackageManager$ResolveInfoFlags;)Landroid/content/pm/ResolveInfo;"); - - /// from: public android.content.pm.ResolveInfo resolveActivity(android.content.Intent intent, android.content.pm.PackageManager$ResolveInfoFlags resolveInfoFlags) - /// The returned object must be released after use, by calling the [release] method. - ResolveInfo resolveActivity1( - Intent intent, - PackageManager_ResolveInfoFlags resolveInfoFlags, - ) { - return const $ResolveInfoType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_resolveActivity1, - jni.JniCallType.objectType, - [intent.reference, resolveInfoFlags.reference]).object); - } - - static final _id_queryIntentActivities = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"queryIntentActivities", - r"(Landroid/content/Intent;I)Ljava/util/List;"); - - /// from: public abstract java.util.List queryIntentActivities(android.content.Intent intent, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JList queryIntentActivities( - Intent intent, - int i, - ) { - return const jni.JListType($ResolveInfoType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_queryIntentActivities, - jni.JniCallType.objectType, - [intent.reference, jni.JValueInt(i)]).object); - } - - static final _id_queryIntentActivities1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"queryIntentActivities", - r"(Landroid/content/Intent;Landroid/content/pm/PackageManager$ResolveInfoFlags;)Ljava/util/List;"); - - /// from: public java.util.List queryIntentActivities(android.content.Intent intent, android.content.pm.PackageManager$ResolveInfoFlags resolveInfoFlags) - /// The returned object must be released after use, by calling the [release] method. - jni.JList queryIntentActivities1( - Intent intent, - PackageManager_ResolveInfoFlags resolveInfoFlags, - ) { - return const jni.JListType($ResolveInfoType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_queryIntentActivities1, - jni.JniCallType.objectType, - [intent.reference, resolveInfoFlags.reference]).object); - } - - static final _id_queryIntentActivityOptions = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"queryIntentActivityOptions", - r"(Landroid/content/ComponentName;[Landroid/content/Intent;Landroid/content/Intent;I)Ljava/util/List;"); - - /// from: public abstract java.util.List queryIntentActivityOptions(android.content.ComponentName componentName, java.lang.Object[] intents, android.content.Intent intent, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JList queryIntentActivityOptions( - jni.JObject componentName, - jni.JArray intents, - Intent intent, - int i, - ) { - return const jni.JListType($ResolveInfoType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_queryIntentActivityOptions, - jni.JniCallType.objectType, [ - componentName.reference, - intents.reference, - intent.reference, - jni.JValueInt(i) - ]).object); - } - - static final _id_queryIntentActivityOptions1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"queryIntentActivityOptions", - r"(Landroid/content/ComponentName;Ljava/util/List;Landroid/content/Intent;Landroid/content/pm/PackageManager$ResolveInfoFlags;)Ljava/util/List;"); - - /// from: public java.util.List queryIntentActivityOptions(android.content.ComponentName componentName, java.util.List list, android.content.Intent intent, android.content.pm.PackageManager$ResolveInfoFlags resolveInfoFlags) - /// The returned object must be released after use, by calling the [release] method. - jni.JList queryIntentActivityOptions1( - jni.JObject componentName, - jni.JList list, - Intent intent, - PackageManager_ResolveInfoFlags resolveInfoFlags, - ) { - return const jni.JListType($ResolveInfoType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_queryIntentActivityOptions1, - jni.JniCallType.objectType, [ - componentName.reference, - list.reference, - intent.reference, - resolveInfoFlags.reference - ]).object); - } - - static final _id_queryBroadcastReceivers = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"queryBroadcastReceivers", - r"(Landroid/content/Intent;I)Ljava/util/List;"); - - /// from: public abstract java.util.List queryBroadcastReceivers(android.content.Intent intent, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JList queryBroadcastReceivers( - Intent intent, - int i, - ) { - return const jni.JListType($ResolveInfoType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_queryBroadcastReceivers, - jni.JniCallType.objectType, - [intent.reference, jni.JValueInt(i)]).object); - } - - static final _id_queryBroadcastReceivers1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"queryBroadcastReceivers", - r"(Landroid/content/Intent;Landroid/content/pm/PackageManager$ResolveInfoFlags;)Ljava/util/List;"); - - /// from: public java.util.List queryBroadcastReceivers(android.content.Intent intent, android.content.pm.PackageManager$ResolveInfoFlags resolveInfoFlags) - /// The returned object must be released after use, by calling the [release] method. - jni.JList queryBroadcastReceivers1( - Intent intent, - PackageManager_ResolveInfoFlags resolveInfoFlags, - ) { - return const jni.JListType($ResolveInfoType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_queryBroadcastReceivers1, - jni.JniCallType.objectType, - [intent.reference, resolveInfoFlags.reference]).object); - } - - static final _id_resolveService = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"resolveService", - r"(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;"); - - /// from: public abstract android.content.pm.ResolveInfo resolveService(android.content.Intent intent, int i) - /// The returned object must be released after use, by calling the [release] method. - ResolveInfo resolveService( - Intent intent, - int i, - ) { - return const $ResolveInfoType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_resolveService, - jni.JniCallType.objectType, - [intent.reference, jni.JValueInt(i)]).object); - } - - static final _id_resolveService1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"resolveService", - r"(Landroid/content/Intent;Landroid/content/pm/PackageManager$ResolveInfoFlags;)Landroid/content/pm/ResolveInfo;"); - - /// from: public android.content.pm.ResolveInfo resolveService(android.content.Intent intent, android.content.pm.PackageManager$ResolveInfoFlags resolveInfoFlags) - /// The returned object must be released after use, by calling the [release] method. - ResolveInfo resolveService1( - Intent intent, - PackageManager_ResolveInfoFlags resolveInfoFlags, - ) { - return const $ResolveInfoType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_resolveService1, - jni.JniCallType.objectType, - [intent.reference, resolveInfoFlags.reference]).object); - } - - static final _id_queryIntentServices = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"queryIntentServices", - r"(Landroid/content/Intent;I)Ljava/util/List;"); - - /// from: public abstract java.util.List queryIntentServices(android.content.Intent intent, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JList queryIntentServices( - Intent intent, - int i, - ) { - return const jni.JListType($ResolveInfoType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_queryIntentServices, - jni.JniCallType.objectType, - [intent.reference, jni.JValueInt(i)]).object); - } - - static final _id_queryIntentServices1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"queryIntentServices", - r"(Landroid/content/Intent;Landroid/content/pm/PackageManager$ResolveInfoFlags;)Ljava/util/List;"); - - /// from: public java.util.List queryIntentServices(android.content.Intent intent, android.content.pm.PackageManager$ResolveInfoFlags resolveInfoFlags) - /// The returned object must be released after use, by calling the [release] method. - jni.JList queryIntentServices1( - Intent intent, - PackageManager_ResolveInfoFlags resolveInfoFlags, - ) { - return const jni.JListType($ResolveInfoType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_queryIntentServices1, - jni.JniCallType.objectType, - [intent.reference, resolveInfoFlags.reference]).object); - } - - static final _id_queryIntentContentProviders = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"queryIntentContentProviders", - r"(Landroid/content/Intent;I)Ljava/util/List;"); - - /// from: public abstract java.util.List queryIntentContentProviders(android.content.Intent intent, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JList queryIntentContentProviders( - Intent intent, - int i, - ) { - return const jni.JListType($ResolveInfoType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_queryIntentContentProviders, - jni.JniCallType.objectType, - [intent.reference, jni.JValueInt(i)]).object); - } - - static final _id_queryIntentContentProviders1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"queryIntentContentProviders", - r"(Landroid/content/Intent;Landroid/content/pm/PackageManager$ResolveInfoFlags;)Ljava/util/List;"); - - /// from: public java.util.List queryIntentContentProviders(android.content.Intent intent, android.content.pm.PackageManager$ResolveInfoFlags resolveInfoFlags) - /// The returned object must be released after use, by calling the [release] method. - jni.JList queryIntentContentProviders1( - Intent intent, - PackageManager_ResolveInfoFlags resolveInfoFlags, - ) { - return const jni.JListType($ResolveInfoType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_queryIntentContentProviders1, - jni.JniCallType.objectType, - [intent.reference, resolveInfoFlags.reference]).object); - } - - static final _id_resolveContentProvider = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"resolveContentProvider", - r"(Ljava/lang/String;I)Landroid/content/pm/ProviderInfo;"); - - /// from: public abstract android.content.pm.ProviderInfo resolveContentProvider(java.lang.String string, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject resolveContentProvider( - jni.JString string, - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_resolveContentProvider, - jni.JniCallType.objectType, - [string.reference, jni.JValueInt(i)]).object); - } - - static final _id_resolveContentProvider1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"resolveContentProvider", - r"(Ljava/lang/String;Landroid/content/pm/PackageManager$ComponentInfoFlags;)Landroid/content/pm/ProviderInfo;"); - - /// from: public android.content.pm.ProviderInfo resolveContentProvider(java.lang.String string, android.content.pm.PackageManager$ComponentInfoFlags componentInfoFlags) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject resolveContentProvider1( - jni.JString string, - PackageManager_ComponentInfoFlags componentInfoFlags, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_resolveContentProvider1, - jni.JniCallType.objectType, - [string.reference, componentInfoFlags.reference]).object); - } - - static final _id_queryContentProviders = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"queryContentProviders", - r"(Ljava/lang/String;II)Ljava/util/List;"); - - /// from: public abstract java.util.List queryContentProviders(java.lang.String string, int i, int i1) - /// The returned object must be released after use, by calling the [release] method. - jni.JList queryContentProviders( - jni.JString string, - int i, - int i1, - ) { - return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_queryContentProviders, - jni.JniCallType.objectType, - [string.reference, jni.JValueInt(i), jni.JValueInt(i1)]).object); - } - - static final _id_queryContentProviders1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"queryContentProviders", - r"(Ljava/lang/String;ILandroid/content/pm/PackageManager$ComponentInfoFlags;)Ljava/util/List;"); - - /// from: public java.util.List queryContentProviders(java.lang.String string, int i, android.content.pm.PackageManager$ComponentInfoFlags componentInfoFlags) - /// The returned object must be released after use, by calling the [release] method. - jni.JList queryContentProviders1( - jni.JString string, - int i, - PackageManager_ComponentInfoFlags componentInfoFlags, - ) { - return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, _id_queryContentProviders1, jni.JniCallType.objectType, [ - string.reference, - jni.JValueInt(i), - componentInfoFlags.reference - ]).object); - } - - static final _id_getInstrumentationInfo = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getInstrumentationInfo", - r"(Landroid/content/ComponentName;I)Landroid/content/pm/InstrumentationInfo;"); - - /// from: public abstract android.content.pm.InstrumentationInfo getInstrumentationInfo(android.content.ComponentName componentName, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getInstrumentationInfo( - jni.JObject componentName, - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getInstrumentationInfo, - jni.JniCallType.objectType, - [componentName.reference, jni.JValueInt(i)]).object); - } - - static final _id_queryInstrumentation = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"queryInstrumentation", - r"(Ljava/lang/String;I)Ljava/util/List;"); - - /// from: public abstract java.util.List queryInstrumentation(java.lang.String string, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JList queryInstrumentation( - jni.JString string, - int i, - ) { - return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_queryInstrumentation, - jni.JniCallType.objectType, - [string.reference, jni.JValueInt(i)]).object); - } - - static final _id_getDrawable = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getDrawable", - r"(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;"); - - /// from: public abstract android.graphics.drawable.Drawable getDrawable(java.lang.String string, int i, android.content.pm.ApplicationInfo applicationInfo) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getDrawable( - jni.JString string, - int i, - jni.JObject applicationInfo, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getDrawable, jni.JniCallType.objectType, [ - string.reference, - jni.JValueInt(i), - applicationInfo.reference - ]).object); - } - - static final _id_getActivityIcon = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getActivityIcon", - r"(Landroid/content/ComponentName;)Landroid/graphics/drawable/Drawable;"); - - /// from: public abstract android.graphics.drawable.Drawable getActivityIcon(android.content.ComponentName componentName) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getActivityIcon( - jni.JObject componentName, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getActivityIcon, - jni.JniCallType.objectType, - [componentName.reference]).object); - } - - static final _id_getActivityIcon1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getActivityIcon", - r"(Landroid/content/Intent;)Landroid/graphics/drawable/Drawable;"); - - /// from: public abstract android.graphics.drawable.Drawable getActivityIcon(android.content.Intent intent) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getActivityIcon1( - Intent intent, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getActivityIcon1, - jni.JniCallType.objectType, - [intent.reference]).object); - } - - static final _id_getActivityBanner = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getActivityBanner", - r"(Landroid/content/ComponentName;)Landroid/graphics/drawable/Drawable;"); - - /// from: public abstract android.graphics.drawable.Drawable getActivityBanner(android.content.ComponentName componentName) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getActivityBanner( - jni.JObject componentName, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getActivityBanner, - jni.JniCallType.objectType, - [componentName.reference]).object); - } - - static final _id_getActivityBanner1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getActivityBanner", - r"(Landroid/content/Intent;)Landroid/graphics/drawable/Drawable;"); - - /// from: public abstract android.graphics.drawable.Drawable getActivityBanner(android.content.Intent intent) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getActivityBanner1( - Intent intent, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getActivityBanner1, - jni.JniCallType.objectType, - [intent.reference]).object); - } - - static final _id_getDefaultActivityIcon = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getDefaultActivityIcon", - r"()Landroid/graphics/drawable/Drawable;"); - - /// from: public abstract android.graphics.drawable.Drawable getDefaultActivityIcon() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getDefaultActivityIcon() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getDefaultActivityIcon, - jni.JniCallType.objectType, []).object); - } - - static final _id_getApplicationIcon = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getApplicationIcon", - r"(Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;"); - - /// from: public abstract android.graphics.drawable.Drawable getApplicationIcon(android.content.pm.ApplicationInfo applicationInfo) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getApplicationIcon( - jni.JObject applicationInfo, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getApplicationIcon, - jni.JniCallType.objectType, - [applicationInfo.reference]).object); - } - - static final _id_getApplicationIcon1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getApplicationIcon", - r"(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;"); - - /// from: public abstract android.graphics.drawable.Drawable getApplicationIcon(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getApplicationIcon1( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getApplicationIcon1, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getApplicationBanner = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getApplicationBanner", - r"(Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;"); - - /// from: public abstract android.graphics.drawable.Drawable getApplicationBanner(android.content.pm.ApplicationInfo applicationInfo) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getApplicationBanner( - jni.JObject applicationInfo, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getApplicationBanner, - jni.JniCallType.objectType, - [applicationInfo.reference]).object); - } - - static final _id_getApplicationBanner1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getApplicationBanner", - r"(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;"); - - /// from: public abstract android.graphics.drawable.Drawable getApplicationBanner(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getApplicationBanner1( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getApplicationBanner1, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getActivityLogo = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getActivityLogo", - r"(Landroid/content/ComponentName;)Landroid/graphics/drawable/Drawable;"); - - /// from: public abstract android.graphics.drawable.Drawable getActivityLogo(android.content.ComponentName componentName) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getActivityLogo( - jni.JObject componentName, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getActivityLogo, - jni.JniCallType.objectType, - [componentName.reference]).object); - } - - static final _id_getActivityLogo1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getActivityLogo", - r"(Landroid/content/Intent;)Landroid/graphics/drawable/Drawable;"); - - /// from: public abstract android.graphics.drawable.Drawable getActivityLogo(android.content.Intent intent) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getActivityLogo1( - Intent intent, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getActivityLogo1, - jni.JniCallType.objectType, - [intent.reference]).object); - } - - static final _id_getApplicationLogo = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getApplicationLogo", - r"(Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;"); - - /// from: public abstract android.graphics.drawable.Drawable getApplicationLogo(android.content.pm.ApplicationInfo applicationInfo) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getApplicationLogo( - jni.JObject applicationInfo, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getApplicationLogo, - jni.JniCallType.objectType, - [applicationInfo.reference]).object); - } - - static final _id_getApplicationLogo1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getApplicationLogo", - r"(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;"); - - /// from: public abstract android.graphics.drawable.Drawable getApplicationLogo(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getApplicationLogo1( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getApplicationLogo1, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getUserBadgedIcon = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getUserBadgedIcon", - r"(Landroid/graphics/drawable/Drawable;Landroid/os/UserHandle;)Landroid/graphics/drawable/Drawable;"); - - /// from: public abstract android.graphics.drawable.Drawable getUserBadgedIcon(android.graphics.drawable.Drawable drawable, android.os.UserHandle userHandle) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getUserBadgedIcon( - jni.JObject drawable, - jni.JObject userHandle, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getUserBadgedIcon, - jni.JniCallType.objectType, - [drawable.reference, userHandle.reference]).object); - } - - static final _id_getUserBadgedDrawableForDensity = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getUserBadgedDrawableForDensity", - r"(Landroid/graphics/drawable/Drawable;Landroid/os/UserHandle;Landroid/graphics/Rect;I)Landroid/graphics/drawable/Drawable;"); - - /// from: public abstract android.graphics.drawable.Drawable getUserBadgedDrawableForDensity(android.graphics.drawable.Drawable drawable, android.os.UserHandle userHandle, android.graphics.Rect rect, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getUserBadgedDrawableForDensity( - jni.JObject drawable, - jni.JObject userHandle, - jni.JObject rect, - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getUserBadgedDrawableForDensity, - jni.JniCallType.objectType, [ - drawable.reference, - userHandle.reference, - rect.reference, - jni.JValueInt(i) - ]).object); - } - - static final _id_getUserBadgedLabel = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getUserBadgedLabel", - r"(Ljava/lang/CharSequence;Landroid/os/UserHandle;)Ljava/lang/CharSequence;"); - - /// from: public abstract java.lang.CharSequence getUserBadgedLabel(java.lang.CharSequence charSequence, android.os.UserHandle userHandle) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getUserBadgedLabel( - jni.JObject charSequence, - jni.JObject userHandle, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getUserBadgedLabel, - jni.JniCallType.objectType, - [charSequence.reference, userHandle.reference]).object); - } - - static final _id_getText = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getText", - r"(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence;"); - - /// from: public abstract java.lang.CharSequence getText(java.lang.String string, int i, android.content.pm.ApplicationInfo applicationInfo) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getText( - jni.JString string, - int i, - jni.JObject applicationInfo, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getText, jni.JniCallType.objectType, [ - string.reference, - jni.JValueInt(i), - applicationInfo.reference - ]).object); - } - - static final _id_getXml = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getXml", - r"(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Landroid/content/res/XmlResourceParser;"); - - /// from: public abstract android.content.res.XmlResourceParser getXml(java.lang.String string, int i, android.content.pm.ApplicationInfo applicationInfo) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getXml( - jni.JString string, - int i, - jni.JObject applicationInfo, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getXml, jni.JniCallType.objectType, [ - string.reference, - jni.JValueInt(i), - applicationInfo.reference - ]).object); - } - - static final _id_getApplicationLabel = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getApplicationLabel", - r"(Landroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence;"); - - /// from: public abstract java.lang.CharSequence getApplicationLabel(android.content.pm.ApplicationInfo applicationInfo) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getApplicationLabel( - jni.JObject applicationInfo, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getApplicationLabel, - jni.JniCallType.objectType, - [applicationInfo.reference]).object); - } - - static final _id_getResourcesForActivity = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getResourcesForActivity", - r"(Landroid/content/ComponentName;)Landroid/content/res/Resources;"); - - /// from: public abstract android.content.res.Resources getResourcesForActivity(android.content.ComponentName componentName) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getResourcesForActivity( - jni.JObject componentName, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getResourcesForActivity, - jni.JniCallType.objectType, - [componentName.reference]).object); - } - - static final _id_getResourcesForApplication = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getResourcesForApplication", - r"(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/Resources;"); - - /// from: public abstract android.content.res.Resources getResourcesForApplication(android.content.pm.ApplicationInfo applicationInfo) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getResourcesForApplication( - jni.JObject applicationInfo, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getResourcesForApplication, - jni.JniCallType.objectType, - [applicationInfo.reference]).object); - } - - static final _id_getResourcesForApplication1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getResourcesForApplication", - r"(Landroid/content/pm/ApplicationInfo;Landroid/content/res/Configuration;)Landroid/content/res/Resources;"); - - /// from: public android.content.res.Resources getResourcesForApplication(android.content.pm.ApplicationInfo applicationInfo, android.content.res.Configuration configuration) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getResourcesForApplication1( - jni.JObject applicationInfo, - jni.JObject configuration, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getResourcesForApplication1, - jni.JniCallType.objectType, - [applicationInfo.reference, configuration.reference]).object); - } - - static final _id_getResourcesForApplication2 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getResourcesForApplication", - r"(Ljava/lang/String;)Landroid/content/res/Resources;"); - - /// from: public abstract android.content.res.Resources getResourcesForApplication(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getResourcesForApplication2( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getResourcesForApplication2, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getPackageArchiveInfo = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getPackageArchiveInfo", - r"(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;"); - - /// from: public android.content.pm.PackageInfo getPackageArchiveInfo(java.lang.String string, int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getPackageArchiveInfo( - jni.JString string, - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getPackageArchiveInfo, - jni.JniCallType.objectType, - [string.reference, jni.JValueInt(i)]).object); - } - - static final _id_getPackageArchiveInfo1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getPackageArchiveInfo", - r"(Ljava/lang/String;Landroid/content/pm/PackageManager$PackageInfoFlags;)Landroid/content/pm/PackageInfo;"); - - /// from: public android.content.pm.PackageInfo getPackageArchiveInfo(java.lang.String string, android.content.pm.PackageManager$PackageInfoFlags packageInfoFlags) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getPackageArchiveInfo1( - jni.JString string, - PackageManager_PackageInfoFlags packageInfoFlags, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getPackageArchiveInfo1, - jni.JniCallType.objectType, - [string.reference, packageInfoFlags.reference]).object); - } - - static final _id_verifyPendingInstall = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"verifyPendingInstall", r"(II)V"); - - /// from: public abstract void verifyPendingInstall(int i, int i1) - void verifyPendingInstall( - int i, - int i1, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_verifyPendingInstall, - jni.JniCallType.voidType, - [jni.JValueInt(i), jni.JValueInt(i1)]).check(); - } - - static final _id_extendVerificationTimeout = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"extendVerificationTimeout", r"(IIJ)V"); - - /// from: public abstract void extendVerificationTimeout(int i, int i1, long j) - void extendVerificationTimeout( - int i, - int i1, - int j, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_extendVerificationTimeout, - jni.JniCallType.voidType, - [jni.JValueInt(i), jni.JValueInt(i1), j]).check(); - } - - static final _id_setInstallerPackageName = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setInstallerPackageName", - r"(Ljava/lang/String;Ljava/lang/String;)V"); - - /// from: public abstract void setInstallerPackageName(java.lang.String string, java.lang.String string1) - void setInstallerPackageName( - jni.JString string, - jni.JString string1, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setInstallerPackageName, - jni.JniCallType.voidType, - [string.reference, string1.reference]).check(); - } - - static final _id_getInstallerPackageName = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getInstallerPackageName", - r"(Ljava/lang/String;)Ljava/lang/String;"); - - /// from: public abstract java.lang.String getInstallerPackageName(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JString getInstallerPackageName( - jni.JString string, - ) { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getInstallerPackageName, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getInstallSourceInfo = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getInstallSourceInfo", - r"(Ljava/lang/String;)Landroid/content/pm/InstallSourceInfo;"); - - /// from: public android.content.pm.InstallSourceInfo getInstallSourceInfo(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getInstallSourceInfo( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getInstallSourceInfo, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_addPackageToPreferred = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"addPackageToPreferred", r"(Ljava/lang/String;)V"); - - /// from: public abstract void addPackageToPreferred(java.lang.String string) - void addPackageToPreferred( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_addPackageToPreferred, - jni.JniCallType.voidType, - [string.reference]).check(); - } - - static final _id_removePackageFromPreferred = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"removePackageFromPreferred", - r"(Ljava/lang/String;)V"); - - /// from: public abstract void removePackageFromPreferred(java.lang.String string) - void removePackageFromPreferred( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_removePackageFromPreferred, - jni.JniCallType.voidType, - [string.reference]).check(); - } - - static final _id_getPreferredPackages = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getPreferredPackages", r"(I)Ljava/util/List;"); - - /// from: public abstract java.util.List getPreferredPackages(int i) - /// The returned object must be released after use, by calling the [release] method. - jni.JList getPreferredPackages( - int i, - ) { - return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getPreferredPackages, - jni.JniCallType.objectType, [jni.JValueInt(i)]).object); - } - - static final _id_addPreferredActivity = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"addPreferredActivity", - r"(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;)V"); - - /// from: public abstract void addPreferredActivity(android.content.IntentFilter intentFilter, int i, android.content.ComponentName[] componentNames, android.content.ComponentName componentName) - void addPreferredActivity( - jni.JObject intentFilter, - int i, - jni.JArray componentNames, - jni.JObject componentName, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_addPreferredActivity, jni.JniCallType.voidType, [ - intentFilter.reference, - jni.JValueInt(i), - componentNames.reference, - componentName.reference - ]).check(); - } - - static final _id_clearPackagePreferredActivities = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"clearPackagePreferredActivities", - r"(Ljava/lang/String;)V"); - - /// from: public abstract void clearPackagePreferredActivities(java.lang.String string) - void clearPackagePreferredActivities( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_clearPackagePreferredActivities, - jni.JniCallType.voidType, - [string.reference]).check(); - } - - static final _id_getPreferredActivities = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getPreferredActivities", - r"(Ljava/util/List;Ljava/util/List;Ljava/lang/String;)I"); - - /// from: public abstract int getPreferredActivities(java.util.List list, java.util.List list1, java.lang.String string) - int getPreferredActivities( - jni.JList list, - jni.JList list1, - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getPreferredActivities, - jni.JniCallType.intType, - [list.reference, list1.reference, string.reference]).integer; - } - - static final _id_setComponentEnabledSetting = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setComponentEnabledSetting", - r"(Landroid/content/ComponentName;II)V"); - - /// from: public abstract void setComponentEnabledSetting(android.content.ComponentName componentName, int i, int i1) - void setComponentEnabledSetting( - jni.JObject componentName, - int i, - int i1, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setComponentEnabledSetting, - jni.JniCallType.voidType, - [componentName.reference, jni.JValueInt(i), jni.JValueInt(i1)]).check(); - } - - static final _id_setComponentEnabledSettings = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setComponentEnabledSettings", - r"(Ljava/util/List;)V"); - - /// from: public void setComponentEnabledSettings(java.util.List list) - void setComponentEnabledSettings( - jni.JList list, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setComponentEnabledSettings, - jni.JniCallType.voidType, - [list.reference]).check(); - } - - static final _id_getComponentEnabledSetting = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getComponentEnabledSetting", - r"(Landroid/content/ComponentName;)I"); - - /// from: public abstract int getComponentEnabledSetting(android.content.ComponentName componentName) - int getComponentEnabledSetting( - jni.JObject componentName, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getComponentEnabledSetting, - jni.JniCallType.intType, - [componentName.reference]).integer; - } - - static final _id_getSyntheticAppDetailsActivityEnabled = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getSyntheticAppDetailsActivityEnabled", - r"(Ljava/lang/String;)Z"); - - /// from: public boolean getSyntheticAppDetailsActivityEnabled(java.lang.String string) - bool getSyntheticAppDetailsActivityEnabled( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getSyntheticAppDetailsActivityEnabled, - jni.JniCallType.booleanType, - [string.reference]).boolean; - } - - static final _id_setApplicationEnabledSetting = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setApplicationEnabledSetting", - r"(Ljava/lang/String;II)V"); - - /// from: public abstract void setApplicationEnabledSetting(java.lang.String string, int i, int i1) - void setApplicationEnabledSetting( - jni.JString string, - int i, - int i1, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setApplicationEnabledSetting, - jni.JniCallType.voidType, - [string.reference, jni.JValueInt(i), jni.JValueInt(i1)]).check(); - } - - static final _id_getApplicationEnabledSetting = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getApplicationEnabledSetting", - r"(Ljava/lang/String;)I"); - - /// from: public abstract int getApplicationEnabledSetting(java.lang.String string) - int getApplicationEnabledSetting( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getApplicationEnabledSetting, - jni.JniCallType.intType, - [string.reference]).integer; - } - - static final _id_isSafeMode = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"isSafeMode", r"()Z"); - - /// from: public abstract boolean isSafeMode() - bool isSafeMode() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_isSafeMode, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_isPackageSuspended = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"isPackageSuspended", r"(Ljava/lang/String;)Z"); - - /// from: public boolean isPackageSuspended(java.lang.String string) - bool isPackageSuspended( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_isPackageSuspended, - jni.JniCallType.booleanType, - [string.reference]).boolean; - } - - static final _id_isPackageSuspended1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"isPackageSuspended", r"()Z"); - - /// from: public boolean isPackageSuspended() - bool isPackageSuspended1() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_isPackageSuspended1, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_getSuspendedPackageAppExtras = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getSuspendedPackageAppExtras", - r"()Landroid/os/Bundle;"); - - /// from: public android.os.Bundle getSuspendedPackageAppExtras() - /// The returned object must be released after use, by calling the [release] method. - Bundle getSuspendedPackageAppExtras() { - return const $BundleType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getSuspendedPackageAppExtras, - jni.JniCallType.objectType, []).object); - } - - static final _id_setApplicationCategoryHint = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setApplicationCategoryHint", - r"(Ljava/lang/String;I)V"); - - /// from: public abstract void setApplicationCategoryHint(java.lang.String string, int i) - void setApplicationCategoryHint( - jni.JString string, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setApplicationCategoryHint, - jni.JniCallType.voidType, - [string.reference, jni.JValueInt(i)]).check(); - } - - static final _id_isDeviceUpgrading = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"isDeviceUpgrading", r"()Z"); - - /// from: public boolean isDeviceUpgrading() - bool isDeviceUpgrading() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_isDeviceUpgrading, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_getPackageInstaller = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getPackageInstaller", - r"()Landroid/content/pm/PackageInstaller;"); - - /// from: public abstract android.content.pm.PackageInstaller getPackageInstaller() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getPackageInstaller() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getPackageInstaller, - jni.JniCallType.objectType, []).object); - } - - static final _id_canRequestPackageInstalls = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"canRequestPackageInstalls", r"()Z"); - - /// from: public abstract boolean canRequestPackageInstalls() - bool canRequestPackageInstalls() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_canRequestPackageInstalls, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_hasSigningCertificate = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"hasSigningCertificate", r"(Ljava/lang/String;[BI)Z"); - - /// from: public boolean hasSigningCertificate(java.lang.String string, byte[] bs, int i) - bool hasSigningCertificate( - jni.JString string, - jni.JArray bs, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_hasSigningCertificate, - jni.JniCallType.booleanType, - [string.reference, bs.reference, jni.JValueInt(i)]).boolean; - } - - static final _id_hasSigningCertificate1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"hasSigningCertificate", r"(I[BI)Z"); - - /// from: public boolean hasSigningCertificate(int i, byte[] bs, int i1) - bool hasSigningCertificate1( - int i, - jni.JArray bs, - int i1, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_hasSigningCertificate1, - jni.JniCallType.booleanType, - [jni.JValueInt(i), bs.reference, jni.JValueInt(i1)]).boolean; - } - - static final _id_requestChecksums = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"requestChecksums", - r"(Ljava/lang/String;ZILjava/util/List;Landroid/content/pm/PackageManager$OnChecksumsReadyListener;)V"); - - /// from: public void requestChecksums(java.lang.String string, boolean z, int i, java.util.List list, android.content.pm.PackageManager$OnChecksumsReadyListener onChecksumsReadyListener) - void requestChecksums( - jni.JString string, - bool z, - int i, - jni.JList list, - PackageManager_OnChecksumsReadyListener onChecksumsReadyListener, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_requestChecksums, jni.JniCallType.voidType, [ - string.reference, - z ? 1 : 0, - jni.JValueInt(i), - list.reference, - onChecksumsReadyListener.reference - ]).check(); - } - - static final _id_isAutoRevokeWhitelisted1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"isAutoRevokeWhitelisted", r"()Z"); - - /// from: public boolean isAutoRevokeWhitelisted() - bool isAutoRevokeWhitelisted1() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_isAutoRevokeWhitelisted1, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_isDefaultApplicationIcon = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"isDefaultApplicationIcon", - r"(Landroid/graphics/drawable/Drawable;)Z"); - - /// from: public boolean isDefaultApplicationIcon(android.graphics.drawable.Drawable drawable) - bool isDefaultApplicationIcon( - jni.JObject drawable, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_isDefaultApplicationIcon, - jni.JniCallType.booleanType, - [drawable.reference]).boolean; - } - - static final _id_setMimeGroup = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setMimeGroup", - r"(Ljava/lang/String;Ljava/util/Set;)V"); - - /// from: public void setMimeGroup(java.lang.String string, java.util.Set set) - void setMimeGroup( - jni.JString string, - jni.JSet set0, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setMimeGroup, - jni.JniCallType.voidType, [string.reference, set0.reference]).check(); - } - - static final _id_getMimeGroup = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getMimeGroup", - r"(Ljava/lang/String;)Ljava/util/Set;"); - - /// from: public java.util.Set getMimeGroup(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JSet getMimeGroup( - jni.JString string, - ) { - return const jni.JSetType(jni.JStringType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getMimeGroup, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getProperty = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getProperty", - r"(Ljava/lang/String;Ljava/lang/String;)Landroid/content/pm/PackageManager$Property;"); - - /// from: public android.content.pm.PackageManager$Property getProperty(java.lang.String string, java.lang.String string1) - /// The returned object must be released after use, by calling the [release] method. - PackageManager_Property getProperty( - jni.JString string, - jni.JString string1, - ) { - return const $PackageManager_PropertyType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_getProperty, - jni.JniCallType.objectType, - [string.reference, string1.reference]).object); - } - - static final _id_getProperty1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getProperty", - r"(Ljava/lang/String;Landroid/content/ComponentName;)Landroid/content/pm/PackageManager$Property;"); - - /// from: public android.content.pm.PackageManager$Property getProperty(java.lang.String string, android.content.ComponentName componentName) - /// The returned object must be released after use, by calling the [release] method. - PackageManager_Property getProperty1( - jni.JString string, - jni.JObject componentName, - ) { - return const $PackageManager_PropertyType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_getProperty1, - jni.JniCallType.objectType, - [string.reference, componentName.reference]).object); - } - - static final _id_queryApplicationProperty = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"queryApplicationProperty", - r"(Ljava/lang/String;)Ljava/util/List;"); - - /// from: public java.util.List queryApplicationProperty(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JList queryApplicationProperty( - jni.JString string, - ) { - return const jni.JListType($PackageManager_PropertyType()).fromRef( - jni.Jni.accessors.callMethodWithArgs( - reference, - _id_queryApplicationProperty, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_queryActivityProperty = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"queryActivityProperty", - r"(Ljava/lang/String;)Ljava/util/List;"); - - /// from: public java.util.List queryActivityProperty(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JList queryActivityProperty( - jni.JString string, - ) { - return const jni.JListType($PackageManager_PropertyType()).fromRef( - jni.Jni.accessors.callMethodWithArgs( - reference, - _id_queryActivityProperty, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_queryProviderProperty = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"queryProviderProperty", - r"(Ljava/lang/String;)Ljava/util/List;"); - - /// from: public java.util.List queryProviderProperty(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JList queryProviderProperty( - jni.JString string, - ) { - return const jni.JListType($PackageManager_PropertyType()).fromRef( - jni.Jni.accessors.callMethodWithArgs( - reference, - _id_queryProviderProperty, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_queryReceiverProperty = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"queryReceiverProperty", - r"(Ljava/lang/String;)Ljava/util/List;"); - - /// from: public java.util.List queryReceiverProperty(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JList queryReceiverProperty( - jni.JString string, - ) { - return const jni.JListType($PackageManager_PropertyType()).fromRef( - jni.Jni.accessors.callMethodWithArgs( - reference, - _id_queryReceiverProperty, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_queryServiceProperty = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"queryServiceProperty", - r"(Ljava/lang/String;)Ljava/util/List;"); - - /// from: public java.util.List queryServiceProperty(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JList queryServiceProperty( - jni.JString string, - ) { - return const jni.JListType($PackageManager_PropertyType()).fromRef( - jni.Jni.accessors.callMethodWithArgs( - reference, - _id_queryServiceProperty, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_canPackageQuery = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"canPackageQuery", - r"(Ljava/lang/String;Ljava/lang/String;)Z"); - - /// from: public boolean canPackageQuery(java.lang.String string, java.lang.String string1) - bool canPackageQuery( - jni.JString string, - jni.JString string1, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_canPackageQuery, - jni.JniCallType.booleanType, - [string.reference, string1.reference]).boolean; - } - - static final _id_canPackageQuery1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"canPackageQuery", - r"(Ljava/lang/String;[Ljava/lang/String;)[Z"); - - /// from: public boolean[] canPackageQuery(java.lang.String string, java.lang.String[] strings) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray canPackageQuery1( - jni.JString string, - jni.JArray strings, - ) { - return const jni.JArrayType(jni.jbooleanType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_canPackageQuery1, - jni.JniCallType.objectType, - [string.reference, strings.reference]).object); - } - - static final _id_relinquishUpdateOwnership = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"relinquishUpdateOwnership", r"(Ljava/lang/String;)V"); - - /// from: public void relinquishUpdateOwnership(java.lang.String string) - void relinquishUpdateOwnership( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_relinquishUpdateOwnership, - jni.JniCallType.voidType, - [string.reference]).check(); - } -} - -final class $PackageManagerType extends jni.JObjType { - const $PackageManagerType(); - - @override - String get signature => r"Landroid/content/pm/PackageManager;"; - - @override - PackageManager fromRef(jni.JObjectPtr ref) => PackageManager.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($PackageManagerType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($PackageManagerType) && - other is $PackageManagerType; - } -} - -/// from: android.content.pm.ResolveInfo$DisplayNameComparator -class ResolveInfo_DisplayNameComparator extends jni.JObject { - @override - late final jni.JObjType $type = type; - - ResolveInfo_DisplayNameComparator.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"android/content/pm/ResolveInfo$DisplayNameComparator"); - - /// The type which includes information such as the signature of this class. - static const type = $ResolveInfo_DisplayNameComparatorType(); - static final _id_new0 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Landroid/content/pm/PackageManager;)V"); - - /// from: public void (android.content.pm.PackageManager packageManager) - /// The returned object must be released after use, by calling the [release] method. - factory ResolveInfo_DisplayNameComparator( - PackageManager packageManager, - ) { - return ResolveInfo_DisplayNameComparator.fromRef(jni.Jni.accessors - .newObjectWithArgs( - _class.reference, _id_new0, [packageManager.reference]).object); - } - - static final _id_compare = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"compare", - r"(Landroid/content/pm/ResolveInfo;Landroid/content/pm/ResolveInfo;)I"); - - /// from: public final int compare(android.content.pm.ResolveInfo resolveInfo, android.content.pm.ResolveInfo resolveInfo1) - int compare( - ResolveInfo resolveInfo, - ResolveInfo resolveInfo1, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_compare, - jni.JniCallType.intType, - [resolveInfo.reference, resolveInfo1.reference]).integer; - } - - static final _id_compare1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"compare", r"(Ljava/lang/Object;Ljava/lang/Object;)I"); - - /// from: public int compare(java.lang.Object object, java.lang.Object object1) - int compare1( - jni.JObject object, - jni.JObject object1, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_compare1, - jni.JniCallType.intType, [object.reference, object1.reference]).integer; - } -} - -final class $ResolveInfo_DisplayNameComparatorType - extends jni.JObjType { - const $ResolveInfo_DisplayNameComparatorType(); - - @override - String get signature => - r"Landroid/content/pm/ResolveInfo$DisplayNameComparator;"; - - @override - ResolveInfo_DisplayNameComparator fromRef(jni.JObjectPtr ref) => - ResolveInfo_DisplayNameComparator.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($ResolveInfo_DisplayNameComparatorType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($ResolveInfo_DisplayNameComparatorType) && - other is $ResolveInfo_DisplayNameComparatorType; - } -} - -/// from: android.content.pm.ResolveInfo -class ResolveInfo extends jni.JObject { - @override - late final jni.JObjType $type = type; - - ResolveInfo.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass(r"android/content/pm/ResolveInfo"); - - /// The type which includes information such as the signature of this class. - static const type = $ResolveInfoType(); - static final _id_CREATOR = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"CREATOR", - r"Landroid/os/Parcelable$Creator;", - ); - - /// from: static public final android.os.Parcelable$Creator CREATOR - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject get CREATOR => const jni.JObjectType().fromRef(jni - .Jni.accessors - .getStaticField(_class.reference, _id_CREATOR, jni.JniCallType.objectType) - .object); - - static final _id_activityInfo = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"activityInfo", - r"Landroid/content/pm/ActivityInfo;", - ); - - /// from: public android.content.pm.ActivityInfo activityInfo - /// The returned object must be released after use, by calling the [release] method. - ActivityInfo get activityInfo => - const $ActivityInfoType().fromRef(jni.Jni.accessors - .getField(reference, _id_activityInfo, jni.JniCallType.objectType) - .object); - - /// from: public android.content.pm.ActivityInfo activityInfo - /// The returned object must be released after use, by calling the [release] method. - set activityInfo(ActivityInfo value) => - jni.Jni.env.SetObjectField(reference, _id_activityInfo, value.reference); - - static final _id_filter = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"filter", - r"Landroid/content/IntentFilter;", - ); - - /// from: public android.content.IntentFilter filter - /// The returned object must be released after use, by calling the [release] method. - jni.JObject get filter => const jni.JObjectType().fromRef(jni.Jni.accessors - .getField(reference, _id_filter, jni.JniCallType.objectType) - .object); - - /// from: public android.content.IntentFilter filter - /// The returned object must be released after use, by calling the [release] method. - set filter(jni.JObject value) => - jni.Jni.env.SetObjectField(reference, _id_filter, value.reference); - - static final _id_icon = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"icon", - r"I", - ); - - /// from: public int icon - int get icon => jni.Jni.accessors - .getField(reference, _id_icon, jni.JniCallType.intType) - .integer; - - /// from: public int icon - set icon(int value) => jni.Jni.env.SetIntField(reference, _id_icon, value); - - static final _id_isDefault = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"isDefault", - r"Z", - ); - - /// from: public boolean isDefault - bool get isDefault => jni.Jni.accessors - .getField(reference, _id_isDefault, jni.JniCallType.booleanType) - .boolean; - - /// from: public boolean isDefault - set isDefault(bool value) => - jni.Jni.env.SetBooleanField(reference, _id_isDefault, value ? 1 : 0); - - static final _id_isInstantAppAvailable = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"isInstantAppAvailable", - r"Z", - ); - - /// from: public boolean isInstantAppAvailable - bool get isInstantAppAvailable => jni.Jni.accessors - .getField( - reference, _id_isInstantAppAvailable, jni.JniCallType.booleanType) - .boolean; - - /// from: public boolean isInstantAppAvailable - set isInstantAppAvailable(bool value) => jni.Jni.env - .SetBooleanField(reference, _id_isInstantAppAvailable, value ? 1 : 0); - - static final _id_labelRes = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"labelRes", - r"I", - ); - - /// from: public int labelRes - int get labelRes => jni.Jni.accessors - .getField(reference, _id_labelRes, jni.JniCallType.intType) - .integer; - - /// from: public int labelRes - set labelRes(int value) => - jni.Jni.env.SetIntField(reference, _id_labelRes, value); - - static final _id_match = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"match", - r"I", - ); - - /// from: public int match - int get match => jni.Jni.accessors - .getField(reference, _id_match, jni.JniCallType.intType) - .integer; - - /// from: public int match - set match(int value) => jni.Jni.env.SetIntField(reference, _id_match, value); - - static final _id_nonLocalizedLabel = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"nonLocalizedLabel", - r"Ljava/lang/CharSequence;", - ); - - /// from: public java.lang.CharSequence nonLocalizedLabel - /// The returned object must be released after use, by calling the [release] method. - jni.JObject get nonLocalizedLabel => const jni.JObjectType().fromRef(jni - .Jni.accessors - .getField(reference, _id_nonLocalizedLabel, jni.JniCallType.objectType) - .object); - - /// from: public java.lang.CharSequence nonLocalizedLabel - /// The returned object must be released after use, by calling the [release] method. - set nonLocalizedLabel(jni.JObject value) => jni.Jni.env - .SetObjectField(reference, _id_nonLocalizedLabel, value.reference); - - static final _id_preferredOrder = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"preferredOrder", - r"I", - ); - - /// from: public int preferredOrder - int get preferredOrder => jni.Jni.accessors - .getField(reference, _id_preferredOrder, jni.JniCallType.intType) - .integer; - - /// from: public int preferredOrder - set preferredOrder(int value) => - jni.Jni.env.SetIntField(reference, _id_preferredOrder, value); - - static final _id_priority = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"priority", - r"I", - ); - - /// from: public int priority - int get priority => jni.Jni.accessors - .getField(reference, _id_priority, jni.JniCallType.intType) - .integer; - - /// from: public int priority - set priority(int value) => - jni.Jni.env.SetIntField(reference, _id_priority, value); - - static final _id_providerInfo = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"providerInfo", - r"Landroid/content/pm/ProviderInfo;", - ); - - /// from: public android.content.pm.ProviderInfo providerInfo - /// The returned object must be released after use, by calling the [release] method. - jni.JObject get providerInfo => - const jni.JObjectType().fromRef(jni.Jni.accessors - .getField(reference, _id_providerInfo, jni.JniCallType.objectType) - .object); - - /// from: public android.content.pm.ProviderInfo providerInfo - /// The returned object must be released after use, by calling the [release] method. - set providerInfo(jni.JObject value) => - jni.Jni.env.SetObjectField(reference, _id_providerInfo, value.reference); - - static final _id_resolvePackageName = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"resolvePackageName", - r"Ljava/lang/String;", - ); - - /// from: public java.lang.String resolvePackageName - /// The returned object must be released after use, by calling the [release] method. - jni.JString get resolvePackageName => const jni.JStringType().fromRef(jni - .Jni.accessors - .getField(reference, _id_resolvePackageName, jni.JniCallType.objectType) - .object); - - /// from: public java.lang.String resolvePackageName - /// The returned object must be released after use, by calling the [release] method. - set resolvePackageName(jni.JString value) => jni.Jni.env - .SetObjectField(reference, _id_resolvePackageName, value.reference); - - static final _id_serviceInfo = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"serviceInfo", - r"Landroid/content/pm/ServiceInfo;", - ); - - /// from: public android.content.pm.ServiceInfo serviceInfo - /// The returned object must be released after use, by calling the [release] method. - jni.JObject get serviceInfo => - const jni.JObjectType().fromRef(jni.Jni.accessors - .getField(reference, _id_serviceInfo, jni.JniCallType.objectType) - .object); - - /// from: public android.content.pm.ServiceInfo serviceInfo - /// The returned object must be released after use, by calling the [release] method. - set serviceInfo(jni.JObject value) => - jni.Jni.env.SetObjectField(reference, _id_serviceInfo, value.reference); - - static final _id_specificIndex = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"specificIndex", - r"I", - ); - - /// from: public int specificIndex - int get specificIndex => jni.Jni.accessors - .getField(reference, _id_specificIndex, jni.JniCallType.intType) - .integer; - - /// from: public int specificIndex - set specificIndex(int value) => - jni.Jni.env.SetIntField(reference, _id_specificIndex, value); - - static final _id_new0 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); - - /// from: public void () - /// The returned object must be released after use, by calling the [release] method. - factory ResolveInfo() { - return ResolveInfo.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, []).object); - } - - static final _id_new1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Landroid/content/pm/ResolveInfo;)V"); - - /// from: public void (android.content.pm.ResolveInfo resolveInfo) - /// The returned object must be released after use, by calling the [release] method. - factory ResolveInfo.new1( - ResolveInfo resolveInfo, - ) { - return ResolveInfo.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new1, [resolveInfo.reference]).object); - } - - static final _id_loadLabel = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"loadLabel", - r"(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;"); - - /// from: public java.lang.CharSequence loadLabel(android.content.pm.PackageManager packageManager) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject loadLabel( - PackageManager packageManager, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_loadLabel, - jni.JniCallType.objectType, - [packageManager.reference]).object); - } - - static final _id_loadIcon = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"loadIcon", - r"(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;"); - - /// from: public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager packageManager) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject loadIcon( - PackageManager packageManager, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_loadIcon, - jni.JniCallType.objectType, - [packageManager.reference]).object); - } - - static final _id_getIconResource = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getIconResource", r"()I"); - - /// from: public final int getIconResource() - int getIconResource() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_getIconResource, jni.JniCallType.intType, []).integer; - } - - static final _id_dump = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"dump", r"(Landroid/util/Printer;Ljava/lang/String;)V"); - - /// from: public void dump(android.util.Printer printer, java.lang.String string) - void dump( - jni.JObject printer, - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_dump, - jni.JniCallType.voidType, - [printer.reference, string.reference]).check(); - } - - static final _id_isCrossProfileIntentForwarderActivity = jni.Jni.accessors - .getMethodIDOf( - _class.reference, r"isCrossProfileIntentForwarderActivity", r"()Z"); - - /// from: public boolean isCrossProfileIntentForwarderActivity() - bool isCrossProfileIntentForwarderActivity() { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_isCrossProfileIntentForwarderActivity, - jni.JniCallType.booleanType, []).boolean; - } - - static final _id_toString1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"toString", r"()Ljava/lang/String;"); - - /// from: public java.lang.String toString() - /// The returned object must be released after use, by calling the [release] method. - jni.JString toString1() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_toString1, jni.JniCallType.objectType, []).object); - } - - static final _id_describeContents = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"describeContents", r"()I"); - - /// from: public int describeContents() - int describeContents() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_describeContents, jni.JniCallType.intType, []).integer; - } - - static final _id_writeToParcel = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"writeToParcel", r"(Landroid/os/Parcel;I)V"); - - /// from: public void writeToParcel(android.os.Parcel parcel, int i) - void writeToParcel( - jni.JObject parcel, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_writeToParcel, - jni.JniCallType.voidType, [parcel.reference, jni.JValueInt(i)]).check(); - } -} - -final class $ResolveInfoType extends jni.JObjType { - const $ResolveInfoType(); - - @override - String get signature => r"Landroid/content/pm/ResolveInfo;"; - - @override - ResolveInfo fromRef(jni.JObjectPtr ref) => ResolveInfo.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($ResolveInfoType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($ResolveInfoType) && other is $ResolveInfoType; - } -} - -/// from: android.content.pm.ActivityInfo$WindowLayout -class ActivityInfo_WindowLayout extends jni.JObject { - @override - late final jni.JObjType $type = type; - - ActivityInfo_WindowLayout.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"android/content/pm/ActivityInfo$WindowLayout"); - - /// The type which includes information such as the signature of this class. - static const type = $ActivityInfo_WindowLayoutType(); - static final _id_gravity = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"gravity", - r"I", - ); - - /// from: public final int gravity - int get gravity => jni.Jni.accessors - .getField(reference, _id_gravity, jni.JniCallType.intType) - .integer; - - static final _id_height = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"height", - r"I", - ); - - /// from: public final int height - int get height => jni.Jni.accessors - .getField(reference, _id_height, jni.JniCallType.intType) - .integer; - - static final _id_heightFraction = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"heightFraction", - r"F", - ); - - /// from: public final float heightFraction - double get heightFraction => jni.Jni.accessors - .getField(reference, _id_heightFraction, jni.JniCallType.floatType) - .float; - - static final _id_minHeight = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"minHeight", - r"I", - ); - - /// from: public final int minHeight - int get minHeight => jni.Jni.accessors - .getField(reference, _id_minHeight, jni.JniCallType.intType) - .integer; - - static final _id_minWidth = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"minWidth", - r"I", - ); - - /// from: public final int minWidth - int get minWidth => jni.Jni.accessors - .getField(reference, _id_minWidth, jni.JniCallType.intType) - .integer; - - static final _id_width = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"width", - r"I", - ); - - /// from: public final int width - int get width => jni.Jni.accessors - .getField(reference, _id_width, jni.JniCallType.intType) - .integer; - - static final _id_widthFraction = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"widthFraction", - r"F", - ); - - /// from: public final float widthFraction - double get widthFraction => jni.Jni.accessors - .getField(reference, _id_widthFraction, jni.JniCallType.floatType) - .float; - - static final _id_new0 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"", r"(IFIFIII)V"); - - /// from: public void (int i, float f, int i1, float f1, int i2, int i3, int i4) - /// The returned object must be released after use, by calling the [release] method. - factory ActivityInfo_WindowLayout( - int i, - double f, - int i1, - double f1, - int i2, - int i3, - int i4, - ) { - return ActivityInfo_WindowLayout.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, [ - jni.JValueInt(i), - jni.JValueFloat(f), - jni.JValueInt(i1), - jni.JValueFloat(f1), - jni.JValueInt(i2), - jni.JValueInt(i3), - jni.JValueInt(i4) - ]).object); - } -} - -final class $ActivityInfo_WindowLayoutType - extends jni.JObjType { - const $ActivityInfo_WindowLayoutType(); - - @override - String get signature => r"Landroid/content/pm/ActivityInfo$WindowLayout;"; - - @override - ActivityInfo_WindowLayout fromRef(jni.JObjectPtr ref) => - ActivityInfo_WindowLayout.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($ActivityInfo_WindowLayoutType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($ActivityInfo_WindowLayoutType) && - other is $ActivityInfo_WindowLayoutType; - } -} - -/// from: android.content.pm.ActivityInfo -class ActivityInfo extends jni.JObject { - @override - late final jni.JObjType $type = type; - - ActivityInfo.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass(r"android/content/pm/ActivityInfo"); - - /// The type which includes information such as the signature of this class. - static const type = $ActivityInfoType(); - - /// from: static public final int COLOR_MODE_DEFAULT - static const COLOR_MODE_DEFAULT = 0; - - /// from: static public final int COLOR_MODE_HDR - static const COLOR_MODE_HDR = 2; - - /// from: static public final int COLOR_MODE_WIDE_COLOR_GAMUT - static const COLOR_MODE_WIDE_COLOR_GAMUT = 1; - - /// from: static public final int CONFIG_COLOR_MODE - static const CONFIG_COLOR_MODE = 16384; - - /// from: static public final int CONFIG_DENSITY - static const CONFIG_DENSITY = 4096; - - /// from: static public final int CONFIG_FONT_SCALE - static const CONFIG_FONT_SCALE = 1073741824; - - /// from: static public final int CONFIG_FONT_WEIGHT_ADJUSTMENT - static const CONFIG_FONT_WEIGHT_ADJUSTMENT = 268435456; - - /// from: static public final int CONFIG_GRAMMATICAL_GENDER - static const CONFIG_GRAMMATICAL_GENDER = 32768; - - /// from: static public final int CONFIG_KEYBOARD - static const CONFIG_KEYBOARD = 16; - - /// from: static public final int CONFIG_KEYBOARD_HIDDEN - static const CONFIG_KEYBOARD_HIDDEN = 32; - - /// from: static public final int CONFIG_LAYOUT_DIRECTION - static const CONFIG_LAYOUT_DIRECTION = 8192; - - /// from: static public final int CONFIG_LOCALE - static const CONFIG_LOCALE = 4; - - /// from: static public final int CONFIG_MCC - static const CONFIG_MCC = 1; - - /// from: static public final int CONFIG_MNC - static const CONFIG_MNC = 2; - - /// from: static public final int CONFIG_NAVIGATION - static const CONFIG_NAVIGATION = 64; - - /// from: static public final int CONFIG_ORIENTATION - static const CONFIG_ORIENTATION = 128; - - /// from: static public final int CONFIG_SCREEN_LAYOUT - static const CONFIG_SCREEN_LAYOUT = 256; - - /// from: static public final int CONFIG_SCREEN_SIZE - static const CONFIG_SCREEN_SIZE = 1024; - - /// from: static public final int CONFIG_SMALLEST_SCREEN_SIZE - static const CONFIG_SMALLEST_SCREEN_SIZE = 2048; - - /// from: static public final int CONFIG_TOUCHSCREEN - static const CONFIG_TOUCHSCREEN = 8; - - /// from: static public final int CONFIG_UI_MODE - static const CONFIG_UI_MODE = 512; - - static final _id_CREATOR = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"CREATOR", - r"Landroid/os/Parcelable$Creator;", - ); - - /// from: static public final android.os.Parcelable$Creator CREATOR - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject get CREATOR => const jni.JObjectType().fromRef(jni - .Jni.accessors - .getStaticField(_class.reference, _id_CREATOR, jni.JniCallType.objectType) - .object); - - /// from: static public final int DOCUMENT_LAUNCH_ALWAYS - static const DOCUMENT_LAUNCH_ALWAYS = 2; - - /// from: static public final int DOCUMENT_LAUNCH_INTO_EXISTING - static const DOCUMENT_LAUNCH_INTO_EXISTING = 1; - - /// from: static public final int DOCUMENT_LAUNCH_NEVER - static const DOCUMENT_LAUNCH_NEVER = 3; - - /// from: static public final int DOCUMENT_LAUNCH_NONE - static const DOCUMENT_LAUNCH_NONE = 0; - - /// from: static public final int FLAG_ALLOW_TASK_REPARENTING - static const FLAG_ALLOW_TASK_REPARENTING = 64; - - /// from: static public final int FLAG_ALLOW_UNTRUSTED_ACTIVITY_EMBEDDING - static const FLAG_ALLOW_UNTRUSTED_ACTIVITY_EMBEDDING = 268435456; - - /// from: static public final int FLAG_ALWAYS_RETAIN_TASK_STATE - static const FLAG_ALWAYS_RETAIN_TASK_STATE = 8; - - /// from: static public final int FLAG_AUTO_REMOVE_FROM_RECENTS - static const FLAG_AUTO_REMOVE_FROM_RECENTS = 8192; - - /// from: static public final int FLAG_CLEAR_TASK_ON_LAUNCH - static const FLAG_CLEAR_TASK_ON_LAUNCH = 4; - - /// from: static public final int FLAG_ENABLE_VR_MODE - static const FLAG_ENABLE_VR_MODE = 32768; - - /// from: static public final int FLAG_EXCLUDE_FROM_RECENTS - static const FLAG_EXCLUDE_FROM_RECENTS = 32; - - /// from: static public final int FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS - static const FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS = 256; - - /// from: static public final int FLAG_FINISH_ON_TASK_LAUNCH - static const FLAG_FINISH_ON_TASK_LAUNCH = 2; - - /// from: static public final int FLAG_HARDWARE_ACCELERATED - static const FLAG_HARDWARE_ACCELERATED = 512; - - /// from: static public final int FLAG_IMMERSIVE - static const FLAG_IMMERSIVE = 2048; - - /// from: static public final int FLAG_MULTIPROCESS - static const FLAG_MULTIPROCESS = 1; - - /// from: static public final int FLAG_NO_HISTORY - static const FLAG_NO_HISTORY = 128; - - /// from: static public final int FLAG_PREFER_MINIMAL_POST_PROCESSING - static const FLAG_PREFER_MINIMAL_POST_PROCESSING = 33554432; - - /// from: static public final int FLAG_RELINQUISH_TASK_IDENTITY - static const FLAG_RELINQUISH_TASK_IDENTITY = 4096; - - /// from: static public final int FLAG_RESUME_WHILE_PAUSING - static const FLAG_RESUME_WHILE_PAUSING = 16384; - - /// from: static public final int FLAG_SINGLE_USER - static const FLAG_SINGLE_USER = 1073741824; - - /// from: static public final int FLAG_STATE_NOT_NEEDED - static const FLAG_STATE_NOT_NEEDED = 16; - - /// from: static public final int LAUNCH_MULTIPLE - static const LAUNCH_MULTIPLE = 0; - - /// from: static public final int LAUNCH_SINGLE_INSTANCE - static const LAUNCH_SINGLE_INSTANCE = 3; - - /// from: static public final int LAUNCH_SINGLE_INSTANCE_PER_TASK - static const LAUNCH_SINGLE_INSTANCE_PER_TASK = 4; - - /// from: static public final int LAUNCH_SINGLE_TASK - static const LAUNCH_SINGLE_TASK = 2; - - /// from: static public final int LAUNCH_SINGLE_TOP - static const LAUNCH_SINGLE_TOP = 1; - - /// from: static public final int PERSIST_ACROSS_REBOOTS - static const PERSIST_ACROSS_REBOOTS = 2; - - /// from: static public final int PERSIST_NEVER - static const PERSIST_NEVER = 1; - - /// from: static public final int PERSIST_ROOT_ONLY - static const PERSIST_ROOT_ONLY = 0; - - /// from: static public final int SCREEN_ORIENTATION_BEHIND - static const SCREEN_ORIENTATION_BEHIND = 3; - - /// from: static public final int SCREEN_ORIENTATION_FULL_SENSOR - static const SCREEN_ORIENTATION_FULL_SENSOR = 10; - - /// from: static public final int SCREEN_ORIENTATION_FULL_USER - static const SCREEN_ORIENTATION_FULL_USER = 13; - - /// from: static public final int SCREEN_ORIENTATION_LANDSCAPE - static const SCREEN_ORIENTATION_LANDSCAPE = 0; - - /// from: static public final int SCREEN_ORIENTATION_LOCKED - static const SCREEN_ORIENTATION_LOCKED = 14; - - /// from: static public final int SCREEN_ORIENTATION_NOSENSOR - static const SCREEN_ORIENTATION_NOSENSOR = 5; - - /// from: static public final int SCREEN_ORIENTATION_PORTRAIT - static const SCREEN_ORIENTATION_PORTRAIT = 1; - - /// from: static public final int SCREEN_ORIENTATION_REVERSE_LANDSCAPE - static const SCREEN_ORIENTATION_REVERSE_LANDSCAPE = 8; - - /// from: static public final int SCREEN_ORIENTATION_REVERSE_PORTRAIT - static const SCREEN_ORIENTATION_REVERSE_PORTRAIT = 9; - - /// from: static public final int SCREEN_ORIENTATION_SENSOR - static const SCREEN_ORIENTATION_SENSOR = 4; - - /// from: static public final int SCREEN_ORIENTATION_SENSOR_LANDSCAPE - static const SCREEN_ORIENTATION_SENSOR_LANDSCAPE = 6; - - /// from: static public final int SCREEN_ORIENTATION_SENSOR_PORTRAIT - static const SCREEN_ORIENTATION_SENSOR_PORTRAIT = 7; - - /// from: static public final int SCREEN_ORIENTATION_UNSPECIFIED - static const SCREEN_ORIENTATION_UNSPECIFIED = -1; - - /// from: static public final int SCREEN_ORIENTATION_USER - static const SCREEN_ORIENTATION_USER = 2; - - /// from: static public final int SCREEN_ORIENTATION_USER_LANDSCAPE - static const SCREEN_ORIENTATION_USER_LANDSCAPE = 11; - - /// from: static public final int SCREEN_ORIENTATION_USER_PORTRAIT - static const SCREEN_ORIENTATION_USER_PORTRAIT = 12; - - /// from: static public final int UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW - static const UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW = 1; - - static final _id_colorMode = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"colorMode", - r"I", - ); - - /// from: public int colorMode - int get colorMode => jni.Jni.accessors - .getField(reference, _id_colorMode, jni.JniCallType.intType) - .integer; - - /// from: public int colorMode - set colorMode(int value) => - jni.Jni.env.SetIntField(reference, _id_colorMode, value); - - static final _id_configChanges = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"configChanges", - r"I", - ); - - /// from: public int configChanges - int get configChanges => jni.Jni.accessors - .getField(reference, _id_configChanges, jni.JniCallType.intType) - .integer; - - /// from: public int configChanges - set configChanges(int value) => - jni.Jni.env.SetIntField(reference, _id_configChanges, value); - - static final _id_documentLaunchMode = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"documentLaunchMode", - r"I", - ); - - /// from: public int documentLaunchMode - int get documentLaunchMode => jni.Jni.accessors - .getField(reference, _id_documentLaunchMode, jni.JniCallType.intType) - .integer; - - /// from: public int documentLaunchMode - set documentLaunchMode(int value) => - jni.Jni.env.SetIntField(reference, _id_documentLaunchMode, value); - - static final _id_flags = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"flags", - r"I", - ); - - /// from: public int flags - int get flags => jni.Jni.accessors - .getField(reference, _id_flags, jni.JniCallType.intType) - .integer; - - /// from: public int flags - set flags(int value) => jni.Jni.env.SetIntField(reference, _id_flags, value); - - static final _id_launchMode = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"launchMode", - r"I", - ); - - /// from: public int launchMode - int get launchMode => jni.Jni.accessors - .getField(reference, _id_launchMode, jni.JniCallType.intType) - .integer; - - /// from: public int launchMode - set launchMode(int value) => - jni.Jni.env.SetIntField(reference, _id_launchMode, value); - - static final _id_maxRecents = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"maxRecents", - r"I", - ); - - /// from: public int maxRecents - int get maxRecents => jni.Jni.accessors - .getField(reference, _id_maxRecents, jni.JniCallType.intType) - .integer; - - /// from: public int maxRecents - set maxRecents(int value) => - jni.Jni.env.SetIntField(reference, _id_maxRecents, value); - - static final _id_parentActivityName = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"parentActivityName", - r"Ljava/lang/String;", - ); - - /// from: public java.lang.String parentActivityName - /// The returned object must be released after use, by calling the [release] method. - jni.JString get parentActivityName => const jni.JStringType().fromRef(jni - .Jni.accessors - .getField(reference, _id_parentActivityName, jni.JniCallType.objectType) - .object); - - /// from: public java.lang.String parentActivityName - /// The returned object must be released after use, by calling the [release] method. - set parentActivityName(jni.JString value) => jni.Jni.env - .SetObjectField(reference, _id_parentActivityName, value.reference); - - static final _id_permission = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"permission", - r"Ljava/lang/String;", - ); - - /// from: public java.lang.String permission - /// The returned object must be released after use, by calling the [release] method. - jni.JString get permission => - const jni.JStringType().fromRef(jni.Jni.accessors - .getField(reference, _id_permission, jni.JniCallType.objectType) - .object); - - /// from: public java.lang.String permission - /// The returned object must be released after use, by calling the [release] method. - set permission(jni.JString value) => - jni.Jni.env.SetObjectField(reference, _id_permission, value.reference); - - static final _id_persistableMode = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"persistableMode", - r"I", - ); - - /// from: public int persistableMode - int get persistableMode => jni.Jni.accessors - .getField(reference, _id_persistableMode, jni.JniCallType.intType) - .integer; - - /// from: public int persistableMode - set persistableMode(int value) => - jni.Jni.env.SetIntField(reference, _id_persistableMode, value); - - static final _id_requiredDisplayCategory = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"requiredDisplayCategory", - r"Ljava/lang/String;", - ); - - /// from: public java.lang.String requiredDisplayCategory - /// The returned object must be released after use, by calling the [release] method. - jni.JString get requiredDisplayCategory => const jni.JStringType().fromRef(jni - .Jni.accessors - .getField( - reference, _id_requiredDisplayCategory, jni.JniCallType.objectType) - .object); - - /// from: public java.lang.String requiredDisplayCategory - /// The returned object must be released after use, by calling the [release] method. - set requiredDisplayCategory(jni.JString value) => jni.Jni.env - .SetObjectField(reference, _id_requiredDisplayCategory, value.reference); - - static final _id_screenOrientation = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"screenOrientation", - r"I", - ); - - /// from: public int screenOrientation - int get screenOrientation => jni.Jni.accessors - .getField(reference, _id_screenOrientation, jni.JniCallType.intType) - .integer; - - /// from: public int screenOrientation - set screenOrientation(int value) => - jni.Jni.env.SetIntField(reference, _id_screenOrientation, value); - - static final _id_softInputMode = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"softInputMode", - r"I", - ); - - /// from: public int softInputMode - int get softInputMode => jni.Jni.accessors - .getField(reference, _id_softInputMode, jni.JniCallType.intType) - .integer; - - /// from: public int softInputMode - set softInputMode(int value) => - jni.Jni.env.SetIntField(reference, _id_softInputMode, value); - - static final _id_targetActivity = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"targetActivity", - r"Ljava/lang/String;", - ); - - /// from: public java.lang.String targetActivity - /// The returned object must be released after use, by calling the [release] method. - jni.JString get targetActivity => - const jni.JStringType().fromRef(jni.Jni.accessors - .getField(reference, _id_targetActivity, jni.JniCallType.objectType) - .object); - - /// from: public java.lang.String targetActivity - /// The returned object must be released after use, by calling the [release] method. - set targetActivity(jni.JString value) => jni.Jni.env - .SetObjectField(reference, _id_targetActivity, value.reference); - - static final _id_taskAffinity = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"taskAffinity", - r"Ljava/lang/String;", - ); - - /// from: public java.lang.String taskAffinity - /// The returned object must be released after use, by calling the [release] method. - jni.JString get taskAffinity => - const jni.JStringType().fromRef(jni.Jni.accessors - .getField(reference, _id_taskAffinity, jni.JniCallType.objectType) - .object); - - /// from: public java.lang.String taskAffinity - /// The returned object must be released after use, by calling the [release] method. - set taskAffinity(jni.JString value) => - jni.Jni.env.SetObjectField(reference, _id_taskAffinity, value.reference); - - static final _id_theme = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"theme", - r"I", - ); - - /// from: public int theme - int get theme => jni.Jni.accessors - .getField(reference, _id_theme, jni.JniCallType.intType) - .integer; - - /// from: public int theme - set theme(int value) => jni.Jni.env.SetIntField(reference, _id_theme, value); - - static final _id_uiOptions = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"uiOptions", - r"I", - ); - - /// from: public int uiOptions - int get uiOptions => jni.Jni.accessors - .getField(reference, _id_uiOptions, jni.JniCallType.intType) - .integer; - - /// from: public int uiOptions - set uiOptions(int value) => - jni.Jni.env.SetIntField(reference, _id_uiOptions, value); - - static final _id_windowLayout = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"windowLayout", - r"Landroid/content/pm/ActivityInfo$WindowLayout;", - ); - - /// from: public android.content.pm.ActivityInfo$WindowLayout windowLayout - /// The returned object must be released after use, by calling the [release] method. - ActivityInfo_WindowLayout get windowLayout => - const $ActivityInfo_WindowLayoutType().fromRef(jni.Jni.accessors - .getField(reference, _id_windowLayout, jni.JniCallType.objectType) - .object); - - /// from: public android.content.pm.ActivityInfo$WindowLayout windowLayout - /// The returned object must be released after use, by calling the [release] method. - set windowLayout(ActivityInfo_WindowLayout value) => - jni.Jni.env.SetObjectField(reference, _id_windowLayout, value.reference); - - static final _id_new0 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); - - /// from: public void () - /// The returned object must be released after use, by calling the [release] method. - factory ActivityInfo() { - return ActivityInfo.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, []).object); - } - - static final _id_new1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Landroid/content/pm/ActivityInfo;)V"); - - /// from: public void (android.content.pm.ActivityInfo activityInfo) - /// The returned object must be released after use, by calling the [release] method. - factory ActivityInfo.new1( - ActivityInfo activityInfo, - ) { - return ActivityInfo.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new1, [activityInfo.reference]).object); - } - - static final _id_getThemeResource = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getThemeResource", r"()I"); - - /// from: public final int getThemeResource() - int getThemeResource() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_getThemeResource, jni.JniCallType.intType, []).integer; - } - - static final _id_getKnownActivityEmbeddingCerts = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getKnownActivityEmbeddingCerts", - r"()Ljava/util/Set;"); - - /// from: public java.util.Set getKnownActivityEmbeddingCerts() - /// The returned object must be released after use, by calling the [release] method. - jni.JSet getKnownActivityEmbeddingCerts() { - return const jni.JSetType(jni.JStringType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getKnownActivityEmbeddingCerts, - jni.JniCallType.objectType, []).object); - } - - static final _id_dump = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"dump", r"(Landroid/util/Printer;Ljava/lang/String;)V"); - - /// from: public void dump(android.util.Printer printer, java.lang.String string) - void dump( - jni.JObject printer, - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_dump, - jni.JniCallType.voidType, - [printer.reference, string.reference]).check(); - } - - static final _id_toString1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"toString", r"()Ljava/lang/String;"); - - /// from: public java.lang.String toString() - /// The returned object must be released after use, by calling the [release] method. - jni.JString toString1() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_toString1, jni.JniCallType.objectType, []).object); - } - - static final _id_describeContents = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"describeContents", r"()I"); - - /// from: public int describeContents() - int describeContents() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_describeContents, jni.JniCallType.intType, []).integer; - } - - static final _id_writeToParcel = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"writeToParcel", r"(Landroid/os/Parcel;I)V"); - - /// from: public void writeToParcel(android.os.Parcel parcel, int i) - void writeToParcel( - jni.JObject parcel, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_writeToParcel, - jni.JniCallType.voidType, [parcel.reference, jni.JValueInt(i)]).check(); - } -} - -final class $ActivityInfoType extends jni.JObjType { - const $ActivityInfoType(); - - @override - String get signature => r"Landroid/content/pm/ActivityInfo;"; - - @override - ActivityInfo fromRef(jni.JObjectPtr ref) => ActivityInfo.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($ActivityInfoType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($ActivityInfoType) && - other is $ActivityInfoType; - } -} - -/// from: android.content.pm.PackageItemInfo$DisplayNameComparator -class PackageItemInfo_DisplayNameComparator extends jni.JObject { - @override - late final jni.JObjType $type = type; - - PackageItemInfo_DisplayNameComparator.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"android/content/pm/PackageItemInfo$DisplayNameComparator"); - - /// The type which includes information such as the signature of this class. - static const type = $PackageItemInfo_DisplayNameComparatorType(); - static final _id_new0 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Landroid/content/pm/PackageManager;)V"); - - /// from: public void (android.content.pm.PackageManager packageManager) - /// The returned object must be released after use, by calling the [release] method. - factory PackageItemInfo_DisplayNameComparator( - PackageManager packageManager, - ) { - return PackageItemInfo_DisplayNameComparator.fromRef(jni.Jni.accessors - .newObjectWithArgs( - _class.reference, _id_new0, [packageManager.reference]).object); - } - - static final _id_compare = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"compare", - r"(Landroid/content/pm/PackageItemInfo;Landroid/content/pm/PackageItemInfo;)I"); - - /// from: public final int compare(android.content.pm.PackageItemInfo packageItemInfo, android.content.pm.PackageItemInfo packageItemInfo1) - int compare( - PackageItemInfo packageItemInfo, - PackageItemInfo packageItemInfo1, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_compare, - jni.JniCallType.intType, - [packageItemInfo.reference, packageItemInfo1.reference]).integer; - } - - static final _id_compare1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"compare", r"(Ljava/lang/Object;Ljava/lang/Object;)I"); - - /// from: public int compare(java.lang.Object object, java.lang.Object object1) - int compare1( - jni.JObject object, - jni.JObject object1, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_compare1, - jni.JniCallType.intType, [object.reference, object1.reference]).integer; - } -} - -final class $PackageItemInfo_DisplayNameComparatorType - extends jni.JObjType { - const $PackageItemInfo_DisplayNameComparatorType(); - - @override - String get signature => - r"Landroid/content/pm/PackageItemInfo$DisplayNameComparator;"; - - @override - PackageItemInfo_DisplayNameComparator fromRef(jni.JObjectPtr ref) => - PackageItemInfo_DisplayNameComparator.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($PackageItemInfo_DisplayNameComparatorType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($PackageItemInfo_DisplayNameComparatorType) && - other is $PackageItemInfo_DisplayNameComparatorType; - } -} - -/// from: android.content.pm.PackageItemInfo -class PackageItemInfo extends jni.JObject { - @override - late final jni.JObjType $type = type; - - PackageItemInfo.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"android/content/pm/PackageItemInfo"); - - /// The type which includes information such as the signature of this class. - static const type = $PackageItemInfoType(); - static final _id_banner = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"banner", - r"I", - ); - - /// from: public int banner - int get banner => jni.Jni.accessors - .getField(reference, _id_banner, jni.JniCallType.intType) - .integer; - - /// from: public int banner - set banner(int value) => - jni.Jni.env.SetIntField(reference, _id_banner, value); - - static final _id_icon = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"icon", - r"I", - ); - - /// from: public int icon - int get icon => jni.Jni.accessors - .getField(reference, _id_icon, jni.JniCallType.intType) - .integer; - - /// from: public int icon - set icon(int value) => jni.Jni.env.SetIntField(reference, _id_icon, value); - - static final _id_labelRes = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"labelRes", - r"I", - ); - - /// from: public int labelRes - int get labelRes => jni.Jni.accessors - .getField(reference, _id_labelRes, jni.JniCallType.intType) - .integer; - - /// from: public int labelRes - set labelRes(int value) => - jni.Jni.env.SetIntField(reference, _id_labelRes, value); - - static final _id_logo = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"logo", - r"I", - ); - - /// from: public int logo - int get logo => jni.Jni.accessors - .getField(reference, _id_logo, jni.JniCallType.intType) - .integer; - - /// from: public int logo - set logo(int value) => jni.Jni.env.SetIntField(reference, _id_logo, value); - - static final _id_metaData = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"metaData", - r"Landroid/os/Bundle;", - ); - - /// from: public android.os.Bundle metaData - /// The returned object must be released after use, by calling the [release] method. - Bundle get metaData => const $BundleType().fromRef(jni.Jni.accessors - .getField(reference, _id_metaData, jni.JniCallType.objectType) - .object); - - /// from: public android.os.Bundle metaData - /// The returned object must be released after use, by calling the [release] method. - set metaData(Bundle value) => - jni.Jni.env.SetObjectField(reference, _id_metaData, value.reference); - - static final _id_name = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"name", - r"Ljava/lang/String;", - ); - - /// from: public java.lang.String name - /// The returned object must be released after use, by calling the [release] method. - jni.JString get name => const jni.JStringType().fromRef(jni.Jni.accessors - .getField(reference, _id_name, jni.JniCallType.objectType) - .object); - - /// from: public java.lang.String name - /// The returned object must be released after use, by calling the [release] method. - set name(jni.JString value) => - jni.Jni.env.SetObjectField(reference, _id_name, value.reference); - - static final _id_nonLocalizedLabel = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"nonLocalizedLabel", - r"Ljava/lang/CharSequence;", - ); - - /// from: public java.lang.CharSequence nonLocalizedLabel - /// The returned object must be released after use, by calling the [release] method. - jni.JObject get nonLocalizedLabel => const jni.JObjectType().fromRef(jni - .Jni.accessors - .getField(reference, _id_nonLocalizedLabel, jni.JniCallType.objectType) - .object); - - /// from: public java.lang.CharSequence nonLocalizedLabel - /// The returned object must be released after use, by calling the [release] method. - set nonLocalizedLabel(jni.JObject value) => jni.Jni.env - .SetObjectField(reference, _id_nonLocalizedLabel, value.reference); - - static final _id_packageName = jni.Jni.accessors.getFieldIDOf( - _class.reference, - r"packageName", - r"Ljava/lang/String;", - ); - - /// from: public java.lang.String packageName - /// The returned object must be released after use, by calling the [release] method. - jni.JString get packageName => - const jni.JStringType().fromRef(jni.Jni.accessors - .getField(reference, _id_packageName, jni.JniCallType.objectType) - .object); - - /// from: public java.lang.String packageName - /// The returned object must be released after use, by calling the [release] method. - set packageName(jni.JString value) => - jni.Jni.env.SetObjectField(reference, _id_packageName, value.reference); - - static final _id_new0 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); - - /// from: public void () - /// The returned object must be released after use, by calling the [release] method. - factory PackageItemInfo() { - return PackageItemInfo.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, []).object); - } - - static final _id_new1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Landroid/content/pm/PackageItemInfo;)V"); - - /// from: public void (android.content.pm.PackageItemInfo packageItemInfo) - /// The returned object must be released after use, by calling the [release] method. - factory PackageItemInfo.new1( - PackageItemInfo packageItemInfo, - ) { - return PackageItemInfo.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new1, [packageItemInfo.reference]).object); - } - - static final _id_new2 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"", r"(Landroid/os/Parcel;)V"); - - /// from: protected void (android.os.Parcel parcel) - /// The returned object must be released after use, by calling the [release] method. - factory PackageItemInfo.new2( - jni.JObject parcel, - ) { - return PackageItemInfo.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new2, [parcel.reference]).object); - } - - static final _id_loadLabel = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"loadLabel", - r"(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;"); - - /// from: public java.lang.CharSequence loadLabel(android.content.pm.PackageManager packageManager) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject loadLabel( - PackageManager packageManager, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_loadLabel, - jni.JniCallType.objectType, - [packageManager.reference]).object); - } - - static final _id_loadIcon = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"loadIcon", - r"(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;"); - - /// from: public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager packageManager) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject loadIcon( - PackageManager packageManager, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_loadIcon, - jni.JniCallType.objectType, - [packageManager.reference]).object); - } - - static final _id_loadUnbadgedIcon = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"loadUnbadgedIcon", - r"(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;"); - - /// from: public android.graphics.drawable.Drawable loadUnbadgedIcon(android.content.pm.PackageManager packageManager) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject loadUnbadgedIcon( - PackageManager packageManager, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_loadUnbadgedIcon, - jni.JniCallType.objectType, - [packageManager.reference]).object); - } - - static final _id_loadBanner = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"loadBanner", - r"(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;"); - - /// from: public android.graphics.drawable.Drawable loadBanner(android.content.pm.PackageManager packageManager) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject loadBanner( - PackageManager packageManager, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_loadBanner, - jni.JniCallType.objectType, - [packageManager.reference]).object); - } - - static final _id_loadLogo = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"loadLogo", - r"(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;"); - - /// from: public android.graphics.drawable.Drawable loadLogo(android.content.pm.PackageManager packageManager) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject loadLogo( - PackageManager packageManager, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_loadLogo, - jni.JniCallType.objectType, - [packageManager.reference]).object); - } - - static final _id_loadXmlMetaData = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"loadXmlMetaData", - r"(Landroid/content/pm/PackageManager;Ljava/lang/String;)Landroid/content/res/XmlResourceParser;"); - - /// from: public android.content.res.XmlResourceParser loadXmlMetaData(android.content.pm.PackageManager packageManager, java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject loadXmlMetaData( - PackageManager packageManager, - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_loadXmlMetaData, - jni.JniCallType.objectType, - [packageManager.reference, string.reference]).object); - } - - static final _id_dumpFront = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"dumpFront", r"(Landroid/util/Printer;Ljava/lang/String;)V"); - - /// from: protected void dumpFront(android.util.Printer printer, java.lang.String string) - void dumpFront( - jni.JObject printer, - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_dumpFront, - jni.JniCallType.voidType, - [printer.reference, string.reference]).check(); - } - - static final _id_dumpBack = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"dumpBack", r"(Landroid/util/Printer;Ljava/lang/String;)V"); - - /// from: protected void dumpBack(android.util.Printer printer, java.lang.String string) - void dumpBack( - jni.JObject printer, - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_dumpBack, - jni.JniCallType.voidType, - [printer.reference, string.reference]).check(); - } - - static final _id_writeToParcel = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"writeToParcel", r"(Landroid/os/Parcel;I)V"); - - /// from: public void writeToParcel(android.os.Parcel parcel, int i) - void writeToParcel( - jni.JObject parcel, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_writeToParcel, - jni.JniCallType.voidType, [parcel.reference, jni.JValueInt(i)]).check(); - } -} - -final class $PackageItemInfoType extends jni.JObjType { - const $PackageItemInfoType(); - - @override - String get signature => r"Landroid/content/pm/PackageItemInfo;"; - - @override - PackageItemInfo fromRef(jni.JObjectPtr ref) => PackageItemInfo.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($PackageItemInfoType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($PackageItemInfoType) && - other is $PackageItemInfoType; - } -} - -/// from: dev.celest.celest_auth.CelestAuth -class CelestAuth extends jni.JObject { - @override - late final jni.JObjType $type = type; - - CelestAuth.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"dev/celest/celest_auth/CelestAuth"); - - /// The type which includes information such as the signature of this class. - static const type = $CelestAuthType(); - static final _id_new0 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"", r"(Landroid/app/Activity;)V"); - - /// from: public void (android.app.Activity activity) - /// The returned object must be released after use, by calling the [release] method. - factory CelestAuth( - Activity activity, - ) { - return CelestAuth.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new0, [activity.reference]).object); - } - - static final _id_isSupported = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"isSupported", - r"(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;"); - - /// from: public final java.lang.Object isSupported(kotlin.coroutines.Continuation continuation) - /// The returned object must be released after use, by calling the [release] method. - Future isSupported() async { - final $p = ReceivePort(); - final $c = - jni.JObject.fromRef(ProtectedJniExtensions.newPortContinuation($p)); - jni.Jni.accessors.callMethodWithArgs(reference, _id_isSupported, - jni.JniCallType.objectType, [$c.reference]).object; - final $o = jni.JObjectPtr.fromAddress(await $p.first); - final $k = const jni.JBooleanType().getClass().reference; - if (!jni.Jni.env.IsInstanceOf($o, $k)) { - throw "Failed"; - } - return const jni.JBooleanType().fromRef($o); - } - - static final _id_register = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"register", - r"(Ljava/lang/String;Landroidx/credentials/CredentialManagerCallback;)Landroid/os/CancellationSignal;"); - - /// from: public final android.os.CancellationSignal register(java.lang.String string, androidx.credentials.CredentialManagerCallback credentialManagerCallback) - /// The returned object must be released after use, by calling the [release] method. - CancellationSignal register( - jni.JString string, - CredentialManagerCallback - credentialManagerCallback, - ) { - return const $CancellationSignalType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_register, jni.JniCallType.objectType, - [string.reference, credentialManagerCallback.reference]).object); - } - - static final _id_authenticate = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"authenticate", - r"(Ljava/lang/String;Landroidx/credentials/CredentialManagerCallback;)Landroid/os/CancellationSignal;"); - - /// from: public final android.os.CancellationSignal authenticate(java.lang.String string, androidx.credentials.CredentialManagerCallback credentialManagerCallback) - /// The returned object must be released after use, by calling the [release] method. - CancellationSignal authenticate( - jni.JString string, - CredentialManagerCallback - credentialManagerCallback, - ) { - return const $CancellationSignalType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_authenticate, - jni.JniCallType.objectType, - [string.reference, credentialManagerCallback.reference]).object); - } -} - -final class $CelestAuthType extends jni.JObjType { - const $CelestAuthType(); - - @override - String get signature => r"Ldev/celest/celest_auth/CelestAuth;"; - - @override - CelestAuth fromRef(jni.JObjectPtr ref) => CelestAuth.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($CelestAuthType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CelestAuthType) && other is $CelestAuthType; - } -} - -/// from: androidx.credentials.CreateCredentialRequest$Companion -class CreateCredentialRequest_Companion extends jni.JObject { - @override - late final jni.JObjType $type = type; - - CreateCredentialRequest_Companion.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/CreateCredentialRequest$Companion"); - - /// The type which includes information such as the signature of this class. - static const type = $CreateCredentialRequest_CompanionType(); - static final _id_createFrom = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"createFrom", - r"(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/Bundle;ZLjava/lang/String;)Landroidx/credentials/CreateCredentialRequest;"); - - /// from: public final androidx.credentials.CreateCredentialRequest createFrom(java.lang.String string, android.os.Bundle bundle, android.os.Bundle bundle1, boolean z, java.lang.String string1) - /// The returned object must be released after use, by calling the [release] method. - CreateCredentialRequest createFrom( - jni.JString string, - Bundle bundle, - Bundle bundle1, - bool z, - jni.JString string1, - ) { - return const $CreateCredentialRequestType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, _id_createFrom, jni.JniCallType.objectType, [ - string.reference, - bundle.reference, - bundle1.reference, - z ? 1 : 0, - string1.reference - ]).object); - } - - static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialRequest_Companion( - jni.JObject defaultConstructorMarker, - ) { - return CreateCredentialRequest_Companion.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, - [defaultConstructorMarker.reference]).object); - } -} - -final class $CreateCredentialRequest_CompanionType - extends jni.JObjType { - const $CreateCredentialRequest_CompanionType(); - - @override - String get signature => - r"Landroidx/credentials/CreateCredentialRequest$Companion;"; - - @override - CreateCredentialRequest_Companion fromRef(jni.JObjectPtr ref) => - CreateCredentialRequest_Companion.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($CreateCredentialRequest_CompanionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CreateCredentialRequest_CompanionType) && - other is $CreateCredentialRequest_CompanionType; - } -} - -/// from: androidx.credentials.CreateCredentialRequest$DisplayInfo$Companion -class CreateCredentialRequest_DisplayInfo_Companion extends jni.JObject { - @override - late final jni.JObjType $type = - type; - - CreateCredentialRequest_DisplayInfo_Companion.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/CreateCredentialRequest$DisplayInfo$Companion"); - - /// The type which includes information such as the signature of this class. - static const type = $CreateCredentialRequest_DisplayInfo_CompanionType(); - static final _id_parseFromCredentialDataBundle = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"parseFromCredentialDataBundle", - r"(Landroid/os/Bundle;)Landroidx/credentials/CreateCredentialRequest$DisplayInfo;"); - - /// from: public final androidx.credentials.CreateCredentialRequest$DisplayInfo parseFromCredentialDataBundle(android.os.Bundle bundle) - /// The returned object must be released after use, by calling the [release] method. - CreateCredentialRequest_DisplayInfo parseFromCredentialDataBundle( - Bundle bundle, - ) { - return const $CreateCredentialRequest_DisplayInfoType().fromRef( - jni.Jni.accessors.callMethodWithArgs( - reference, - _id_parseFromCredentialDataBundle, - jni.JniCallType.objectType, - [bundle.reference]).object); - } - - static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialRequest_DisplayInfo_Companion( - jni.JObject defaultConstructorMarker, - ) { - return CreateCredentialRequest_DisplayInfo_Companion.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, - [defaultConstructorMarker.reference]).object); - } -} - -final class $CreateCredentialRequest_DisplayInfo_CompanionType - extends jni.JObjType { - const $CreateCredentialRequest_DisplayInfo_CompanionType(); - - @override - String get signature => - r"Landroidx/credentials/CreateCredentialRequest$DisplayInfo$Companion;"; - - @override - CreateCredentialRequest_DisplayInfo_Companion fromRef(jni.JObjectPtr ref) => - CreateCredentialRequest_DisplayInfo_Companion.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => - ($CreateCredentialRequest_DisplayInfo_CompanionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == - ($CreateCredentialRequest_DisplayInfo_CompanionType) && - other is $CreateCredentialRequest_DisplayInfo_CompanionType; - } -} - -/// from: androidx.credentials.CreateCredentialRequest$DisplayInfo -class CreateCredentialRequest_DisplayInfo extends jni.JObject { - @override - late final jni.JObjType $type = type; - - CreateCredentialRequest_DisplayInfo.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/CreateCredentialRequest$DisplayInfo"); - - /// The type which includes information such as the signature of this class. - static const type = $CreateCredentialRequest_DisplayInfoType(); - static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"Companion", - r"Landroidx/credentials/CreateCredentialRequest$DisplayInfo$Companion;", - ); - - /// from: static public final androidx.credentials.CreateCredentialRequest$DisplayInfo$Companion Companion - /// The returned object must be released after use, by calling the [release] method. - static CreateCredentialRequest_DisplayInfo_Companion get Companion => - const $CreateCredentialRequest_DisplayInfo_CompanionType().fromRef(jni - .Jni.accessors - .getStaticField( - _class.reference, _id_Companion, jni.JniCallType.objectType) - .object); - - /// from: static public final java.lang.String BUNDLE_KEY_REQUEST_DISPLAY_INFO - static const BUNDLE_KEY_REQUEST_DISPLAY_INFO = - r"""androidx.credentials.BUNDLE_KEY_REQUEST_DISPLAY_INFO"""; - - /// from: static public final java.lang.String BUNDLE_KEY_USER_ID - static const BUNDLE_KEY_USER_ID = - r"""androidx.credentials.BUNDLE_KEY_USER_ID"""; - - /// from: static public final java.lang.String BUNDLE_KEY_USER_DISPLAY_NAME - static const BUNDLE_KEY_USER_DISPLAY_NAME = - r"""androidx.credentials.BUNDLE_KEY_USER_DISPLAY_NAME"""; - - /// from: static public final java.lang.String BUNDLE_KEY_CREDENTIAL_TYPE_ICON - static const BUNDLE_KEY_CREDENTIAL_TYPE_ICON = - r"""androidx.credentials.BUNDLE_KEY_CREDENTIAL_TYPE_ICON"""; - - /// from: static public final java.lang.String BUNDLE_KEY_DEFAULT_PROVIDER - static const BUNDLE_KEY_DEFAULT_PROVIDER = - r"""androidx.credentials.BUNDLE_KEY_DEFAULT_PROVIDER"""; - - static final _id_new0 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/graphics/drawable/Icon;Ljava/lang/String;)V"); - - /// from: public void (java.lang.CharSequence charSequence, java.lang.CharSequence charSequence1, android.graphics.drawable.Icon icon, java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialRequest_DisplayInfo( - jni.JObject charSequence, - jni.JObject charSequence1, - jni.JObject icon, - jni.JString string, - ) { - return CreateCredentialRequest_DisplayInfo.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, [ - charSequence.reference, - charSequence1.reference, - icon.reference, - string.reference - ]).object); - } - - static final _id_getUserId = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getUserId", r"()Ljava/lang/CharSequence;"); - - /// from: public final java.lang.CharSequence getUserId() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getUserId() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getUserId, jni.JniCallType.objectType, []).object); - } - - static final _id_getUserDisplayName = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getUserDisplayName", r"()Ljava/lang/CharSequence;"); - - /// from: public final java.lang.CharSequence getUserDisplayName() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getUserDisplayName() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getUserDisplayName, - jni.JniCallType.objectType, []).object); - } - - static final _id_getCredentialTypeIcon = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getCredentialTypeIcon", - r"()Landroid/graphics/drawable/Icon;"); - - /// from: public final android.graphics.drawable.Icon getCredentialTypeIcon() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getCredentialTypeIcon() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getCredentialTypeIcon, - jni.JniCallType.objectType, []).object); - } - - static final _id_getPreferDefaultProvider = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getPreferDefaultProvider", r"()Ljava/lang/String;"); - - /// from: public final java.lang.String getPreferDefaultProvider() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getPreferDefaultProvider() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getPreferDefaultProvider, - jni.JniCallType.objectType, []).object); - } - - static final _id_new1 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V"); - - /// from: public void (java.lang.CharSequence charSequence, java.lang.CharSequence charSequence1) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialRequest_DisplayInfo.new1( - jni.JObject charSequence, - jni.JObject charSequence1, - ) { - return CreateCredentialRequest_DisplayInfo.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new1, - [charSequence.reference, charSequence1.reference]).object); - } - - static final _id_new2 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/lang/CharSequence;Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (java.lang.CharSequence charSequence, java.lang.CharSequence charSequence1, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialRequest_DisplayInfo.new2( - jni.JObject charSequence, - jni.JObject charSequence1, - int i, - jni.JObject defaultConstructorMarker, - ) { - return CreateCredentialRequest_DisplayInfo.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new2, [ - charSequence.reference, - charSequence1.reference, - jni.JValueInt(i), - defaultConstructorMarker.reference - ]).object); - } - - static final _id_new3 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/String;)V"); - - /// from: public void (java.lang.CharSequence charSequence, java.lang.CharSequence charSequence1, java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialRequest_DisplayInfo.new3( - jni.JObject charSequence, - jni.JObject charSequence1, - jni.JString string, - ) { - return CreateCredentialRequest_DisplayInfo.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new3, [ - charSequence.reference, - charSequence1.reference, - string.reference - ]).object); - } - - static final _id_toBundle = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"toBundle", r"()Landroid/os/Bundle;"); - - /// from: public final android.os.Bundle toBundle() - /// The returned object must be released after use, by calling the [release] method. - Bundle toBundle() { - return const $BundleType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_toBundle, jni.JniCallType.objectType, []).object); - } - - static final _id_new4 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Ljava/lang/CharSequence;)V"); - - /// from: public void (java.lang.CharSequence charSequence) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialRequest_DisplayInfo.new4( - jni.JObject charSequence, - ) { - return CreateCredentialRequest_DisplayInfo.fromRef(jni.Jni.accessors - .newObjectWithArgs( - _class.reference, _id_new4, [charSequence.reference]).object); - } - - static final _id_parseFromCredentialDataBundle = jni.Jni.accessors - .getStaticMethodIDOf(_class.reference, r"parseFromCredentialDataBundle", - r"(Landroid/os/Bundle;)Landroidx/credentials/CreateCredentialRequest$DisplayInfo;"); - - /// from: static public final androidx.credentials.CreateCredentialRequest$DisplayInfo parseFromCredentialDataBundle(android.os.Bundle bundle) - /// The returned object must be released after use, by calling the [release] method. - static CreateCredentialRequest_DisplayInfo parseFromCredentialDataBundle( - Bundle bundle, - ) { - return const $CreateCredentialRequest_DisplayInfoType().fromRef( - jni.Jni.accessors.callStaticMethodWithArgs( - _class.reference, - _id_parseFromCredentialDataBundle, - jni.JniCallType.objectType, - [bundle.reference]).object); - } -} - -final class $CreateCredentialRequest_DisplayInfoType - extends jni.JObjType { - const $CreateCredentialRequest_DisplayInfoType(); - - @override - String get signature => - r"Landroidx/credentials/CreateCredentialRequest$DisplayInfo;"; - - @override - CreateCredentialRequest_DisplayInfo fromRef(jni.JObjectPtr ref) => - CreateCredentialRequest_DisplayInfo.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($CreateCredentialRequest_DisplayInfoType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CreateCredentialRequest_DisplayInfoType) && - other is $CreateCredentialRequest_DisplayInfoType; - } -} - -/// from: androidx.credentials.CreateCredentialRequest -class CreateCredentialRequest extends jni.JObject { - @override - late final jni.JObjType $type = type; - - CreateCredentialRequest.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"androidx/credentials/CreateCredentialRequest"); - - /// The type which includes information such as the signature of this class. - static const type = $CreateCredentialRequestType(); - static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"Companion", - r"Landroidx/credentials/CreateCredentialRequest$Companion;", - ); - - /// from: static public final androidx.credentials.CreateCredentialRequest$Companion Companion - /// The returned object must be released after use, by calling the [release] method. - static CreateCredentialRequest_Companion get Companion => - const $CreateCredentialRequest_CompanionType().fromRef(jni.Jni.accessors - .getStaticField( - _class.reference, _id_Companion, jni.JniCallType.objectType) - .object); - - /// from: static public final java.lang.String BUNDLE_KEY_PREFER_IMMEDIATELY_AVAILABLE_CREDENTIALS - static const BUNDLE_KEY_PREFER_IMMEDIATELY_AVAILABLE_CREDENTIALS = - r"""androidx.credentials.BUNDLE_KEY_PREFER_IMMEDIATELY_AVAILABLE_CREDENTIALS"""; - - /// from: static public final java.lang.String BUNDLE_KEY_IS_AUTO_SELECT_ALLOWED - static const BUNDLE_KEY_IS_AUTO_SELECT_ALLOWED = - r"""androidx.credentials.BUNDLE_KEY_IS_AUTO_SELECT_ALLOWED"""; - - static final _id_new0 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/Bundle;ZZLandroidx/credentials/CreateCredentialRequest$DisplayInfo;Ljava/lang/String;Z)V"); - - /// from: public void (java.lang.String string, android.os.Bundle bundle, android.os.Bundle bundle1, boolean z, boolean z1, androidx.credentials.CreateCredentialRequest$DisplayInfo displayInfo, java.lang.String string1, boolean z2) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialRequest( - jni.JString string, - Bundle bundle, - Bundle bundle1, - bool z, - bool z1, - CreateCredentialRequest_DisplayInfo displayInfo, - jni.JString string1, - bool z2, - ) { - return CreateCredentialRequest.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, [ - string.reference, - bundle.reference, - bundle1.reference, - z ? 1 : 0, - z1 ? 1 : 0, - displayInfo.reference, - string1.reference, - z2 ? 1 : 0 - ]).object); - } - - static final _id_getType = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getType", r"()Ljava/lang/String;"); - - /// from: public final java.lang.String getType() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getType() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getType, jni.JniCallType.objectType, []).object); - } - - static final _id_getCredentialData = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getCredentialData", r"()Landroid/os/Bundle;"); - - /// from: public final android.os.Bundle getCredentialData() - /// The returned object must be released after use, by calling the [release] method. - Bundle getCredentialData() { - return const $BundleType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getCredentialData, - jni.JniCallType.objectType, []).object); - } - - static final _id_getCandidateQueryData = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getCandidateQueryData", r"()Landroid/os/Bundle;"); - - /// from: public final android.os.Bundle getCandidateQueryData() - /// The returned object must be released after use, by calling the [release] method. - Bundle getCandidateQueryData() { - return const $BundleType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getCandidateQueryData, - jni.JniCallType.objectType, []).object); - } - - static final _id_isSystemProviderRequired = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"isSystemProviderRequired", r"()Z"); - - /// from: public final boolean isSystemProviderRequired() - bool isSystemProviderRequired() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_isSystemProviderRequired, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_isAutoSelectAllowed = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"isAutoSelectAllowed", r"()Z"); - - /// from: public final boolean isAutoSelectAllowed() - bool isAutoSelectAllowed() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_isAutoSelectAllowed, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_getDisplayInfo = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getDisplayInfo", - r"()Landroidx/credentials/CreateCredentialRequest$DisplayInfo;"); - - /// from: public final androidx.credentials.CreateCredentialRequest$DisplayInfo getDisplayInfo() - /// The returned object must be released after use, by calling the [release] method. - CreateCredentialRequest_DisplayInfo getDisplayInfo() { - return const $CreateCredentialRequest_DisplayInfoType().fromRef( - jni.Jni.accessors.callMethodWithArgs(reference, _id_getDisplayInfo, - jni.JniCallType.objectType, []).object); - } - - static final _id_getOrigin = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getOrigin", r"()Ljava/lang/String;"); - - /// from: public final java.lang.String getOrigin() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getOrigin() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getOrigin, jni.JniCallType.objectType, []).object); - } - - static final _id_preferImmediatelyAvailableCredentials = jni.Jni.accessors - .getMethodIDOf( - _class.reference, r"preferImmediatelyAvailableCredentials", r"()Z"); - - /// from: public final boolean preferImmediatelyAvailableCredentials() - bool preferImmediatelyAvailableCredentials() { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_preferImmediatelyAvailableCredentials, - jni.JniCallType.booleanType, []).boolean; - } - - static final _id_createFrom = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"createFrom", - r"(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/Bundle;ZLjava/lang/String;)Landroidx/credentials/CreateCredentialRequest;"); - - /// from: static public final androidx.credentials.CreateCredentialRequest createFrom(java.lang.String string, android.os.Bundle bundle, android.os.Bundle bundle1, boolean z, java.lang.String string1) - /// The returned object must be released after use, by calling the [release] method. - static CreateCredentialRequest createFrom( - jni.JString string, - Bundle bundle, - Bundle bundle1, - bool z, - jni.JString string1, - ) { - return const $CreateCredentialRequestType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, _id_createFrom, jni.JniCallType.objectType, [ - string.reference, - bundle.reference, - bundle1.reference, - z ? 1 : 0, - string1.reference - ]).object); - } -} - -final class $CreateCredentialRequestType - extends jni.JObjType { - const $CreateCredentialRequestType(); - - @override - String get signature => r"Landroidx/credentials/CreateCredentialRequest;"; - - @override - CreateCredentialRequest fromRef(jni.JObjectPtr ref) => - CreateCredentialRequest.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($CreateCredentialRequestType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CreateCredentialRequestType) && - other is $CreateCredentialRequestType; - } -} - -/// from: androidx.credentials.CreateCredentialResponse$Companion -class CreateCredentialResponse_Companion extends jni.JObject { - @override - late final jni.JObjType $type = type; - - CreateCredentialResponse_Companion.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/CreateCredentialResponse$Companion"); - - /// The type which includes information such as the signature of this class. - static const type = $CreateCredentialResponse_CompanionType(); - static final _id_createFrom = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"createFrom", - r"(Ljava/lang/String;Landroid/os/Bundle;)Landroidx/credentials/CreateCredentialResponse;"); - - /// from: public final androidx.credentials.CreateCredentialResponse createFrom(java.lang.String string, android.os.Bundle bundle) - /// The returned object must be released after use, by calling the [release] method. - CreateCredentialResponse createFrom( - jni.JString string, - Bundle bundle, - ) { - return const $CreateCredentialResponseType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_createFrom, - jni.JniCallType.objectType, - [string.reference, bundle.reference]).object); - } - - static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialResponse_Companion( - jni.JObject defaultConstructorMarker, - ) { - return CreateCredentialResponse_Companion.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, - [defaultConstructorMarker.reference]).object); - } -} - -final class $CreateCredentialResponse_CompanionType - extends jni.JObjType { - const $CreateCredentialResponse_CompanionType(); - - @override - String get signature => - r"Landroidx/credentials/CreateCredentialResponse$Companion;"; - - @override - CreateCredentialResponse_Companion fromRef(jni.JObjectPtr ref) => - CreateCredentialResponse_Companion.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($CreateCredentialResponse_CompanionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CreateCredentialResponse_CompanionType) && - other is $CreateCredentialResponse_CompanionType; - } -} - -/// from: androidx.credentials.CreateCredentialResponse -class CreateCredentialResponse extends jni.JObject { - @override - late final jni.JObjType $type = type; - - CreateCredentialResponse.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"androidx/credentials/CreateCredentialResponse"); - - /// The type which includes information such as the signature of this class. - static const type = $CreateCredentialResponseType(); - static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"Companion", - r"Landroidx/credentials/CreateCredentialResponse$Companion;", - ); - - /// from: static public final androidx.credentials.CreateCredentialResponse$Companion Companion - /// The returned object must be released after use, by calling the [release] method. - static CreateCredentialResponse_Companion get Companion => - const $CreateCredentialResponse_CompanionType().fromRef(jni.Jni.accessors - .getStaticField( - _class.reference, _id_Companion, jni.JniCallType.objectType) - .object); - - static final _id_new0 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Ljava/lang/String;Landroid/os/Bundle;)V"); - - /// from: public void (java.lang.String string, android.os.Bundle bundle) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialResponse( - jni.JString string, - Bundle bundle, - ) { - return CreateCredentialResponse.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, - _id_new0, - [string.reference, bundle.reference]).object); - } - - static final _id_getType = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getType", r"()Ljava/lang/String;"); - - /// from: public final java.lang.String getType() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getType() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getType, jni.JniCallType.objectType, []).object); - } - - static final _id_getData = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getData", r"()Landroid/os/Bundle;"); - - /// from: public final android.os.Bundle getData() - /// The returned object must be released after use, by calling the [release] method. - Bundle getData() { - return const $BundleType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getData, jni.JniCallType.objectType, []).object); - } - - static final _id_createFrom = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"createFrom", - r"(Ljava/lang/String;Landroid/os/Bundle;)Landroidx/credentials/CreateCredentialResponse;"); - - /// from: static public final androidx.credentials.CreateCredentialResponse createFrom(java.lang.String string, android.os.Bundle bundle) - /// The returned object must be released after use, by calling the [release] method. - static CreateCredentialResponse createFrom( - jni.JString string, - Bundle bundle, - ) { - return const $CreateCredentialResponseType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_createFrom, - jni.JniCallType.objectType, - [string.reference, bundle.reference]).object); - } -} - -final class $CreateCredentialResponseType - extends jni.JObjType { - const $CreateCredentialResponseType(); - - @override - String get signature => r"Landroidx/credentials/CreateCredentialResponse;"; - - @override - CreateCredentialResponse fromRef(jni.JObjectPtr ref) => - CreateCredentialResponse.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($CreateCredentialResponseType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CreateCredentialResponseType) && - other is $CreateCredentialResponseType; - } -} - -/// from: androidx.credentials.CreatePublicKeyCredentialRequest$Companion -class CreatePublicKeyCredentialRequest_Companion extends jni.JObject { - @override - late final jni.JObjType $type = - type; - - CreatePublicKeyCredentialRequest_Companion.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/CreatePublicKeyCredentialRequest$Companion"); - - /// The type which includes information such as the signature of this class. - static const type = $CreatePublicKeyCredentialRequest_CompanionType(); - static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory CreatePublicKeyCredentialRequest_Companion( - jni.JObject defaultConstructorMarker, - ) { - return CreatePublicKeyCredentialRequest_Companion.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, - [defaultConstructorMarker.reference]).object); - } -} - -final class $CreatePublicKeyCredentialRequest_CompanionType - extends jni.JObjType { - const $CreatePublicKeyCredentialRequest_CompanionType(); - - @override - String get signature => - r"Landroidx/credentials/CreatePublicKeyCredentialRequest$Companion;"; - - @override - CreatePublicKeyCredentialRequest_Companion fromRef(jni.JObjectPtr ref) => - CreatePublicKeyCredentialRequest_Companion.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => - ($CreatePublicKeyCredentialRequest_CompanionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == - ($CreatePublicKeyCredentialRequest_CompanionType) && - other is $CreatePublicKeyCredentialRequest_CompanionType; - } -} - -/// from: androidx.credentials.CreatePublicKeyCredentialRequest -class CreatePublicKeyCredentialRequest extends CreateCredentialRequest { - @override - late final jni.JObjType $type = type; - - CreatePublicKeyCredentialRequest.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/CreatePublicKeyCredentialRequest"); - - /// The type which includes information such as the signature of this class. - static const type = $CreatePublicKeyCredentialRequestType(); - static final _id_Companion1 = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"Companion", - r"Landroidx/credentials/CreatePublicKeyCredentialRequest$Companion;", - ); - - /// from: static public final androidx.credentials.CreatePublicKeyCredentialRequest$Companion Companion - /// The returned object must be released after use, by calling the [release] method. - static CreatePublicKeyCredentialRequest_Companion get Companion1 => - const $CreatePublicKeyCredentialRequest_CompanionType().fromRef(jni - .Jni.accessors - .getStaticField( - _class.reference, _id_Companion1, jni.JniCallType.objectType) - .object); - - /// from: static public final java.lang.String BUNDLE_KEY_CLIENT_DATA_HASH - static const BUNDLE_KEY_CLIENT_DATA_HASH = - r"""androidx.credentials.BUNDLE_KEY_CLIENT_DATA_HASH"""; - - /// from: static public final java.lang.String BUNDLE_KEY_REQUEST_JSON - static const BUNDLE_KEY_REQUEST_JSON = - r"""androidx.credentials.BUNDLE_KEY_REQUEST_JSON"""; - - /// from: static public final java.lang.String BUNDLE_VALUE_SUBTYPE_CREATE_PUBLIC_KEY_CREDENTIAL_REQUEST - static const BUNDLE_VALUE_SUBTYPE_CREATE_PUBLIC_KEY_CREDENTIAL_REQUEST = - r"""androidx.credentials.BUNDLE_VALUE_SUBTYPE_CREATE_PUBLIC_KEY_CREDENTIAL_REQUEST"""; - - static final _id_getRequestJson = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getRequestJson", r"()Ljava/lang/String;"); - - /// from: public final java.lang.String getRequestJson() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getRequestJson() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getRequestJson, jni.JniCallType.objectType, []).object); - } - - static final _id_getClientDataHash = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getClientDataHash", r"()[B"); - - /// from: public final byte[] getClientDataHash() - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getClientDataHash() { - return const jni.JArrayType(jni.jbyteType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getClientDataHash, - jni.JniCallType.objectType, []).object); - } - - static final _id_new1 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Ljava/lang/String;[BZLjava/lang/String;Z)V"); - - /// from: public void (java.lang.String string, byte[] bs, boolean z, java.lang.String string1, boolean z1) - /// The returned object must be released after use, by calling the [release] method. - factory CreatePublicKeyCredentialRequest.new1( - jni.JString string, - jni.JArray bs, - bool z, - jni.JString string1, - bool z1, - ) { - return CreatePublicKeyCredentialRequest.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new1, [ - string.reference, - bs.reference, - z ? 1 : 0, - string1.reference, - z1 ? 1 : 0 - ]).object); - } - - static final _id_new2 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/lang/String;[BZLjava/lang/String;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (java.lang.String string, byte[] bs, boolean z, java.lang.String string1, boolean z1, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory CreatePublicKeyCredentialRequest.new2( - jni.JString string, - jni.JArray bs, - bool z, - jni.JString string1, - bool z1, - int i, - jni.JObject defaultConstructorMarker, - ) { - return CreatePublicKeyCredentialRequest.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new2, [ - string.reference, - bs.reference, - z ? 1 : 0, - string1.reference, - z1 ? 1 : 0, - jni.JValueInt(i), - defaultConstructorMarker.reference - ]).object); - } - - static final _id_new3 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/lang/String;[BZLjava/lang/String;Ljava/lang/String;Z)V"); - - /// from: public void (java.lang.String string, byte[] bs, boolean z, java.lang.String string1, java.lang.String string2, boolean z1) - /// The returned object must be released after use, by calling the [release] method. - factory CreatePublicKeyCredentialRequest.new3( - jni.JString string, - jni.JArray bs, - bool z, - jni.JString string1, - jni.JString string2, - bool z1, - ) { - return CreatePublicKeyCredentialRequest.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new3, [ - string.reference, - bs.reference, - z ? 1 : 0, - string1.reference, - string2.reference, - z1 ? 1 : 0 - ]).object); - } - - static final _id_new4 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Ljava/lang/String;[BZLjava/lang/String;)V"); - - /// from: public void (java.lang.String string, byte[] bs, boolean z, java.lang.String string1) - /// The returned object must be released after use, by calling the [release] method. - factory CreatePublicKeyCredentialRequest.new4( - jni.JString string, - jni.JArray bs, - bool z, - jni.JString string1, - ) { - return CreatePublicKeyCredentialRequest.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new4, [ - string.reference, - bs.reference, - z ? 1 : 0, - string1.reference - ]).object); - } - - static final _id_new5 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;[BZ)V"); - - /// from: public void (java.lang.String string, byte[] bs, boolean z) - /// The returned object must be released after use, by calling the [release] method. - factory CreatePublicKeyCredentialRequest.new5( - jni.JString string, - jni.JArray bs, - bool z, - ) { - return CreatePublicKeyCredentialRequest.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new5, - [string.reference, bs.reference, z ? 1 : 0]).object); - } - - static final _id_new6 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;[B)V"); - - /// from: public void (java.lang.String string, byte[] bs) - /// The returned object must be released after use, by calling the [release] method. - factory CreatePublicKeyCredentialRequest.new6( - jni.JString string, - jni.JArray bs, - ) { - return CreatePublicKeyCredentialRequest.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new6, - [string.reference, bs.reference]).object); - } - - static final _id_new7 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); - - /// from: public void (java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - factory CreatePublicKeyCredentialRequest.new7( - jni.JString string, - ) { - return CreatePublicKeyCredentialRequest.fromRef(jni.Jni.accessors - .newObjectWithArgs( - _class.reference, _id_new7, [string.reference]).object); - } - - static final _id_new8 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/lang/String;[BZZLandroidx/credentials/CreateCredentialRequest$DisplayInfo;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/Bundle;Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (java.lang.String string, byte[] bs, boolean z, boolean z1, androidx.credentials.CreateCredentialRequest$DisplayInfo displayInfo, java.lang.String string1, android.os.Bundle bundle, android.os.Bundle bundle1, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory CreatePublicKeyCredentialRequest.new8( - jni.JString string, - jni.JArray bs, - bool z, - bool z1, - CreateCredentialRequest_DisplayInfo displayInfo, - jni.JString string1, - Bundle bundle, - Bundle bundle1, - jni.JObject defaultConstructorMarker, - ) { - return CreatePublicKeyCredentialRequest.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new8, [ - string.reference, - bs.reference, - z ? 1 : 0, - z1 ? 1 : 0, - displayInfo.reference, - string1.reference, - bundle.reference, - bundle1.reference, - defaultConstructorMarker.reference - ]).object); - } -} - -final class $CreatePublicKeyCredentialRequestType - extends jni.JObjType { - const $CreatePublicKeyCredentialRequestType(); - - @override - String get signature => - r"Landroidx/credentials/CreatePublicKeyCredentialRequest;"; - - @override - CreatePublicKeyCredentialRequest fromRef(jni.JObjectPtr ref) => - CreatePublicKeyCredentialRequest.fromRef(ref); - - @override - jni.JObjType get superType => const $CreateCredentialRequestType(); - - @override - final superCount = 2; - - @override - int get hashCode => ($CreatePublicKeyCredentialRequestType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CreatePublicKeyCredentialRequestType) && - other is $CreatePublicKeyCredentialRequestType; - } -} - -/// from: androidx.credentials.CreatePublicKeyCredentialResponse$Companion -class CreatePublicKeyCredentialResponse_Companion extends jni.JObject { - @override - late final jni.JObjType $type = - type; - - CreatePublicKeyCredentialResponse_Companion.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/CreatePublicKeyCredentialResponse$Companion"); - - /// The type which includes information such as the signature of this class. - static const type = $CreatePublicKeyCredentialResponse_CompanionType(); - static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory CreatePublicKeyCredentialResponse_Companion( - jni.JObject defaultConstructorMarker, - ) { - return CreatePublicKeyCredentialResponse_Companion.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, - [defaultConstructorMarker.reference]).object); - } -} - -final class $CreatePublicKeyCredentialResponse_CompanionType - extends jni.JObjType { - const $CreatePublicKeyCredentialResponse_CompanionType(); - - @override - String get signature => - r"Landroidx/credentials/CreatePublicKeyCredentialResponse$Companion;"; - - @override - CreatePublicKeyCredentialResponse_Companion fromRef(jni.JObjectPtr ref) => - CreatePublicKeyCredentialResponse_Companion.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => - ($CreatePublicKeyCredentialResponse_CompanionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == - ($CreatePublicKeyCredentialResponse_CompanionType) && - other is $CreatePublicKeyCredentialResponse_CompanionType; - } -} - -/// from: androidx.credentials.CreatePublicKeyCredentialResponse -class CreatePublicKeyCredentialResponse extends CreateCredentialResponse { - @override - late final jni.JObjType $type = type; - - CreatePublicKeyCredentialResponse.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/CreatePublicKeyCredentialResponse"); - - /// The type which includes information such as the signature of this class. - static const type = $CreatePublicKeyCredentialResponseType(); - static final _id_Companion1 = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"Companion", - r"Landroidx/credentials/CreatePublicKeyCredentialResponse$Companion;", - ); - - /// from: static public final androidx.credentials.CreatePublicKeyCredentialResponse$Companion Companion - /// The returned object must be released after use, by calling the [release] method. - static CreatePublicKeyCredentialResponse_Companion get Companion1 => - const $CreatePublicKeyCredentialResponse_CompanionType().fromRef(jni - .Jni.accessors - .getStaticField( - _class.reference, _id_Companion1, jni.JniCallType.objectType) - .object); - - /// from: static public final java.lang.String BUNDLE_KEY_REGISTRATION_RESPONSE_JSON - static const BUNDLE_KEY_REGISTRATION_RESPONSE_JSON = - r"""androidx.credentials.BUNDLE_KEY_REGISTRATION_RESPONSE_JSON"""; - - static final _id_getRegistrationResponseJson = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getRegistrationResponseJson", - r"()Ljava/lang/String;"); - - /// from: public final java.lang.String getRegistrationResponseJson() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getRegistrationResponseJson() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getRegistrationResponseJson, - jni.JniCallType.objectType, []).object); - } - - static final _id_new1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); - - /// from: public void (java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - factory CreatePublicKeyCredentialResponse.new1( - jni.JString string, - ) { - return CreatePublicKeyCredentialResponse.fromRef(jni.Jni.accessors - .newObjectWithArgs( - _class.reference, _id_new1, [string.reference]).object); - } - - static final _id_new2 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/lang/String;Landroid/os/Bundle;Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (java.lang.String string, android.os.Bundle bundle, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory CreatePublicKeyCredentialResponse.new2( - jni.JString string, - Bundle bundle, - jni.JObject defaultConstructorMarker, - ) { - return CreatePublicKeyCredentialResponse.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new2, [ - string.reference, - bundle.reference, - defaultConstructorMarker.reference - ]).object); - } -} - -final class $CreatePublicKeyCredentialResponseType - extends jni.JObjType { - const $CreatePublicKeyCredentialResponseType(); - - @override - String get signature => - r"Landroidx/credentials/CreatePublicKeyCredentialResponse;"; - - @override - CreatePublicKeyCredentialResponse fromRef(jni.JObjectPtr ref) => - CreatePublicKeyCredentialResponse.fromRef(ref); - - @override - jni.JObjType get superType => const $CreateCredentialResponseType(); - - @override - final superCount = 2; - - @override - int get hashCode => ($CreatePublicKeyCredentialResponseType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CreatePublicKeyCredentialResponseType) && - other is $CreatePublicKeyCredentialResponseType; - } -} - -/// from: androidx.credentials.Credential$Companion -class Credential_Companion extends jni.JObject { - @override - late final jni.JObjType $type = type; - - Credential_Companion.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"androidx/credentials/Credential$Companion"); - - /// The type which includes information such as the signature of this class. - static const type = $Credential_CompanionType(); - static final _id_createFrom = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"createFrom", - r"(Ljava/lang/String;Landroid/os/Bundle;)Landroidx/credentials/Credential;"); - - /// from: public final androidx.credentials.Credential createFrom(java.lang.String string, android.os.Bundle bundle) - /// The returned object must be released after use, by calling the [release] method. - Credential createFrom( - jni.JString string, - Bundle bundle, - ) { - return const $CredentialType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_createFrom, - jni.JniCallType.objectType, - [string.reference, bundle.reference]).object); - } - - static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory Credential_Companion( - jni.JObject defaultConstructorMarker, - ) { - return Credential_Companion.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, - _id_new0, - [defaultConstructorMarker.reference]).object); - } -} - -final class $Credential_CompanionType - extends jni.JObjType { - const $Credential_CompanionType(); - - @override - String get signature => r"Landroidx/credentials/Credential$Companion;"; - - @override - Credential_Companion fromRef(jni.JObjectPtr ref) => - Credential_Companion.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($Credential_CompanionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($Credential_CompanionType) && - other is $Credential_CompanionType; - } -} - -/// from: androidx.credentials.Credential -class Credential extends jni.JObject { - @override - late final jni.JObjType $type = type; - - Credential.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass(r"androidx/credentials/Credential"); - - /// The type which includes information such as the signature of this class. - static const type = $CredentialType(); - static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"Companion", - r"Landroidx/credentials/Credential$Companion;", - ); - - /// from: static public final androidx.credentials.Credential$Companion Companion - /// The returned object must be released after use, by calling the [release] method. - static Credential_Companion get Companion => - const $Credential_CompanionType().fromRef(jni.Jni.accessors - .getStaticField( - _class.reference, _id_Companion, jni.JniCallType.objectType) - .object); - - static final _id_new0 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Ljava/lang/String;Landroid/os/Bundle;)V"); - - /// from: public void (java.lang.String string, android.os.Bundle bundle) - /// The returned object must be released after use, by calling the [release] method. - factory Credential( - jni.JString string, - Bundle bundle, - ) { - return Credential.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, - _id_new0, - [string.reference, bundle.reference]).object); - } - - static final _id_getType = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getType", r"()Ljava/lang/String;"); - - /// from: public final java.lang.String getType() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getType() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getType, jni.JniCallType.objectType, []).object); - } - - static final _id_getData = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getData", r"()Landroid/os/Bundle;"); - - /// from: public final android.os.Bundle getData() - /// The returned object must be released after use, by calling the [release] method. - Bundle getData() { - return const $BundleType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getData, jni.JniCallType.objectType, []).object); - } - - static final _id_createFrom = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"createFrom", - r"(Ljava/lang/String;Landroid/os/Bundle;)Landroidx/credentials/Credential;"); - - /// from: static public final androidx.credentials.Credential createFrom(java.lang.String string, android.os.Bundle bundle) - /// The returned object must be released after use, by calling the [release] method. - static Credential createFrom( - jni.JString string, - Bundle bundle, - ) { - return const $CredentialType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_createFrom, - jni.JniCallType.objectType, - [string.reference, bundle.reference]).object); - } -} - -final class $CredentialType extends jni.JObjType { - const $CredentialType(); - - @override - String get signature => r"Landroidx/credentials/Credential;"; - - @override - Credential fromRef(jni.JObjectPtr ref) => Credential.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($CredentialType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CredentialType) && other is $CredentialType; - } -} - -/// from: androidx.credentials.CredentialManager$Companion -class CredentialManager_Companion extends jni.JObject { - @override - late final jni.JObjType $type = type; - - CredentialManager_Companion.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"androidx/credentials/CredentialManager$Companion"); - - /// The type which includes information such as the signature of this class. - static const type = $CredentialManager_CompanionType(); - static final _id_create = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"create", - r"(Landroid/content/Context;)Landroidx/credentials/CredentialManager;"); - - /// from: public final androidx.credentials.CredentialManager create(android.content.Context context) - /// The returned object must be released after use, by calling the [release] method. - CredentialManager create( - Context context, - ) { - return const $CredentialManagerType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_create, jni.JniCallType.objectType, - [context.reference]).object); - } -} - -final class $CredentialManager_CompanionType - extends jni.JObjType { - const $CredentialManager_CompanionType(); - - @override - String get signature => r"Landroidx/credentials/CredentialManager$Companion;"; - - @override - CredentialManager_Companion fromRef(jni.JObjectPtr ref) => - CredentialManager_Companion.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($CredentialManager_CompanionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CredentialManager_CompanionType) && - other is $CredentialManager_CompanionType; - } -} - -/// from: androidx.credentials.CredentialManager -class CredentialManager extends jni.JObject { - @override - late final jni.JObjType $type = type; - - CredentialManager.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"androidx/credentials/CredentialManager"); - - /// The type which includes information such as the signature of this class. - static const type = $CredentialManagerType(); - static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"Companion", - r"Landroidx/credentials/CredentialManager$Companion;", - ); - - /// from: static public final androidx.credentials.CredentialManager$Companion Companion - /// The returned object must be released after use, by calling the [release] method. - static CredentialManager_Companion get Companion => - const $CredentialManager_CompanionType().fromRef(jni.Jni.accessors - .getStaticField( - _class.reference, _id_Companion, jni.JniCallType.objectType) - .object); - - static final _id_getCredential = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getCredential", - r"(Landroid/content/Context;Landroidx/credentials/GetCredentialRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;"); - - /// from: public java.lang.Object getCredential(android.content.Context context, androidx.credentials.GetCredentialRequest getCredentialRequest, kotlin.coroutines.Continuation continuation) - /// The returned object must be released after use, by calling the [release] method. - Future getCredential( - Context context, - GetCredentialRequest getCredentialRequest, - ) async { - final $p = ReceivePort(); - final $c = - jni.JObject.fromRef(ProtectedJniExtensions.newPortContinuation($p)); - jni.Jni.accessors.callMethodWithArgs( - reference, _id_getCredential, jni.JniCallType.objectType, [ - context.reference, - getCredentialRequest.reference, - $c.reference - ]).object; - final $o = jni.JObjectPtr.fromAddress(await $p.first); - final $k = const $GetCredentialResponseType().getClass().reference; - if (!jni.Jni.env.IsInstanceOf($o, $k)) { - throw "Failed"; - } - return const $GetCredentialResponseType().fromRef($o); - } - - static final _id_getCredential1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getCredential", - r"(Landroid/content/Context;Landroidx/credentials/PrepareGetCredentialResponse$PendingGetCredentialHandle;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;"); - - /// from: public java.lang.Object getCredential(android.content.Context context, androidx.credentials.PrepareGetCredentialResponse$PendingGetCredentialHandle pendingGetCredentialHandle, kotlin.coroutines.Continuation continuation) - /// The returned object must be released after use, by calling the [release] method. - Future getCredential1( - Context context, - jni.JObject pendingGetCredentialHandle, - ) async { - final $p = ReceivePort(); - final $c = - jni.JObject.fromRef(ProtectedJniExtensions.newPortContinuation($p)); - jni.Jni.accessors.callMethodWithArgs( - reference, _id_getCredential1, jni.JniCallType.objectType, [ - context.reference, - pendingGetCredentialHandle.reference, - $c.reference - ]).object; - final $o = jni.JObjectPtr.fromAddress(await $p.first); - final $k = const $GetCredentialResponseType().getClass().reference; - if (!jni.Jni.env.IsInstanceOf($o, $k)) { - throw "Failed"; - } - return const $GetCredentialResponseType().fromRef($o); - } - - static final _id_prepareGetCredential = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"prepareGetCredential", - r"(Landroidx/credentials/GetCredentialRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;"); - - /// from: public java.lang.Object prepareGetCredential(androidx.credentials.GetCredentialRequest getCredentialRequest, kotlin.coroutines.Continuation continuation) - /// The returned object must be released after use, by calling the [release] method. - Future prepareGetCredential( - GetCredentialRequest getCredentialRequest, - ) async { - final $p = ReceivePort(); - final $c = - jni.JObject.fromRef(ProtectedJniExtensions.newPortContinuation($p)); - jni.Jni.accessors.callMethodWithArgs( - reference, - _id_prepareGetCredential, - jni.JniCallType.objectType, - [getCredentialRequest.reference, $c.reference]).object; - final $o = jni.JObjectPtr.fromAddress(await $p.first); - final $k = const jni.JObjectType().getClass().reference; - if (!jni.Jni.env.IsInstanceOf($o, $k)) { - throw "Failed"; - } - return const jni.JObjectType().fromRef($o); - } - - static final _id_createCredential = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"createCredential", - r"(Landroid/content/Context;Landroidx/credentials/CreateCredentialRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;"); - - /// from: public java.lang.Object createCredential(android.content.Context context, androidx.credentials.CreateCredentialRequest createCredentialRequest, kotlin.coroutines.Continuation continuation) - /// The returned object must be released after use, by calling the [release] method. - Future createCredential( - Context context, - CreateCredentialRequest createCredentialRequest, - ) async { - final $p = ReceivePort(); - final $c = - jni.JObject.fromRef(ProtectedJniExtensions.newPortContinuation($p)); - jni.Jni.accessors.callMethodWithArgs( - reference, _id_createCredential, jni.JniCallType.objectType, [ - context.reference, - createCredentialRequest.reference, - $c.reference - ]).object; - final $o = jni.JObjectPtr.fromAddress(await $p.first); - final $k = const $CreateCredentialResponseType().getClass().reference; - if (!jni.Jni.env.IsInstanceOf($o, $k)) { - throw "Failed"; - } - return const $CreateCredentialResponseType().fromRef($o); - } - - static final _id_clearCredentialState = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"clearCredentialState", - r"(Landroidx/credentials/ClearCredentialStateRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;"); - - /// from: public java.lang.Object clearCredentialState(androidx.credentials.ClearCredentialStateRequest clearCredentialStateRequest, kotlin.coroutines.Continuation continuation) - /// The returned object must be released after use, by calling the [release] method. - Future clearCredentialState( - jni.JObject clearCredentialStateRequest, - ) async { - final $p = ReceivePort(); - final $c = - jni.JObject.fromRef(ProtectedJniExtensions.newPortContinuation($p)); - jni.Jni.accessors.callMethodWithArgs( - reference, - _id_clearCredentialState, - jni.JniCallType.objectType, - [clearCredentialStateRequest.reference, $c.reference]).object; - final $o = jni.JObjectPtr.fromAddress(await $p.first); - final $k = const jni.JObjectType().getClass().reference; - if (!jni.Jni.env.IsInstanceOf($o, $k)) { - throw "Failed"; - } - return const jni.JObjectType().fromRef($o); - } - - static final _id_getCredentialAsync = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getCredentialAsync", - r"(Landroid/content/Context;Landroidx/credentials/GetCredentialRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V"); - - /// from: public abstract void getCredentialAsync(android.content.Context context, androidx.credentials.GetCredentialRequest getCredentialRequest, android.os.CancellationSignal cancellationSignal, java.util.concurrent.Executor executor, androidx.credentials.CredentialManagerCallback credentialManagerCallback) - void getCredentialAsync( - Context context, - GetCredentialRequest getCredentialRequest, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_getCredentialAsync, jni.JniCallType.voidType, [ - context.reference, - getCredentialRequest.reference, - cancellationSignal.reference, - executor.reference, - credentialManagerCallback.reference - ]).check(); - } - - static final _id_getCredentialAsync1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getCredentialAsync", - r"(Landroid/content/Context;Landroidx/credentials/PrepareGetCredentialResponse$PendingGetCredentialHandle;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V"); - - /// from: public abstract void getCredentialAsync(android.content.Context context, androidx.credentials.PrepareGetCredentialResponse$PendingGetCredentialHandle pendingGetCredentialHandle, android.os.CancellationSignal cancellationSignal, java.util.concurrent.Executor executor, androidx.credentials.CredentialManagerCallback credentialManagerCallback) - void getCredentialAsync1( - Context context, - jni.JObject pendingGetCredentialHandle, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_getCredentialAsync1, jni.JniCallType.voidType, [ - context.reference, - pendingGetCredentialHandle.reference, - cancellationSignal.reference, - executor.reference, - credentialManagerCallback.reference - ]).check(); - } - - static final _id_prepareGetCredentialAsync = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"prepareGetCredentialAsync", - r"(Landroidx/credentials/GetCredentialRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V"); - - /// from: public abstract void prepareGetCredentialAsync(androidx.credentials.GetCredentialRequest getCredentialRequest, android.os.CancellationSignal cancellationSignal, java.util.concurrent.Executor executor, androidx.credentials.CredentialManagerCallback credentialManagerCallback) - void prepareGetCredentialAsync( - GetCredentialRequest getCredentialRequest, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_prepareGetCredentialAsync, jni.JniCallType.voidType, [ - getCredentialRequest.reference, - cancellationSignal.reference, - executor.reference, - credentialManagerCallback.reference - ]).check(); - } - - static final _id_createCredentialAsync = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"createCredentialAsync", - r"(Landroid/content/Context;Landroidx/credentials/CreateCredentialRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V"); - - /// from: public abstract void createCredentialAsync(android.content.Context context, androidx.credentials.CreateCredentialRequest createCredentialRequest, android.os.CancellationSignal cancellationSignal, java.util.concurrent.Executor executor, androidx.credentials.CredentialManagerCallback credentialManagerCallback) - void createCredentialAsync( - Context context, - CreateCredentialRequest createCredentialRequest, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_createCredentialAsync, jni.JniCallType.voidType, [ - context.reference, - createCredentialRequest.reference, - cancellationSignal.reference, - executor.reference, - credentialManagerCallback.reference - ]).check(); - } - - static final _id_clearCredentialStateAsync = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"clearCredentialStateAsync", - r"(Landroidx/credentials/ClearCredentialStateRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V"); - - /// from: public abstract void clearCredentialStateAsync(androidx.credentials.ClearCredentialStateRequest clearCredentialStateRequest, android.os.CancellationSignal cancellationSignal, java.util.concurrent.Executor executor, androidx.credentials.CredentialManagerCallback credentialManagerCallback) - void clearCredentialStateAsync( - jni.JObject clearCredentialStateRequest, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_clearCredentialStateAsync, jni.JniCallType.voidType, [ - clearCredentialStateRequest.reference, - cancellationSignal.reference, - executor.reference, - credentialManagerCallback.reference - ]).check(); - } - - static final _id_createSettingsPendingIntent = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"createSettingsPendingIntent", - r"()Landroid/app/PendingIntent;"); - - /// from: public abstract android.app.PendingIntent createSettingsPendingIntent() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject createSettingsPendingIntent() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_createSettingsPendingIntent, - jni.JniCallType.objectType, []).object); - } - - static final _id_create = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"create", - r"(Landroid/content/Context;)Landroidx/credentials/CredentialManager;"); - - /// from: static public androidx.credentials.CredentialManager create(android.content.Context context) - /// The returned object must be released after use, by calling the [release] method. - static CredentialManager create( - Context context, - ) { - return const $CredentialManagerType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_create, - jni.JniCallType.objectType, [context.reference]).object); - } - - /// Maps a specific port to the implemented interface. - static final Map _$impls = {}; - ReceivePort? _$p; - - static jni.JObjectPtr _$invoke( - int port, - jni.JObjectPtr descriptor, - jni.JObjectPtr args, - ) { - return _$invokeMethod( - port, - $MethodInvocation.fromAddresses( - 0, - descriptor.address, - args.address, - ), - ); - } - - static final ffi.Pointer< - ffi.NativeFunction< - jni.JObjectPtr Function( - ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> - _$invokePointer = ffi.Pointer.fromFunction(_$invoke); - - static ffi.Pointer _$invokeMethod( - int $p, - $MethodInvocation $i, - ) { - try { - final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); - final $a = $i.args; - if ($d == - r"getCredential(Landroid/content/Context;Landroidx/credentials/GetCredentialRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;") { - final $r = _$impls[$p]!.getCredential( - $a[0].castTo(const $ContextType(), releaseOriginal: true), - $a[1] - .castTo(const $GetCredentialRequestType(), releaseOriginal: true), - $a[2].castTo(const jni.JObjectType(), releaseOriginal: true), - ); - return ($r as jni.JObject).castTo(const jni.JObjectType()).toPointer(); - } - if ($d == - r"getCredential(Landroid/content/Context;Landroidx/credentials/PrepareGetCredentialResponse$PendingGetCredentialHandle;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;") { - final $r = _$impls[$p]!.getCredential1( - $a[0].castTo(const $ContextType(), releaseOriginal: true), - $a[1].castTo(const jni.JObjectType(), releaseOriginal: true), - $a[2].castTo(const jni.JObjectType(), releaseOriginal: true), - ); - return ($r as jni.JObject).castTo(const jni.JObjectType()).toPointer(); - } - if ($d == - r"prepareGetCredential(Landroidx/credentials/GetCredentialRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;") { - final $r = _$impls[$p]!.prepareGetCredential( - $a[0] - .castTo(const $GetCredentialRequestType(), releaseOriginal: true), - $a[1].castTo(const jni.JObjectType(), releaseOriginal: true), - ); - return ($r as jni.JObject).castTo(const jni.JObjectType()).toPointer(); - } - if ($d == - r"createCredential(Landroid/content/Context;Landroidx/credentials/CreateCredentialRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;") { - final $r = _$impls[$p]!.createCredential( - $a[0].castTo(const $ContextType(), releaseOriginal: true), - $a[1].castTo(const $CreateCredentialRequestType(), - releaseOriginal: true), - $a[2].castTo(const jni.JObjectType(), releaseOriginal: true), - ); - return ($r as jni.JObject).castTo(const jni.JObjectType()).toPointer(); - } - if ($d == - r"clearCredentialState(Landroidx/credentials/ClearCredentialStateRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;") { - final $r = _$impls[$p]!.clearCredentialState( - $a[0].castTo(const jni.JObjectType(), releaseOriginal: true), - $a[1].castTo(const jni.JObjectType(), releaseOriginal: true), - ); - return ($r as jni.JObject).castTo(const jni.JObjectType()).toPointer(); - } - if ($d == - r"getCredentialAsync(Landroid/content/Context;Landroidx/credentials/GetCredentialRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V") { - _$impls[$p]!.getCredentialAsync( - $a[0].castTo(const $ContextType(), releaseOriginal: true), - $a[1] - .castTo(const $GetCredentialRequestType(), releaseOriginal: true), - $a[2].castTo(const $CancellationSignalType(), releaseOriginal: true), - $a[3].castTo(const $ExecutorType(), releaseOriginal: true), - $a[4].castTo( - const $CredentialManagerCallbackType( - $GetCredentialResponseType(), $GetCredentialExceptionType()), - releaseOriginal: true), - ); - return jni.nullptr; - } - if ($d == - r"getCredentialAsync(Landroid/content/Context;Landroidx/credentials/PrepareGetCredentialResponse$PendingGetCredentialHandle;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V") { - _$impls[$p]!.getCredentialAsync1( - $a[0].castTo(const $ContextType(), releaseOriginal: true), - $a[1].castTo(const jni.JObjectType(), releaseOriginal: true), - $a[2].castTo(const $CancellationSignalType(), releaseOriginal: true), - $a[3].castTo(const $ExecutorType(), releaseOriginal: true), - $a[4].castTo( - const $CredentialManagerCallbackType( - $GetCredentialResponseType(), $GetCredentialExceptionType()), - releaseOriginal: true), - ); - return jni.nullptr; - } - if ($d == - r"prepareGetCredentialAsync(Landroidx/credentials/GetCredentialRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V") { - _$impls[$p]!.prepareGetCredentialAsync( - $a[0] - .castTo(const $GetCredentialRequestType(), releaseOriginal: true), - $a[1].castTo(const $CancellationSignalType(), releaseOriginal: true), - $a[2].castTo(const $ExecutorType(), releaseOriginal: true), - $a[3].castTo( - const $CredentialManagerCallbackType( - jni.JObjectType(), $GetCredentialExceptionType()), - releaseOriginal: true), - ); - return jni.nullptr; - } - if ($d == - r"createCredentialAsync(Landroid/content/Context;Landroidx/credentials/CreateCredentialRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V") { - _$impls[$p]!.createCredentialAsync( - $a[0].castTo(const $ContextType(), releaseOriginal: true), - $a[1].castTo(const $CreateCredentialRequestType(), - releaseOriginal: true), - $a[2].castTo(const $CancellationSignalType(), releaseOriginal: true), - $a[3].castTo(const $ExecutorType(), releaseOriginal: true), - $a[4].castTo( - const $CredentialManagerCallbackType( - $CreateCredentialResponseType(), - $CreateCredentialExceptionType()), - releaseOriginal: true), - ); - return jni.nullptr; - } - if ($d == - r"clearCredentialStateAsync(Landroidx/credentials/ClearCredentialStateRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroidx/credentials/CredentialManagerCallback;)V") { - _$impls[$p]!.clearCredentialStateAsync( - $a[0].castTo(const jni.JObjectType(), releaseOriginal: true), - $a[1].castTo(const $CancellationSignalType(), releaseOriginal: true), - $a[2].castTo(const $ExecutorType(), releaseOriginal: true), - $a[3].castTo( - const $CredentialManagerCallbackType( - jni.JObjectType(), jni.JObjectType()), - releaseOriginal: true), - ); - return jni.nullptr; - } - if ($d == r"createSettingsPendingIntent()Landroid/app/PendingIntent;") { - final $r = _$impls[$p]!.createSettingsPendingIntent(); - return ($r as jni.JObject).castTo(const jni.JObjectType()).toPointer(); - } - if ($d == - r"create(Landroid/content/Context;)Landroidx/credentials/CredentialManager;") { - final $r = _$impls[$p]!.create( - $a[0].castTo(const $ContextType(), releaseOriginal: true), - ); - return ($r as jni.JObject).castTo(const jni.JObjectType()).toPointer(); - } - } catch (e) { - return ProtectedJniExtensions.newDartException(e.toString()); - } - return jni.nullptr; - } - - factory CredentialManager.implement( - $CredentialManagerImpl $impl, - ) { - final $p = ReceivePort(); - final $x = CredentialManager.fromRef( - ProtectedJniExtensions.newPortProxy( - r"androidx.credentials.CredentialManager", - $p, - _$invokePointer, - ), - ).._$p = $p; - final $a = $p.sendPort.nativePort; - _$impls[$a] = $impl; - $p.listen(($m) { - if ($m == null) { - _$impls.remove($p.sendPort.nativePort); - $p.close(); - return; - } - final $i = $MethodInvocation.fromMessage($m as List); - final $r = _$invokeMethod($p.sendPort.nativePort, $i); - ProtectedJniExtensions.returnResult($i.result, $r); - }); - return $x; - } -} - -abstract class $CredentialManagerImpl { - factory $CredentialManagerImpl({ - required jni.JObject Function(Context context, - GetCredentialRequest getCredentialRequest, jni.JObject $c) - getCredential, - required jni.JObject Function(Context context, - jni.JObject pendingGetCredentialHandle, jni.JObject $c) - getCredential1, - required jni.JObject Function( - GetCredentialRequest getCredentialRequest, jni.JObject $c) - prepareGetCredential, - required jni.JObject Function(Context context, - CreateCredentialRequest createCredentialRequest, jni.JObject $c) - createCredential, - required jni.JObject Function( - jni.JObject clearCredentialStateRequest, jni.JObject $c) - clearCredentialState, - required void Function( - Context context, - GetCredentialRequest getCredentialRequest, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback) - getCredentialAsync, - required void Function( - Context context, - jni.JObject pendingGetCredentialHandle, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback) - getCredentialAsync1, - required void Function( - GetCredentialRequest getCredentialRequest, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback) - prepareGetCredentialAsync, - required void Function( - Context context, - CreateCredentialRequest createCredentialRequest, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback) - createCredentialAsync, - required void Function( - jni.JObject clearCredentialStateRequest, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback) - clearCredentialStateAsync, - required jni.JObject Function() createSettingsPendingIntent, - required CredentialManager Function(Context context) create, - }) = _$CredentialManagerImpl; - - jni.JObject getCredential(Context context, - GetCredentialRequest getCredentialRequest, jni.JObject $c); - jni.JObject getCredential1( - Context context, jni.JObject pendingGetCredentialHandle, jni.JObject $c); - jni.JObject prepareGetCredential( - GetCredentialRequest getCredentialRequest, jni.JObject $c); - jni.JObject createCredential(Context context, - CreateCredentialRequest createCredentialRequest, jni.JObject $c); - jni.JObject clearCredentialState( - jni.JObject clearCredentialStateRequest, jni.JObject $c); - void getCredentialAsync( - Context context, - GetCredentialRequest getCredentialRequest, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback); - void getCredentialAsync1( - Context context, - jni.JObject pendingGetCredentialHandle, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback); - void prepareGetCredentialAsync( - GetCredentialRequest getCredentialRequest, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback); - void createCredentialAsync( - Context context, - CreateCredentialRequest createCredentialRequest, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback); - void clearCredentialStateAsync( - jni.JObject clearCredentialStateRequest, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback); - jni.JObject createSettingsPendingIntent(); - CredentialManager create(Context context); -} - -class _$CredentialManagerImpl implements $CredentialManagerImpl { - _$CredentialManagerImpl({ - required jni.JObject Function(Context context, - GetCredentialRequest getCredentialRequest, jni.JObject $c) - getCredential, - required jni.JObject Function(Context context, - jni.JObject pendingGetCredentialHandle, jni.JObject $c) - getCredential1, - required jni.JObject Function( - GetCredentialRequest getCredentialRequest, jni.JObject $c) - prepareGetCredential, - required jni.JObject Function(Context context, - CreateCredentialRequest createCredentialRequest, jni.JObject $c) - createCredential, - required jni.JObject Function( - jni.JObject clearCredentialStateRequest, jni.JObject $c) - clearCredentialState, - required void Function( - Context context, - GetCredentialRequest getCredentialRequest, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback) - getCredentialAsync, - required void Function( - Context context, - jni.JObject pendingGetCredentialHandle, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback) - getCredentialAsync1, - required void Function( - GetCredentialRequest getCredentialRequest, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback) - prepareGetCredentialAsync, - required void Function( - Context context, - CreateCredentialRequest createCredentialRequest, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback) - createCredentialAsync, - required void Function( - jni.JObject clearCredentialStateRequest, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback) - clearCredentialStateAsync, - required jni.JObject Function() createSettingsPendingIntent, - required CredentialManager Function(Context context) create, - }) : _getCredential = getCredential, - _getCredential1 = getCredential1, - _prepareGetCredential = prepareGetCredential, - _createCredential = createCredential, - _clearCredentialState = clearCredentialState, - _getCredentialAsync = getCredentialAsync, - _getCredentialAsync1 = getCredentialAsync1, - _prepareGetCredentialAsync = prepareGetCredentialAsync, - _createCredentialAsync = createCredentialAsync, - _clearCredentialStateAsync = clearCredentialStateAsync, - _createSettingsPendingIntent = createSettingsPendingIntent, - _create = create; - - final jni.JObject Function(Context context, - GetCredentialRequest getCredentialRequest, jni.JObject $c) _getCredential; - final jni.JObject Function(Context context, - jni.JObject pendingGetCredentialHandle, jni.JObject $c) _getCredential1; - final jni.JObject Function( - GetCredentialRequest getCredentialRequest, jni.JObject $c) - _prepareGetCredential; - final jni.JObject Function( - Context context, - CreateCredentialRequest createCredentialRequest, - jni.JObject $c) _createCredential; - final jni.JObject Function( - jni.JObject clearCredentialStateRequest, jni.JObject $c) - _clearCredentialState; - final void Function( - Context context, - GetCredentialRequest getCredentialRequest, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback) _getCredentialAsync; - final void Function( - Context context, - jni.JObject pendingGetCredentialHandle, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback) _getCredentialAsync1; - final void Function( - GetCredentialRequest getCredentialRequest, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback) _prepareGetCredentialAsync; - final void Function( - Context context, - CreateCredentialRequest createCredentialRequest, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback) _createCredentialAsync; - final void Function( - jni.JObject clearCredentialStateRequest, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback) _clearCredentialStateAsync; - final jni.JObject Function() _createSettingsPendingIntent; - final CredentialManager Function(Context context) _create; - - jni.JObject getCredential(Context context, - GetCredentialRequest getCredentialRequest, jni.JObject $c) { - return _getCredential(context, getCredentialRequest, $c); - } - - jni.JObject getCredential1( - Context context, jni.JObject pendingGetCredentialHandle, jni.JObject $c) { - return _getCredential1(context, pendingGetCredentialHandle, $c); - } - - jni.JObject prepareGetCredential( - GetCredentialRequest getCredentialRequest, jni.JObject $c) { - return _prepareGetCredential(getCredentialRequest, $c); - } - - jni.JObject createCredential(Context context, - CreateCredentialRequest createCredentialRequest, jni.JObject $c) { - return _createCredential(context, createCredentialRequest, $c); - } - - jni.JObject clearCredentialState( - jni.JObject clearCredentialStateRequest, jni.JObject $c) { - return _clearCredentialState(clearCredentialStateRequest, $c); - } - - void getCredentialAsync( - Context context, - GetCredentialRequest getCredentialRequest, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback) { - return _getCredentialAsync(context, getCredentialRequest, - cancellationSignal, executor, credentialManagerCallback); - } - - void getCredentialAsync1( - Context context, - jni.JObject pendingGetCredentialHandle, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback) { - return _getCredentialAsync1(context, pendingGetCredentialHandle, - cancellationSignal, executor, credentialManagerCallback); - } - - void prepareGetCredentialAsync( - GetCredentialRequest getCredentialRequest, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback) { - return _prepareGetCredentialAsync(getCredentialRequest, cancellationSignal, - executor, credentialManagerCallback); - } - - void createCredentialAsync( - Context context, - CreateCredentialRequest createCredentialRequest, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback) { - return _createCredentialAsync(context, createCredentialRequest, - cancellationSignal, executor, credentialManagerCallback); - } - - void clearCredentialStateAsync( - jni.JObject clearCredentialStateRequest, - CancellationSignal cancellationSignal, - Executor executor, - CredentialManagerCallback - credentialManagerCallback) { - return _clearCredentialStateAsync(clearCredentialStateRequest, - cancellationSignal, executor, credentialManagerCallback); - } - - jni.JObject createSettingsPendingIntent() { - return _createSettingsPendingIntent(); - } - - CredentialManager create(Context context) { - return _create(context); - } -} - -final class $CredentialManagerType extends jni.JObjType { - const $CredentialManagerType(); - - @override - String get signature => r"Landroidx/credentials/CredentialManager;"; - - @override - CredentialManager fromRef(jni.JObjectPtr ref) => - CredentialManager.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($CredentialManagerType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CredentialManagerType) && - other is $CredentialManagerType; - } -} - -/// from: androidx.credentials.CredentialManagerCallback -class CredentialManagerCallback<$R extends jni.JObject, $E extends jni.JObject> - extends jni.JObject { - @override - late final jni.JObjType> $type = type(R, E); - - final jni.JObjType<$R> R; - final jni.JObjType<$E> E; - - CredentialManagerCallback.fromRef( - this.R, - this.E, - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"androidx/credentials/CredentialManagerCallback"); - - /// The type which includes information such as the signature of this class. - static $CredentialManagerCallbackType<$R, $E> - type<$R extends jni.JObject, $E extends jni.JObject>( - jni.JObjType<$R> R, - jni.JObjType<$E> E, - ) { - return $CredentialManagerCallbackType( - R, - E, - ); - } - - static final _id_onResult = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onResult", r"(Ljava/lang/Object;)V"); - - /// from: public abstract void onResult(R object) - void onResult( - $R object, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_onResult, - jni.JniCallType.voidType, [object.reference]).check(); - } - - static final _id_onError = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onError", r"(Ljava/lang/Object;)V"); - - /// from: public abstract void onError(E object) - void onError( - $E object, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_onError, - jni.JniCallType.voidType, [object.reference]).check(); - } - - /// Maps a specific port to the implemented interface. - static final Map _$impls = {}; - ReceivePort? _$p; - - static jni.JObjectPtr _$invoke( - int port, - jni.JObjectPtr descriptor, - jni.JObjectPtr args, - ) { - return _$invokeMethod( - port, - $MethodInvocation.fromAddresses( - 0, - descriptor.address, - args.address, - ), - ); - } - - static final ffi.Pointer< - ffi.NativeFunction< - jni.JObjectPtr Function( - ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> - _$invokePointer = ffi.Pointer.fromFunction(_$invoke); - - static ffi.Pointer _$invokeMethod( - int $p, - $MethodInvocation $i, - ) { - try { - final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); - final $a = $i.args; - if ($d == r"onResult(Ljava/lang/Object;)V") { - _$impls[$p]!.onResult( - $a[0].castTo(_$impls[$p]!.R, releaseOriginal: true), - ); - return jni.nullptr; - } - if ($d == r"onError(Ljava/lang/Object;)V") { - _$impls[$p]!.onError( - $a[0].castTo(_$impls[$p]!.E, releaseOriginal: true), - ); - return jni.nullptr; - } - } catch (e) { - return ProtectedJniExtensions.newDartException(e.toString()); - } - return jni.nullptr; - } - - factory CredentialManagerCallback.implement( - $CredentialManagerCallbackImpl<$R, $E> $impl, - ) { - final $p = ReceivePort(); - final $x = CredentialManagerCallback.fromRef( - $impl.R, - $impl.E, - ProtectedJniExtensions.newPortProxy( - r"androidx.credentials.CredentialManagerCallback", - $p, - _$invokePointer, - ), - ).._$p = $p; - final $a = $p.sendPort.nativePort; - _$impls[$a] = $impl; - $p.listen(($m) { - if ($m == null) { - _$impls.remove($p.sendPort.nativePort); - $p.close(); - return; - } - final $i = $MethodInvocation.fromMessage($m as List); - final $r = _$invokeMethod($p.sendPort.nativePort, $i); - ProtectedJniExtensions.returnResult($i.result, $r); - }); - return $x; - } -} - -abstract class $CredentialManagerCallbackImpl<$R extends jni.JObject, - $E extends jni.JObject> { - factory $CredentialManagerCallbackImpl({ - required jni.JObjType<$R> R, - required jni.JObjType<$E> E, - required void Function($R object) onResult, - required void Function($E object) onError, - }) = _$CredentialManagerCallbackImpl; - - jni.JObjType<$R> get R; - jni.JObjType<$E> get E; - - void onResult($R object); - void onError($E object); -} - -class _$CredentialManagerCallbackImpl<$R extends jni.JObject, - $E extends jni.JObject> implements $CredentialManagerCallbackImpl<$R, $E> { - _$CredentialManagerCallbackImpl({ - required this.R, - required this.E, - required void Function($R object) onResult, - required void Function($E object) onError, - }) : _onResult = onResult, - _onError = onError; - - @override - final jni.JObjType<$R> R; - - @override - final jni.JObjType<$E> E; - - final void Function($R object) _onResult; - final void Function($E object) _onError; - - void onResult($R object) { - return _onResult(object); - } - - void onError($E object) { - return _onError(object); - } -} - -final class $CredentialManagerCallbackType<$R extends jni.JObject, - $E extends jni.JObject> - extends jni.JObjType> { - final jni.JObjType<$R> R; - final jni.JObjType<$E> E; - - const $CredentialManagerCallbackType( - this.R, - this.E, - ); - - @override - String get signature => r"Landroidx/credentials/CredentialManagerCallback;"; - - @override - CredentialManagerCallback<$R, $E> fromRef(jni.JObjectPtr ref) => - CredentialManagerCallback.fromRef(R, E, ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => Object.hash($CredentialManagerCallbackType, R, E); - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CredentialManagerCallbackType<$R, $E>) && - other is $CredentialManagerCallbackType<$R, $E> && - R == other.R && - E == other.E; - } -} - -/// from: androidx.credentials.GetCredentialRequest$Builder -class GetCredentialRequest_Builder extends jni.JObject { - @override - late final jni.JObjType $type = type; - - GetCredentialRequest_Builder.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"androidx/credentials/GetCredentialRequest$Builder"); - - /// The type which includes information such as the signature of this class. - static const type = $GetCredentialRequest_BuilderType(); - static final _id_new0 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); - - /// from: public void () - /// The returned object must be released after use, by calling the [release] method. - factory GetCredentialRequest_Builder() { - return GetCredentialRequest_Builder.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, []).object); - } - - static final _id_addCredentialOption = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"addCredentialOption", - r"(Landroidx/credentials/CredentialOption;)Landroidx/credentials/GetCredentialRequest$Builder;"); - - /// from: public final androidx.credentials.GetCredentialRequest$Builder addCredentialOption(androidx.credentials.CredentialOption credentialOption) - /// The returned object must be released after use, by calling the [release] method. - GetCredentialRequest_Builder addCredentialOption( - jni.JObject credentialOption, - ) { - return const $GetCredentialRequest_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_addCredentialOption, - jni.JniCallType.objectType, [credentialOption.reference]).object); - } - - static final _id_setCredentialOptions = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setCredentialOptions", - r"(Ljava/util/List;)Landroidx/credentials/GetCredentialRequest$Builder;"); - - /// from: public final androidx.credentials.GetCredentialRequest$Builder setCredentialOptions(java.util.List list) - /// The returned object must be released after use, by calling the [release] method. - GetCredentialRequest_Builder setCredentialOptions( - jni.JList list, - ) { - return const $GetCredentialRequest_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setCredentialOptions, - jni.JniCallType.objectType, [list.reference]).object); - } - - static final _id_setOrigin = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setOrigin", - r"(Ljava/lang/String;)Landroidx/credentials/GetCredentialRequest$Builder;"); - - /// from: public final androidx.credentials.GetCredentialRequest$Builder setOrigin(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - GetCredentialRequest_Builder setOrigin( - jni.JString string, - ) { - return const $GetCredentialRequest_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setOrigin, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_setPreferImmediatelyAvailableCredentials = jni.Jni.accessors - .getMethodIDOf( - _class.reference, - r"setPreferImmediatelyAvailableCredentials", - r"(Z)Landroidx/credentials/GetCredentialRequest$Builder;"); - - /// from: public final androidx.credentials.GetCredentialRequest$Builder setPreferImmediatelyAvailableCredentials(boolean z) - /// The returned object must be released after use, by calling the [release] method. - GetCredentialRequest_Builder setPreferImmediatelyAvailableCredentials( - bool z, - ) { - return const $GetCredentialRequest_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_setPreferImmediatelyAvailableCredentials, - jni.JniCallType.objectType, - [z ? 1 : 0]).object); - } - - static final _id_setPreferUiBrandingComponentName = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"setPreferUiBrandingComponentName", - r"(Landroid/content/ComponentName;)Landroidx/credentials/GetCredentialRequest$Builder;"); - - /// from: public final androidx.credentials.GetCredentialRequest$Builder setPreferUiBrandingComponentName(android.content.ComponentName componentName) - /// The returned object must be released after use, by calling the [release] method. - GetCredentialRequest_Builder setPreferUiBrandingComponentName( - jni.JObject componentName, - ) { - return const $GetCredentialRequest_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setPreferUiBrandingComponentName, - jni.JniCallType.objectType, [componentName.reference]).object); - } - - static final _id_setPreferIdentityDocUi = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setPreferIdentityDocUi", - r"(Z)Landroidx/credentials/GetCredentialRequest$Builder;"); - - /// from: public final androidx.credentials.GetCredentialRequest$Builder setPreferIdentityDocUi(boolean z) - /// The returned object must be released after use, by calling the [release] method. - GetCredentialRequest_Builder setPreferIdentityDocUi( - bool z, - ) { - return const $GetCredentialRequest_BuilderType().fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_setPreferIdentityDocUi, - jni.JniCallType.objectType, [z ? 1 : 0]).object); - } - - static final _id_build = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"build", r"()Landroidx/credentials/GetCredentialRequest;"); - - /// from: public final androidx.credentials.GetCredentialRequest build() - /// The returned object must be released after use, by calling the [release] method. - GetCredentialRequest build() { - return const $GetCredentialRequestType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, _id_build, jni.JniCallType.objectType, []).object); - } -} - -final class $GetCredentialRequest_BuilderType - extends jni.JObjType { - const $GetCredentialRequest_BuilderType(); - - @override - String get signature => - r"Landroidx/credentials/GetCredentialRequest$Builder;"; - - @override - GetCredentialRequest_Builder fromRef(jni.JObjectPtr ref) => - GetCredentialRequest_Builder.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($GetCredentialRequest_BuilderType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($GetCredentialRequest_BuilderType) && - other is $GetCredentialRequest_BuilderType; - } -} - -/// from: androidx.credentials.GetCredentialRequest$Companion -class GetCredentialRequest_Companion extends jni.JObject { - @override - late final jni.JObjType $type = type; - - GetCredentialRequest_Companion.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/GetCredentialRequest$Companion"); - - /// The type which includes information such as the signature of this class. - static const type = $GetCredentialRequest_CompanionType(); - static final _id_toRequestDataBundle = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"toRequestDataBundle", - r"(Landroidx/credentials/GetCredentialRequest;)Landroid/os/Bundle;"); - - /// from: public final android.os.Bundle toRequestDataBundle(androidx.credentials.GetCredentialRequest getCredentialRequest) - /// The returned object must be released after use, by calling the [release] method. - Bundle toRequestDataBundle( - GetCredentialRequest getCredentialRequest, - ) { - return const $BundleType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_toRequestDataBundle, - jni.JniCallType.objectType, - [getCredentialRequest.reference]).object); - } - - static final _id_createFrom = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"createFrom", - r"(Ljava/util/List;Ljava/lang/String;Landroid/os/Bundle;)Landroidx/credentials/GetCredentialRequest;"); - - /// from: public final androidx.credentials.GetCredentialRequest createFrom(java.util.List list, java.lang.String string, android.os.Bundle bundle) - /// The returned object must be released after use, by calling the [release] method. - GetCredentialRequest createFrom( - jni.JList list, - jni.JString string, - Bundle bundle, - ) { - return const $GetCredentialRequestType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_createFrom, - jni.JniCallType.objectType, - [list.reference, string.reference, bundle.reference]).object); - } - - static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory GetCredentialRequest_Companion( - jni.JObject defaultConstructorMarker, - ) { - return GetCredentialRequest_Companion.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, - [defaultConstructorMarker.reference]).object); - } -} - -final class $GetCredentialRequest_CompanionType - extends jni.JObjType { - const $GetCredentialRequest_CompanionType(); - - @override - String get signature => - r"Landroidx/credentials/GetCredentialRequest$Companion;"; - - @override - GetCredentialRequest_Companion fromRef(jni.JObjectPtr ref) => - GetCredentialRequest_Companion.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($GetCredentialRequest_CompanionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($GetCredentialRequest_CompanionType) && - other is $GetCredentialRequest_CompanionType; - } -} - -/// from: androidx.credentials.GetCredentialRequest -class GetCredentialRequest extends jni.JObject { - @override - late final jni.JObjType $type = type; - - GetCredentialRequest.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"androidx/credentials/GetCredentialRequest"); - - /// The type which includes information such as the signature of this class. - static const type = $GetCredentialRequestType(); - static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"Companion", - r"Landroidx/credentials/GetCredentialRequest$Companion;", - ); - - /// from: static public final androidx.credentials.GetCredentialRequest$Companion Companion - /// The returned object must be released after use, by calling the [release] method. - static GetCredentialRequest_Companion get Companion => - const $GetCredentialRequest_CompanionType().fromRef(jni.Jni.accessors - .getStaticField( - _class.reference, _id_Companion, jni.JniCallType.objectType) - .object); - - /// from: static public final java.lang.String BUNDLE_KEY_PREFER_IMMEDIATELY_AVAILABLE_CREDENTIALS - static const BUNDLE_KEY_PREFER_IMMEDIATELY_AVAILABLE_CREDENTIALS = - r"""androidx.credentials.BUNDLE_KEY_PREFER_IMMEDIATELY_AVAILABLE_CREDENTIALS"""; - - static final _id_new0 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/util/List;Ljava/lang/String;ZLandroid/content/ComponentName;Z)V"); - - /// from: public void (java.util.List list, java.lang.String string, boolean z, android.content.ComponentName componentName, boolean z1) - /// The returned object must be released after use, by calling the [release] method. - factory GetCredentialRequest( - jni.JList list, - jni.JString string, - bool z, - jni.JObject componentName, - bool z1, - ) { - return GetCredentialRequest.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new0, [ - list.reference, - string.reference, - z ? 1 : 0, - componentName.reference, - z1 ? 1 : 0 - ]).object); - } - - static final _id_new1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/util/List;Ljava/lang/String;ZLandroid/content/ComponentName;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (java.util.List list, java.lang.String string, boolean z, android.content.ComponentName componentName, boolean z1, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory GetCredentialRequest.new1( - jni.JList list, - jni.JString string, - bool z, - jni.JObject componentName, - bool z1, - int i, - jni.JObject defaultConstructorMarker, - ) { - return GetCredentialRequest.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new1, [ - list.reference, - string.reference, - z ? 1 : 0, - componentName.reference, - z1 ? 1 : 0, - jni.JValueInt(i), - defaultConstructorMarker.reference - ]).object); - } - - static final _id_getCredentialOptions = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getCredentialOptions", r"()Ljava/util/List;"); - - /// from: public final java.util.List getCredentialOptions() - /// The returned object must be released after use, by calling the [release] method. - jni.JList getCredentialOptions() { - return const jni.JListType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getCredentialOptions, - jni.JniCallType.objectType, []).object); - } - - static final _id_getOrigin = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getOrigin", r"()Ljava/lang/String;"); - - /// from: public final java.lang.String getOrigin() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getOrigin() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getOrigin, jni.JniCallType.objectType, []).object); - } - - static final _id_getPreferIdentityDocUi = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getPreferIdentityDocUi", r"()Z"); - - /// from: public final boolean getPreferIdentityDocUi() - bool getPreferIdentityDocUi() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_getPreferIdentityDocUi, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_getPreferUiBrandingComponentName = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getPreferUiBrandingComponentName", - r"()Landroid/content/ComponentName;"); - - /// from: public final android.content.ComponentName getPreferUiBrandingComponentName() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getPreferUiBrandingComponentName() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getPreferUiBrandingComponentName, - jni.JniCallType.objectType, []).object); - } - - static final _id_preferImmediatelyAvailableCredentials = jni.Jni.accessors - .getMethodIDOf( - _class.reference, r"preferImmediatelyAvailableCredentials", r"()Z"); - - /// from: public final boolean preferImmediatelyAvailableCredentials() - bool preferImmediatelyAvailableCredentials() { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_preferImmediatelyAvailableCredentials, - jni.JniCallType.booleanType, []).boolean; - } - - static final _id_new2 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/util/List;Ljava/lang/String;ZLandroid/content/ComponentName;)V"); - - /// from: public void (java.util.List list, java.lang.String string, boolean z, android.content.ComponentName componentName) - /// The returned object must be released after use, by calling the [release] method. - factory GetCredentialRequest.new2( - jni.JList list, - jni.JString string, - bool z, - jni.JObject componentName, - ) { - return GetCredentialRequest.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new2, [ - list.reference, - string.reference, - z ? 1 : 0, - componentName.reference - ]).object); - } - - static final _id_new3 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Ljava/util/List;Ljava/lang/String;Z)V"); - - /// from: public void (java.util.List list, java.lang.String string, boolean z) - /// The returned object must be released after use, by calling the [release] method. - factory GetCredentialRequest.new3( - jni.JList list, - jni.JString string, - bool z, - ) { - return GetCredentialRequest.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, - _id_new3, - [list.reference, string.reference, z ? 1 : 0]).object); - } - - static final _id_new4 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Ljava/util/List;Ljava/lang/String;)V"); - - /// from: public void (java.util.List list, java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - factory GetCredentialRequest.new4( - jni.JList list, - jni.JString string, - ) { - return GetCredentialRequest.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new4, [list.reference, string.reference]).object); - } - - static final _id_new5 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"", r"(Ljava/util/List;)V"); - - /// from: public void (java.util.List list) - /// The returned object must be released after use, by calling the [release] method. - factory GetCredentialRequest.new5( - jni.JList list, - ) { - return GetCredentialRequest.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new5, [list.reference]).object); - } - - static final _id_toRequestDataBundle = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"toRequestDataBundle", - r"(Landroidx/credentials/GetCredentialRequest;)Landroid/os/Bundle;"); - - /// from: static public final android.os.Bundle toRequestDataBundle(androidx.credentials.GetCredentialRequest getCredentialRequest) - /// The returned object must be released after use, by calling the [release] method. - static Bundle toRequestDataBundle( - GetCredentialRequest getCredentialRequest, - ) { - return const $BundleType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_toRequestDataBundle, - jni.JniCallType.objectType, - [getCredentialRequest.reference]).object); - } - - static final _id_createFrom = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"createFrom", - r"(Ljava/util/List;Ljava/lang/String;Landroid/os/Bundle;)Landroidx/credentials/GetCredentialRequest;"); - - /// from: static public final androidx.credentials.GetCredentialRequest createFrom(java.util.List list, java.lang.String string, android.os.Bundle bundle) - /// The returned object must be released after use, by calling the [release] method. - static GetCredentialRequest createFrom( - jni.JList list, - jni.JString string, - Bundle bundle, - ) { - return const $GetCredentialRequestType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_createFrom, - jni.JniCallType.objectType, - [list.reference, string.reference, bundle.reference]).object); - } -} - -final class $GetCredentialRequestType - extends jni.JObjType { - const $GetCredentialRequestType(); - - @override - String get signature => r"Landroidx/credentials/GetCredentialRequest;"; - - @override - GetCredentialRequest fromRef(jni.JObjectPtr ref) => - GetCredentialRequest.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($GetCredentialRequestType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($GetCredentialRequestType) && - other is $GetCredentialRequestType; - } -} - -/// from: androidx.credentials.GetCredentialResponse -class GetCredentialResponse extends jni.JObject { - @override - late final jni.JObjType $type = type; - - GetCredentialResponse.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"androidx/credentials/GetCredentialResponse"); - - /// The type which includes information such as the signature of this class. - static const type = $GetCredentialResponseType(); - static final _id_new0 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Landroidx/credentials/Credential;)V"); - - /// from: public void (androidx.credentials.Credential credential) - /// The returned object must be released after use, by calling the [release] method. - factory GetCredentialResponse( - Credential credential, - ) { - return GetCredentialResponse.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new0, [credential.reference]).object); - } - - static final _id_getCredential = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getCredential", - r"()Landroidx/credentials/Credential;"); - - /// from: public final androidx.credentials.Credential getCredential() - /// The returned object must be released after use, by calling the [release] method. - Credential getCredential() { - return const $CredentialType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getCredential, jni.JniCallType.objectType, []).object); - } -} - -final class $GetCredentialResponseType - extends jni.JObjType { - const $GetCredentialResponseType(); - - @override - String get signature => r"Landroidx/credentials/GetCredentialResponse;"; - - @override - GetCredentialResponse fromRef(jni.JObjectPtr ref) => - GetCredentialResponse.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($GetCredentialResponseType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($GetCredentialResponseType) && - other is $GetCredentialResponseType; - } -} - -/// from: androidx.credentials.GetPublicKeyCredentialOption$Companion -class GetPublicKeyCredentialOption_Companion extends jni.JObject { - @override - late final jni.JObjType $type = type; - - GetPublicKeyCredentialOption_Companion.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/GetPublicKeyCredentialOption$Companion"); - - /// The type which includes information such as the signature of this class. - static const type = $GetPublicKeyCredentialOption_CompanionType(); - static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory GetPublicKeyCredentialOption_Companion( - jni.JObject defaultConstructorMarker, - ) { - return GetPublicKeyCredentialOption_Companion.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, - [defaultConstructorMarker.reference]).object); - } -} - -final class $GetPublicKeyCredentialOption_CompanionType - extends jni.JObjType { - const $GetPublicKeyCredentialOption_CompanionType(); - - @override - String get signature => - r"Landroidx/credentials/GetPublicKeyCredentialOption$Companion;"; - - @override - GetPublicKeyCredentialOption_Companion fromRef(jni.JObjectPtr ref) => - GetPublicKeyCredentialOption_Companion.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($GetPublicKeyCredentialOption_CompanionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($GetPublicKeyCredentialOption_CompanionType) && - other is $GetPublicKeyCredentialOption_CompanionType; - } -} - -/// from: androidx.credentials.GetPublicKeyCredentialOption -class GetPublicKeyCredentialOption extends jni.JObject { - @override - late final jni.JObjType $type = type; - - GetPublicKeyCredentialOption.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"androidx/credentials/GetPublicKeyCredentialOption"); - - /// The type which includes information such as the signature of this class. - static const type = $GetPublicKeyCredentialOptionType(); - static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"Companion", - r"Landroidx/credentials/GetPublicKeyCredentialOption$Companion;", - ); - - /// from: static public final androidx.credentials.GetPublicKeyCredentialOption$Companion Companion - /// The returned object must be released after use, by calling the [release] method. - static GetPublicKeyCredentialOption_Companion get Companion => - const $GetPublicKeyCredentialOption_CompanionType().fromRef(jni - .Jni.accessors - .getStaticField( - _class.reference, _id_Companion, jni.JniCallType.objectType) - .object); - - /// from: static public final java.lang.String BUNDLE_KEY_CLIENT_DATA_HASH - static const BUNDLE_KEY_CLIENT_DATA_HASH = - r"""androidx.credentials.BUNDLE_KEY_CLIENT_DATA_HASH"""; - - /// from: static public final java.lang.String BUNDLE_KEY_REQUEST_JSON - static const BUNDLE_KEY_REQUEST_JSON = - r"""androidx.credentials.BUNDLE_KEY_REQUEST_JSON"""; - - /// from: static public final java.lang.String BUNDLE_VALUE_SUBTYPE_GET_PUBLIC_KEY_CREDENTIAL_OPTION - static const BUNDLE_VALUE_SUBTYPE_GET_PUBLIC_KEY_CREDENTIAL_OPTION = - r"""androidx.credentials.BUNDLE_VALUE_SUBTYPE_GET_PUBLIC_KEY_CREDENTIAL_OPTION"""; - - static final _id_getRequestJson = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getRequestJson", r"()Ljava/lang/String;"); - - /// from: public final java.lang.String getRequestJson() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getRequestJson() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getRequestJson, jni.JniCallType.objectType, []).object); - } - - static final _id_getClientDataHash = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getClientDataHash", r"()[B"); - - /// from: public final byte[] getClientDataHash() - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getClientDataHash() { - return const jni.JArrayType(jni.jbyteType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getClientDataHash, - jni.JniCallType.objectType, []).object); - } - - static final _id_new0 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Ljava/lang/String;[BLjava/util/Set;)V"); - - /// from: public void (java.lang.String string, java.lang.Object[] bs, java.util.Set set) - /// The returned object must be released after use, by calling the [release] method. - factory GetPublicKeyCredentialOption( - jni.JString string, - jni.JArray bs, - jni.JSet set0, - ) { - return GetPublicKeyCredentialOption.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, - [string.reference, bs.reference, set0.reference]).object); - } - - static final _id_new1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/lang/String;[BLjava/util/Set;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (java.lang.String string, byte[] bs, java.util.Set set, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory GetPublicKeyCredentialOption.new1( - jni.JString string, - jni.JArray bs, - jni.JSet set0, - int i, - jni.JObject defaultConstructorMarker, - ) { - return GetPublicKeyCredentialOption.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new1, [ - string.reference, - bs.reference, - set0.reference, - jni.JValueInt(i), - defaultConstructorMarker.reference - ]).object); - } - - static final _id_new2 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;[B)V"); - - /// from: public void (java.lang.String string, byte[] bs) - /// The returned object must be released after use, by calling the [release] method. - factory GetPublicKeyCredentialOption.new2( - jni.JString string, - jni.JArray bs, - ) { - return GetPublicKeyCredentialOption.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new2, - [string.reference, bs.reference]).object); - } - - static final _id_new3 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); - - /// from: public void (java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - factory GetPublicKeyCredentialOption.new3( - jni.JString string, - ) { - return GetPublicKeyCredentialOption.fromRef(jni.Jni.accessors - .newObjectWithArgs( - _class.reference, _id_new3, [string.reference]).object); - } - - static final _id_new4 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/lang/String;[BLjava/util/Set;Landroid/os/Bundle;Landroid/os/Bundle;Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (java.lang.String string, byte[] bs, java.util.Set set, android.os.Bundle bundle, android.os.Bundle bundle1, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory GetPublicKeyCredentialOption.new4( - jni.JString string, - jni.JArray bs, - jni.JSet set0, - Bundle bundle, - Bundle bundle1, - jni.JObject defaultConstructorMarker, - ) { - return GetPublicKeyCredentialOption.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new4, [ - string.reference, - bs.reference, - set0.reference, - bundle.reference, - bundle1.reference, - defaultConstructorMarker.reference - ]).object); - } -} - -final class $GetPublicKeyCredentialOptionType - extends jni.JObjType { - const $GetPublicKeyCredentialOptionType(); - - @override - String get signature => - r"Landroidx/credentials/GetPublicKeyCredentialOption;"; - - @override - GetPublicKeyCredentialOption fromRef(jni.JObjectPtr ref) => - GetPublicKeyCredentialOption.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($GetPublicKeyCredentialOptionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($GetPublicKeyCredentialOptionType) && - other is $GetPublicKeyCredentialOptionType; - } -} - -/// from: androidx.credentials.PublicKeyCredential$Companion -class PublicKeyCredential_Companion extends jni.JObject { - @override - late final jni.JObjType $type = type; - - PublicKeyCredential_Companion.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"androidx/credentials/PublicKeyCredential$Companion"); - - /// The type which includes information such as the signature of this class. - static const type = $PublicKeyCredential_CompanionType(); - static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory PublicKeyCredential_Companion( - jni.JObject defaultConstructorMarker, - ) { - return PublicKeyCredential_Companion.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, - [defaultConstructorMarker.reference]).object); - } -} - -final class $PublicKeyCredential_CompanionType - extends jni.JObjType { - const $PublicKeyCredential_CompanionType(); - - @override - String get signature => - r"Landroidx/credentials/PublicKeyCredential$Companion;"; - - @override - PublicKeyCredential_Companion fromRef(jni.JObjectPtr ref) => - PublicKeyCredential_Companion.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($PublicKeyCredential_CompanionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($PublicKeyCredential_CompanionType) && - other is $PublicKeyCredential_CompanionType; - } -} - -/// from: androidx.credentials.PublicKeyCredential -class PublicKeyCredential extends Credential { - @override - late final jni.JObjType $type = type; - - PublicKeyCredential.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"androidx/credentials/PublicKeyCredential"); - - /// The type which includes information such as the signature of this class. - static const type = $PublicKeyCredentialType(); - static final _id_Companion1 = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"Companion", - r"Landroidx/credentials/PublicKeyCredential$Companion;", - ); - - /// from: static public final androidx.credentials.PublicKeyCredential$Companion Companion - /// The returned object must be released after use, by calling the [release] method. - static PublicKeyCredential_Companion get Companion1 => - const $PublicKeyCredential_CompanionType().fromRef(jni.Jni.accessors - .getStaticField( - _class.reference, _id_Companion1, jni.JniCallType.objectType) - .object); - - /// from: static public final java.lang.String TYPE_PUBLIC_KEY_CREDENTIAL - static const TYPE_PUBLIC_KEY_CREDENTIAL = - r"""androidx.credentials.TYPE_PUBLIC_KEY_CREDENTIAL"""; - - /// from: static public final java.lang.String BUNDLE_KEY_SUBTYPE - static const BUNDLE_KEY_SUBTYPE = - r"""androidx.credentials.BUNDLE_KEY_SUBTYPE"""; - - /// from: static public final java.lang.String BUNDLE_KEY_AUTHENTICATION_RESPONSE_JSON - static const BUNDLE_KEY_AUTHENTICATION_RESPONSE_JSON = - r"""androidx.credentials.BUNDLE_KEY_AUTHENTICATION_RESPONSE_JSON"""; - - static final _id_getAuthenticationResponseJson = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getAuthenticationResponseJson", - r"()Ljava/lang/String;"); - - /// from: public final java.lang.String getAuthenticationResponseJson() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getAuthenticationResponseJson() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getAuthenticationResponseJson, - jni.JniCallType.objectType, []).object); - } - - static final _id_new1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); - - /// from: public void (java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - factory PublicKeyCredential.new1( - jni.JString string, - ) { - return PublicKeyCredential.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new1, [string.reference]).object); - } - - static final _id_new2 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/lang/String;Landroid/os/Bundle;Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (java.lang.String string, android.os.Bundle bundle, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory PublicKeyCredential.new2( - jni.JString string, - Bundle bundle, - jni.JObject defaultConstructorMarker, - ) { - return PublicKeyCredential.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new2, [ - string.reference, - bundle.reference, - defaultConstructorMarker.reference - ]).object); - } -} - -final class $PublicKeyCredentialType extends jni.JObjType { - const $PublicKeyCredentialType(); - - @override - String get signature => r"Landroidx/credentials/PublicKeyCredential;"; - - @override - PublicKeyCredential fromRef(jni.JObjectPtr ref) => - PublicKeyCredential.fromRef(ref); - - @override - jni.JObjType get superType => const $CredentialType(); - - @override - final superCount = 2; - - @override - int get hashCode => ($PublicKeyCredentialType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($PublicKeyCredentialType) && - other is $PublicKeyCredentialType; - } -} - -/// from: androidx.credentials.exceptions.CreateCredentialCancellationException$Companion -class CreateCredentialCancellationException_Companion extends jni.JObject { - @override - late final jni.JObjType - $type = type; - - CreateCredentialCancellationException_Companion.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/exceptions/CreateCredentialCancellationException$Companion"); - - /// The type which includes information such as the signature of this class. - static const type = $CreateCredentialCancellationException_CompanionType(); - static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialCancellationException_Companion( - jni.JObject defaultConstructorMarker, - ) { - return CreateCredentialCancellationException_Companion.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, - [defaultConstructorMarker.reference]).object); - } -} - -final class $CreateCredentialCancellationException_CompanionType - extends jni.JObjType { - const $CreateCredentialCancellationException_CompanionType(); - - @override - String get signature => - r"Landroidx/credentials/exceptions/CreateCredentialCancellationException$Companion;"; - - @override - CreateCredentialCancellationException_Companion fromRef(jni.JObjectPtr ref) => - CreateCredentialCancellationException_Companion.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => - ($CreateCredentialCancellationException_CompanionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == - ($CreateCredentialCancellationException_CompanionType) && - other is $CreateCredentialCancellationException_CompanionType; - } -} - -/// from: androidx.credentials.exceptions.CreateCredentialCancellationException -class CreateCredentialCancellationException extends CreateCredentialException { - @override - late final jni.JObjType $type = type; - - CreateCredentialCancellationException.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/exceptions/CreateCredentialCancellationException"); - - /// The type which includes information such as the signature of this class. - static const type = $CreateCredentialCancellationExceptionType(); - static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"Companion", - r"Landroidx/credentials/exceptions/CreateCredentialCancellationException$Companion;", - ); - - /// from: static public final androidx.credentials.exceptions.CreateCredentialCancellationException$Companion Companion - /// The returned object must be released after use, by calling the [release] method. - static CreateCredentialCancellationException_Companion get Companion => - const $CreateCredentialCancellationException_CompanionType().fromRef(jni - .Jni.accessors - .getStaticField( - _class.reference, _id_Companion, jni.JniCallType.objectType) - .object); - - /// from: static public final java.lang.String TYPE_CREATE_CREDENTIAL_CANCELLATION_EXCEPTION - static const TYPE_CREATE_CREDENTIAL_CANCELLATION_EXCEPTION = - r"""android.credentials.CreateCredentialException.TYPE_USER_CANCELED"""; - - static final _id_new7 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Ljava/lang/CharSequence;)V"); - - /// from: public void (java.lang.CharSequence charSequence) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialCancellationException.new7( - jni.JObject charSequence, - ) { - return CreateCredentialCancellationException.fromRef(jni.Jni.accessors - .newObjectWithArgs( - _class.reference, _id_new7, [charSequence.reference]).object); - } - - static final _id_new8 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialCancellationException.new8( - jni.JObject charSequence, - int i, - jni.JObject defaultConstructorMarker, - ) { - return CreateCredentialCancellationException.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new8, [ - charSequence.reference, - jni.JValueInt(i), - defaultConstructorMarker.reference - ]).object); - } - - static final _id_new9 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); - - /// from: public void () - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialCancellationException.new9() { - return CreateCredentialCancellationException.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new9, []).object); - } -} - -final class $CreateCredentialCancellationExceptionType - extends jni.JObjType { - const $CreateCredentialCancellationExceptionType(); - - @override - String get signature => - r"Landroidx/credentials/exceptions/CreateCredentialCancellationException;"; - - @override - CreateCredentialCancellationException fromRef(jni.JObjectPtr ref) => - CreateCredentialCancellationException.fromRef(ref); - - @override - jni.JObjType get superType => const $CreateCredentialExceptionType(); - - @override - final superCount = 4; - - @override - int get hashCode => ($CreateCredentialCancellationExceptionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CreateCredentialCancellationExceptionType) && - other is $CreateCredentialCancellationExceptionType; - } -} - -/// from: androidx.credentials.exceptions.CreateCredentialException -class CreateCredentialException extends Exception { - @override - late final jni.JObjType $type = type; - - CreateCredentialException.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/exceptions/CreateCredentialException"); - - /// The type which includes information such as the signature of this class. - static const type = $CreateCredentialExceptionType(); - static final _id_new5 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Ljava/lang/String;Ljava/lang/CharSequence;)V"); - - /// from: public void (java.lang.String string, java.lang.CharSequence charSequence) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialException.new5( - jni.JString string, - jni.JObject charSequence, - ) { - return CreateCredentialException.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new5, - [string.reference, charSequence.reference]).object); - } - - static final _id_new6 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/lang/String;Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (java.lang.String string, java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialException.new6( - jni.JString string, - jni.JObject charSequence, - int i, - jni.JObject defaultConstructorMarker, - ) { - return CreateCredentialException.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new6, [ - string.reference, - charSequence.reference, - jni.JValueInt(i), - defaultConstructorMarker.reference - ]).object); - } - - static final _id_getType = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getType", r"()Ljava/lang/String;"); - - /// from: public java.lang.String getType() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getType() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getType, jni.JniCallType.objectType, []).object); - } - - static final _id_getErrorMessage = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getErrorMessage", r"()Ljava/lang/CharSequence;"); - - /// from: public java.lang.CharSequence getErrorMessage() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getErrorMessage() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getErrorMessage, jni.JniCallType.objectType, []).object); - } - - static final _id_new1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); - - /// from: public void (java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialException.new1( - jni.JString string, - ) { - return CreateCredentialException.fromRef(jni.Jni.accessors - .newObjectWithArgs( - _class.reference, _id_new1, [string.reference]).object); - } -} - -final class $CreateCredentialExceptionType - extends jni.JObjType { - const $CreateCredentialExceptionType(); - - @override - String get signature => - r"Landroidx/credentials/exceptions/CreateCredentialException;"; - - @override - CreateCredentialException fromRef(jni.JObjectPtr ref) => - CreateCredentialException.fromRef(ref); - - @override - jni.JObjType get superType => const $ExceptionType(); - - @override - final superCount = 3; - - @override - int get hashCode => ($CreateCredentialExceptionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CreateCredentialExceptionType) && - other is $CreateCredentialExceptionType; - } -} - -/// from: androidx.credentials.exceptions.GetCredentialCancellationException$Companion -class GetCredentialCancellationException_Companion extends jni.JObject { - @override - late final jni.JObjType $type = - type; - - GetCredentialCancellationException_Companion.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/exceptions/GetCredentialCancellationException$Companion"); - - /// The type which includes information such as the signature of this class. - static const type = $GetCredentialCancellationException_CompanionType(); - static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory GetCredentialCancellationException_Companion( - jni.JObject defaultConstructorMarker, - ) { - return GetCredentialCancellationException_Companion.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, - [defaultConstructorMarker.reference]).object); - } -} - -final class $GetCredentialCancellationException_CompanionType - extends jni.JObjType { - const $GetCredentialCancellationException_CompanionType(); - - @override - String get signature => - r"Landroidx/credentials/exceptions/GetCredentialCancellationException$Companion;"; - - @override - GetCredentialCancellationException_Companion fromRef(jni.JObjectPtr ref) => - GetCredentialCancellationException_Companion.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => - ($GetCredentialCancellationException_CompanionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == - ($GetCredentialCancellationException_CompanionType) && - other is $GetCredentialCancellationException_CompanionType; - } -} - -/// from: androidx.credentials.exceptions.GetCredentialCancellationException -class GetCredentialCancellationException extends GetCredentialException { - @override - late final jni.JObjType $type = type; - - GetCredentialCancellationException.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/exceptions/GetCredentialCancellationException"); - - /// The type which includes information such as the signature of this class. - static const type = $GetCredentialCancellationExceptionType(); - static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"Companion", - r"Landroidx/credentials/exceptions/GetCredentialCancellationException$Companion;", - ); - - /// from: static public final androidx.credentials.exceptions.GetCredentialCancellationException$Companion Companion - /// The returned object must be released after use, by calling the [release] method. - static GetCredentialCancellationException_Companion get Companion => - const $GetCredentialCancellationException_CompanionType().fromRef(jni - .Jni.accessors - .getStaticField( - _class.reference, _id_Companion, jni.JniCallType.objectType) - .object); - - /// from: static public final java.lang.String TYPE_GET_CREDENTIAL_CANCELLATION_EXCEPTION - static const TYPE_GET_CREDENTIAL_CANCELLATION_EXCEPTION = - r"""android.credentials.GetCredentialException.TYPE_USER_CANCELED"""; - - static final _id_new7 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Ljava/lang/CharSequence;)V"); - - /// from: public void (java.lang.CharSequence charSequence) - /// The returned object must be released after use, by calling the [release] method. - factory GetCredentialCancellationException.new7( - jni.JObject charSequence, - ) { - return GetCredentialCancellationException.fromRef(jni.Jni.accessors - .newObjectWithArgs( - _class.reference, _id_new7, [charSequence.reference]).object); - } - - static final _id_new8 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory GetCredentialCancellationException.new8( - jni.JObject charSequence, - int i, - jni.JObject defaultConstructorMarker, - ) { - return GetCredentialCancellationException.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new8, [ - charSequence.reference, - jni.JValueInt(i), - defaultConstructorMarker.reference - ]).object); - } - - static final _id_new9 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); - - /// from: public void () - /// The returned object must be released after use, by calling the [release] method. - factory GetCredentialCancellationException.new9() { - return GetCredentialCancellationException.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new9, []).object); - } -} - -final class $GetCredentialCancellationExceptionType - extends jni.JObjType { - const $GetCredentialCancellationExceptionType(); - - @override - String get signature => - r"Landroidx/credentials/exceptions/GetCredentialCancellationException;"; - - @override - GetCredentialCancellationException fromRef(jni.JObjectPtr ref) => - GetCredentialCancellationException.fromRef(ref); - - @override - jni.JObjType get superType => const $GetCredentialExceptionType(); - - @override - final superCount = 4; - - @override - int get hashCode => ($GetCredentialCancellationExceptionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($GetCredentialCancellationExceptionType) && - other is $GetCredentialCancellationExceptionType; - } -} - -/// from: androidx.credentials.exceptions.GetCredentialException -class GetCredentialException extends Exception { - @override - late final jni.JObjType $type = type; - - GetCredentialException.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/exceptions/GetCredentialException"); - - /// The type which includes information such as the signature of this class. - static const type = $GetCredentialExceptionType(); - static final _id_new5 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Ljava/lang/String;Ljava/lang/CharSequence;)V"); - - /// from: public void (java.lang.String string, java.lang.CharSequence charSequence) - /// The returned object must be released after use, by calling the [release] method. - factory GetCredentialException.new5( - jni.JString string, - jni.JObject charSequence, - ) { - return GetCredentialException.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, - _id_new5, - [string.reference, charSequence.reference]).object); - } - - static final _id_new6 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/lang/String;Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (java.lang.String string, java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory GetCredentialException.new6( - jni.JString string, - jni.JObject charSequence, - int i, - jni.JObject defaultConstructorMarker, - ) { - return GetCredentialException.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new6, [ - string.reference, - charSequence.reference, - jni.JValueInt(i), - defaultConstructorMarker.reference - ]).object); - } - - static final _id_getType = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getType", r"()Ljava/lang/String;"); - - /// from: public java.lang.String getType() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getType() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getType, jni.JniCallType.objectType, []).object); - } - - static final _id_getErrorMessage = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getErrorMessage", r"()Ljava/lang/CharSequence;"); - - /// from: public java.lang.CharSequence getErrorMessage() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getErrorMessage() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getErrorMessage, jni.JniCallType.objectType, []).object); - } - - static final _id_new1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); - - /// from: public void (java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - factory GetCredentialException.new1( - jni.JString string, - ) { - return GetCredentialException.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new1, [string.reference]).object); - } -} - -final class $GetCredentialExceptionType - extends jni.JObjType { - const $GetCredentialExceptionType(); - - @override - String get signature => - r"Landroidx/credentials/exceptions/GetCredentialException;"; - - @override - GetCredentialException fromRef(jni.JObjectPtr ref) => - GetCredentialException.fromRef(ref); - - @override - jni.JObjType get superType => const $ExceptionType(); - - @override - final superCount = 3; - - @override - int get hashCode => ($GetCredentialExceptionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($GetCredentialExceptionType) && - other is $GetCredentialExceptionType; - } -} - -/// from: androidx.credentials.exceptions.NoCredentialException$Companion -class NoCredentialException_Companion extends jni.JObject { - @override - late final jni.JObjType $type = type; - - NoCredentialException_Companion.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/exceptions/NoCredentialException$Companion"); - - /// The type which includes information such as the signature of this class. - static const type = $NoCredentialException_CompanionType(); - static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory NoCredentialException_Companion( - jni.JObject defaultConstructorMarker, - ) { - return NoCredentialException_Companion.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, - [defaultConstructorMarker.reference]).object); - } -} - -final class $NoCredentialException_CompanionType - extends jni.JObjType { - const $NoCredentialException_CompanionType(); - - @override - String get signature => - r"Landroidx/credentials/exceptions/NoCredentialException$Companion;"; - - @override - NoCredentialException_Companion fromRef(jni.JObjectPtr ref) => - NoCredentialException_Companion.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($NoCredentialException_CompanionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($NoCredentialException_CompanionType) && - other is $NoCredentialException_CompanionType; - } -} - -/// from: androidx.credentials.exceptions.NoCredentialException -class NoCredentialException extends GetCredentialException { - @override - late final jni.JObjType $type = type; - - NoCredentialException.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/exceptions/NoCredentialException"); - - /// The type which includes information such as the signature of this class. - static const type = $NoCredentialExceptionType(); - static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"Companion", - r"Landroidx/credentials/exceptions/NoCredentialException$Companion;", - ); - - /// from: static public final androidx.credentials.exceptions.NoCredentialException$Companion Companion - /// The returned object must be released after use, by calling the [release] method. - static NoCredentialException_Companion get Companion => - const $NoCredentialException_CompanionType().fromRef(jni.Jni.accessors - .getStaticField( - _class.reference, _id_Companion, jni.JniCallType.objectType) - .object); - - /// from: static public final java.lang.String TYPE_FRAMEWORK_TYPE_NO_CREDENTIAL - static const TYPE_FRAMEWORK_TYPE_NO_CREDENTIAL = - r"""android.credentials.GetCredentialException.TYPE_NO_CREDENTIAL"""; - - static final _id_new7 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Ljava/lang/CharSequence;)V"); - - /// from: public void (java.lang.CharSequence charSequence) - /// The returned object must be released after use, by calling the [release] method. - factory NoCredentialException.new7( - jni.JObject charSequence, - ) { - return NoCredentialException.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new7, [charSequence.reference]).object); - } - - static final _id_new8 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory NoCredentialException.new8( - jni.JObject charSequence, - int i, - jni.JObject defaultConstructorMarker, - ) { - return NoCredentialException.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new8, [ - charSequence.reference, - jni.JValueInt(i), - defaultConstructorMarker.reference - ]).object); - } - - static final _id_new9 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); - - /// from: public void () - /// The returned object must be released after use, by calling the [release] method. - factory NoCredentialException.new9() { - return NoCredentialException.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new9, []).object); - } -} - -final class $NoCredentialExceptionType - extends jni.JObjType { - const $NoCredentialExceptionType(); - - @override - String get signature => - r"Landroidx/credentials/exceptions/NoCredentialException;"; - - @override - NoCredentialException fromRef(jni.JObjectPtr ref) => - NoCredentialException.fromRef(ref); - - @override - jni.JObjType get superType => const $GetCredentialExceptionType(); - - @override - final superCount = 4; - - @override - int get hashCode => ($NoCredentialExceptionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($NoCredentialExceptionType) && - other is $NoCredentialExceptionType; - } -} - -/// from: androidx.credentials.exceptions.CreateCredentialInterruptedException$Companion -class CreateCredentialInterruptedException_Companion extends jni.JObject { - @override - late final jni.JObjType - $type = type; - - CreateCredentialInterruptedException_Companion.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/exceptions/CreateCredentialInterruptedException$Companion"); - - /// The type which includes information such as the signature of this class. - static const type = $CreateCredentialInterruptedException_CompanionType(); - static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialInterruptedException_Companion( - jni.JObject defaultConstructorMarker, - ) { - return CreateCredentialInterruptedException_Companion.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, - [defaultConstructorMarker.reference]).object); - } -} - -final class $CreateCredentialInterruptedException_CompanionType - extends jni.JObjType { - const $CreateCredentialInterruptedException_CompanionType(); - - @override - String get signature => - r"Landroidx/credentials/exceptions/CreateCredentialInterruptedException$Companion;"; - - @override - CreateCredentialInterruptedException_Companion fromRef(jni.JObjectPtr ref) => - CreateCredentialInterruptedException_Companion.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => - ($CreateCredentialInterruptedException_CompanionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == - ($CreateCredentialInterruptedException_CompanionType) && - other is $CreateCredentialInterruptedException_CompanionType; - } -} - -/// from: androidx.credentials.exceptions.CreateCredentialInterruptedException -class CreateCredentialInterruptedException extends CreateCredentialException { - @override - late final jni.JObjType $type = type; - - CreateCredentialInterruptedException.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/exceptions/CreateCredentialInterruptedException"); - - /// The type which includes information such as the signature of this class. - static const type = $CreateCredentialInterruptedExceptionType(); - static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"Companion", - r"Landroidx/credentials/exceptions/CreateCredentialInterruptedException$Companion;", - ); - - /// from: static public final androidx.credentials.exceptions.CreateCredentialInterruptedException$Companion Companion - /// The returned object must be released after use, by calling the [release] method. - static CreateCredentialInterruptedException_Companion get Companion => - const $CreateCredentialInterruptedException_CompanionType().fromRef(jni - .Jni.accessors - .getStaticField( - _class.reference, _id_Companion, jni.JniCallType.objectType) - .object); - - /// from: static public final java.lang.String TYPE_CREATE_CREDENTIAL_INTERRUPTED_EXCEPTION - static const TYPE_CREATE_CREDENTIAL_INTERRUPTED_EXCEPTION = - r"""android.credentials.CreateCredentialException.TYPE_INTERRUPTED"""; - - static final _id_new7 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Ljava/lang/CharSequence;)V"); - - /// from: public void (java.lang.CharSequence charSequence) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialInterruptedException.new7( - jni.JObject charSequence, - ) { - return CreateCredentialInterruptedException.fromRef(jni.Jni.accessors - .newObjectWithArgs( - _class.reference, _id_new7, [charSequence.reference]).object); - } - - static final _id_new8 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialInterruptedException.new8( - jni.JObject charSequence, - int i, - jni.JObject defaultConstructorMarker, - ) { - return CreateCredentialInterruptedException.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new8, [ - charSequence.reference, - jni.JValueInt(i), - defaultConstructorMarker.reference - ]).object); - } - - static final _id_new9 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); - - /// from: public void () - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialInterruptedException.new9() { - return CreateCredentialInterruptedException.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new9, []).object); - } -} - -final class $CreateCredentialInterruptedExceptionType - extends jni.JObjType { - const $CreateCredentialInterruptedExceptionType(); - - @override - String get signature => - r"Landroidx/credentials/exceptions/CreateCredentialInterruptedException;"; - - @override - CreateCredentialInterruptedException fromRef(jni.JObjectPtr ref) => - CreateCredentialInterruptedException.fromRef(ref); - - @override - jni.JObjType get superType => const $CreateCredentialExceptionType(); - - @override - final superCount = 4; - - @override - int get hashCode => ($CreateCredentialInterruptedExceptionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CreateCredentialInterruptedExceptionType) && - other is $CreateCredentialInterruptedExceptionType; - } -} - -/// from: androidx.credentials.exceptions.CreateCredentialProviderConfigurationException$Companion -class CreateCredentialProviderConfigurationException_Companion - extends jni.JObject { - @override - late final jni - .JObjType - $type = type; - - CreateCredentialProviderConfigurationException_Companion.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/exceptions/CreateCredentialProviderConfigurationException$Companion"); - - /// The type which includes information such as the signature of this class. - static const type = - $CreateCredentialProviderConfigurationException_CompanionType(); - static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialProviderConfigurationException_Companion( - jni.JObject defaultConstructorMarker, - ) { - return CreateCredentialProviderConfigurationException_Companion.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, - [defaultConstructorMarker.reference]).object); - } -} - -final class $CreateCredentialProviderConfigurationException_CompanionType - extends jni - .JObjType { - const $CreateCredentialProviderConfigurationException_CompanionType(); - - @override - String get signature => - r"Landroidx/credentials/exceptions/CreateCredentialProviderConfigurationException$Companion;"; - - @override - CreateCredentialProviderConfigurationException_Companion fromRef( - jni.JObjectPtr ref) => - CreateCredentialProviderConfigurationException_Companion.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => - ($CreateCredentialProviderConfigurationException_CompanionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == - ($CreateCredentialProviderConfigurationException_CompanionType) && - other is $CreateCredentialProviderConfigurationException_CompanionType; - } -} - -/// from: androidx.credentials.exceptions.CreateCredentialProviderConfigurationException -class CreateCredentialProviderConfigurationException - extends CreateCredentialException { - @override - late final jni.JObjType - $type = type; - - CreateCredentialProviderConfigurationException.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/exceptions/CreateCredentialProviderConfigurationException"); - - /// The type which includes information such as the signature of this class. - static const type = $CreateCredentialProviderConfigurationExceptionType(); - static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"Companion", - r"Landroidx/credentials/exceptions/CreateCredentialProviderConfigurationException$Companion;", - ); - - /// from: static public final androidx.credentials.exceptions.CreateCredentialProviderConfigurationException$Companion Companion - /// The returned object must be released after use, by calling the [release] method. - static CreateCredentialProviderConfigurationException_Companion - get Companion => - const $CreateCredentialProviderConfigurationException_CompanionType() - .fromRef(jni.Jni.accessors - .getStaticField(_class.reference, _id_Companion, - jni.JniCallType.objectType) - .object); - - /// from: static public final java.lang.String TYPE_CREATE_CREDENTIAL_PROVIDER_CONFIGURATION_EXCEPTION - static const TYPE_CREATE_CREDENTIAL_PROVIDER_CONFIGURATION_EXCEPTION = - r"""androidx.credentials.TYPE_CREATE_CREDENTIAL_PROVIDER_CONFIGURATION_EXCEPTION"""; - - static final _id_new7 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Ljava/lang/CharSequence;)V"); - - /// from: public void (java.lang.CharSequence charSequence) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialProviderConfigurationException.new7( - jni.JObject charSequence, - ) { - return CreateCredentialProviderConfigurationException.fromRef( - jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new7, [charSequence.reference]).object); - } - - static final _id_new8 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialProviderConfigurationException.new8( - jni.JObject charSequence, - int i, - jni.JObject defaultConstructorMarker, - ) { - return CreateCredentialProviderConfigurationException.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new8, [ - charSequence.reference, - jni.JValueInt(i), - defaultConstructorMarker.reference - ]).object); - } - - static final _id_new9 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); - - /// from: public void () - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialProviderConfigurationException.new9() { - return CreateCredentialProviderConfigurationException.fromRef(jni - .Jni.accessors - .newObjectWithArgs(_class.reference, _id_new9, []).object); - } -} - -final class $CreateCredentialProviderConfigurationExceptionType - extends jni.JObjType { - const $CreateCredentialProviderConfigurationExceptionType(); - - @override - String get signature => - r"Landroidx/credentials/exceptions/CreateCredentialProviderConfigurationException;"; - - @override - CreateCredentialProviderConfigurationException fromRef(jni.JObjectPtr ref) => - CreateCredentialProviderConfigurationException.fromRef(ref); - - @override - jni.JObjType get superType => const $CreateCredentialExceptionType(); - - @override - final superCount = 4; - - @override - int get hashCode => - ($CreateCredentialProviderConfigurationExceptionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == - ($CreateCredentialProviderConfigurationExceptionType) && - other is $CreateCredentialProviderConfigurationExceptionType; - } -} - -/// from: androidx.credentials.exceptions.CreateCredentialUnknownException$Companion -class CreateCredentialUnknownException_Companion extends jni.JObject { - @override - late final jni.JObjType $type = - type; - - CreateCredentialUnknownException_Companion.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/exceptions/CreateCredentialUnknownException$Companion"); - - /// The type which includes information such as the signature of this class. - static const type = $CreateCredentialUnknownException_CompanionType(); - static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialUnknownException_Companion( - jni.JObject defaultConstructorMarker, - ) { - return CreateCredentialUnknownException_Companion.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, - [defaultConstructorMarker.reference]).object); - } -} - -final class $CreateCredentialUnknownException_CompanionType - extends jni.JObjType { - const $CreateCredentialUnknownException_CompanionType(); - - @override - String get signature => - r"Landroidx/credentials/exceptions/CreateCredentialUnknownException$Companion;"; - - @override - CreateCredentialUnknownException_Companion fromRef(jni.JObjectPtr ref) => - CreateCredentialUnknownException_Companion.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => - ($CreateCredentialUnknownException_CompanionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == - ($CreateCredentialUnknownException_CompanionType) && - other is $CreateCredentialUnknownException_CompanionType; - } -} - -/// from: androidx.credentials.exceptions.CreateCredentialUnknownException -class CreateCredentialUnknownException extends CreateCredentialException { - @override - late final jni.JObjType $type = type; - - CreateCredentialUnknownException.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/exceptions/CreateCredentialUnknownException"); - - /// The type which includes information such as the signature of this class. - static const type = $CreateCredentialUnknownExceptionType(); - static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"Companion", - r"Landroidx/credentials/exceptions/CreateCredentialUnknownException$Companion;", - ); - - /// from: static public final androidx.credentials.exceptions.CreateCredentialUnknownException$Companion Companion - /// The returned object must be released after use, by calling the [release] method. - static CreateCredentialUnknownException_Companion get Companion => - const $CreateCredentialUnknownException_CompanionType().fromRef(jni - .Jni.accessors - .getStaticField( - _class.reference, _id_Companion, jni.JniCallType.objectType) - .object); - - /// from: static public final java.lang.String TYPE_CREATE_CREDENTIAL_UNKNOWN_EXCEPTION - static const TYPE_CREATE_CREDENTIAL_UNKNOWN_EXCEPTION = - r"""android.credentials.CreateCredentialException.TYPE_UNKNOWN"""; - - static final _id_new7 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Ljava/lang/CharSequence;)V"); - - /// from: public void (java.lang.CharSequence charSequence) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialUnknownException.new7( - jni.JObject charSequence, - ) { - return CreateCredentialUnknownException.fromRef(jni.Jni.accessors - .newObjectWithArgs( - _class.reference, _id_new7, [charSequence.reference]).object); - } - - static final _id_new8 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialUnknownException.new8( - jni.JObject charSequence, - int i, - jni.JObject defaultConstructorMarker, - ) { - return CreateCredentialUnknownException.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new8, [ - charSequence.reference, - jni.JValueInt(i), - defaultConstructorMarker.reference - ]).object); - } - - static final _id_new9 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); - - /// from: public void () - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialUnknownException.new9() { - return CreateCredentialUnknownException.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new9, []).object); - } -} - -final class $CreateCredentialUnknownExceptionType - extends jni.JObjType { - const $CreateCredentialUnknownExceptionType(); - - @override - String get signature => - r"Landroidx/credentials/exceptions/CreateCredentialUnknownException;"; - - @override - CreateCredentialUnknownException fromRef(jni.JObjectPtr ref) => - CreateCredentialUnknownException.fromRef(ref); - - @override - jni.JObjType get superType => const $CreateCredentialExceptionType(); - - @override - final superCount = 4; - - @override - int get hashCode => ($CreateCredentialUnknownExceptionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CreateCredentialUnknownExceptionType) && - other is $CreateCredentialUnknownExceptionType; - } -} - -/// from: androidx.credentials.exceptions.CreateCredentialCustomException -class CreateCredentialCustomException extends CreateCredentialException { - @override - late final jni.JObjType $type = type; - - CreateCredentialCustomException.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/exceptions/CreateCredentialCustomException"); - - /// The type which includes information such as the signature of this class. - static const type = $CreateCredentialCustomExceptionType(); - static final _id_new5 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Ljava/lang/String;Ljava/lang/CharSequence;)V"); - - /// from: public void (java.lang.String string, java.lang.CharSequence charSequence) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialCustomException.new5( - jni.JString string, - jni.JObject charSequence, - ) { - return CreateCredentialCustomException.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new5, - [string.reference, charSequence.reference]).object); - } - - static final _id_new6 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/lang/String;Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (java.lang.String string, java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialCustomException.new6( - jni.JString string, - jni.JObject charSequence, - int i, - jni.JObject defaultConstructorMarker, - ) { - return CreateCredentialCustomException.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new6, [ - string.reference, - charSequence.reference, - jni.JValueInt(i), - defaultConstructorMarker.reference - ]).object); - } - - static final _id_getType = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getType", r"()Ljava/lang/String;"); - - /// from: public java.lang.String getType() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getType() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getType, jni.JniCallType.objectType, []).object); - } - - static final _id_new1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); - - /// from: public void (java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - factory CreateCredentialCustomException.new1( - jni.JString string, - ) { - return CreateCredentialCustomException.fromRef(jni.Jni.accessors - .newObjectWithArgs( - _class.reference, _id_new1, [string.reference]).object); - } -} - -final class $CreateCredentialCustomExceptionType - extends jni.JObjType { - const $CreateCredentialCustomExceptionType(); - - @override - String get signature => - r"Landroidx/credentials/exceptions/CreateCredentialCustomException;"; - - @override - CreateCredentialCustomException fromRef(jni.JObjectPtr ref) => - CreateCredentialCustomException.fromRef(ref); - - @override - jni.JObjType get superType => const $CreateCredentialExceptionType(); - - @override - final superCount = 4; - - @override - int get hashCode => ($CreateCredentialCustomExceptionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CreateCredentialCustomExceptionType) && - other is $CreateCredentialCustomExceptionType; - } -} - -/// from: androidx.credentials.exceptions.publickeycredential.CreatePublicKeyCredentialDomException$Companion -class CreatePublicKeyCredentialDomException_Companion extends jni.JObject { - @override - late final jni.JObjType - $type = type; - - CreatePublicKeyCredentialDomException_Companion.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialDomException$Companion"); - - /// The type which includes information such as the signature of this class. - static const type = $CreatePublicKeyCredentialDomException_CompanionType(); - static final _id_createFrom = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"createFrom", - r"(Ljava/lang/String;Ljava/lang/String;)Landroidx/credentials/exceptions/CreateCredentialException;"); - - /// from: public final androidx.credentials.exceptions.CreateCredentialException createFrom(java.lang.String string, java.lang.String string1) - /// The returned object must be released after use, by calling the [release] method. - CreateCredentialException createFrom( - jni.JString string, - jni.JString string1, - ) { - return const $CreateCredentialExceptionType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_createFrom, - jni.JniCallType.objectType, - [string.reference, string1.reference]).object); - } - - static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory CreatePublicKeyCredentialDomException_Companion( - jni.JObject defaultConstructorMarker, - ) { - return CreatePublicKeyCredentialDomException_Companion.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, - [defaultConstructorMarker.reference]).object); - } -} - -final class $CreatePublicKeyCredentialDomException_CompanionType - extends jni.JObjType { - const $CreatePublicKeyCredentialDomException_CompanionType(); - - @override - String get signature => - r"Landroidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialDomException$Companion;"; - - @override - CreatePublicKeyCredentialDomException_Companion fromRef(jni.JObjectPtr ref) => - CreatePublicKeyCredentialDomException_Companion.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => - ($CreatePublicKeyCredentialDomException_CompanionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == - ($CreatePublicKeyCredentialDomException_CompanionType) && - other is $CreatePublicKeyCredentialDomException_CompanionType; - } -} - -/// from: androidx.credentials.exceptions.publickeycredential.CreatePublicKeyCredentialDomException -class CreatePublicKeyCredentialDomException - extends CreatePublicKeyCredentialException { - @override - late final jni.JObjType $type = type; - - CreatePublicKeyCredentialDomException.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialDomException"); - - /// The type which includes information such as the signature of this class. - static const type = $CreatePublicKeyCredentialDomExceptionType(); - static final _id_Companion1 = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"Companion", - r"Landroidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialDomException$Companion;", - ); - - /// from: static public final androidx.credentials.exceptions.publickeycredential.CreatePublicKeyCredentialDomException$Companion Companion - /// The returned object must be released after use, by calling the [release] method. - static CreatePublicKeyCredentialDomException_Companion get Companion1 => - const $CreatePublicKeyCredentialDomException_CompanionType().fromRef(jni - .Jni.accessors - .getStaticField( - _class.reference, _id_Companion1, jni.JniCallType.objectType) - .object); - - /// from: static public final java.lang.String TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_DOM_EXCEPTION - static const TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_DOM_EXCEPTION = - r"""androidx.credentials.TYPE_CREATE_PUBLIC_KEY_CREDENTIAL_DOM_EXCEPTION"""; - - static final _id_new7 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Landroidx/credentials/exceptions/domerrors/DomError;Ljava/lang/CharSequence;)V"); - - /// from: public void (androidx.credentials.exceptions.domerrors.DomError domError, java.lang.CharSequence charSequence) - /// The returned object must be released after use, by calling the [release] method. - factory CreatePublicKeyCredentialDomException.new7( - jni.JObject domError, - jni.JObject charSequence, - ) { - return CreatePublicKeyCredentialDomException.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new7, - [domError.reference, charSequence.reference]).object); - } - - static final _id_new8 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Landroidx/credentials/exceptions/domerrors/DomError;Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (androidx.credentials.exceptions.domerrors.DomError domError, java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory CreatePublicKeyCredentialDomException.new8( - jni.JObject domError, - jni.JObject charSequence, - int i, - jni.JObject defaultConstructorMarker, - ) { - return CreatePublicKeyCredentialDomException.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new8, [ - domError.reference, - charSequence.reference, - jni.JValueInt(i), - defaultConstructorMarker.reference - ]).object); - } - - static final _id_getDomError = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getDomError", - r"()Landroidx/credentials/exceptions/domerrors/DomError;"); - - /// from: public final androidx.credentials.exceptions.domerrors.DomError getDomError() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getDomError() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getDomError, jni.JniCallType.objectType, []).object); - } - - static final _id_new9 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Landroidx/credentials/exceptions/domerrors/DomError;)V"); - - /// from: public void (androidx.credentials.exceptions.domerrors.DomError domError) - /// The returned object must be released after use, by calling the [release] method. - factory CreatePublicKeyCredentialDomException.new9( - jni.JObject domError, - ) { - return CreatePublicKeyCredentialDomException.fromRef(jni.Jni.accessors - .newObjectWithArgs( - _class.reference, _id_new9, [domError.reference]).object); - } - - static final _id_createFrom = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"createFrom", - r"(Ljava/lang/String;Ljava/lang/String;)Landroidx/credentials/exceptions/CreateCredentialException;"); - - /// from: static public final androidx.credentials.exceptions.CreateCredentialException createFrom(java.lang.String string, java.lang.String string1) - /// The returned object must be released after use, by calling the [release] method. - static CreateCredentialException createFrom( - jni.JString string, - jni.JString string1, - ) { - return const $CreateCredentialExceptionType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_createFrom, - jni.JniCallType.objectType, - [string.reference, string1.reference]).object); - } -} - -final class $CreatePublicKeyCredentialDomExceptionType - extends jni.JObjType { - const $CreatePublicKeyCredentialDomExceptionType(); - - @override - String get signature => - r"Landroidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialDomException;"; - - @override - CreatePublicKeyCredentialDomException fromRef(jni.JObjectPtr ref) => - CreatePublicKeyCredentialDomException.fromRef(ref); - - @override - jni.JObjType get superType => const $CreatePublicKeyCredentialExceptionType(); - - @override - final superCount = 5; - - @override - int get hashCode => ($CreatePublicKeyCredentialDomExceptionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CreatePublicKeyCredentialDomExceptionType) && - other is $CreatePublicKeyCredentialDomExceptionType; - } -} - -/// from: androidx.credentials.exceptions.publickeycredential.CreatePublicKeyCredentialException$Companion -class CreatePublicKeyCredentialException_Companion extends jni.JObject { - @override - late final jni.JObjType $type = - type; - - CreatePublicKeyCredentialException_Companion.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialException$Companion"); - - /// The type which includes information such as the signature of this class. - static const type = $CreatePublicKeyCredentialException_CompanionType(); - static final _id_createFrom = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"createFrom", - r"(Ljava/lang/String;Ljava/lang/String;)Landroidx/credentials/exceptions/CreateCredentialException;"); - - /// from: public final androidx.credentials.exceptions.CreateCredentialException createFrom(java.lang.String string, java.lang.String string1) - /// The returned object must be released after use, by calling the [release] method. - CreateCredentialException createFrom( - jni.JString string, - jni.JString string1, - ) { - return const $CreateCredentialExceptionType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_createFrom, - jni.JniCallType.objectType, - [string.reference, string1.reference]).object); - } - - static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory CreatePublicKeyCredentialException_Companion( - jni.JObject defaultConstructorMarker, - ) { - return CreatePublicKeyCredentialException_Companion.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, - [defaultConstructorMarker.reference]).object); - } -} - -final class $CreatePublicKeyCredentialException_CompanionType - extends jni.JObjType { - const $CreatePublicKeyCredentialException_CompanionType(); - - @override - String get signature => - r"Landroidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialException$Companion;"; - - @override - CreatePublicKeyCredentialException_Companion fromRef(jni.JObjectPtr ref) => - CreatePublicKeyCredentialException_Companion.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => - ($CreatePublicKeyCredentialException_CompanionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == - ($CreatePublicKeyCredentialException_CompanionType) && - other is $CreatePublicKeyCredentialException_CompanionType; - } -} - -/// from: androidx.credentials.exceptions.publickeycredential.CreatePublicKeyCredentialException -class CreatePublicKeyCredentialException extends CreateCredentialException { - @override - late final jni.JObjType $type = type; - - CreatePublicKeyCredentialException.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialException"); - - /// The type which includes information such as the signature of this class. - static const type = $CreatePublicKeyCredentialExceptionType(); - static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"Companion", - r"Landroidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialException$Companion;", - ); - - /// from: static public final androidx.credentials.exceptions.publickeycredential.CreatePublicKeyCredentialException$Companion Companion - /// The returned object must be released after use, by calling the [release] method. - static CreatePublicKeyCredentialException_Companion get Companion => - const $CreatePublicKeyCredentialException_CompanionType().fromRef(jni - .Jni.accessors - .getStaticField( - _class.reference, _id_Companion, jni.JniCallType.objectType) - .object); - - static final _id_new5 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Ljava/lang/String;Ljava/lang/CharSequence;)V"); - - /// from: public void (java.lang.String string, java.lang.CharSequence charSequence) - /// The returned object must be released after use, by calling the [release] method. - factory CreatePublicKeyCredentialException.new5( - jni.JString string, - jni.JObject charSequence, - ) { - return CreatePublicKeyCredentialException.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new5, - [string.reference, charSequence.reference]).object); - } - - static final _id_new6 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Ljava/lang/String;Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (java.lang.String string, java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory CreatePublicKeyCredentialException.new6( - jni.JString string, - jni.JObject charSequence, - int i, - jni.JObject defaultConstructorMarker, - ) { - return CreatePublicKeyCredentialException.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new6, [ - string.reference, - charSequence.reference, - jni.JValueInt(i), - defaultConstructorMarker.reference - ]).object); - } - - static final _id_getType = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getType", r"()Ljava/lang/String;"); - - /// from: public java.lang.String getType() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getType() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getType, jni.JniCallType.objectType, []).object); - } - - static final _id_new1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); - - /// from: public void (java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - factory CreatePublicKeyCredentialException.new1( - jni.JString string, - ) { - return CreatePublicKeyCredentialException.fromRef(jni.Jni.accessors - .newObjectWithArgs( - _class.reference, _id_new1, [string.reference]).object); - } - - static final _id_createFrom = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"createFrom", - r"(Ljava/lang/String;Ljava/lang/String;)Landroidx/credentials/exceptions/CreateCredentialException;"); - - /// from: static public final androidx.credentials.exceptions.CreateCredentialException createFrom(java.lang.String string, java.lang.String string1) - /// The returned object must be released after use, by calling the [release] method. - static CreateCredentialException createFrom( - jni.JString string, - jni.JString string1, - ) { - return const $CreateCredentialExceptionType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_createFrom, - jni.JniCallType.objectType, - [string.reference, string1.reference]).object); - } -} - -final class $CreatePublicKeyCredentialExceptionType - extends jni.JObjType { - const $CreatePublicKeyCredentialExceptionType(); - - @override - String get signature => - r"Landroidx/credentials/exceptions/publickeycredential/CreatePublicKeyCredentialException;"; - - @override - CreatePublicKeyCredentialException fromRef(jni.JObjectPtr ref) => - CreatePublicKeyCredentialException.fromRef(ref); - - @override - jni.JObjType get superType => const $CreateCredentialExceptionType(); - - @override - final superCount = 4; - - @override - int get hashCode => ($CreatePublicKeyCredentialExceptionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CreatePublicKeyCredentialExceptionType) && - other is $CreatePublicKeyCredentialExceptionType; - } -} - -/// from: androidx.credentials.exceptions.publickeycredential.GetPublicKeyCredentialDomException$Companion -class GetPublicKeyCredentialDomException_Companion extends jni.JObject { - @override - late final jni.JObjType $type = - type; - - GetPublicKeyCredentialDomException_Companion.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialDomException$Companion"); - - /// The type which includes information such as the signature of this class. - static const type = $GetPublicKeyCredentialDomException_CompanionType(); - static final _id_createFrom = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"createFrom", - r"(Ljava/lang/String;Ljava/lang/String;)Landroidx/credentials/exceptions/GetCredentialException;"); - - /// from: public final androidx.credentials.exceptions.GetCredentialException createFrom(java.lang.String string, java.lang.String string1) - /// The returned object must be released after use, by calling the [release] method. - GetCredentialException createFrom( - jni.JString string, - jni.JString string1, - ) { - return const $GetCredentialExceptionType().fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_createFrom, - jni.JniCallType.objectType, - [string.reference, string1.reference]).object); - } - - static final _id_new0 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Lkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory GetPublicKeyCredentialDomException_Companion( - jni.JObject defaultConstructorMarker, - ) { - return GetPublicKeyCredentialDomException_Companion.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new0, - [defaultConstructorMarker.reference]).object); - } -} - -final class $GetPublicKeyCredentialDomException_CompanionType - extends jni.JObjType { - const $GetPublicKeyCredentialDomException_CompanionType(); - - @override - String get signature => - r"Landroidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialDomException$Companion;"; - - @override - GetPublicKeyCredentialDomException_Companion fromRef(jni.JObjectPtr ref) => - GetPublicKeyCredentialDomException_Companion.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => - ($GetPublicKeyCredentialDomException_CompanionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == - ($GetPublicKeyCredentialDomException_CompanionType) && - other is $GetPublicKeyCredentialDomException_CompanionType; - } -} - -/// from: androidx.credentials.exceptions.publickeycredential.GetPublicKeyCredentialDomException -class GetPublicKeyCredentialDomException extends jni.JObject { - @override - late final jni.JObjType $type = type; - - GetPublicKeyCredentialDomException.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass( - r"androidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialDomException"); - - /// The type which includes information such as the signature of this class. - static const type = $GetPublicKeyCredentialDomExceptionType(); - static final _id_Companion = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"Companion", - r"Landroidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialDomException$Companion;", - ); - - /// from: static public final androidx.credentials.exceptions.publickeycredential.GetPublicKeyCredentialDomException$Companion Companion - /// The returned object must be released after use, by calling the [release] method. - static GetPublicKeyCredentialDomException_Companion get Companion => - const $GetPublicKeyCredentialDomException_CompanionType().fromRef(jni - .Jni.accessors - .getStaticField( - _class.reference, _id_Companion, jni.JniCallType.objectType) - .object); - - /// from: static public final java.lang.String TYPE_GET_PUBLIC_KEY_CREDENTIAL_DOM_EXCEPTION - static const TYPE_GET_PUBLIC_KEY_CREDENTIAL_DOM_EXCEPTION = - r"""androidx.credentials.TYPE_GET_PUBLIC_KEY_CREDENTIAL_DOM_EXCEPTION"""; - - static final _id_new0 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Landroidx/credentials/exceptions/domerrors/DomError;Ljava/lang/CharSequence;)V"); - - /// from: public void (androidx.credentials.exceptions.domerrors.DomError domError, java.lang.CharSequence charSequence) - /// The returned object must be released after use, by calling the [release] method. - factory GetPublicKeyCredentialDomException( - jni.JObject domError, - jni.JObject charSequence, - ) { - return GetPublicKeyCredentialDomException.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, - [domError.reference, charSequence.reference]).object); - } - - static final _id_new1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"", - r"(Landroidx/credentials/exceptions/domerrors/DomError;Ljava/lang/CharSequence;ILkotlin/jvm/internal/DefaultConstructorMarker;)V"); - - /// from: public void (androidx.credentials.exceptions.domerrors.DomError domError, java.lang.CharSequence charSequence, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker) - /// The returned object must be released after use, by calling the [release] method. - factory GetPublicKeyCredentialDomException.new1( - jni.JObject domError, - jni.JObject charSequence, - int i, - jni.JObject defaultConstructorMarker, - ) { - return GetPublicKeyCredentialDomException.fromRef( - jni.Jni.accessors.newObjectWithArgs(_class.reference, _id_new1, [ - domError.reference, - charSequence.reference, - jni.JValueInt(i), - defaultConstructorMarker.reference - ]).object); - } - - static final _id_getDomError = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getDomError", - r"()Landroidx/credentials/exceptions/domerrors/DomError;"); - - /// from: public final androidx.credentials.exceptions.domerrors.DomError getDomError() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getDomError() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getDomError, jni.JniCallType.objectType, []).object); - } - - static final _id_new2 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Landroidx/credentials/exceptions/domerrors/DomError;)V"); - - /// from: public void (androidx.credentials.exceptions.domerrors.DomError domError) - /// The returned object must be released after use, by calling the [release] method. - factory GetPublicKeyCredentialDomException.new2( - jni.JObject domError, - ) { - return GetPublicKeyCredentialDomException.fromRef(jni.Jni.accessors - .newObjectWithArgs( - _class.reference, _id_new2, [domError.reference]).object); - } - - static final _id_createFrom = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"createFrom", - r"(Ljava/lang/String;Ljava/lang/String;)Landroidx/credentials/exceptions/GetCredentialException;"); - - /// from: static public final androidx.credentials.exceptions.GetCredentialException createFrom(java.lang.String string, java.lang.String string1) - /// The returned object must be released after use, by calling the [release] method. - static GetCredentialException createFrom( - jni.JString string, - jni.JString string1, - ) { - return const $GetCredentialExceptionType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_createFrom, - jni.JniCallType.objectType, - [string.reference, string1.reference]).object); - } -} - -final class $GetPublicKeyCredentialDomExceptionType - extends jni.JObjType { - const $GetPublicKeyCredentialDomExceptionType(); - - @override - String get signature => - r"Landroidx/credentials/exceptions/publickeycredential/GetPublicKeyCredentialDomException;"; - - @override - GetPublicKeyCredentialDomException fromRef(jni.JObjectPtr ref) => - GetPublicKeyCredentialDomException.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($GetPublicKeyCredentialDomExceptionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($GetPublicKeyCredentialDomExceptionType) && - other is $GetPublicKeyCredentialDomExceptionType; - } -} - -/// from: android.os.CancellationSignal$OnCancelListener -class CancellationSignal_OnCancelListener extends jni.JObject { - @override - late final jni.JObjType $type = type; - - CancellationSignal_OnCancelListener.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"android/os/CancellationSignal$OnCancelListener"); - - /// The type which includes information such as the signature of this class. - static const type = $CancellationSignal_OnCancelListenerType(); - static final _id_onCancel = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"onCancel", r"()V"); - - /// from: public abstract void onCancel() - void onCancel() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_onCancel, jni.JniCallType.voidType, []).check(); - } - - /// Maps a specific port to the implemented interface. - static final Map _$impls = {}; - ReceivePort? _$p; - - static jni.JObjectPtr _$invoke( - int port, - jni.JObjectPtr descriptor, - jni.JObjectPtr args, - ) { - return _$invokeMethod( - port, - $MethodInvocation.fromAddresses( - 0, - descriptor.address, - args.address, - ), - ); - } - - static final ffi.Pointer< - ffi.NativeFunction< - jni.JObjectPtr Function( - ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> - _$invokePointer = ffi.Pointer.fromFunction(_$invoke); - - static ffi.Pointer _$invokeMethod( - int $p, - $MethodInvocation $i, - ) { - try { - final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); - final $a = $i.args; - if ($d == r"onCancel()V") { - _$impls[$p]!.onCancel(); - return jni.nullptr; - } - } catch (e) { - return ProtectedJniExtensions.newDartException(e.toString()); - } - return jni.nullptr; - } - - factory CancellationSignal_OnCancelListener.implement( - $CancellationSignal_OnCancelListenerImpl $impl, - ) { - final $p = ReceivePort(); - final $x = CancellationSignal_OnCancelListener.fromRef( - ProtectedJniExtensions.newPortProxy( - r"android.os.CancellationSignal$OnCancelListener", - $p, - _$invokePointer, - ), - ).._$p = $p; - final $a = $p.sendPort.nativePort; - _$impls[$a] = $impl; - $p.listen(($m) { - if ($m == null) { - _$impls.remove($p.sendPort.nativePort); - $p.close(); - return; - } - final $i = $MethodInvocation.fromMessage($m as List); - final $r = _$invokeMethod($p.sendPort.nativePort, $i); - ProtectedJniExtensions.returnResult($i.result, $r); - }); - return $x; - } -} - -abstract class $CancellationSignal_OnCancelListenerImpl { - factory $CancellationSignal_OnCancelListenerImpl({ - required void Function() onCancel, - }) = _$CancellationSignal_OnCancelListenerImpl; - - void onCancel(); -} - -class _$CancellationSignal_OnCancelListenerImpl - implements $CancellationSignal_OnCancelListenerImpl { - _$CancellationSignal_OnCancelListenerImpl({ - required void Function() onCancel, - }) : _onCancel = onCancel; - - final void Function() _onCancel; - - void onCancel() { - return _onCancel(); - } -} - -final class $CancellationSignal_OnCancelListenerType - extends jni.JObjType { - const $CancellationSignal_OnCancelListenerType(); - - @override - String get signature => r"Landroid/os/CancellationSignal$OnCancelListener;"; - - @override - CancellationSignal_OnCancelListener fromRef(jni.JObjectPtr ref) => - CancellationSignal_OnCancelListener.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($CancellationSignal_OnCancelListenerType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CancellationSignal_OnCancelListenerType) && - other is $CancellationSignal_OnCancelListenerType; - } -} - -/// from: android.os.CancellationSignal -class CancellationSignal extends jni.JObject { - @override - late final jni.JObjType $type = type; - - CancellationSignal.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass(r"android/os/CancellationSignal"); - - /// The type which includes information such as the signature of this class. - static const type = $CancellationSignalType(); - static final _id_new0 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); - - /// from: public void () - /// The returned object must be released after use, by calling the [release] method. - factory CancellationSignal() { - return CancellationSignal.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, []).object); - } - - static final _id_isCanceled = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"isCanceled", r"()Z"); - - /// from: public boolean isCanceled() - bool isCanceled() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_isCanceled, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_throwIfCanceled = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"throwIfCanceled", r"()V"); - - /// from: public void throwIfCanceled() - void throwIfCanceled() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_throwIfCanceled, jni.JniCallType.voidType, []).check(); - } - - static final _id_cancel = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"cancel", r"()V"); - - /// from: public void cancel() - void cancel() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_cancel, jni.JniCallType.voidType, []).check(); - } - - static final _id_setOnCancelListener = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"setOnCancelListener", - r"(Landroid/os/CancellationSignal$OnCancelListener;)V"); - - /// from: public void setOnCancelListener(android.os.CancellationSignal$OnCancelListener onCancelListener) - void setOnCancelListener( - CancellationSignal_OnCancelListener onCancelListener, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_setOnCancelListener, - jni.JniCallType.voidType, - [onCancelListener.reference]).check(); - } -} - -final class $CancellationSignalType extends jni.JObjType { - const $CancellationSignalType(); - - @override - String get signature => r"Landroid/os/CancellationSignal;"; - - @override - CancellationSignal fromRef(jni.JObjectPtr ref) => - CancellationSignal.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($CancellationSignalType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CancellationSignalType) && - other is $CancellationSignalType; - } -} - -/// from: android.os.Bundle -class Bundle extends BaseBundle { - @override - late final jni.JObjType $type = type; - - Bundle.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass(r"android/os/Bundle"); - - /// The type which includes information such as the signature of this class. - static const type = $BundleType(); - static final _id_CREATOR = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"CREATOR", - r"Landroid/os/Parcelable$Creator;", - ); - - /// from: static public final android.os.Parcelable$Creator CREATOR - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject get CREATOR => const jni.JObjectType().fromRef(jni - .Jni.accessors - .getStaticField(_class.reference, _id_CREATOR, jni.JniCallType.objectType) - .object); - - static final _id_EMPTY = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"EMPTY", - r"Landroid/os/Bundle;", - ); - - /// from: static public final android.os.Bundle EMPTY - /// The returned object must be released after use, by calling the [release] method. - static Bundle get EMPTY => const $BundleType().fromRef(jni.Jni.accessors - .getStaticField(_class.reference, _id_EMPTY, jni.JniCallType.objectType) - .object); - - static final _id_new0 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); - - /// from: public void () - /// The returned object must be released after use, by calling the [release] method. - factory Bundle() { - return Bundle.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, []).object); - } - - static final _id_new1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Ljava/lang/ClassLoader;)V"); - - /// from: public void (java.lang.ClassLoader classLoader) - /// The returned object must be released after use, by calling the [release] method. - factory Bundle.new1( - jni.JObject classLoader, - ) { - return Bundle.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new1, [classLoader.reference]).object); - } - - static final _id_new2 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"(I)V"); - - /// from: public void (int i) - /// The returned object must be released after use, by calling the [release] method. - factory Bundle.new2( - int i, - ) { - return Bundle.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new2, [jni.JValueInt(i)]).object); - } - - static final _id_new3 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"", r"(Landroid/os/Bundle;)V"); - - /// from: public void (android.os.Bundle bundle) - /// The returned object must be released after use, by calling the [release] method. - factory Bundle.new3( - Bundle bundle, - ) { - return Bundle.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new3, [bundle.reference]).object); - } - - static final _id_new4 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Landroid/os/PersistableBundle;)V"); - - /// from: public void (android.os.PersistableBundle persistableBundle) - /// The returned object must be released after use, by calling the [release] method. - factory Bundle.new4( - jni.JObject persistableBundle, - ) { - return Bundle.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new4, [persistableBundle.reference]).object); - } - - static final _id_setClassLoader = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"setClassLoader", r"(Ljava/lang/ClassLoader;)V"); - - /// from: public void setClassLoader(java.lang.ClassLoader classLoader) - void setClassLoader( - jni.JObject classLoader, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setClassLoader, - jni.JniCallType.voidType, [classLoader.reference]).check(); - } - - static final _id_getClassLoader = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getClassLoader", r"()Ljava/lang/ClassLoader;"); - - /// from: public java.lang.ClassLoader getClassLoader() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getClassLoader() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getClassLoader, jni.JniCallType.objectType, []).object); - } - - static final _id_clone = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"clone", r"()Ljava/lang/Object;"); - - /// from: public java.lang.Object clone() - /// The returned object must be released after use, by calling the [release] method. - jni.JObject clone() { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_clone, jni.JniCallType.objectType, []).object); - } - - static final _id_deepCopy = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"deepCopy", r"()Landroid/os/Bundle;"); - - /// from: public android.os.Bundle deepCopy() - /// The returned object must be released after use, by calling the [release] method. - Bundle deepCopy() { - return const $BundleType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_deepCopy, jni.JniCallType.objectType, []).object); - } - - static final _id_clear = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"clear", r"()V"); - - /// from: public void clear() - void clear() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_clear, jni.JniCallType.voidType, []).check(); - } - - static final _id_remove = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"remove", r"(Ljava/lang/String;)V"); - - /// from: public void remove(java.lang.String string) - void remove( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_remove, - jni.JniCallType.voidType, [string.reference]).check(); - } - - static final _id_putAll1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"putAll", r"(Landroid/os/Bundle;)V"); - - /// from: public void putAll(android.os.Bundle bundle) - void putAll1( - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_putAll1, - jni.JniCallType.voidType, [bundle.reference]).check(); - } - - static final _id_hasFileDescriptors = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"hasFileDescriptors", r"()Z"); - - /// from: public boolean hasFileDescriptors() - bool hasFileDescriptors() { - return jni.Jni.accessors.callMethodWithArgs(reference, - _id_hasFileDescriptors, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_putByte = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"putByte", r"(Ljava/lang/String;B)V"); - - /// from: public void putByte(java.lang.String string, byte b) - void putByte( - jni.JString string, - int b, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putByte, - jni.JniCallType.voidType, - [string.reference, jni.JValueByte(b)]).check(); - } - - static final _id_putChar = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"putChar", r"(Ljava/lang/String;C)V"); - - /// from: public void putChar(java.lang.String string, char c) - void putChar( - jni.JString string, - int c, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putChar, - jni.JniCallType.voidType, - [string.reference, jni.JValueChar(c)]).check(); - } - - static final _id_putShort = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"putShort", r"(Ljava/lang/String;S)V"); - - /// from: public void putShort(java.lang.String string, short s) - void putShort( - jni.JString string, - int s, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putShort, - jni.JniCallType.voidType, - [string.reference, jni.JValueShort(s)]).check(); - } - - static final _id_putFloat = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"putFloat", r"(Ljava/lang/String;F)V"); - - /// from: public void putFloat(java.lang.String string, float f) - void putFloat( - jni.JString string, - double f, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putFloat, - jni.JniCallType.voidType, - [string.reference, jni.JValueFloat(f)]).check(); - } - - static final _id_putCharSequence = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putCharSequence", - r"(Ljava/lang/String;Ljava/lang/CharSequence;)V"); - - /// from: public void putCharSequence(java.lang.String string, java.lang.CharSequence charSequence) - void putCharSequence( - jni.JString string, - jni.JObject charSequence, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putCharSequence, - jni.JniCallType.voidType, - [string.reference, charSequence.reference]).check(); - } - - static final _id_putParcelable = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putParcelable", - r"(Ljava/lang/String;Landroid/os/Parcelable;)V"); - - /// from: public void putParcelable(java.lang.String string, android.os.Parcelable parcelable) - void putParcelable( - jni.JString string, - jni.JObject parcelable, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putParcelable, - jni.JniCallType.voidType, - [string.reference, parcelable.reference]).check(); - } - - static final _id_putSize = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"putSize", r"(Ljava/lang/String;Landroid/util/Size;)V"); - - /// from: public void putSize(java.lang.String string, android.util.Size size) - void putSize( - jni.JString string, - jni.JObject size, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_putSize, - jni.JniCallType.voidType, [string.reference, size.reference]).check(); - } - - static final _id_putSizeF = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"putSizeF", r"(Ljava/lang/String;Landroid/util/SizeF;)V"); - - /// from: public void putSizeF(java.lang.String string, android.util.SizeF sizeF) - void putSizeF( - jni.JString string, - jni.JObject sizeF, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_putSizeF, - jni.JniCallType.voidType, [string.reference, sizeF.reference]).check(); - } - - static final _id_putParcelableArray = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putParcelableArray", - r"(Ljava/lang/String;[Landroid/os/Parcelable;)V"); - - /// from: public void putParcelableArray(java.lang.String string, android.os.Parcelable[] parcelables) - void putParcelableArray( - jni.JString string, - jni.JArray parcelables, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putParcelableArray, - jni.JniCallType.voidType, - [string.reference, parcelables.reference]).check(); - } - - static final _id_putParcelableArrayList = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putParcelableArrayList", - r"(Ljava/lang/String;Ljava/util/ArrayList;)V"); - - /// from: public void putParcelableArrayList(java.lang.String string, java.util.ArrayList arrayList) - void putParcelableArrayList( - jni.JString string, - jni.JObject arrayList, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putParcelableArrayList, - jni.JniCallType.voidType, - [string.reference, arrayList.reference]).check(); - } - - static final _id_putSparseParcelableArray = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putSparseParcelableArray", - r"(Ljava/lang/String;Landroid/util/SparseArray;)V"); - - /// from: public void putSparseParcelableArray(java.lang.String string, android.util.SparseArray sparseArray) - void putSparseParcelableArray( - jni.JString string, - jni.JObject sparseArray, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putSparseParcelableArray, - jni.JniCallType.voidType, - [string.reference, sparseArray.reference]).check(); - } - - static final _id_putIntegerArrayList = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putIntegerArrayList", - r"(Ljava/lang/String;Ljava/util/ArrayList;)V"); - - /// from: public void putIntegerArrayList(java.lang.String string, java.util.ArrayList arrayList) - void putIntegerArrayList( - jni.JString string, - jni.JObject arrayList, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putIntegerArrayList, - jni.JniCallType.voidType, - [string.reference, arrayList.reference]).check(); - } - - static final _id_putStringArrayList = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putStringArrayList", - r"(Ljava/lang/String;Ljava/util/ArrayList;)V"); - - /// from: public void putStringArrayList(java.lang.String string, java.util.ArrayList arrayList) - void putStringArrayList( - jni.JString string, - jni.JObject arrayList, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putStringArrayList, - jni.JniCallType.voidType, - [string.reference, arrayList.reference]).check(); - } - - static final _id_putCharSequenceArrayList = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putCharSequenceArrayList", - r"(Ljava/lang/String;Ljava/util/ArrayList;)V"); - - /// from: public void putCharSequenceArrayList(java.lang.String string, java.util.ArrayList arrayList) - void putCharSequenceArrayList( - jni.JString string, - jni.JObject arrayList, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putCharSequenceArrayList, - jni.JniCallType.voidType, - [string.reference, arrayList.reference]).check(); - } - - static final _id_putSerializable = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putSerializable", - r"(Ljava/lang/String;Ljava/io/Serializable;)V"); - - /// from: public void putSerializable(java.lang.String string, java.io.Serializable serializable) - void putSerializable( - jni.JString string, - jni.JObject serializable, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putSerializable, - jni.JniCallType.voidType, - [string.reference, serializable.reference]).check(); - } - - static final _id_putByteArray = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"putByteArray", r"(Ljava/lang/String;[B)V"); - - /// from: public void putByteArray(java.lang.String string, byte[] bs) - void putByteArray( - jni.JString string, - jni.JArray bs, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_putByteArray, - jni.JniCallType.voidType, [string.reference, bs.reference]).check(); - } - - static final _id_putShortArray = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"putShortArray", r"(Ljava/lang/String;[S)V"); - - /// from: public void putShortArray(java.lang.String string, short[] ss) - void putShortArray( - jni.JString string, - jni.JArray ss, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_putShortArray, - jni.JniCallType.voidType, [string.reference, ss.reference]).check(); - } - - static final _id_putCharArray = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"putCharArray", r"(Ljava/lang/String;[C)V"); - - /// from: public void putCharArray(java.lang.String string, char[] cs) - void putCharArray( - jni.JString string, - jni.JArray cs, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_putCharArray, - jni.JniCallType.voidType, [string.reference, cs.reference]).check(); - } - - static final _id_putFloatArray = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"putFloatArray", r"(Ljava/lang/String;[F)V"); - - /// from: public void putFloatArray(java.lang.String string, float[] fs) - void putFloatArray( - jni.JString string, - jni.JArray fs, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_putFloatArray, - jni.JniCallType.voidType, [string.reference, fs.reference]).check(); - } - - static final _id_putCharSequenceArray = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putCharSequenceArray", - r"(Ljava/lang/String;[Ljava/lang/CharSequence;)V"); - - /// from: public void putCharSequenceArray(java.lang.String string, java.lang.CharSequence[] charSequences) - void putCharSequenceArray( - jni.JString string, - jni.JArray charSequences, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putCharSequenceArray, - jni.JniCallType.voidType, - [string.reference, charSequences.reference]).check(); - } - - static final _id_putBundle = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"putBundle", r"(Ljava/lang/String;Landroid/os/Bundle;)V"); - - /// from: public void putBundle(java.lang.String string, android.os.Bundle bundle) - void putBundle( - jni.JString string, - Bundle bundle, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_putBundle, - jni.JniCallType.voidType, [string.reference, bundle.reference]).check(); - } - - static final _id_putBinder = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"putBinder", r"(Ljava/lang/String;Landroid/os/IBinder;)V"); - - /// from: public void putBinder(java.lang.String string, android.os.IBinder iBinder) - void putBinder( - jni.JString string, - jni.JObject iBinder, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putBinder, - jni.JniCallType.voidType, - [string.reference, iBinder.reference]).check(); - } - - static final _id_getByte = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getByte", r"(Ljava/lang/String;)B"); - - /// from: public byte getByte(java.lang.String string) - int getByte( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_getByte, - jni.JniCallType.byteType, [string.reference]).byte; - } - - static final _id_getByte1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getByte", r"(Ljava/lang/String;B)Ljava/lang/Byte;"); - - /// from: public java.lang.Byte getByte(java.lang.String string, byte b) - /// The returned object must be released after use, by calling the [release] method. - jni.JByte getByte1( - jni.JString string, - int b, - ) { - return const jni.JByteType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getByte1, - jni.JniCallType.objectType, - [string.reference, jni.JValueByte(b)]).object); - } - - static final _id_getChar = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getChar", r"(Ljava/lang/String;)C"); - - /// from: public char getChar(java.lang.String string) - int getChar( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_getChar, - jni.JniCallType.charType, [string.reference]).char; - } - - static final _id_getChar1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getChar", r"(Ljava/lang/String;C)C"); - - /// from: public char getChar(java.lang.String string, char c) - int getChar1( - jni.JString string, - int c, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_getChar1, - jni.JniCallType.charType, [string.reference, jni.JValueChar(c)]).char; - } - - static final _id_getShort = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getShort", r"(Ljava/lang/String;)S"); - - /// from: public short getShort(java.lang.String string) - int getShort( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_getShort, - jni.JniCallType.shortType, [string.reference]).short; - } - - static final _id_getShort1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getShort", r"(Ljava/lang/String;S)S"); - - /// from: public short getShort(java.lang.String string, short s) - int getShort1( - jni.JString string, - int s, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getShort1, - jni.JniCallType.shortType, - [string.reference, jni.JValueShort(s)]).short; - } - - static final _id_getFloat = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getFloat", r"(Ljava/lang/String;)F"); - - /// from: public float getFloat(java.lang.String string) - double getFloat( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_getFloat, - jni.JniCallType.floatType, [string.reference]).float; - } - - static final _id_getFloat1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getFloat", r"(Ljava/lang/String;F)F"); - - /// from: public float getFloat(java.lang.String string, float f) - double getFloat1( - jni.JString string, - double f, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getFloat1, - jni.JniCallType.floatType, - [string.reference, jni.JValueFloat(f)]).float; - } - - static final _id_getCharSequence = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getCharSequence", - r"(Ljava/lang/String;)Ljava/lang/CharSequence;"); - - /// from: public java.lang.CharSequence getCharSequence(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getCharSequence( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getCharSequence, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getCharSequence1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getCharSequence", - r"(Ljava/lang/String;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;"); - - /// from: public java.lang.CharSequence getCharSequence(java.lang.String string, java.lang.CharSequence charSequence) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getCharSequence1( - jni.JString string, - jni.JObject charSequence, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getCharSequence1, - jni.JniCallType.objectType, - [string.reference, charSequence.reference]).object); - } - - static final _id_getSize = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getSize", r"(Ljava/lang/String;)Landroid/util/Size;"); - - /// from: public android.util.Size getSize(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getSize( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getSize, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getSizeF = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"getSizeF", r"(Ljava/lang/String;)Landroid/util/SizeF;"); - - /// from: public android.util.SizeF getSizeF(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getSizeF( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getSizeF, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getBundle = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"getBundle", r"(Ljava/lang/String;)Landroid/os/Bundle;"); - - /// from: public android.os.Bundle getBundle(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - Bundle getBundle( - jni.JString string, - ) { - return const $BundleType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getBundle, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getParcelable = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getParcelable", - r"(Ljava/lang/String;)Landroid/os/Parcelable;"); - - /// from: public T getParcelable(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - $T getParcelable<$T extends jni.JObject>( - jni.JString string, { - required jni.JObjType<$T> T, - }) { - return T.fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getParcelable, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getParcelable1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getParcelable", - r"(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;"); - - /// from: public T getParcelable(java.lang.String string, java.lang.Class class) - /// The returned object must be released after use, by calling the [release] method. - $T getParcelable1<$T extends jni.JObject>( - jni.JString string, - jni.JObject class0, { - required jni.JObjType<$T> T, - }) { - return T.fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getParcelable1, - jni.JniCallType.objectType, - [string.reference, class0.reference]).object); - } - - static final _id_getParcelableArray = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getParcelableArray", - r"(Ljava/lang/String;)[Landroid/os/Parcelable;"); - - /// from: public android.os.Parcelable[] getParcelableArray(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getParcelableArray( - jni.JString string, - ) { - return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getParcelableArray, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getParcelableArray1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getParcelableArray", - r"(Ljava/lang/String;Ljava/lang/Class;)[Ljava/lang/Object;"); - - /// from: public java.lang.Object[] getParcelableArray(java.lang.String string, java.lang.Class class) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray<$T> getParcelableArray1<$T extends jni.JObject>( - jni.JString string, - jni.JObject class0, { - required jni.JObjType<$T> T, - }) { - return jni.JArrayType(T).fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getParcelableArray1, - jni.JniCallType.objectType, - [string.reference, class0.reference]).object); - } - - static final _id_getParcelableArrayList = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getParcelableArrayList", - r"(Ljava/lang/String;)Ljava/util/ArrayList;"); - - /// from: public java.util.ArrayList getParcelableArrayList(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getParcelableArrayList<$T extends jni.JObject>( - jni.JString string, { - required jni.JObjType<$T> T, - }) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getParcelableArrayList, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getParcelableArrayList1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getParcelableArrayList", - r"(Ljava/lang/String;Ljava/lang/Class;)Ljava/util/ArrayList;"); - - /// from: public java.util.ArrayList getParcelableArrayList(java.lang.String string, java.lang.Class class) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getParcelableArrayList1<$T extends jni.JObject>( - jni.JString string, - jni.JObject class0, { - required jni.JObjType<$T> T, - }) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getParcelableArrayList1, - jni.JniCallType.objectType, - [string.reference, class0.reference]).object); - } - - static final _id_getSparseParcelableArray = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getSparseParcelableArray", - r"(Ljava/lang/String;)Landroid/util/SparseArray;"); - - /// from: public android.util.SparseArray getSparseParcelableArray(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getSparseParcelableArray<$T extends jni.JObject>( - jni.JString string, { - required jni.JObjType<$T> T, - }) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getSparseParcelableArray, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getSparseParcelableArray1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getSparseParcelableArray", - r"(Ljava/lang/String;Ljava/lang/Class;)Landroid/util/SparseArray;"); - - /// from: public android.util.SparseArray getSparseParcelableArray(java.lang.String string, java.lang.Class class) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getSparseParcelableArray1<$T extends jni.JObject>( - jni.JString string, - jni.JObject class0, { - required jni.JObjType<$T> T, - }) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getSparseParcelableArray1, - jni.JniCallType.objectType, - [string.reference, class0.reference]).object); - } - - static final _id_getSerializable = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getSerializable", - r"(Ljava/lang/String;)Ljava/io/Serializable;"); - - /// from: public java.io.Serializable getSerializable(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getSerializable( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getSerializable, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getSerializable1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getSerializable", - r"(Ljava/lang/String;Ljava/lang/Class;)Ljava/io/Serializable;"); - - /// from: public T getSerializable(java.lang.String string, java.lang.Class class) - /// The returned object must be released after use, by calling the [release] method. - $T getSerializable1<$T extends jni.JObject>( - jni.JString string, - jni.JObject class0, { - required jni.JObjType<$T> T, - }) { - return T.fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getSerializable1, - jni.JniCallType.objectType, - [string.reference, class0.reference]).object); - } - - static final _id_getIntegerArrayList = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getIntegerArrayList", - r"(Ljava/lang/String;)Ljava/util/ArrayList;"); - - /// from: public java.util.ArrayList getIntegerArrayList(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getIntegerArrayList( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getIntegerArrayList, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getStringArrayList = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getStringArrayList", - r"(Ljava/lang/String;)Ljava/util/ArrayList;"); - - /// from: public java.util.ArrayList getStringArrayList(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getStringArrayList( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getStringArrayList, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getCharSequenceArrayList = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getCharSequenceArrayList", - r"(Ljava/lang/String;)Ljava/util/ArrayList;"); - - /// from: public java.util.ArrayList getCharSequenceArrayList(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getCharSequenceArrayList( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getCharSequenceArrayList, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getByteArray = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getByteArray", r"(Ljava/lang/String;)[B"); - - /// from: public byte[] getByteArray(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getByteArray( - jni.JString string, - ) { - return const jni.JArrayType(jni.jbyteType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getByteArray, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getShortArray = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getShortArray", r"(Ljava/lang/String;)[S"); - - /// from: public short[] getShortArray(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getShortArray( - jni.JString string, - ) { - return const jni.JArrayType(jni.jshortType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getShortArray, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getCharArray = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getCharArray", r"(Ljava/lang/String;)[C"); - - /// from: public char[] getCharArray(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getCharArray( - jni.JString string, - ) { - return const jni.JArrayType(jni.jcharType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getCharArray, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getFloatArray = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getFloatArray", r"(Ljava/lang/String;)[F"); - - /// from: public float[] getFloatArray(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getFloatArray( - jni.JString string, - ) { - return const jni.JArrayType(jni.jfloatType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getFloatArray, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getCharSequenceArray = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getCharSequenceArray", - r"(Ljava/lang/String;)[Ljava/lang/CharSequence;"); - - /// from: public java.lang.CharSequence[] getCharSequenceArray(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getCharSequenceArray( - jni.JString string, - ) { - return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getCharSequenceArray, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getBinder = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"getBinder", r"(Ljava/lang/String;)Landroid/os/IBinder;"); - - /// from: public android.os.IBinder getBinder(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject getBinder( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getBinder, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_describeContents = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"describeContents", r"()I"); - - /// from: public int describeContents() - int describeContents() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_describeContents, jni.JniCallType.intType, []).integer; - } - - static final _id_writeToParcel = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"writeToParcel", r"(Landroid/os/Parcel;I)V"); - - /// from: public void writeToParcel(android.os.Parcel parcel, int i) - void writeToParcel( - jni.JObject parcel, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_writeToParcel, - jni.JniCallType.voidType, [parcel.reference, jni.JValueInt(i)]).check(); - } - - static final _id_readFromParcel = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"readFromParcel", r"(Landroid/os/Parcel;)V"); - - /// from: public void readFromParcel(android.os.Parcel parcel) - void readFromParcel( - jni.JObject parcel, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_readFromParcel, - jni.JniCallType.voidType, [parcel.reference]).check(); - } - - static final _id_toString1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"toString", r"()Ljava/lang/String;"); - - /// from: public java.lang.String toString() - /// The returned object must be released after use, by calling the [release] method. - jni.JString toString1() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_toString1, jni.JniCallType.objectType, []).object); - } -} - -final class $BundleType extends jni.JObjType { - const $BundleType(); - - @override - String get signature => r"Landroid/os/Bundle;"; - - @override - Bundle fromRef(jni.JObjectPtr ref) => Bundle.fromRef(ref); - - @override - jni.JObjType get superType => const $BaseBundleType(); - - @override - final superCount = 2; - - @override - int get hashCode => ($BundleType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($BundleType) && other is $BundleType; - } -} - -/// from: android.os.BaseBundle -class BaseBundle extends jni.JObject { - @override - late final jni.JObjType $type = type; - - BaseBundle.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass(r"android/os/BaseBundle"); - - /// The type which includes information such as the signature of this class. - static const type = $BaseBundleType(); - static final _id_size = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"size", r"()I"); - - /// from: public int size() - int size() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_size, jni.JniCallType.intType, []).integer; - } - - static final _id_isEmpty = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"isEmpty", r"()Z"); - - /// from: public boolean isEmpty() - bool isEmpty() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_isEmpty, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_clear = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"clear", r"()V"); - - /// from: public void clear() - void clear() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_clear, jni.JniCallType.voidType, []).check(); - } - - static final _id_containsKey = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"containsKey", r"(Ljava/lang/String;)Z"); - - /// from: public boolean containsKey(java.lang.String string) - bool containsKey( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_containsKey, - jni.JniCallType.booleanType, [string.reference]).boolean; - } - - static final _id_get0 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"get", r"(Ljava/lang/String;)Ljava/lang/Object;"); - - /// from: public java.lang.Object get(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JObject get0( - jni.JString string, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_get0, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_remove = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"remove", r"(Ljava/lang/String;)V"); - - /// from: public void remove(java.lang.String string) - void remove( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_remove, - jni.JniCallType.voidType, [string.reference]).check(); - } - - static final _id_putAll = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"putAll", r"(Landroid/os/PersistableBundle;)V"); - - /// from: public void putAll(android.os.PersistableBundle persistableBundle) - void putAll( - jni.JObject persistableBundle, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_putAll, - jni.JniCallType.voidType, [persistableBundle.reference]).check(); - } - - static final _id_keySet = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"keySet", r"()Ljava/util/Set;"); - - /// from: public java.util.Set keySet() - /// The returned object must be released after use, by calling the [release] method. - jni.JSet keySet() { - return const jni.JSetType(jni.JStringType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, _id_keySet, jni.JniCallType.objectType, []).object); - } - - static final _id_putBoolean = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"putBoolean", r"(Ljava/lang/String;Z)V"); - - /// from: public void putBoolean(java.lang.String string, boolean z) - void putBoolean( - jni.JString string, - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_putBoolean, - jni.JniCallType.voidType, [string.reference, z ? 1 : 0]).check(); - } - - static final _id_putInt = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"putInt", r"(Ljava/lang/String;I)V"); - - /// from: public void putInt(java.lang.String string, int i) - void putInt( - jni.JString string, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_putInt, - jni.JniCallType.voidType, [string.reference, jni.JValueInt(i)]).check(); - } - - static final _id_putLong = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"putLong", r"(Ljava/lang/String;J)V"); - - /// from: public void putLong(java.lang.String string, long j) - void putLong( - jni.JString string, - int j, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_putLong, - jni.JniCallType.voidType, [string.reference, j]).check(); - } - - static final _id_putDouble = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"putDouble", r"(Ljava/lang/String;D)V"); - - /// from: public void putDouble(java.lang.String string, double d) - void putDouble( - jni.JString string, - double d, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_putDouble, - jni.JniCallType.voidType, [string.reference, d]).check(); - } - - static final _id_putString = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"putString", r"(Ljava/lang/String;Ljava/lang/String;)V"); - - /// from: public void putString(java.lang.String string, java.lang.String string1) - void putString( - jni.JString string, - jni.JString string1, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putString, - jni.JniCallType.voidType, - [string.reference, string1.reference]).check(); - } - - static final _id_putBooleanArray = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"putBooleanArray", r"(Ljava/lang/String;[Z)V"); - - /// from: public void putBooleanArray(java.lang.String string, boolean[] zs) - void putBooleanArray( - jni.JString string, - jni.JArray zs, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_putBooleanArray, - jni.JniCallType.voidType, [string.reference, zs.reference]).check(); - } - - static final _id_putIntArray = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"putIntArray", r"(Ljava/lang/String;[I)V"); - - /// from: public void putIntArray(java.lang.String string, int[] is) - void putIntArray( - jni.JString string, - jni.JArray is0, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_putIntArray, - jni.JniCallType.voidType, [string.reference, is0.reference]).check(); - } - - static final _id_putLongArray = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"putLongArray", r"(Ljava/lang/String;[J)V"); - - /// from: public void putLongArray(java.lang.String string, long[] js) - void putLongArray( - jni.JString string, - jni.JArray js, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_putLongArray, - jni.JniCallType.voidType, [string.reference, js.reference]).check(); - } - - static final _id_putDoubleArray = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"putDoubleArray", r"(Ljava/lang/String;[D)V"); - - /// from: public void putDoubleArray(java.lang.String string, double[] ds) - void putDoubleArray( - jni.JString string, - jni.JArray ds, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_putDoubleArray, - jni.JniCallType.voidType, [string.reference, ds.reference]).check(); - } - - static final _id_putStringArray = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"putStringArray", - r"(Ljava/lang/String;[Ljava/lang/String;)V"); - - /// from: public void putStringArray(java.lang.String string, java.lang.String[] strings) - void putStringArray( - jni.JString string, - jni.JArray strings, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_putStringArray, - jni.JniCallType.voidType, - [string.reference, strings.reference]).check(); - } - - static final _id_getBoolean = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getBoolean", r"(Ljava/lang/String;)Z"); - - /// from: public boolean getBoolean(java.lang.String string) - bool getBoolean( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_getBoolean, - jni.JniCallType.booleanType, [string.reference]).boolean; - } - - static final _id_getBoolean1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getBoolean", r"(Ljava/lang/String;Z)Z"); - - /// from: public boolean getBoolean(java.lang.String string, boolean z) - bool getBoolean1( - jni.JString string, - bool z, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_getBoolean1, - jni.JniCallType.booleanType, [string.reference, z ? 1 : 0]).boolean; - } - - static final _id_getInt = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getInt", r"(Ljava/lang/String;)I"); - - /// from: public int getInt(java.lang.String string) - int getInt( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_getInt, - jni.JniCallType.intType, [string.reference]).integer; - } - - static final _id_getInt1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getInt", r"(Ljava/lang/String;I)I"); - - /// from: public int getInt(java.lang.String string, int i) - int getInt1( - jni.JString string, - int i, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_getInt1, - jni.JniCallType.intType, [string.reference, jni.JValueInt(i)]).integer; - } - - static final _id_getLong = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getLong", r"(Ljava/lang/String;)J"); - - /// from: public long getLong(java.lang.String string) - int getLong( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_getLong, - jni.JniCallType.longType, [string.reference]).long; - } - - static final _id_getLong1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getLong", r"(Ljava/lang/String;J)J"); - - /// from: public long getLong(java.lang.String string, long j) - int getLong1( - jni.JString string, - int j, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_getLong1, - jni.JniCallType.longType, [string.reference, j]).long; - } - - static final _id_getDouble = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getDouble", r"(Ljava/lang/String;)D"); - - /// from: public double getDouble(java.lang.String string) - double getDouble( - jni.JString string, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_getDouble, - jni.JniCallType.doubleType, [string.reference]).doubleFloat; - } - - static final _id_getDouble1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getDouble", r"(Ljava/lang/String;D)D"); - - /// from: public double getDouble(java.lang.String string, double d) - double getDouble1( - jni.JString string, - double d, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_getDouble1, - jni.JniCallType.doubleType, [string.reference, d]).doubleFloat; - } - - static final _id_getString = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"getString", r"(Ljava/lang/String;)Ljava/lang/String;"); - - /// from: public java.lang.String getString(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JString getString( - jni.JString string, - ) { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getString, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_getString1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getString", - r"(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"); - - /// from: public java.lang.String getString(java.lang.String string, java.lang.String string1) - /// The returned object must be released after use, by calling the [release] method. - jni.JString getString1( - jni.JString string, - jni.JString string1, - ) { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getString1, - jni.JniCallType.objectType, - [string.reference, string1.reference]).object); - } - - static final _id_getBooleanArray = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getBooleanArray", r"(Ljava/lang/String;)[Z"); - - /// from: public boolean[] getBooleanArray(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getBooleanArray( - jni.JString string, - ) { - return const jni.JArrayType(jni.jbooleanType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getBooleanArray, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getIntArray = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getIntArray", r"(Ljava/lang/String;)[I"); - - /// from: public int[] getIntArray(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getIntArray( - jni.JString string, - ) { - return const jni.JArrayType(jni.jintType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getIntArray, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getLongArray = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getLongArray", r"(Ljava/lang/String;)[J"); - - /// from: public long[] getLongArray(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getLongArray( - jni.JString string, - ) { - return const jni.JArrayType(jni.jlongType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getLongArray, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getDoubleArray = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getDoubleArray", r"(Ljava/lang/String;)[D"); - - /// from: public double[] getDoubleArray(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getDoubleArray( - jni.JString string, - ) { - return const jni.JArrayType(jni.jdoubleType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getDoubleArray, - jni.JniCallType.objectType, [string.reference]).object); - } - - static final _id_getStringArray = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getStringArray", - r"(Ljava/lang/String;)[Ljava/lang/String;"); - - /// from: public java.lang.String[] getStringArray(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getStringArray( - jni.JString string, - ) { - return const jni.JArrayType(jni.JStringType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getStringArray, - jni.JniCallType.objectType, [string.reference]).object); - } -} - -final class $BaseBundleType extends jni.JObjType { - const $BaseBundleType(); - - @override - String get signature => r"Landroid/os/BaseBundle;"; - - @override - BaseBundle fromRef(jni.JObjectPtr ref) => BaseBundle.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($BaseBundleType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($BaseBundleType) && other is $BaseBundleType; - } -} - -/// from: java.lang.Runnable -class Runnable extends jni.JObject { - @override - late final jni.JObjType $type = type; - - Runnable.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass(r"java/lang/Runnable"); - - /// The type which includes information such as the signature of this class. - static const type = $RunnableType(); - static final _id_run = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"run", r"()V"); - - /// from: public abstract void run() - void run() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_run, jni.JniCallType.voidType, []).check(); - } - - /// Maps a specific port to the implemented interface. - static final Map _$impls = {}; - ReceivePort? _$p; - - static jni.JObjectPtr _$invoke( - int port, - jni.JObjectPtr descriptor, - jni.JObjectPtr args, - ) { - return _$invokeMethod( - port, - $MethodInvocation.fromAddresses( - 0, - descriptor.address, - args.address, - ), - ); - } - - static final ffi.Pointer< - ffi.NativeFunction< - jni.JObjectPtr Function( - ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> - _$invokePointer = ffi.Pointer.fromFunction(_$invoke); - - static ffi.Pointer _$invokeMethod( - int $p, - $MethodInvocation $i, - ) { - try { - final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); - final $a = $i.args; - if ($d == r"run()V") { - _$impls[$p]!.run(); - return jni.nullptr; - } - } catch (e) { - return ProtectedJniExtensions.newDartException(e.toString()); - } - return jni.nullptr; - } - - factory Runnable.implement( - $RunnableImpl $impl, - ) { - final $p = ReceivePort(); - final $x = Runnable.fromRef( - ProtectedJniExtensions.newPortProxy( - r"java.lang.Runnable", - $p, - _$invokePointer, - ), - ).._$p = $p; - final $a = $p.sendPort.nativePort; - _$impls[$a] = $impl; - $p.listen(($m) { - if ($m == null) { - _$impls.remove($p.sendPort.nativePort); - $p.close(); - return; - } - final $i = $MethodInvocation.fromMessage($m as List); - final $r = _$invokeMethod($p.sendPort.nativePort, $i); - ProtectedJniExtensions.returnResult($i.result, $r); - }); - return $x; - } -} - -abstract class $RunnableImpl { - factory $RunnableImpl({ - required void Function() run, - }) = _$RunnableImpl; - - void run(); -} - -class _$RunnableImpl implements $RunnableImpl { - _$RunnableImpl({ - required void Function() run, - }) : _run = run; - - final void Function() _run; - - void run() { - return _run(); - } -} - -final class $RunnableType extends jni.JObjType { - const $RunnableType(); - - @override - String get signature => r"Ljava/lang/Runnable;"; - - @override - Runnable fromRef(jni.JObjectPtr ref) => Runnable.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($RunnableType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($RunnableType) && other is $RunnableType; - } -} - -/// from: java.lang.Exception -class Exception extends Throwable { - @override - late final jni.JObjType $type = type; - - Exception.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass(r"java/lang/Exception"); - - /// The type which includes information such as the signature of this class. - static const type = $ExceptionType(); - static final _id_new0 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); - - /// from: public void () - /// The returned object must be released after use, by calling the [release] method. - factory Exception() { - return Exception.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, []).object); - } - - static final _id_new1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); - - /// from: public void (java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - factory Exception.new1( - jni.JString string, - ) { - return Exception.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new1, [string.reference]).object); - } - - static final _id_new2 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Ljava/lang/String;Ljava/lang/Throwable;)V"); - - /// from: public void (java.lang.String string, java.lang.Throwable throwable) - /// The returned object must be released after use, by calling the [release] method. - factory Exception.new2( - jni.JString string, - Throwable throwable, - ) { - return Exception.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, - _id_new2, - [string.reference, throwable.reference]).object); - } - - static final _id_new3 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/Throwable;)V"); - - /// from: public void (java.lang.Throwable throwable) - /// The returned object must be released after use, by calling the [release] method. - factory Exception.new3( - Throwable throwable, - ) { - return Exception.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new3, [throwable.reference]).object); - } - - static final _id_new4 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Ljava/lang/String;Ljava/lang/Throwable;ZZ)V"); - - /// from: protected void (java.lang.String string, java.lang.Throwable throwable, boolean z, boolean z1) - /// The returned object must be released after use, by calling the [release] method. - factory Exception.new4( - jni.JString string, - Throwable throwable, - bool z, - bool z1, - ) { - return Exception.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, - _id_new4, - [string.reference, throwable.reference, z ? 1 : 0, z1 ? 1 : 0]).object); - } -} - -final class $ExceptionType extends jni.JObjType { - const $ExceptionType(); - - @override - String get signature => r"Ljava/lang/Exception;"; - - @override - Exception fromRef(jni.JObjectPtr ref) => Exception.fromRef(ref); - - @override - jni.JObjType get superType => const $ThrowableType(); - - @override - final superCount = 2; - - @override - int get hashCode => ($ExceptionType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($ExceptionType) && other is $ExceptionType; - } -} - -/// from: java.lang.Throwable -class Throwable extends jni.JObject { - @override - late final jni.JObjType $type = type; - - Throwable.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass(r"java/lang/Throwable"); - - /// The type which includes information such as the signature of this class. - static const type = $ThrowableType(); - static final _id_new0 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); - - /// from: public void () - /// The returned object must be released after use, by calling the [release] method. - factory Throwable() { - return Throwable.fromRef(jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, []).object); - } - - static final _id_new1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/String;)V"); - - /// from: public void (java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - factory Throwable.new1( - jni.JString string, - ) { - return Throwable.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new1, [string.reference]).object); - } - - static final _id_new2 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Ljava/lang/String;Ljava/lang/Throwable;)V"); - - /// from: public void (java.lang.String string, java.lang.Throwable throwable) - /// The returned object must be released after use, by calling the [release] method. - factory Throwable.new2( - jni.JString string, - Throwable throwable, - ) { - return Throwable.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, - _id_new2, - [string.reference, throwable.reference]).object); - } - - static final _id_new3 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"", r"(Ljava/lang/Throwable;)V"); - - /// from: public void (java.lang.Throwable throwable) - /// The returned object must be released after use, by calling the [release] method. - factory Throwable.new3( - Throwable throwable, - ) { - return Throwable.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new3, [throwable.reference]).object); - } - - static final _id_new4 = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"", r"(Ljava/lang/String;Ljava/lang/Throwable;ZZ)V"); - - /// from: protected void (java.lang.String string, java.lang.Throwable throwable, boolean z, boolean z1) - /// The returned object must be released after use, by calling the [release] method. - factory Throwable.new4( - jni.JString string, - Throwable throwable, - bool z, - bool z1, - ) { - return Throwable.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, - _id_new4, - [string.reference, throwable.reference, z ? 1 : 0, z1 ? 1 : 0]).object); - } - - static final _id_getMessage = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getMessage", r"()Ljava/lang/String;"); - - /// from: public java.lang.String getMessage() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getMessage() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getMessage, jni.JniCallType.objectType, []).object); - } - - static final _id_getLocalizedMessage = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getLocalizedMessage", r"()Ljava/lang/String;"); - - /// from: public java.lang.String getLocalizedMessage() - /// The returned object must be released after use, by calling the [release] method. - jni.JString getLocalizedMessage() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_getLocalizedMessage, - jni.JniCallType.objectType, []).object); - } - - static final _id_getCause = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getCause", r"()Ljava/lang/Throwable;"); - - /// from: public java.lang.Throwable getCause() - /// The returned object must be released after use, by calling the [release] method. - Throwable getCause() { - return const $ThrowableType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getCause, jni.JniCallType.objectType, []).object); - } - - static final _id_initCause = jni.Jni.accessors.getMethodIDOf(_class.reference, - r"initCause", r"(Ljava/lang/Throwable;)Ljava/lang/Throwable;"); - - /// from: public java.lang.Throwable initCause(java.lang.Throwable throwable) - /// The returned object must be released after use, by calling the [release] method. - Throwable initCause( - Throwable throwable, - ) { - return const $ThrowableType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_initCause, - jni.JniCallType.objectType, - [throwable.reference]).object); - } - - static final _id_toString1 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"toString", r"()Ljava/lang/String;"); - - /// from: public java.lang.String toString() - /// The returned object must be released after use, by calling the [release] method. - jni.JString toString1() { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_toString1, jni.JniCallType.objectType, []).object); - } - - static final _id_printStackTrace = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"printStackTrace", r"()V"); - - /// from: public void printStackTrace() - void printStackTrace() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_printStackTrace, jni.JniCallType.voidType, []).check(); - } - - static final _id_printStackTrace1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"printStackTrace", r"(Ljava/io/PrintStream;)V"); - - /// from: public void printStackTrace(java.io.PrintStream printStream) - void printStackTrace1( - jni.JObject printStream, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_printStackTrace1, - jni.JniCallType.voidType, [printStream.reference]).check(); - } - - static final _id_printStackTrace2 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"printStackTrace", r"(Ljava/io/PrintWriter;)V"); - - /// from: public void printStackTrace(java.io.PrintWriter printWriter) - void printStackTrace2( - jni.JObject printWriter, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_printStackTrace2, - jni.JniCallType.voidType, [printWriter.reference]).check(); - } - - static final _id_fillInStackTrace = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"fillInStackTrace", r"()Ljava/lang/Throwable;"); - - /// from: public java.lang.Throwable fillInStackTrace() - /// The returned object must be released after use, by calling the [release] method. - Throwable fillInStackTrace() { - return const $ThrowableType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_fillInStackTrace, - jni.JniCallType.objectType, []).object); - } - - static final _id_getStackTrace = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getStackTrace", r"()[Ljava/lang/StackTraceElement;"); - - /// from: public java.lang.StackTraceElement[] getStackTrace() - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getStackTrace() { - return const jni.JArrayType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getStackTrace, - jni.JniCallType.objectType, []).object); - } - - static final _id_setStackTrace = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"setStackTrace", r"([Ljava/lang/StackTraceElement;)V"); - - /// from: public void setStackTrace(java.lang.StackTraceElement[] stackTraceElements) - void setStackTrace( - jni.JArray stackTraceElements, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_setStackTrace, - jni.JniCallType.voidType, [stackTraceElements.reference]).check(); - } - - static final _id_addSuppressed = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"addSuppressed", r"(Ljava/lang/Throwable;)V"); - - /// from: public final void addSuppressed(java.lang.Throwable throwable) - void addSuppressed( - Throwable throwable, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_addSuppressed, - jni.JniCallType.voidType, [throwable.reference]).check(); - } - - static final _id_getSuppressed = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getSuppressed", r"()[Ljava/lang/Throwable;"); - - /// from: public final java.lang.Throwable[] getSuppressed() - /// The returned object must be released after use, by calling the [release] method. - jni.JArray getSuppressed() { - return const jni.JArrayType($ThrowableType()).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_getSuppressed, - jni.JniCallType.objectType, []).object); - } -} - -final class $ThrowableType extends jni.JObjType { - const $ThrowableType(); - - @override - String get signature => r"Ljava/lang/Throwable;"; - - @override - Throwable fromRef(jni.JObjectPtr ref) => Throwable.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($ThrowableType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($ThrowableType) && other is $ThrowableType; - } -} - -/// from: java.util.concurrent.Executor -class Executor extends jni.JObject { - @override - late final jni.JObjType $type = type; - - Executor.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass(r"java/util/concurrent/Executor"); - - /// The type which includes information such as the signature of this class. - static const type = $ExecutorType(); - static final _id_execute = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"execute", r"(Ljava/lang/Runnable;)V"); - - /// from: public abstract void execute(java.lang.Runnable runnable) - void execute( - Runnable runnable, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_execute, - jni.JniCallType.voidType, [runnable.reference]).check(); - } - - /// Maps a specific port to the implemented interface. - static final Map _$impls = {}; - ReceivePort? _$p; - - static jni.JObjectPtr _$invoke( - int port, - jni.JObjectPtr descriptor, - jni.JObjectPtr args, - ) { - return _$invokeMethod( - port, - $MethodInvocation.fromAddresses( - 0, - descriptor.address, - args.address, - ), - ); - } - - static final ffi.Pointer< - ffi.NativeFunction< - jni.JObjectPtr Function( - ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> - _$invokePointer = ffi.Pointer.fromFunction(_$invoke); - - static ffi.Pointer _$invokeMethod( - int $p, - $MethodInvocation $i, - ) { - try { - final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); - final $a = $i.args; - if ($d == r"execute(Ljava/lang/Runnable;)V") { - _$impls[$p]!.execute( - $a[0].castTo(const $RunnableType(), releaseOriginal: true), - ); - return jni.nullptr; - } - } catch (e) { - return ProtectedJniExtensions.newDartException(e.toString()); - } - return jni.nullptr; - } - - factory Executor.implement( - $ExecutorImpl $impl, - ) { - final $p = ReceivePort(); - final $x = Executor.fromRef( - ProtectedJniExtensions.newPortProxy( - r"java.util.concurrent.Executor", - $p, - _$invokePointer, - ), - ).._$p = $p; - final $a = $p.sendPort.nativePort; - _$impls[$a] = $impl; - $p.listen(($m) { - if ($m == null) { - _$impls.remove($p.sendPort.nativePort); - $p.close(); - return; - } - final $i = $MethodInvocation.fromMessage($m as List); - final $r = _$invokeMethod($p.sendPort.nativePort, $i); - ProtectedJniExtensions.returnResult($i.result, $r); - }); - return $x; - } -} - -abstract class $ExecutorImpl { - factory $ExecutorImpl({ - required void Function(Runnable runnable) execute, - }) = _$ExecutorImpl; - - void execute(Runnable runnable); -} - -class _$ExecutorImpl implements $ExecutorImpl { - _$ExecutorImpl({ - required void Function(Runnable runnable) execute, - }) : _execute = execute; - - final void Function(Runnable runnable) _execute; - - void execute(Runnable runnable) { - return _execute(runnable); - } -} - -final class $ExecutorType extends jni.JObjType { - const $ExecutorType(); - - @override - String get signature => r"Ljava/util/concurrent/Executor;"; - - @override - Executor fromRef(jni.JObjectPtr ref) => Executor.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($ExecutorType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($ExecutorType) && other is $ExecutorType; - } -} - -/// from: java.util.concurrent.Executors -class Executors extends jni.JObject { - @override - late final jni.JObjType $type = type; - - Executors.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass(r"java/util/concurrent/Executors"); - - /// The type which includes information such as the signature of this class. - static const type = $ExecutorsType(); - static final _id_newFixedThreadPool = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"newFixedThreadPool", - r"(I)Ljava/util/concurrent/ExecutorService;"); - - /// from: static public java.util.concurrent.ExecutorService newFixedThreadPool(int i) - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject newFixedThreadPool( - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_newFixedThreadPool, - jni.JniCallType.objectType, [jni.JValueInt(i)]).object); - } - - static final _id_newWorkStealingPool = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"newWorkStealingPool", - r"(I)Ljava/util/concurrent/ExecutorService;"); - - /// from: static public java.util.concurrent.ExecutorService newWorkStealingPool(int i) - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject newWorkStealingPool( - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_newWorkStealingPool, - jni.JniCallType.objectType, [jni.JValueInt(i)]).object); - } - - static final _id_newWorkStealingPool1 = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"newWorkStealingPool", - r"()Ljava/util/concurrent/ExecutorService;"); - - /// from: static public java.util.concurrent.ExecutorService newWorkStealingPool() - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject newWorkStealingPool1() { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_newWorkStealingPool1, - jni.JniCallType.objectType, []).object); - } - - static final _id_newFixedThreadPool1 = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"newFixedThreadPool", - r"(ILjava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;"); - - /// from: static public java.util.concurrent.ExecutorService newFixedThreadPool(int i, java.util.concurrent.ThreadFactory threadFactory) - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject newFixedThreadPool1( - int i, - jni.JObject threadFactory, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_newFixedThreadPool1, - jni.JniCallType.objectType, - [jni.JValueInt(i), threadFactory.reference]).object); - } - - static final _id_newSingleThreadExecutor = jni.Jni.accessors - .getStaticMethodIDOf(_class.reference, r"newSingleThreadExecutor", - r"()Ljava/util/concurrent/ExecutorService;"); - - /// from: static public java.util.concurrent.ExecutorService newSingleThreadExecutor() - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject newSingleThreadExecutor() { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_newSingleThreadExecutor, - jni.JniCallType.objectType, []).object); - } - - static final _id_newSingleThreadExecutor1 = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"newSingleThreadExecutor", - r"(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;"); - - /// from: static public java.util.concurrent.ExecutorService newSingleThreadExecutor(java.util.concurrent.ThreadFactory threadFactory) - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject newSingleThreadExecutor1( - jni.JObject threadFactory, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_newSingleThreadExecutor1, - jni.JniCallType.objectType, - [threadFactory.reference]).object); - } - - static final _id_newCachedThreadPool = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"newCachedThreadPool", - r"()Ljava/util/concurrent/ExecutorService;"); - - /// from: static public java.util.concurrent.ExecutorService newCachedThreadPool() - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject newCachedThreadPool() { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_newCachedThreadPool, - jni.JniCallType.objectType, []).object); - } - - static final _id_newCachedThreadPool1 = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"newCachedThreadPool", - r"(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;"); - - /// from: static public java.util.concurrent.ExecutorService newCachedThreadPool(java.util.concurrent.ThreadFactory threadFactory) - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject newCachedThreadPool1( - jni.JObject threadFactory, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_newCachedThreadPool1, - jni.JniCallType.objectType, [threadFactory.reference]).object); - } - - static final _id_newSingleThreadScheduledExecutor = jni.Jni.accessors - .getStaticMethodIDOf( - _class.reference, - r"newSingleThreadScheduledExecutor", - r"()Ljava/util/concurrent/ScheduledExecutorService;"); - - /// from: static public java.util.concurrent.ScheduledExecutorService newSingleThreadScheduledExecutor() - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject newSingleThreadScheduledExecutor() { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_newSingleThreadScheduledExecutor, - jni.JniCallType.objectType, []).object); - } - - static final _id_newSingleThreadScheduledExecutor1 = jni.Jni.accessors - .getStaticMethodIDOf( - _class.reference, - r"newSingleThreadScheduledExecutor", - r"(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ScheduledExecutorService;"); - - /// from: static public java.util.concurrent.ScheduledExecutorService newSingleThreadScheduledExecutor(java.util.concurrent.ThreadFactory threadFactory) - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject newSingleThreadScheduledExecutor1( - jni.JObject threadFactory, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_newSingleThreadScheduledExecutor1, - jni.JniCallType.objectType, - [threadFactory.reference]).object); - } - - static final _id_newScheduledThreadPool = jni.Jni.accessors - .getStaticMethodIDOf(_class.reference, r"newScheduledThreadPool", - r"(I)Ljava/util/concurrent/ScheduledExecutorService;"); - - /// from: static public java.util.concurrent.ScheduledExecutorService newScheduledThreadPool(int i) - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject newScheduledThreadPool( - int i, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_newScheduledThreadPool, - jni.JniCallType.objectType, [jni.JValueInt(i)]).object); - } - - static final _id_newScheduledThreadPool1 = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"newScheduledThreadPool", - r"(ILjava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ScheduledExecutorService;"); - - /// from: static public java.util.concurrent.ScheduledExecutorService newScheduledThreadPool(int i, java.util.concurrent.ThreadFactory threadFactory) - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject newScheduledThreadPool1( - int i, - jni.JObject threadFactory, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_newScheduledThreadPool1, - jni.JniCallType.objectType, - [jni.JValueInt(i), threadFactory.reference]).object); - } - - static final _id_unconfigurableExecutorService = jni.Jni.accessors - .getStaticMethodIDOf(_class.reference, r"unconfigurableExecutorService", - r"(Ljava/util/concurrent/ExecutorService;)Ljava/util/concurrent/ExecutorService;"); - - /// from: static public java.util.concurrent.ExecutorService unconfigurableExecutorService(java.util.concurrent.ExecutorService executorService) - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject unconfigurableExecutorService( - jni.JObject executorService, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_unconfigurableExecutorService, - jni.JniCallType.objectType, - [executorService.reference]).object); - } - - static final _id_unconfigurableScheduledExecutorService = jni.Jni.accessors - .getStaticMethodIDOf( - _class.reference, - r"unconfigurableScheduledExecutorService", - r"(Ljava/util/concurrent/ScheduledExecutorService;)Ljava/util/concurrent/ScheduledExecutorService;"); - - /// from: static public java.util.concurrent.ScheduledExecutorService unconfigurableScheduledExecutorService(java.util.concurrent.ScheduledExecutorService scheduledExecutorService) - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject unconfigurableScheduledExecutorService( - jni.JObject scheduledExecutorService, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_unconfigurableScheduledExecutorService, - jni.JniCallType.objectType, - [scheduledExecutorService.reference]).object); - } - - static final _id_defaultThreadFactory = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"defaultThreadFactory", - r"()Ljava/util/concurrent/ThreadFactory;"); - - /// from: static public java.util.concurrent.ThreadFactory defaultThreadFactory() - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject defaultThreadFactory() { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_defaultThreadFactory, - jni.JniCallType.objectType, []).object); - } - - static final _id_privilegedThreadFactory = jni.Jni.accessors - .getStaticMethodIDOf(_class.reference, r"privilegedThreadFactory", - r"()Ljava/util/concurrent/ThreadFactory;"); - - /// from: static public java.util.concurrent.ThreadFactory privilegedThreadFactory() - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject privilegedThreadFactory() { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_privilegedThreadFactory, - jni.JniCallType.objectType, []).object); - } - - static final _id_callable = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"callable", - r"(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/Callable;"); - - /// from: static public java.util.concurrent.Callable callable(java.lang.Runnable runnable, T object) - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject callable<$T extends jni.JObject>( - Runnable runnable, - $T object, { - jni.JObjType<$T>? T, - }) { - T ??= jni.lowestCommonSuperType([ - object.$type, - ]) as jni.JObjType<$T>; - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_callable, - jni.JniCallType.objectType, - [runnable.reference, object.reference]).object); - } - - static final _id_callable1 = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"callable", - r"(Ljava/lang/Runnable;)Ljava/util/concurrent/Callable;"); - - /// from: static public java.util.concurrent.Callable callable(java.lang.Runnable runnable) - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject callable1( - Runnable runnable, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_callable1, - jni.JniCallType.objectType, [runnable.reference]).object); - } - - static final _id_callable2 = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"callable", - r"(Ljava/security/PrivilegedAction;)Ljava/util/concurrent/Callable;"); - - /// from: static public java.util.concurrent.Callable callable(java.security.PrivilegedAction privilegedAction) - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject callable2( - jni.JObject privilegedAction, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_callable2, - jni.JniCallType.objectType, [privilegedAction.reference]).object); - } - - static final _id_callable3 = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"callable", - r"(Ljava/security/PrivilegedExceptionAction;)Ljava/util/concurrent/Callable;"); - - /// from: static public java.util.concurrent.Callable callable(java.security.PrivilegedExceptionAction privilegedExceptionAction) - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject callable3( - jni.JObject privilegedExceptionAction, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_callable3, - jni.JniCallType.objectType, - [privilegedExceptionAction.reference]).object); - } - - static final _id_privilegedCallable = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"privilegedCallable", - r"(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Callable;"); - - /// from: static public java.util.concurrent.Callable privilegedCallable(java.util.concurrent.Callable callable) - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject privilegedCallable<$T extends jni.JObject>( - jni.JObject callable, { - required jni.JObjType<$T> T, - }) { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_privilegedCallable, - jni.JniCallType.objectType, [callable.reference]).object); - } - - static final _id_privilegedCallableUsingCurrentClassLoader = jni.Jni.accessors - .getStaticMethodIDOf( - _class.reference, - r"privilegedCallableUsingCurrentClassLoader", - r"(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Callable;"); - - /// from: static public java.util.concurrent.Callable privilegedCallableUsingCurrentClassLoader(java.util.concurrent.Callable callable) - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject - privilegedCallableUsingCurrentClassLoader<$T extends jni.JObject>( - jni.JObject callable, { - required jni.JObjType<$T> T, - }) { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_privilegedCallableUsingCurrentClassLoader, - jni.JniCallType.objectType, - [callable.reference]).object); - } -} - -final class $ExecutorsType extends jni.JObjType { - const $ExecutorsType(); - - @override - String get signature => r"Ljava/util/concurrent/Executors;"; - - @override - Executors fromRef(jni.JObjectPtr ref) => Executors.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($ExecutorsType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($ExecutorsType) && other is $ExecutorsType; - } -} - -/// from: com.google.android.gms.fido.Fido -class Fido extends jni.JObject { - @override - late final jni.JObjType $type = type; - - Fido.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = jni.Jni.findJClass(r"com/google/android/gms/fido/Fido"); - - /// The type which includes information such as the signature of this class. - static const type = $FidoType(); - - /// from: static public final java.lang.String KEY_RESPONSE_EXTRA - static const KEY_RESPONSE_EXTRA = r"""RESPONSE_EXTRA"""; - - /// from: static public final java.lang.String FIDO2_KEY_RESPONSE_EXTRA - static const FIDO2_KEY_RESPONSE_EXTRA = r"""FIDO2_RESPONSE_EXTRA"""; - - /// from: static public final java.lang.String FIDO2_KEY_ERROR_EXTRA - static const FIDO2_KEY_ERROR_EXTRA = r"""FIDO2_ERROR_EXTRA"""; - - /// from: static public final java.lang.String FIDO2_KEY_CREDENTIAL_EXTRA - static const FIDO2_KEY_CREDENTIAL_EXTRA = r"""FIDO2_CREDENTIAL_EXTRA"""; - - static final _id_zza = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"zza", - r"Lcom/google/android/gms/common/api/Api$ClientKey;", - ); - - /// from: static public final com.google.android.gms.common.api.Api$ClientKey zza - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject get zza => - const jni.JObjectType().fromRef(jni.Jni.accessors - .getStaticField(_class.reference, _id_zza, jni.JniCallType.objectType) - .object); - - static final _id_zzb = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"zzb", - r"Lcom/google/android/gms/common/api/Api;", - ); - - /// from: static public final com.google.android.gms.common.api.Api zzb - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject get zzb => - const jni.JObjectType().fromRef(jni.Jni.accessors - .getStaticField(_class.reference, _id_zzb, jni.JniCallType.objectType) - .object); - - static final _id_zzc = jni.Jni.accessors.getStaticFieldIDOf( - _class.reference, - r"zzc", - r"Lcom/google/android/gms/internal/fido/zzaa;", - ); - - /// from: static public final com.google.android.gms.internal.fido.zzaa zzc - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject get zzc => - const jni.JObjectType().fromRef(jni.Jni.accessors - .getStaticField(_class.reference, _id_zzc, jni.JniCallType.objectType) - .object); - - static final _id_getFido2ApiClient = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"getFido2ApiClient", - r"(Landroid/app/Activity;)Lcom/google/android/gms/fido/fido2/Fido2ApiClient;"); - - /// from: static public com.google.android.gms.fido.fido2.Fido2ApiClient getFido2ApiClient(android.app.Activity activity) - /// The returned object must be released after use, by calling the [release] method. - static Fido2ApiClient getFido2ApiClient( - Activity activity, - ) { - return const $Fido2ApiClientType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_getFido2ApiClient, - jni.JniCallType.objectType, [activity.reference]).object); - } - - static final _id_getFido2ApiClient1 = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"getFido2ApiClient", - r"(Landroid/content/Context;)Lcom/google/android/gms/fido/fido2/Fido2ApiClient;"); - - /// from: static public com.google.android.gms.fido.fido2.Fido2ApiClient getFido2ApiClient(android.content.Context context) - /// The returned object must be released after use, by calling the [release] method. - static Fido2ApiClient getFido2ApiClient1( - Context context, - ) { - return const $Fido2ApiClientType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_getFido2ApiClient1, - jni.JniCallType.objectType, [context.reference]).object); - } - - static final _id_getFido2PrivilegedApiClient = jni.Jni.accessors - .getStaticMethodIDOf(_class.reference, r"getFido2PrivilegedApiClient", - r"(Landroid/app/Activity;)Lcom/google/android/gms/fido/fido2/Fido2PrivilegedApiClient;"); - - /// from: static public com.google.android.gms.fido.fido2.Fido2PrivilegedApiClient getFido2PrivilegedApiClient(android.app.Activity activity) - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject getFido2PrivilegedApiClient( - Activity activity, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_getFido2PrivilegedApiClient, - jni.JniCallType.objectType, - [activity.reference]).object); - } - - static final _id_getFido2PrivilegedApiClient1 = jni.Jni.accessors - .getStaticMethodIDOf(_class.reference, r"getFido2PrivilegedApiClient", - r"(Landroid/content/Context;)Lcom/google/android/gms/fido/fido2/Fido2PrivilegedApiClient;"); - - /// from: static public com.google.android.gms.fido.fido2.Fido2PrivilegedApiClient getFido2PrivilegedApiClient(android.content.Context context) - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject getFido2PrivilegedApiClient1( - Context context, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs( - _class.reference, - _id_getFido2PrivilegedApiClient1, - jni.JniCallType.objectType, - [context.reference]).object); - } - - static final _id_getU2fApiClient = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"getU2fApiClient", - r"(Landroid/app/Activity;)Lcom/google/android/gms/fido/u2f/U2fApiClient;"); - - /// from: static public com.google.android.gms.fido.u2f.U2fApiClient getU2fApiClient(android.app.Activity activity) - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject getU2fApiClient( - Activity activity, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_getU2fApiClient, - jni.JniCallType.objectType, [activity.reference]).object); - } - - static final _id_getU2fApiClient1 = jni.Jni.accessors.getStaticMethodIDOf( - _class.reference, - r"getU2fApiClient", - r"(Landroid/content/Context;)Lcom/google/android/gms/fido/u2f/U2fApiClient;"); - - /// from: static public com.google.android.gms.fido.u2f.U2fApiClient getU2fApiClient(android.content.Context context) - /// The returned object must be released after use, by calling the [release] method. - static jni.JObject getU2fApiClient1( - Context context, - ) { - return const jni.JObjectType().fromRef(jni.Jni.accessors - .callStaticMethodWithArgs(_class.reference, _id_getU2fApiClient1, - jni.JniCallType.objectType, [context.reference]).object); - } -} - -final class $FidoType extends jni.JObjType { - const $FidoType(); - - @override - String get signature => r"Lcom/google/android/gms/fido/Fido;"; - - @override - Fido fromRef(jni.JObjectPtr ref) => Fido.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($FidoType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($FidoType) && other is $FidoType; - } -} - -/// from: com.google.android.gms.fido.fido2.Fido2ApiClient -class Fido2ApiClient extends jni.JObject { - @override - late final jni.JObjType $type = type; - - Fido2ApiClient.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"com/google/android/gms/fido/fido2/Fido2ApiClient"); - - /// The type which includes information such as the signature of this class. - static const type = $Fido2ApiClientType(); - static final _id_getRegisterIntent = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getRegisterIntent", - r"(Lcom/google/android/gms/fido/fido2/api/common/PublicKeyCredentialCreationOptions;)Lcom/google/android/gms/tasks/Task;"); - - /// from: public com.google.android.gms.tasks.Task getRegisterIntent(com.google.android.gms.fido.fido2.api.common.PublicKeyCredentialCreationOptions publicKeyCredentialCreationOptions) - /// The returned object must be released after use, by calling the [release] method. - Task getRegisterIntent( - jni.JObject publicKeyCredentialCreationOptions, - ) { - return const $TaskType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_getRegisterIntent, - jni.JniCallType.objectType, - [publicKeyCredentialCreationOptions.reference]).object); - } - - static final _id_getRegisterPendingIntent = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getRegisterPendingIntent", - r"(Lcom/google/android/gms/fido/fido2/api/common/PublicKeyCredentialCreationOptions;)Lcom/google/android/gms/tasks/Task;"); - - /// from: public com.google.android.gms.tasks.Task getRegisterPendingIntent(com.google.android.gms.fido.fido2.api.common.PublicKeyCredentialCreationOptions publicKeyCredentialCreationOptions) - /// The returned object must be released after use, by calling the [release] method. - Task getRegisterPendingIntent( - jni.JObject publicKeyCredentialCreationOptions, - ) { - return const $TaskType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_getRegisterPendingIntent, - jni.JniCallType.objectType, - [publicKeyCredentialCreationOptions.reference]).object); - } - - static final _id_getSignIntent = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getSignIntent", - r"(Lcom/google/android/gms/fido/fido2/api/common/PublicKeyCredentialRequestOptions;)Lcom/google/android/gms/tasks/Task;"); - - /// from: public com.google.android.gms.tasks.Task getSignIntent(com.google.android.gms.fido.fido2.api.common.PublicKeyCredentialRequestOptions publicKeyCredentialRequestOptions) - /// The returned object must be released after use, by calling the [release] method. - Task getSignIntent( - jni.JObject publicKeyCredentialRequestOptions, - ) { - return const $TaskType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_getSignIntent, - jni.JniCallType.objectType, - [publicKeyCredentialRequestOptions.reference]).object); - } - - static final _id_getSignPendingIntent = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"getSignPendingIntent", - r"(Lcom/google/android/gms/fido/fido2/api/common/PublicKeyCredentialRequestOptions;)Lcom/google/android/gms/tasks/Task;"); - - /// from: public com.google.android.gms.tasks.Task getSignPendingIntent(com.google.android.gms.fido.fido2.api.common.PublicKeyCredentialRequestOptions publicKeyCredentialRequestOptions) - /// The returned object must be released after use, by calling the [release] method. - Task getSignPendingIntent( - jni.JObject publicKeyCredentialRequestOptions, - ) { - return const $TaskType(jni.JObjectType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_getSignPendingIntent, - jni.JniCallType.objectType, - [publicKeyCredentialRequestOptions.reference]).object); - } - - static final _id_isUserVerifyingPlatformAuthenticatorAvailable = - jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"isUserVerifyingPlatformAuthenticatorAvailable", - r"()Lcom/google/android/gms/tasks/Task;"); - - /// from: public com.google.android.gms.tasks.Task isUserVerifyingPlatformAuthenticatorAvailable() - /// The returned object must be released after use, by calling the [release] method. - Task isUserVerifyingPlatformAuthenticatorAvailable() { - return const $TaskType(jni.JBooleanType()).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_isUserVerifyingPlatformAuthenticatorAvailable, - jni.JniCallType.objectType, []).object); - } - - static final _id_new0 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"", r"(Landroid/app/Activity;)V"); - - /// from: public void (android.app.Activity activity) - /// The returned object must be released after use, by calling the [release] method. - factory Fido2ApiClient( - Activity activity, - ) { - return Fido2ApiClient.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new0, [activity.reference]).object); - } - - static final _id_new1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"", r"(Landroid/content/Context;)V"); - - /// from: public void (android.content.Context context) - /// The returned object must be released after use, by calling the [release] method. - factory Fido2ApiClient.new1( - Context context, - ) { - return Fido2ApiClient.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new1, [context.reference]).object); - } -} - -final class $Fido2ApiClientType extends jni.JObjType { - const $Fido2ApiClientType(); - - @override - String get signature => r"Lcom/google/android/gms/fido/fido2/Fido2ApiClient;"; - - @override - Fido2ApiClient fromRef(jni.JObjectPtr ref) => Fido2ApiClient.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($Fido2ApiClientType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($Fido2ApiClientType) && - other is $Fido2ApiClientType; - } -} - -/// from: com.google.android.gms.tasks.Task -class Task<$TResult extends jni.JObject> extends jni.JObject { - @override - late final jni.JObjType> $type = type(TResult); - - final jni.JObjType<$TResult> TResult; - - Task.fromRef( - this.TResult, - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"com/google/android/gms/tasks/Task"); - - /// The type which includes information such as the signature of this class. - static $TaskType<$TResult> type<$TResult extends jni.JObject>( - jni.JObjType<$TResult> TResult, - ) { - return $TaskType( - TResult, - ); - } - - static final _id_addOnCanceledListener = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"addOnCanceledListener", - r"(Lcom/google/android/gms/tasks/OnCanceledListener;)Lcom/google/android/gms/tasks/Task;"); - - /// from: public com.google.android.gms.tasks.Task addOnCanceledListener(com.google.android.gms.tasks.OnCanceledListener onCanceledListener) - /// The returned object must be released after use, by calling the [release] method. - Task<$TResult> addOnCanceledListener( - jni.JObject onCanceledListener, - ) { - return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_addOnCanceledListener, - jni.JniCallType.objectType, - [onCanceledListener.reference]).object); - } - - static final _id_addOnCanceledListener1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"addOnCanceledListener", - r"(Landroid/app/Activity;Lcom/google/android/gms/tasks/OnCanceledListener;)Lcom/google/android/gms/tasks/Task;"); - - /// from: public com.google.android.gms.tasks.Task addOnCanceledListener(android.app.Activity activity, com.google.android.gms.tasks.OnCanceledListener onCanceledListener) - /// The returned object must be released after use, by calling the [release] method. - Task<$TResult> addOnCanceledListener1( - Activity activity, - jni.JObject onCanceledListener, - ) { - return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_addOnCanceledListener1, - jni.JniCallType.objectType, - [activity.reference, onCanceledListener.reference]).object); - } - - static final _id_addOnCanceledListener2 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"addOnCanceledListener", - r"(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/OnCanceledListener;)Lcom/google/android/gms/tasks/Task;"); - - /// from: public com.google.android.gms.tasks.Task addOnCanceledListener(java.util.concurrent.Executor executor, com.google.android.gms.tasks.OnCanceledListener onCanceledListener) - /// The returned object must be released after use, by calling the [release] method. - Task<$TResult> addOnCanceledListener2( - Executor executor, - jni.JObject onCanceledListener, - ) { - return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_addOnCanceledListener2, - jni.JniCallType.objectType, - [executor.reference, onCanceledListener.reference]).object); - } - - static final _id_addOnCompleteListener = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"addOnCompleteListener", - r"(Lcom/google/android/gms/tasks/OnCompleteListener;)Lcom/google/android/gms/tasks/Task;"); - - /// from: public com.google.android.gms.tasks.Task addOnCompleteListener(com.google.android.gms.tasks.OnCompleteListener onCompleteListener) - /// The returned object must be released after use, by calling the [release] method. - Task<$TResult> addOnCompleteListener( - jni.JObject onCompleteListener, - ) { - return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_addOnCompleteListener, - jni.JniCallType.objectType, - [onCompleteListener.reference]).object); - } - - static final _id_addOnCompleteListener1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"addOnCompleteListener", - r"(Landroid/app/Activity;Lcom/google/android/gms/tasks/OnCompleteListener;)Lcom/google/android/gms/tasks/Task;"); - - /// from: public com.google.android.gms.tasks.Task addOnCompleteListener(android.app.Activity activity, com.google.android.gms.tasks.OnCompleteListener onCompleteListener) - /// The returned object must be released after use, by calling the [release] method. - Task<$TResult> addOnCompleteListener1( - Activity activity, - jni.JObject onCompleteListener, - ) { - return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_addOnCompleteListener1, - jni.JniCallType.objectType, - [activity.reference, onCompleteListener.reference]).object); - } - - static final _id_addOnCompleteListener2 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"addOnCompleteListener", - r"(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/OnCompleteListener;)Lcom/google/android/gms/tasks/Task;"); - - /// from: public com.google.android.gms.tasks.Task addOnCompleteListener(java.util.concurrent.Executor executor, com.google.android.gms.tasks.OnCompleteListener onCompleteListener) - /// The returned object must be released after use, by calling the [release] method. - Task<$TResult> addOnCompleteListener2( - Executor executor, - jni.JObject onCompleteListener, - ) { - return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_addOnCompleteListener2, - jni.JniCallType.objectType, - [executor.reference, onCompleteListener.reference]).object); - } - - static final _id_addOnFailureListener = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"addOnFailureListener", - r"(Lcom/google/android/gms/tasks/OnFailureListener;)Lcom/google/android/gms/tasks/Task;"); - - /// from: public abstract com.google.android.gms.tasks.Task addOnFailureListener(com.google.android.gms.tasks.OnFailureListener onFailureListener) - /// The returned object must be released after use, by calling the [release] method. - Task<$TResult> addOnFailureListener( - OnFailureListener onFailureListener, - ) { - return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_addOnFailureListener, - jni.JniCallType.objectType, - [onFailureListener.reference]).object); - } - - static final _id_addOnFailureListener1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"addOnFailureListener", - r"(Landroid/app/Activity;Lcom/google/android/gms/tasks/OnFailureListener;)Lcom/google/android/gms/tasks/Task;"); - - /// from: public abstract com.google.android.gms.tasks.Task addOnFailureListener(android.app.Activity activity, com.google.android.gms.tasks.OnFailureListener onFailureListener) - /// The returned object must be released after use, by calling the [release] method. - Task<$TResult> addOnFailureListener1( - Activity activity, - OnFailureListener onFailureListener, - ) { - return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_addOnFailureListener1, - jni.JniCallType.objectType, - [activity.reference, onFailureListener.reference]).object); - } - - static final _id_addOnFailureListener2 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"addOnFailureListener", - r"(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/OnFailureListener;)Lcom/google/android/gms/tasks/Task;"); - - /// from: public abstract com.google.android.gms.tasks.Task addOnFailureListener(java.util.concurrent.Executor executor, com.google.android.gms.tasks.OnFailureListener onFailureListener) - /// The returned object must be released after use, by calling the [release] method. - Task<$TResult> addOnFailureListener2( - Executor executor, - OnFailureListener onFailureListener, - ) { - return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_addOnFailureListener2, - jni.JniCallType.objectType, - [executor.reference, onFailureListener.reference]).object); - } - - static final _id_addOnSuccessListener = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"addOnSuccessListener", - r"(Lcom/google/android/gms/tasks/OnSuccessListener;)Lcom/google/android/gms/tasks/Task;"); - - /// from: public abstract com.google.android.gms.tasks.Task addOnSuccessListener(com.google.android.gms.tasks.OnSuccessListener onSuccessListener) - /// The returned object must be released after use, by calling the [release] method. - Task<$TResult> addOnSuccessListener( - OnSuccessListener<$TResult> onSuccessListener, - ) { - return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_addOnSuccessListener, - jni.JniCallType.objectType, - [onSuccessListener.reference]).object); - } - - static final _id_addOnSuccessListener1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"addOnSuccessListener", - r"(Landroid/app/Activity;Lcom/google/android/gms/tasks/OnSuccessListener;)Lcom/google/android/gms/tasks/Task;"); - - /// from: public abstract com.google.android.gms.tasks.Task addOnSuccessListener(android.app.Activity activity, com.google.android.gms.tasks.OnSuccessListener onSuccessListener) - /// The returned object must be released after use, by calling the [release] method. - Task<$TResult> addOnSuccessListener1( - Activity activity, - OnSuccessListener<$TResult> onSuccessListener, - ) { - return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_addOnSuccessListener1, - jni.JniCallType.objectType, - [activity.reference, onSuccessListener.reference]).object); - } - - static final _id_addOnSuccessListener2 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"addOnSuccessListener", - r"(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/OnSuccessListener;)Lcom/google/android/gms/tasks/Task;"); - - /// from: public abstract com.google.android.gms.tasks.Task addOnSuccessListener(java.util.concurrent.Executor executor, com.google.android.gms.tasks.OnSuccessListener onSuccessListener) - /// The returned object must be released after use, by calling the [release] method. - Task<$TResult> addOnSuccessListener2( - Executor executor, - OnSuccessListener<$TResult> onSuccessListener, - ) { - return $TaskType(TResult).fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_addOnSuccessListener2, - jni.JniCallType.objectType, - [executor.reference, onSuccessListener.reference]).object); - } - - static final _id_continueWith = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"continueWith", - r"(Lcom/google/android/gms/tasks/Continuation;)Lcom/google/android/gms/tasks/Task;"); - - /// from: public com.google.android.gms.tasks.Task continueWith(com.google.android.gms.tasks.Continuation continuation) - /// The returned object must be released after use, by calling the [release] method. - Task<$TContinuationResult> - continueWith<$TContinuationResult extends jni.JObject>( - jni.JObject continuation, { - required jni.JObjType<$TContinuationResult> TContinuationResult, - }) { - return $TaskType(TContinuationResult).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_continueWith, - jni.JniCallType.objectType, [continuation.reference]).object); - } - - static final _id_continueWith1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"continueWith", - r"(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/Continuation;)Lcom/google/android/gms/tasks/Task;"); - - /// from: public com.google.android.gms.tasks.Task continueWith(java.util.concurrent.Executor executor, com.google.android.gms.tasks.Continuation continuation) - /// The returned object must be released after use, by calling the [release] method. - Task<$TContinuationResult> - continueWith1<$TContinuationResult extends jni.JObject>( - Executor executor, - jni.JObject continuation, { - required jni.JObjType<$TContinuationResult> TContinuationResult, - }) { - return $TaskType(TContinuationResult).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_continueWith1, - jni.JniCallType.objectType, - [executor.reference, continuation.reference]).object); - } - - static final _id_continueWithTask = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"continueWithTask", - r"(Lcom/google/android/gms/tasks/Continuation;)Lcom/google/android/gms/tasks/Task;"); - - /// from: public com.google.android.gms.tasks.Task continueWithTask(com.google.android.gms.tasks.Continuation continuation) - /// The returned object must be released after use, by calling the [release] method. - Task<$TContinuationResult> - continueWithTask<$TContinuationResult extends jni.JObject>( - jni.JObject continuation, { - required jni.JObjType<$TContinuationResult> TContinuationResult, - }) { - return $TaskType(TContinuationResult).fromRef(jni.Jni.accessors - .callMethodWithArgs(reference, _id_continueWithTask, - jni.JniCallType.objectType, [continuation.reference]).object); - } - - static final _id_continueWithTask1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"continueWithTask", - r"(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/Continuation;)Lcom/google/android/gms/tasks/Task;"); - - /// from: public com.google.android.gms.tasks.Task continueWithTask(java.util.concurrent.Executor executor, com.google.android.gms.tasks.Continuation continuation) - /// The returned object must be released after use, by calling the [release] method. - Task<$TContinuationResult> - continueWithTask1<$TContinuationResult extends jni.JObject>( - Executor executor, - jni.JObject continuation, { - required jni.JObjType<$TContinuationResult> TContinuationResult, - }) { - return $TaskType(TContinuationResult).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_continueWithTask1, - jni.JniCallType.objectType, - [executor.reference, continuation.reference]).object); - } - - static final _id_onSuccessTask = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onSuccessTask", - r"(Lcom/google/android/gms/tasks/SuccessContinuation;)Lcom/google/android/gms/tasks/Task;"); - - /// from: public com.google.android.gms.tasks.Task onSuccessTask(com.google.android.gms.tasks.SuccessContinuation successContinuation) - /// The returned object must be released after use, by calling the [release] method. - Task<$TContinuationResult> - onSuccessTask<$TContinuationResult extends jni.JObject>( - jni.JObject successContinuation, { - required jni.JObjType<$TContinuationResult> TContinuationResult, - }) { - return $TaskType(TContinuationResult).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_onSuccessTask, - jni.JniCallType.objectType, - [successContinuation.reference]).object); - } - - static final _id_onSuccessTask1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, - r"onSuccessTask", - r"(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/SuccessContinuation;)Lcom/google/android/gms/tasks/Task;"); - - /// from: public com.google.android.gms.tasks.Task onSuccessTask(java.util.concurrent.Executor executor, com.google.android.gms.tasks.SuccessContinuation successContinuation) - /// The returned object must be released after use, by calling the [release] method. - Task<$TContinuationResult> - onSuccessTask1<$TContinuationResult extends jni.JObject>( - Executor executor, - jni.JObject successContinuation, { - required jni.JObjType<$TContinuationResult> TContinuationResult, - }) { - return $TaskType(TContinuationResult).fromRef(jni.Jni.accessors - .callMethodWithArgs( - reference, - _id_onSuccessTask1, - jni.JniCallType.objectType, - [executor.reference, successContinuation.reference]).object); - } - - static final _id_getException = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getException", r"()Ljava/lang/Exception;"); - - /// from: public abstract java.lang.Exception getException() - /// The returned object must be released after use, by calling the [release] method. - Exception getException() { - return const $ExceptionType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getException, jni.JniCallType.objectType, []).object); - } - - static final _id_getResult = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"getResult", r"()Ljava/lang/Object;"); - - /// from: public abstract TResult getResult() - /// The returned object must be released after use, by calling the [release] method. - $TResult getResult() { - return TResult.fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, _id_getResult, jni.JniCallType.objectType, []).object); - } - - static final _id_getResult1 = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"getResult", r"(Ljava/lang/Class;)Ljava/lang/Object;"); - - /// from: public abstract TResult getResult(java.lang.Class class) - /// The returned object must be released after use, by calling the [release] method. - $TResult getResult1<$X extends jni.JObject>( - jni.JObject class0, { - required jni.JObjType<$X> X, - }) { - return TResult.fromRef(jni.Jni.accessors.callMethodWithArgs(reference, - _id_getResult1, jni.JniCallType.objectType, [class0.reference]).object); - } - - static final _id_new0 = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"", r"()V"); - - /// from: public void () - /// The returned object must be released after use, by calling the [release] method. - factory Task({ - required jni.JObjType<$TResult> TResult, - }) { - return Task.fromRef( - TResult, - jni.Jni.accessors - .newObjectWithArgs(_class.reference, _id_new0, []).object); - } - - static final _id_isCanceled = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"isCanceled", r"()Z"); - - /// from: public abstract boolean isCanceled() - bool isCanceled() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_isCanceled, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_isComplete = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"isComplete", r"()Z"); - - /// from: public abstract boolean isComplete() - bool isComplete() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_isComplete, jni.JniCallType.booleanType, []).boolean; - } - - static final _id_isSuccessful = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"isSuccessful", r"()Z"); - - /// from: public abstract boolean isSuccessful() - bool isSuccessful() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_isSuccessful, jni.JniCallType.booleanType, []).boolean; - } -} - -final class $TaskType<$TResult extends jni.JObject> - extends jni.JObjType> { - final jni.JObjType<$TResult> TResult; - - const $TaskType( - this.TResult, - ); - - @override - String get signature => r"Lcom/google/android/gms/tasks/Task;"; - - @override - Task<$TResult> fromRef(jni.JObjectPtr ref) => Task.fromRef(TResult, ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => Object.hash($TaskType, TResult); - - @override - bool operator ==(Object other) { - return other.runtimeType == ($TaskType<$TResult>) && - other is $TaskType<$TResult> && - TResult == other.TResult; - } -} - -/// from: com.google.android.gms.tasks.OnSuccessListener -class OnSuccessListener<$TResult extends jni.JObject> extends jni.JObject { - @override - late final jni.JObjType> $type = type(TResult); - - final jni.JObjType<$TResult> TResult; - - OnSuccessListener.fromRef( - this.TResult, - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"com/google/android/gms/tasks/OnSuccessListener"); - - /// The type which includes information such as the signature of this class. - static $OnSuccessListenerType<$TResult> type<$TResult extends jni.JObject>( - jni.JObjType<$TResult> TResult, - ) { - return $OnSuccessListenerType( - TResult, - ); - } - - static final _id_onSuccess = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"onSuccess", r"(Ljava/lang/Object;)V"); - - /// from: public abstract void onSuccess(TResult object) - void onSuccess( - $TResult object, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_onSuccess, - jni.JniCallType.voidType, [object.reference]).check(); - } - - /// Maps a specific port to the implemented interface. - static final Map _$impls = {}; - ReceivePort? _$p; - - static jni.JObjectPtr _$invoke( - int port, - jni.JObjectPtr descriptor, - jni.JObjectPtr args, - ) { - return _$invokeMethod( - port, - $MethodInvocation.fromAddresses( - 0, - descriptor.address, - args.address, - ), - ); - } - - static final ffi.Pointer< - ffi.NativeFunction< - jni.JObjectPtr Function( - ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> - _$invokePointer = ffi.Pointer.fromFunction(_$invoke); - - static ffi.Pointer _$invokeMethod( - int $p, - $MethodInvocation $i, - ) { - try { - final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); - final $a = $i.args; - if ($d == r"onSuccess(Ljava/lang/Object;)V") { - _$impls[$p]!.onSuccess( - $a[0].castTo(_$impls[$p]!.TResult, releaseOriginal: true), - ); - return jni.nullptr; - } - } catch (e) { - return ProtectedJniExtensions.newDartException(e.toString()); - } - return jni.nullptr; - } - - factory OnSuccessListener.implement( - $OnSuccessListenerImpl<$TResult> $impl, - ) { - final $p = ReceivePort(); - final $x = OnSuccessListener.fromRef( - $impl.TResult, - ProtectedJniExtensions.newPortProxy( - r"com.google.android.gms.tasks.OnSuccessListener", - $p, - _$invokePointer, - ), - ).._$p = $p; - final $a = $p.sendPort.nativePort; - _$impls[$a] = $impl; - $p.listen(($m) { - if ($m == null) { - _$impls.remove($p.sendPort.nativePort); - $p.close(); - return; - } - final $i = $MethodInvocation.fromMessage($m as List); - final $r = _$invokeMethod($p.sendPort.nativePort, $i); - ProtectedJniExtensions.returnResult($i.result, $r); - }); - return $x; - } -} - -abstract class $OnSuccessListenerImpl<$TResult extends jni.JObject> { - factory $OnSuccessListenerImpl({ - required jni.JObjType<$TResult> TResult, - required void Function($TResult object) onSuccess, - }) = _$OnSuccessListenerImpl; - - jni.JObjType<$TResult> get TResult; - - void onSuccess($TResult object); -} - -class _$OnSuccessListenerImpl<$TResult extends jni.JObject> - implements $OnSuccessListenerImpl<$TResult> { - _$OnSuccessListenerImpl({ - required this.TResult, - required void Function($TResult object) onSuccess, - }) : _onSuccess = onSuccess; - - @override - final jni.JObjType<$TResult> TResult; - - final void Function($TResult object) _onSuccess; - - void onSuccess($TResult object) { - return _onSuccess(object); - } -} - -final class $OnSuccessListenerType<$TResult extends jni.JObject> - extends jni.JObjType> { - final jni.JObjType<$TResult> TResult; - - const $OnSuccessListenerType( - this.TResult, - ); - - @override - String get signature => r"Lcom/google/android/gms/tasks/OnSuccessListener;"; - - @override - OnSuccessListener<$TResult> fromRef(jni.JObjectPtr ref) => - OnSuccessListener.fromRef(TResult, ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => Object.hash($OnSuccessListenerType, TResult); - - @override - bool operator ==(Object other) { - return other.runtimeType == ($OnSuccessListenerType<$TResult>) && - other is $OnSuccessListenerType<$TResult> && - TResult == other.TResult; - } -} - -/// from: com.google.android.gms.tasks.OnFailureListener -class OnFailureListener extends jni.JObject { - @override - late final jni.JObjType $type = type; - - OnFailureListener.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"com/google/android/gms/tasks/OnFailureListener"); - - /// The type which includes information such as the signature of this class. - static const type = $OnFailureListenerType(); - static final _id_onFailure = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"onFailure", r"(Ljava/lang/Exception;)V"); - - /// from: public abstract void onFailure(java.lang.Exception exception) - void onFailure( - Exception exception, - ) { - return jni.Jni.accessors.callMethodWithArgs(reference, _id_onFailure, - jni.JniCallType.voidType, [exception.reference]).check(); - } - - /// Maps a specific port to the implemented interface. - static final Map _$impls = {}; - ReceivePort? _$p; - - static jni.JObjectPtr _$invoke( - int port, - jni.JObjectPtr descriptor, - jni.JObjectPtr args, - ) { - return _$invokeMethod( - port, - $MethodInvocation.fromAddresses( - 0, - descriptor.address, - args.address, - ), - ); - } - - static final ffi.Pointer< - ffi.NativeFunction< - jni.JObjectPtr Function( - ffi.Uint64, jni.JObjectPtr, jni.JObjectPtr)>> - _$invokePointer = ffi.Pointer.fromFunction(_$invoke); - - static ffi.Pointer _$invokeMethod( - int $p, - $MethodInvocation $i, - ) { - try { - final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); - final $a = $i.args; - if ($d == r"onFailure(Ljava/lang/Exception;)V") { - _$impls[$p]!.onFailure( - $a[0].castTo(const $ExceptionType(), releaseOriginal: true), - ); - return jni.nullptr; - } - } catch (e) { - return ProtectedJniExtensions.newDartException(e.toString()); - } - return jni.nullptr; - } - - factory OnFailureListener.implement( - $OnFailureListenerImpl $impl, - ) { - final $p = ReceivePort(); - final $x = OnFailureListener.fromRef( - ProtectedJniExtensions.newPortProxy( - r"com.google.android.gms.tasks.OnFailureListener", - $p, - _$invokePointer, - ), - ).._$p = $p; - final $a = $p.sendPort.nativePort; - _$impls[$a] = $impl; - $p.listen(($m) { - if ($m == null) { - _$impls.remove($p.sendPort.nativePort); - $p.close(); - return; - } - final $i = $MethodInvocation.fromMessage($m as List); - final $r = _$invokeMethod($p.sendPort.nativePort, $i); - ProtectedJniExtensions.returnResult($i.result, $r); - }); - return $x; - } -} - -abstract class $OnFailureListenerImpl { - factory $OnFailureListenerImpl({ - required void Function(Exception exception) onFailure, - }) = _$OnFailureListenerImpl; - - void onFailure(Exception exception); -} - -class _$OnFailureListenerImpl implements $OnFailureListenerImpl { - _$OnFailureListenerImpl({ - required void Function(Exception exception) onFailure, - }) : _onFailure = onFailure; - - final void Function(Exception exception) _onFailure; - - void onFailure(Exception exception) { - return _onFailure(exception); - } -} - -final class $OnFailureListenerType extends jni.JObjType { - const $OnFailureListenerType(); - - @override - String get signature => r"Lcom/google/android/gms/tasks/OnFailureListener;"; - - @override - OnFailureListener fromRef(jni.JObjectPtr ref) => - OnFailureListener.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($OnFailureListenerType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($OnFailureListenerType) && - other is $OnFailureListenerType; - } -} diff --git a/packages/celest_auth/lib/src/platform/auth_platform.android.dart b/packages/celest_auth/lib/src/platform/auth_platform.android.dart new file mode 100644 index 00000000..00e6efc1 --- /dev/null +++ b/packages/celest_auth/lib/src/platform/auth_platform.android.dart @@ -0,0 +1,7 @@ +import 'package:celest_auth/src/platform/auth_platform_impl.vm.dart'; + +final class AuthPlatformAndroid extends AuthPlatformImpl { + AuthPlatformAndroid({ + required super.protocol, + }) : super.base(); +} diff --git a/packages/celest_auth/lib/src/client/auth_platform.dart b/packages/celest_auth/lib/src/platform/auth_platform.dart similarity index 65% rename from packages/celest_auth/lib/src/client/auth_platform.dart rename to packages/celest_auth/lib/src/platform/auth_platform.dart index 375cf2fa..764c2a92 100644 --- a/packages/celest_auth/lib/src/client/auth_platform.dart +++ b/packages/celest_auth/lib/src/platform/auth_platform.dart @@ -1,5 +1,5 @@ -import 'package:celest_auth/src/client/auth_platform_impl.vm.dart' - if (dart.library.js_interop) 'package:celest_auth/src/client/auth_platform_impl.web.dart'; +import 'package:celest_auth/src/platform/auth_platform_impl.vm.dart' + if (dart.library.js_interop) 'package:celest_auth/src/platform/auth_platform_impl.web.dart'; import 'package:celest_core/celest_core.dart'; import 'package:meta/meta.dart'; diff --git a/packages/celest_auth/lib/src/platform/auth_platform.darwin.dart b/packages/celest_auth/lib/src/platform/auth_platform.darwin.dart new file mode 100644 index 00000000..00ce36cd --- /dev/null +++ b/packages/celest_auth/lib/src/platform/auth_platform.darwin.dart @@ -0,0 +1,7 @@ +import 'package:celest_auth/src/platform/auth_platform_impl.vm.dart'; + +final class AuthPlatformDarwin extends AuthPlatformImpl { + AuthPlatformDarwin({ + required super.protocol, + }) : super.base(); +} diff --git a/packages/celest_auth/lib/src/client/auth_platform.native.dart b/packages/celest_auth/lib/src/platform/auth_platform.native.dart similarity index 97% rename from packages/celest_auth/lib/src/client/auth_platform.native.dart rename to packages/celest_auth/lib/src/platform/auth_platform.native.dart index 0a929090..b1259132 100644 --- a/packages/celest_auth/lib/src/client/auth_platform.native.dart +++ b/packages/celest_auth/lib/src/platform/auth_platform.native.dart @@ -1,6 +1,6 @@ import 'dart:io'; -import 'package:celest_auth/src/client/auth_platform_impl.vm.dart'; +import 'package:celest_auth/src/platform/auth_platform_impl.vm.dart'; final class AuthPlatformNative extends AuthPlatformImpl { AuthPlatformNative({ diff --git a/packages/celest_auth/lib/src/client/auth_platform.web.dart b/packages/celest_auth/lib/src/platform/auth_platform.web.dart similarity index 88% rename from packages/celest_auth/lib/src/client/auth_platform.web.dart rename to packages/celest_auth/lib/src/platform/auth_platform.web.dart index 7455432d..45a2f7e8 100644 --- a/packages/celest_auth/lib/src/client/auth_platform.web.dart +++ b/packages/celest_auth/lib/src/platform/auth_platform.web.dart @@ -1,4 +1,4 @@ -import 'package:celest_auth/src/client/auth_platform_impl.web.dart'; +import 'package:celest_auth/src/platform/auth_platform_impl.web.dart'; import 'package:path/path.dart'; import 'package:web/web.dart'; diff --git a/packages/celest_auth/lib/src/client/auth_platform_impl.vm.dart b/packages/celest_auth/lib/src/platform/auth_platform_impl.vm.dart similarity index 75% rename from packages/celest_auth/lib/src/client/auth_platform_impl.vm.dart rename to packages/celest_auth/lib/src/platform/auth_platform_impl.vm.dart index e2a19a17..af8a25ae 100644 --- a/packages/celest_auth/lib/src/client/auth_platform_impl.vm.dart +++ b/packages/celest_auth/lib/src/platform/auth_platform_impl.vm.dart @@ -1,7 +1,7 @@ -import 'package:celest_auth/src/client/auth_platform.android.dart'; -import 'package:celest_auth/src/client/auth_platform.dart'; -import 'package:celest_auth/src/client/auth_platform.darwin.dart'; -import 'package:celest_auth/src/client/auth_platform.native.dart'; +import 'package:celest_auth/src/platform/auth_platform.android.dart'; +import 'package:celest_auth/src/platform/auth_platform.dart'; +import 'package:celest_auth/src/platform/auth_platform.darwin.dart'; +import 'package:celest_auth/src/platform/auth_platform.native.dart'; import 'package:celest_core/celest_core.dart'; // ignore: implementation_imports import 'package:celest_core/src/util/globals.dart'; diff --git a/packages/celest_auth/lib/src/client/auth_platform_impl.web.dart b/packages/celest_auth/lib/src/platform/auth_platform_impl.web.dart similarity index 82% rename from packages/celest_auth/lib/src/client/auth_platform_impl.web.dart rename to packages/celest_auth/lib/src/platform/auth_platform_impl.web.dart index 8e37e44b..fcd6be33 100644 --- a/packages/celest_auth/lib/src/client/auth_platform_impl.web.dart +++ b/packages/celest_auth/lib/src/platform/auth_platform_impl.web.dart @@ -1,5 +1,5 @@ -import 'package:celest_auth/src/client/auth_platform.dart'; -import 'package:celest_auth/src/client/auth_platform.web.dart'; +import 'package:celest_auth/src/platform/auth_platform.dart'; +import 'package:celest_auth/src/platform/auth_platform.web.dart'; import 'package:celest_core/celest_core.dart'; // ignore: implementation_imports import 'package:celest_core/src/util/globals.dart'; diff --git a/packages/celest_auth/lib/src/platform/darwin/authentication_services.ffi.dart b/packages/celest_auth/lib/src/platform/darwin/authentication_services.ffi.dart deleted file mode 100644 index fccf0701..00000000 --- a/packages/celest_auth/lib/src/platform/darwin/authentication_services.ffi.dart +++ /dev/null @@ -1,24748 +0,0 @@ -// ignore_for_file: type=lint -// ignore_for_file: return_of_invalid_type -// ignore_for_file: unnecessary_non_null_assertion - -// AUTO GENERATED FILE, DO NOT EDIT. -// -// Generated by `package:ffigen`. -import 'dart:ffi' as ffi; -import 'package:ffi/ffi.dart' as pkg_ffi; - -/// Bindings for AuthenticationServices on macOS/iOS. -/// -/// Regenerate bindings with `dart run ffigen --config=ffigen.authentication_services.yaml`. -/// -class AuthenticationServices { - /// Holds the symbol lookup function. - final ffi.Pointer Function(String symbolName) - _lookup; - - /// The symbols are looked up in [dynamicLibrary]. - AuthenticationServices(ffi.DynamicLibrary dynamicLibrary) - : _lookup = dynamicLibrary.lookup; - - /// The symbols are looked up with [lookup]. - AuthenticationServices.fromLookup( - ffi.Pointer Function(String symbolName) - lookup) - : _lookup = lookup; - - ffi.Pointer _registerName1(String name) { - final cstr = name.toNativeUtf8(); - final sel = _sel_registerName(cstr.cast()); - pkg_ffi.calloc.free(cstr); - return sel; - } - - ffi.Pointer _sel_registerName( - ffi.Pointer str, - ) { - return __sel_registerName( - str, - ); - } - - late final __sel_registerNamePtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer)>>('sel_registerName'); - late final __sel_registerName = __sel_registerNamePtr - .asFunction Function(ffi.Pointer)>(); - - ffi.Pointer _getClass1(String name) { - final cstr = name.toNativeUtf8(); - final clazz = _objc_getClass(cstr.cast()); - pkg_ffi.calloc.free(cstr); - if (clazz == ffi.nullptr) { - throw Exception('Failed to load Objective-C class: $name'); - } - return clazz; - } - - ffi.Pointer _objc_getClass( - ffi.Pointer str, - ) { - return __objc_getClass( - str, - ); - } - - late final __objc_getClassPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer)>>('objc_getClass'); - late final __objc_getClass = __objc_getClassPtr - .asFunction Function(ffi.Pointer)>(); - - ffi.Pointer _objc_retain( - ffi.Pointer value, - ) { - return __objc_retain( - value, - ); - } - - late final __objc_retainPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer)>>('objc_retain'); - late final __objc_retain = __objc_retainPtr - .asFunction Function(ffi.Pointer)>(); - - void _objc_release( - ffi.Pointer value, - ) { - return __objc_release( - value, - ); - } - - late final __objc_releasePtr = - _lookup)>>( - 'objc_release'); - late final __objc_release = - __objc_releasePtr.asFunction)>(); - - late final _objc_releaseFinalizer2 = - ffi.NativeFinalizer(__objc_releasePtr.cast()); - late final _class_ASWebAuthenticationSession1 = - _getClass1("ASWebAuthenticationSession"); - bool _objc_msgSend_0( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer clazz, - ) { - return __objc_msgSend_0( - obj, - sel, - clazz, - ); - } - - late final __objc_msgSend_0Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_0 = __objc_msgSend_0Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_isKindOfClass_1 = _registerName1("isKindOfClass:"); - late final _class_NSObject1 = _getClass1("NSObject"); - late final _sel_load1 = _registerName1("load"); - void _objc_msgSend_1( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_1( - obj, - sel, - ); - } - - late final __objc_msgSend_1Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_1 = __objc_msgSend_1Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_initialize1 = _registerName1("initialize"); - late final _sel_init1 = _registerName1("init"); - instancetype _objc_msgSend_2( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_2( - obj, - sel, - ); - } - - late final __objc_msgSend_2Ptr = _lookup< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_2 = __objc_msgSend_2Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_new1 = _registerName1("new"); - late final _sel_allocWithZone_1 = _registerName1("allocWithZone:"); - instancetype _objc_msgSend_3( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer<_NSZone> zone, - ) { - return __objc_msgSend_3( - obj, - sel, - zone, - ); - } - - late final __objc_msgSend_3Ptr = _lookup< - ffi.NativeFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer<_NSZone>)>>('objc_msgSend'); - late final __objc_msgSend_3 = __objc_msgSend_3Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer<_NSZone>)>(); - - late final _sel_alloc1 = _registerName1("alloc"); - late final _sel_dealloc1 = _registerName1("dealloc"); - late final _sel_finalize1 = _registerName1("finalize"); - late final _sel_copy1 = _registerName1("copy"); - late final _sel_mutableCopy1 = _registerName1("mutableCopy"); - late final _sel_copyWithZone_1 = _registerName1("copyWithZone:"); - late final _sel_mutableCopyWithZone_1 = - _registerName1("mutableCopyWithZone:"); - late final _sel_instancesRespondToSelector_1 = - _registerName1("instancesRespondToSelector:"); - bool _objc_msgSend_4( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer aSelector, - ) { - return __objc_msgSend_4( - obj, - sel, - aSelector, - ); - } - - late final __objc_msgSend_4Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_4 = __objc_msgSend_4Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _class_Protocol1 = _getClass1("Protocol"); - late final _sel_conformsToProtocol_1 = _registerName1("conformsToProtocol:"); - bool _objc_msgSend_5( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer protocol, - ) { - return __objc_msgSend_5( - obj, - sel, - protocol, - ); - } - - late final __objc_msgSend_5Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_5 = __objc_msgSend_5Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_methodForSelector_1 = _registerName1("methodForSelector:"); - ffi.Pointer> _objc_msgSend_6( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer aSelector, - ) { - return __objc_msgSend_6( - obj, - sel, - aSelector, - ); - } - - late final __objc_msgSend_6Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer> Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_6 = __objc_msgSend_6Ptr.asFunction< - ffi.Pointer> Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_instanceMethodForSelector_1 = - _registerName1("instanceMethodForSelector:"); - late final _sel_doesNotRecognizeSelector_1 = - _registerName1("doesNotRecognizeSelector:"); - void _objc_msgSend_7( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer aSelector, - ) { - return __objc_msgSend_7( - obj, - sel, - aSelector, - ); - } - - late final __objc_msgSend_7Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_7 = __objc_msgSend_7Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_forwardingTargetForSelector_1 = - _registerName1("forwardingTargetForSelector:"); - ffi.Pointer _objc_msgSend_8( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer aSelector, - ) { - return __objc_msgSend_8( - obj, - sel, - aSelector, - ); - } - - late final __objc_msgSend_8Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_8 = __objc_msgSend_8Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _class_NSInvocation1 = _getClass1("NSInvocation"); - late final _class_NSMethodSignature1 = _getClass1("NSMethodSignature"); - late final _sel_signatureWithObjCTypes_1 = - _registerName1("signatureWithObjCTypes:"); - ffi.Pointer _objc_msgSend_9( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer types, - ) { - return __objc_msgSend_9( - obj, - sel, - types, - ); - } - - late final __objc_msgSend_9Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_9 = __objc_msgSend_9Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_numberOfArguments1 = _registerName1("numberOfArguments"); - int _objc_msgSend_10( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_10( - obj, - sel, - ); - } - - late final __objc_msgSend_10Ptr = _lookup< - ffi.NativeFunction< - ffi.UnsignedLong Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_10 = __objc_msgSend_10Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_getArgumentTypeAtIndex_1 = - _registerName1("getArgumentTypeAtIndex:"); - ffi.Pointer _objc_msgSend_11( - ffi.Pointer obj, - ffi.Pointer sel, - int idx, - ) { - return __objc_msgSend_11( - obj, - sel, - idx, - ); - } - - late final __objc_msgSend_11Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); - late final __objc_msgSend_11 = __objc_msgSend_11Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_frameLength1 = _registerName1("frameLength"); - late final _sel_isOneway1 = _registerName1("isOneway"); - bool _objc_msgSend_12( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_12( - obj, - sel, - ); - } - - late final __objc_msgSend_12Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_12 = __objc_msgSend_12Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_methodReturnType1 = _registerName1("methodReturnType"); - ffi.Pointer _objc_msgSend_13( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_13( - obj, - sel, - ); - } - - late final __objc_msgSend_13Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_13 = __objc_msgSend_13Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_methodReturnLength1 = _registerName1("methodReturnLength"); - late final _sel_invocationWithMethodSignature_1 = - _registerName1("invocationWithMethodSignature:"); - ffi.Pointer _objc_msgSend_14( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer sig, - ) { - return __objc_msgSend_14( - obj, - sel, - sig, - ); - } - - late final __objc_msgSend_14Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_14 = __objc_msgSend_14Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_methodSignature1 = _registerName1("methodSignature"); - ffi.Pointer _objc_msgSend_15( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_15( - obj, - sel, - ); - } - - late final __objc_msgSend_15Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_15 = __objc_msgSend_15Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_retainArguments1 = _registerName1("retainArguments"); - late final _sel_argumentsRetained1 = _registerName1("argumentsRetained"); - late final _sel_target1 = _registerName1("target"); - ffi.Pointer _objc_msgSend_16( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_16( - obj, - sel, - ); - } - - late final __objc_msgSend_16Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_16 = __objc_msgSend_16Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setTarget_1 = _registerName1("setTarget:"); - void _objc_msgSend_17( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_17( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_17Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_17 = __objc_msgSend_17Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_selector1 = _registerName1("selector"); - ffi.Pointer _objc_msgSend_18( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_18( - obj, - sel, - ); - } - - late final __objc_msgSend_18Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_18 = __objc_msgSend_18Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setSelector_1 = _registerName1("setSelector:"); - void _objc_msgSend_19( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_19( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_19Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_19 = __objc_msgSend_19Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_getReturnValue_1 = _registerName1("getReturnValue:"); - void _objc_msgSend_20( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer retLoc, - ) { - return __objc_msgSend_20( - obj, - sel, - retLoc, - ); - } - - late final __objc_msgSend_20Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_20 = __objc_msgSend_20Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_setReturnValue_1 = _registerName1("setReturnValue:"); - late final _sel_getArgument_atIndex_1 = - _registerName1("getArgument:atIndex:"); - void _objc_msgSend_21( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer argumentLocation, - int idx, - ) { - return __objc_msgSend_21( - obj, - sel, - argumentLocation, - idx, - ); - } - - late final __objc_msgSend_21Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Long)>>('objc_msgSend'); - late final __objc_msgSend_21 = __objc_msgSend_21Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, int)>(); - - late final _sel_setArgument_atIndex_1 = - _registerName1("setArgument:atIndex:"); - late final _sel_invoke1 = _registerName1("invoke"); - late final _sel_invokeWithTarget_1 = _registerName1("invokeWithTarget:"); - void _objc_msgSend_22( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer target, - ) { - return __objc_msgSend_22( - obj, - sel, - target, - ); - } - - late final __objc_msgSend_22Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_22 = __objc_msgSend_22Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_invokeUsingIMP_1 = _registerName1("invokeUsingIMP:"); - void _objc_msgSend_23( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer> imp, - ) { - return __objc_msgSend_23( - obj, - sel, - imp, - ); - } - - late final __objc_msgSend_23Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer>)>>( - 'objc_msgSend'); - late final __objc_msgSend_23 = __objc_msgSend_23Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer>)>(); - - late final _sel_forwardInvocation_1 = _registerName1("forwardInvocation:"); - void _objc_msgSend_24( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer anInvocation, - ) { - return __objc_msgSend_24( - obj, - sel, - anInvocation, - ); - } - - late final __objc_msgSend_24Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_24 = __objc_msgSend_24Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_methodSignatureForSelector_1 = - _registerName1("methodSignatureForSelector:"); - ffi.Pointer _objc_msgSend_25( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer aSelector, - ) { - return __objc_msgSend_25( - obj, - sel, - aSelector, - ); - } - - late final __objc_msgSend_25Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_25 = __objc_msgSend_25Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_instanceMethodSignatureForSelector_1 = - _registerName1("instanceMethodSignatureForSelector:"); - late final _sel_allowsWeakReference1 = _registerName1("allowsWeakReference"); - late final _sel_retainWeakReference1 = _registerName1("retainWeakReference"); - late final _sel_isSubclassOfClass_1 = _registerName1("isSubclassOfClass:"); - late final _sel_resolveClassMethod_1 = _registerName1("resolveClassMethod:"); - late final _sel_resolveInstanceMethod_1 = - _registerName1("resolveInstanceMethod:"); - late final _sel_hash1 = _registerName1("hash"); - late final _sel_superclass1 = _registerName1("superclass"); - late final _sel_class1 = _registerName1("class"); - late final _class_NSString1 = _getClass1("NSString"); - late final _sel_length1 = _registerName1("length"); - late final _sel_characterAtIndex_1 = _registerName1("characterAtIndex:"); - int _objc_msgSend_26( - ffi.Pointer obj, - ffi.Pointer sel, - int index, - ) { - return __objc_msgSend_26( - obj, - sel, - index, - ); - } - - late final __objc_msgSend_26Ptr = _lookup< - ffi.NativeFunction< - ffi.UnsignedShort Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); - late final __objc_msgSend_26 = __objc_msgSend_26Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _class_NSCoder1 = _getClass1("NSCoder"); - late final _sel_encodeValueOfObjCType_at_1 = - _registerName1("encodeValueOfObjCType:at:"); - void _objc_msgSend_27( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer type, - ffi.Pointer addr, - ) { - return __objc_msgSend_27( - obj, - sel, - type, - addr, - ); - } - - late final __objc_msgSend_27Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_27 = __objc_msgSend_27Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _class_NSData1 = _getClass1("NSData"); - late final _sel_bytes1 = _registerName1("bytes"); - ffi.Pointer _objc_msgSend_28( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_28( - obj, - sel, - ); - } - - late final __objc_msgSend_28Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_28 = __objc_msgSend_28Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_encodeDataObject_1 = _registerName1("encodeDataObject:"); - void _objc_msgSend_29( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer data, - ) { - return __objc_msgSend_29( - obj, - sel, - data, - ); - } - - late final __objc_msgSend_29Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_29 = __objc_msgSend_29Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_decodeDataObject1 = _registerName1("decodeDataObject"); - ffi.Pointer _objc_msgSend_30( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_30( - obj, - sel, - ); - } - - late final __objc_msgSend_30Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_30 = __objc_msgSend_30Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_decodeValueOfObjCType_at_size_1 = - _registerName1("decodeValueOfObjCType:at:size:"); - void _objc_msgSend_31( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer type, - ffi.Pointer data, - int size, - ) { - return __objc_msgSend_31( - obj, - sel, - type, - data, - size, - ); - } - - late final __objc_msgSend_31Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong)>>('objc_msgSend'); - late final __objc_msgSend_31 = __objc_msgSend_31Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_versionForClassName_1 = - _registerName1("versionForClassName:"); - int _objc_msgSend_32( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer className, - ) { - return __objc_msgSend_32( - obj, - sel, - className, - ); - } - - late final __objc_msgSend_32Ptr = _lookup< - ffi.NativeFunction< - ffi.Long Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_32 = __objc_msgSend_32Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_initWithCoder_1 = _registerName1("initWithCoder:"); - instancetype _objc_msgSend_33( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer coder, - ) { - return __objc_msgSend_33( - obj, - sel, - coder, - ); - } - - late final __objc_msgSend_33Ptr = _lookup< - ffi.NativeFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_33 = __objc_msgSend_33Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_stringWithCharacters_length_1 = - _registerName1("stringWithCharacters:length:"); - ffi.Pointer _objc_msgSend_34( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer characters, - int length, - ) { - return __objc_msgSend_34( - obj, - sel, - characters, - length, - ); - } - - late final __objc_msgSend_34Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedInt)>>('objc_msgSend'); - late final __objc_msgSend_34 = __objc_msgSend_34Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_dataUsingEncoding_1 = _registerName1("dataUsingEncoding:"); - ffi.Pointer _objc_msgSend_35( - ffi.Pointer obj, - ffi.Pointer sel, - int encoding, - ) { - return __objc_msgSend_35( - obj, - sel, - encoding, - ); - } - - late final __objc_msgSend_35Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedInt)>>('objc_msgSend'); - late final __objc_msgSend_35 = __objc_msgSend_35Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_description1 = _registerName1("description"); - ffi.Pointer _objc_msgSend_36( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_36( - obj, - sel, - ); - } - - late final __objc_msgSend_36Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_36 = __objc_msgSend_36Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_debugDescription1 = _registerName1("debugDescription"); - late final _class_NSURL1 = _getClass1("NSURL"); - late final _sel_initWithScheme_host_path_1 = - _registerName1("initWithScheme:host:path:"); - instancetype _objc_msgSend_37( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer scheme, - ffi.Pointer host, - ffi.Pointer path, - ) { - return __objc_msgSend_37( - obj, - sel, - scheme, - host, - path, - ); - } - - late final __objc_msgSend_37Ptr = _lookup< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_37 = __objc_msgSend_37Ptr.asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_initFileURLWithPath_isDirectory_relativeToURL_1 = - _registerName1("initFileURLWithPath:isDirectory:relativeToURL:"); - instancetype _objc_msgSend_38( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer path, - bool isDir, - ffi.Pointer baseURL, - ) { - return __objc_msgSend_38( - obj, - sel, - path, - isDir, - baseURL, - ); - } - - late final __objc_msgSend_38Ptr = _lookup< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Bool, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_38 = __objc_msgSend_38Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, bool, ffi.Pointer)>(); - - late final _sel_initFileURLWithPath_relativeToURL_1 = - _registerName1("initFileURLWithPath:relativeToURL:"); - instancetype _objc_msgSend_39( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer path, - ffi.Pointer baseURL, - ) { - return __objc_msgSend_39( - obj, - sel, - path, - baseURL, - ); - } - - late final __objc_msgSend_39Ptr = _lookup< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_39 = __objc_msgSend_39Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_initFileURLWithPath_isDirectory_1 = - _registerName1("initFileURLWithPath:isDirectory:"); - instancetype _objc_msgSend_40( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer path, - bool isDir, - ) { - return __objc_msgSend_40( - obj, - sel, - path, - isDir, - ); - } - - late final __objc_msgSend_40Ptr = _lookup< - ffi.NativeFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Bool)>>('objc_msgSend'); - late final __objc_msgSend_40 = __objc_msgSend_40Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, bool)>(); - - late final _sel_initFileURLWithPath_1 = - _registerName1("initFileURLWithPath:"); - instancetype _objc_msgSend_41( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer path, - ) { - return __objc_msgSend_41( - obj, - sel, - path, - ); - } - - late final __objc_msgSend_41Ptr = _lookup< - ffi.NativeFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_41 = __objc_msgSend_41Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_fileURLWithPath_isDirectory_relativeToURL_1 = - _registerName1("fileURLWithPath:isDirectory:relativeToURL:"); - ffi.Pointer _objc_msgSend_42( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer path, - bool isDir, - ffi.Pointer baseURL, - ) { - return __objc_msgSend_42( - obj, - sel, - path, - isDir, - baseURL, - ); - } - - late final __objc_msgSend_42Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Bool, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_42 = __objc_msgSend_42Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - bool, - ffi.Pointer)>(); - - late final _sel_fileURLWithPath_relativeToURL_1 = - _registerName1("fileURLWithPath:relativeToURL:"); - ffi.Pointer _objc_msgSend_43( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer path, - ffi.Pointer baseURL, - ) { - return __objc_msgSend_43( - obj, - sel, - path, - baseURL, - ); - } - - late final __objc_msgSend_43Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_43 = __objc_msgSend_43Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_fileURLWithPath_isDirectory_1 = - _registerName1("fileURLWithPath:isDirectory:"); - ffi.Pointer _objc_msgSend_44( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer path, - bool isDir, - ) { - return __objc_msgSend_44( - obj, - sel, - path, - isDir, - ); - } - - late final __objc_msgSend_44Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Bool)>>('objc_msgSend'); - late final __objc_msgSend_44 = __objc_msgSend_44Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer, bool)>(); - - late final _sel_fileURLWithPath_1 = _registerName1("fileURLWithPath:"); - ffi.Pointer _objc_msgSend_45( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer path, - ) { - return __objc_msgSend_45( - obj, - sel, - path, - ); - } - - late final __objc_msgSend_45Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_45 = __objc_msgSend_45Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_initFileURLWithFileSystemRepresentation_isDirectory_relativeToURL_1 = - _registerName1( - "initFileURLWithFileSystemRepresentation:isDirectory:relativeToURL:"); - instancetype _objc_msgSend_46( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer path, - bool isDir, - ffi.Pointer baseURL, - ) { - return __objc_msgSend_46( - obj, - sel, - path, - isDir, - baseURL, - ); - } - - late final __objc_msgSend_46Ptr = _lookup< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Bool, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_46 = __objc_msgSend_46Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, bool, ffi.Pointer)>(); - - late final _sel_fileURLWithFileSystemRepresentation_isDirectory_relativeToURL_1 = - _registerName1( - "fileURLWithFileSystemRepresentation:isDirectory:relativeToURL:"); - ffi.Pointer _objc_msgSend_47( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer path, - bool isDir, - ffi.Pointer baseURL, - ) { - return __objc_msgSend_47( - obj, - sel, - path, - isDir, - baseURL, - ); - } - - late final __objc_msgSend_47Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Bool, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_47 = __objc_msgSend_47Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - bool, - ffi.Pointer)>(); - - late final _sel_initWithString_1 = _registerName1("initWithString:"); - instancetype _objc_msgSend_48( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer URLString, - ) { - return __objc_msgSend_48( - obj, - sel, - URLString, - ); - } - - late final __objc_msgSend_48Ptr = _lookup< - ffi.NativeFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_48 = __objc_msgSend_48Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_initWithString_relativeToURL_1 = - _registerName1("initWithString:relativeToURL:"); - instancetype _objc_msgSend_49( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer URLString, - ffi.Pointer baseURL, - ) { - return __objc_msgSend_49( - obj, - sel, - URLString, - baseURL, - ); - } - - late final __objc_msgSend_49Ptr = _lookup< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_49 = __objc_msgSend_49Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_URLWithString_1 = _registerName1("URLWithString:"); - late final _sel_URLWithString_relativeToURL_1 = - _registerName1("URLWithString:relativeToURL:"); - late final _sel_initWithString_encodingInvalidCharacters_1 = - _registerName1("initWithString:encodingInvalidCharacters:"); - instancetype _objc_msgSend_50( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer URLString, - bool encodingInvalidCharacters, - ) { - return __objc_msgSend_50( - obj, - sel, - URLString, - encodingInvalidCharacters, - ); - } - - late final __objc_msgSend_50Ptr = _lookup< - ffi.NativeFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Bool)>>('objc_msgSend'); - late final __objc_msgSend_50 = __objc_msgSend_50Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, bool)>(); - - late final _sel_URLWithString_encodingInvalidCharacters_1 = - _registerName1("URLWithString:encodingInvalidCharacters:"); - late final _sel_initWithDataRepresentation_relativeToURL_1 = - _registerName1("initWithDataRepresentation:relativeToURL:"); - instancetype _objc_msgSend_51( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer data, - ffi.Pointer baseURL, - ) { - return __objc_msgSend_51( - obj, - sel, - data, - baseURL, - ); - } - - late final __objc_msgSend_51Ptr = _lookup< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_51 = __objc_msgSend_51Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_URLWithDataRepresentation_relativeToURL_1 = - _registerName1("URLWithDataRepresentation:relativeToURL:"); - ffi.Pointer _objc_msgSend_52( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer data, - ffi.Pointer baseURL, - ) { - return __objc_msgSend_52( - obj, - sel, - data, - baseURL, - ); - } - - late final __objc_msgSend_52Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_52 = __objc_msgSend_52Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_initAbsoluteURLWithDataRepresentation_relativeToURL_1 = - _registerName1("initAbsoluteURLWithDataRepresentation:relativeToURL:"); - late final _sel_absoluteURLWithDataRepresentation_relativeToURL_1 = - _registerName1("absoluteURLWithDataRepresentation:relativeToURL:"); - late final _sel_dataRepresentation1 = _registerName1("dataRepresentation"); - ffi.Pointer _objc_msgSend_53( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_53( - obj, - sel, - ); - } - - late final __objc_msgSend_53Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_53 = __objc_msgSend_53Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_absoluteString1 = _registerName1("absoluteString"); - ffi.Pointer _objc_msgSend_54( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_54( - obj, - sel, - ); - } - - late final __objc_msgSend_54Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_54 = __objc_msgSend_54Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_relativeString1 = _registerName1("relativeString"); - late final _sel_baseURL1 = _registerName1("baseURL"); - ffi.Pointer _objc_msgSend_55( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_55( - obj, - sel, - ); - } - - late final __objc_msgSend_55Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_55 = __objc_msgSend_55Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_absoluteURL1 = _registerName1("absoluteURL"); - late final _sel_scheme1 = _registerName1("scheme"); - late final _sel_resourceSpecifier1 = _registerName1("resourceSpecifier"); - late final _sel_host1 = _registerName1("host"); - late final _class_NSNumber1 = _getClass1("NSNumber"); - late final _class_NSValue1 = _getClass1("NSValue"); - late final _sel_getValue_size_1 = _registerName1("getValue:size:"); - void _objc_msgSend_56( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - int size, - ) { - return __objc_msgSend_56( - obj, - sel, - value, - size, - ); - } - - late final __objc_msgSend_56Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); - late final __objc_msgSend_56 = __objc_msgSend_56Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, int)>(); - - late final _sel_objCType1 = _registerName1("objCType"); - late final _sel_initWithBytes_objCType_1 = - _registerName1("initWithBytes:objCType:"); - instancetype _objc_msgSend_57( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ffi.Pointer type, - ) { - return __objc_msgSend_57( - obj, - sel, - value, - type, - ); - } - - late final __objc_msgSend_57Ptr = _lookup< - ffi.NativeFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_57 = __objc_msgSend_57Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_initWithChar_1 = _registerName1("initWithChar:"); - ffi.Pointer _objc_msgSend_58( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_58( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_58Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Char)>>('objc_msgSend'); - late final __objc_msgSend_58 = __objc_msgSend_58Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_initWithUnsignedChar_1 = - _registerName1("initWithUnsignedChar:"); - ffi.Pointer _objc_msgSend_59( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_59( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_59Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedChar)>>('objc_msgSend'); - late final __objc_msgSend_59 = __objc_msgSend_59Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_initWithShort_1 = _registerName1("initWithShort:"); - ffi.Pointer _objc_msgSend_60( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_60( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_60Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Short)>>('objc_msgSend'); - late final __objc_msgSend_60 = __objc_msgSend_60Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_initWithUnsignedShort_1 = - _registerName1("initWithUnsignedShort:"); - ffi.Pointer _objc_msgSend_61( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_61( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_61Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedShort)>>('objc_msgSend'); - late final __objc_msgSend_61 = __objc_msgSend_61Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_initWithInt_1 = _registerName1("initWithInt:"); - ffi.Pointer _objc_msgSend_62( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_62( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_62Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Int)>>('objc_msgSend'); - late final __objc_msgSend_62 = __objc_msgSend_62Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_initWithUnsignedInt_1 = - _registerName1("initWithUnsignedInt:"); - ffi.Pointer _objc_msgSend_63( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_63( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_63Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedInt)>>('objc_msgSend'); - late final __objc_msgSend_63 = __objc_msgSend_63Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_initWithLong_1 = _registerName1("initWithLong:"); - ffi.Pointer _objc_msgSend_64( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_64( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_64Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Long)>>('objc_msgSend'); - late final __objc_msgSend_64 = __objc_msgSend_64Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_initWithUnsignedLong_1 = - _registerName1("initWithUnsignedLong:"); - ffi.Pointer _objc_msgSend_65( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_65( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_65Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); - late final __objc_msgSend_65 = __objc_msgSend_65Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_initWithLongLong_1 = _registerName1("initWithLongLong:"); - ffi.Pointer _objc_msgSend_66( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_66( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_66Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.LongLong)>>('objc_msgSend'); - late final __objc_msgSend_66 = __objc_msgSend_66Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_initWithUnsignedLongLong_1 = - _registerName1("initWithUnsignedLongLong:"); - ffi.Pointer _objc_msgSend_67( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_67( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_67Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLongLong)>>('objc_msgSend'); - late final __objc_msgSend_67 = __objc_msgSend_67Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_initWithFloat_1 = _registerName1("initWithFloat:"); - ffi.Pointer _objc_msgSend_68( - ffi.Pointer obj, - ffi.Pointer sel, - double value, - ) { - return __objc_msgSend_68( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_68Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Float)>>('objc_msgSend'); - late final __objc_msgSend_68 = __objc_msgSend_68Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, double)>(); - - late final _sel_initWithDouble_1 = _registerName1("initWithDouble:"); - ffi.Pointer _objc_msgSend_69( - ffi.Pointer obj, - ffi.Pointer sel, - double value, - ) { - return __objc_msgSend_69( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_69Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Double)>>('objc_msgSend'); - late final __objc_msgSend_69 = __objc_msgSend_69Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, double)>(); - - late final _sel_initWithBool_1 = _registerName1("initWithBool:"); - ffi.Pointer _objc_msgSend_70( - ffi.Pointer obj, - ffi.Pointer sel, - bool value, - ) { - return __objc_msgSend_70( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_70Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Bool)>>('objc_msgSend'); - late final __objc_msgSend_70 = __objc_msgSend_70Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, bool)>(); - - late final _sel_initWithInteger_1 = _registerName1("initWithInteger:"); - late final _sel_initWithUnsignedInteger_1 = - _registerName1("initWithUnsignedInteger:"); - late final _sel_charValue1 = _registerName1("charValue"); - int _objc_msgSend_71( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_71( - obj, - sel, - ); - } - - late final __objc_msgSend_71Ptr = _lookup< - ffi.NativeFunction< - ffi.Char Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_71 = __objc_msgSend_71Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_unsignedCharValue1 = _registerName1("unsignedCharValue"); - int _objc_msgSend_72( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_72( - obj, - sel, - ); - } - - late final __objc_msgSend_72Ptr = _lookup< - ffi.NativeFunction< - ffi.UnsignedChar Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_72 = __objc_msgSend_72Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_shortValue1 = _registerName1("shortValue"); - int _objc_msgSend_73( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_73( - obj, - sel, - ); - } - - late final __objc_msgSend_73Ptr = _lookup< - ffi.NativeFunction< - ffi.Short Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_73 = __objc_msgSend_73Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_unsignedShortValue1 = _registerName1("unsignedShortValue"); - int _objc_msgSend_74( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_74( - obj, - sel, - ); - } - - late final __objc_msgSend_74Ptr = _lookup< - ffi.NativeFunction< - ffi.UnsignedShort Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_74 = __objc_msgSend_74Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_intValue1 = _registerName1("intValue"); - int _objc_msgSend_75( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_75( - obj, - sel, - ); - } - - late final __objc_msgSend_75Ptr = _lookup< - ffi.NativeFunction< - ffi.Int Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_75 = __objc_msgSend_75Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_unsignedIntValue1 = _registerName1("unsignedIntValue"); - int _objc_msgSend_76( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_76( - obj, - sel, - ); - } - - late final __objc_msgSend_76Ptr = _lookup< - ffi.NativeFunction< - ffi.UnsignedInt Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_76 = __objc_msgSend_76Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_longValue1 = _registerName1("longValue"); - int _objc_msgSend_77( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_77( - obj, - sel, - ); - } - - late final __objc_msgSend_77Ptr = _lookup< - ffi.NativeFunction< - ffi.Long Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_77 = __objc_msgSend_77Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_unsignedLongValue1 = _registerName1("unsignedLongValue"); - late final _sel_longLongValue1 = _registerName1("longLongValue"); - int _objc_msgSend_78( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_78( - obj, - sel, - ); - } - - late final __objc_msgSend_78Ptr = _lookup< - ffi.NativeFunction< - ffi.LongLong Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_78 = __objc_msgSend_78Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_unsignedLongLongValue1 = - _registerName1("unsignedLongLongValue"); - int _objc_msgSend_79( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_79( - obj, - sel, - ); - } - - late final __objc_msgSend_79Ptr = _lookup< - ffi.NativeFunction< - ffi.UnsignedLongLong Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_79 = __objc_msgSend_79Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_floatValue1 = _registerName1("floatValue"); - late final _objc_msgSend_useVariants1 = ffi.Abi.current() == ffi.Abi.iosX64 || - ffi.Abi.current() == ffi.Abi.macosX64; - double _objc_msgSend_80( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_80( - obj, - sel, - ); - } - - late final __objc_msgSend_80Ptr = _lookup< - ffi.NativeFunction< - ffi.Float Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_80 = __objc_msgSend_80Ptr.asFunction< - double Function(ffi.Pointer, ffi.Pointer)>(); - - double _objc_msgSend_80_fpret( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_80_fpret( - obj, - sel, - ); - } - - late final __objc_msgSend_80_fpretPtr = _lookup< - ffi.NativeFunction< - ffi.Float Function(ffi.Pointer, - ffi.Pointer)>>('objc_msgSend_fpret'); - late final __objc_msgSend_80_fpret = __objc_msgSend_80_fpretPtr.asFunction< - double Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_doubleValue1 = _registerName1("doubleValue"); - double _objc_msgSend_81( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_81( - obj, - sel, - ); - } - - late final __objc_msgSend_81Ptr = _lookup< - ffi.NativeFunction< - ffi.Double Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_81 = __objc_msgSend_81Ptr.asFunction< - double Function(ffi.Pointer, ffi.Pointer)>(); - - double _objc_msgSend_81_fpret( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_81_fpret( - obj, - sel, - ); - } - - late final __objc_msgSend_81_fpretPtr = _lookup< - ffi.NativeFunction< - ffi.Double Function(ffi.Pointer, - ffi.Pointer)>>('objc_msgSend_fpret'); - late final __objc_msgSend_81_fpret = __objc_msgSend_81_fpretPtr.asFunction< - double Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_boolValue1 = _registerName1("boolValue"); - late final _sel_integerValue1 = _registerName1("integerValue"); - late final _sel_unsignedIntegerValue1 = - _registerName1("unsignedIntegerValue"); - late final _sel_stringValue1 = _registerName1("stringValue"); - late final _sel_compare_1 = _registerName1("compare:"); - int _objc_msgSend_82( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer otherNumber, - ) { - return __objc_msgSend_82( - obj, - sel, - otherNumber, - ); - } - - late final __objc_msgSend_82Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_82 = __objc_msgSend_82Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_isEqualToNumber_1 = _registerName1("isEqualToNumber:"); - bool _objc_msgSend_83( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer number, - ) { - return __objc_msgSend_83( - obj, - sel, - number, - ); - } - - late final __objc_msgSend_83Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_83 = __objc_msgSend_83Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_descriptionWithLocale_1 = - _registerName1("descriptionWithLocale:"); - ffi.Pointer _objc_msgSend_84( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer locale, - ) { - return __objc_msgSend_84( - obj, - sel, - locale, - ); - } - - late final __objc_msgSend_84Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_84 = __objc_msgSend_84Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_port1 = _registerName1("port"); - ffi.Pointer _objc_msgSend_85( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_85( - obj, - sel, - ); - } - - late final __objc_msgSend_85Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_85 = __objc_msgSend_85Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_user1 = _registerName1("user"); - late final _sel_password1 = _registerName1("password"); - late final _sel_path1 = _registerName1("path"); - late final _sel_fragment1 = _registerName1("fragment"); - late final _sel_parameterString1 = _registerName1("parameterString"); - late final _sel_query1 = _registerName1("query"); - late final _sel_relativePath1 = _registerName1("relativePath"); - late final _sel_hasDirectoryPath1 = _registerName1("hasDirectoryPath"); - late final _sel_getFileSystemRepresentation_maxLength_1 = - _registerName1("getFileSystemRepresentation:maxLength:"); - bool _objc_msgSend_86( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer buffer, - int maxBufferLength, - ) { - return __objc_msgSend_86( - obj, - sel, - buffer, - maxBufferLength, - ); - } - - late final __objc_msgSend_86Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); - late final __objc_msgSend_86 = __objc_msgSend_86Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, int)>(); - - late final _sel_fileSystemRepresentation1 = - _registerName1("fileSystemRepresentation"); - late final _sel_isFileURL1 = _registerName1("isFileURL"); - late final _sel_standardizedURL1 = _registerName1("standardizedURL"); - late final _sel_isFileReferenceURL1 = _registerName1("isFileReferenceURL"); - late final _sel_fileReferenceURL1 = _registerName1("fileReferenceURL"); - late final _sel_filePathURL1 = _registerName1("filePathURL"); - late final _class_NSError1 = _getClass1("NSError"); - late final _sel_initWithDomain_code_userInfo_1 = - _registerName1("initWithDomain:code:userInfo:"); - instancetype _objc_msgSend_87( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer domain, - int code, - ffi.Pointer dict, - ) { - return __objc_msgSend_87( - obj, - sel, - domain, - code, - dict, - ); - } - - late final __objc_msgSend_87Ptr = _lookup< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Long, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_87 = __objc_msgSend_87Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, int, ffi.Pointer)>(); - - late final _sel_errorWithDomain_code_userInfo_1 = - _registerName1("errorWithDomain:code:userInfo:"); - late final _sel_domain1 = _registerName1("domain"); - late final _sel_code1 = _registerName1("code"); - late final _sel_userInfo1 = _registerName1("userInfo"); - late final _sel_localizedDescription1 = - _registerName1("localizedDescription"); - late final _sel_localizedFailureReason1 = - _registerName1("localizedFailureReason"); - late final _sel_localizedRecoverySuggestion1 = - _registerName1("localizedRecoverySuggestion"); - late final _sel_localizedRecoveryOptions1 = - _registerName1("localizedRecoveryOptions"); - late final _sel_recoveryAttempter1 = _registerName1("recoveryAttempter"); - late final _sel_helpAnchor1 = _registerName1("helpAnchor"); - late final _sel_underlyingErrors1 = _registerName1("underlyingErrors"); - ffi.Pointer<_ObjCBlockDesc> _newBlockDesc1() { - final d = - pkg_ffi.calloc.allocate<_ObjCBlockDesc>(ffi.sizeOf<_ObjCBlockDesc>()); - d.ref.reserved = 0; - d.ref.size = ffi.sizeOf<_ObjCBlock>(); - d.ref.copy_helper = ffi.nullptr; - d.ref.dispose_helper = ffi.nullptr; - d.ref.signature = ffi.nullptr; - return d; - } - - late final _objc_block_desc1 = _newBlockDesc1(); - late final _objc_concrete_global_block1 = - _lookup('_NSConcreteGlobalBlock'); - ffi.Pointer<_ObjCBlock> _newBlock1( - ffi.Pointer invoke, ffi.Pointer target) { - final b = pkg_ffi.calloc.allocate<_ObjCBlock>(ffi.sizeOf<_ObjCBlock>()); - b.ref.isa = _objc_concrete_global_block1; - b.ref.flags = 0; - b.ref.reserved = 0; - b.ref.invoke = invoke; - b.ref.target = target; - b.ref.descriptor = _objc_block_desc1; - final copy = _Block_copy(b.cast()).cast<_ObjCBlock>(); - pkg_ffi.calloc.free(b); - return copy; - } - - ffi.Pointer _Block_copy( - ffi.Pointer value, - ) { - return __Block_copy( - value, - ); - } - - late final __Block_copyPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer)>>('_Block_copy'); - late final __Block_copy = __Block_copyPtr - .asFunction Function(ffi.Pointer)>(); - - void _Block_release( - ffi.Pointer value, - ) { - return __Block_release( - value, - ); - } - - late final __Block_releasePtr = - _lookup)>>( - '_Block_release'); - late final __Block_release = - __Block_releasePtr.asFunction)>(); - - late final _objc_releaseFinalizer11 = - ffi.NativeFinalizer(__Block_releasePtr.cast()); - late final _sel_setUserInfoValueProviderForDomain_provider_1 = - _registerName1("setUserInfoValueProviderForDomain:provider:"); - void _objc_msgSend_88( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer errorDomain, - ffi.Pointer<_ObjCBlock> provider, - ) { - return __objc_msgSend_88( - obj, - sel, - errorDomain, - provider, - ); - } - - late final __objc_msgSend_88Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); - late final __objc_msgSend_88 = __objc_msgSend_88Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer<_ObjCBlock>)>(); - - late final _sel_userInfoValueProviderForDomain_1 = - _registerName1("userInfoValueProviderForDomain:"); - ffi.Pointer<_ObjCBlock> _objc_msgSend_89( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer err, - ffi.Pointer userInfoKey, - ffi.Pointer errorDomain, - ) { - return __objc_msgSend_89( - obj, - sel, - err, - userInfoKey, - errorDomain, - ); - } - - late final __objc_msgSend_89Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer<_ObjCBlock> Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_89 = __objc_msgSend_89Ptr.asFunction< - ffi.Pointer<_ObjCBlock> Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_getResourceValue_forKey_error_1 = - _registerName1("getResourceValue:forKey:error:"); - bool _objc_msgSend_90( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer> value, - ffi.Pointer key, - ffi.Pointer> error, - ) { - return __objc_msgSend_90( - obj, - sel, - value, - key, - error, - ); - } - - late final __objc_msgSend_90Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>, - ffi.Pointer, - ffi.Pointer>)>>('objc_msgSend'); - late final __objc_msgSend_90 = __objc_msgSend_90Ptr.asFunction< - bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>, - ffi.Pointer, - ffi.Pointer>)>(); - - late final _sel_resourceValuesForKeys_error_1 = - _registerName1("resourceValuesForKeys:error:"); - ffi.Pointer _objc_msgSend_91( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer keys, - ffi.Pointer> error, - ) { - return __objc_msgSend_91( - obj, - sel, - keys, - error, - ); - } - - late final __objc_msgSend_91Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>>('objc_msgSend'); - late final __objc_msgSend_91 = __objc_msgSend_91Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>(); - - late final _sel_setResourceValue_forKey_error_1 = - _registerName1("setResourceValue:forKey:error:"); - bool _objc_msgSend_92( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ffi.Pointer key, - ffi.Pointer> error, - ) { - return __objc_msgSend_92( - obj, - sel, - value, - key, - error, - ); - } - - late final __objc_msgSend_92Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>>('objc_msgSend'); - late final __objc_msgSend_92 = __objc_msgSend_92Ptr.asFunction< - bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>(); - - late final _sel_setResourceValues_error_1 = - _registerName1("setResourceValues:error:"); - bool _objc_msgSend_93( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer keyedValues, - ffi.Pointer> error, - ) { - return __objc_msgSend_93( - obj, - sel, - keyedValues, - error, - ); - } - - late final __objc_msgSend_93Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>>('objc_msgSend'); - late final __objc_msgSend_93 = __objc_msgSend_93Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer>)>(); - - late final _sel_removeCachedResourceValueForKey_1 = - _registerName1("removeCachedResourceValueForKey:"); - void _objc_msgSend_94( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer key, - ) { - return __objc_msgSend_94( - obj, - sel, - key, - ); - } - - late final __objc_msgSend_94Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_94 = __objc_msgSend_94Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_removeAllCachedResourceValues1 = - _registerName1("removeAllCachedResourceValues"); - late final _sel_setTemporaryResourceValue_forKey_1 = - _registerName1("setTemporaryResourceValue:forKey:"); - void _objc_msgSend_95( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ffi.Pointer key, - ) { - return __objc_msgSend_95( - obj, - sel, - value, - key, - ); - } - - late final __objc_msgSend_95Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_95 = __objc_msgSend_95Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_bookmarkDataWithOptions_includingResourceValuesForKeys_relativeToURL_error_1 = - _registerName1( - "bookmarkDataWithOptions:includingResourceValuesForKeys:relativeToURL:error:"); - ffi.Pointer _objc_msgSend_96( - ffi.Pointer obj, - ffi.Pointer sel, - int options, - ffi.Pointer keys, - ffi.Pointer relativeURL, - ffi.Pointer> error, - ) { - return __objc_msgSend_96( - obj, - sel, - options, - keys, - relativeURL, - error, - ); - } - - late final __objc_msgSend_96Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>>('objc_msgSend'); - late final __objc_msgSend_96 = __objc_msgSend_96Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>(); - - late final _sel_initByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_1 = - _registerName1( - "initByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:"); - instancetype _objc_msgSend_97( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer bookmarkData, - int options, - ffi.Pointer relativeURL, - ffi.Pointer isStale, - ffi.Pointer> error, - ) { - return __objc_msgSend_97( - obj, - sel, - bookmarkData, - options, - relativeURL, - isStale, - error, - ); - } - - late final __objc_msgSend_97Ptr = _lookup< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>>('objc_msgSend'); - late final __objc_msgSend_97 = __objc_msgSend_97Ptr.asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>(); - - late final _sel_URLByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_1 = - _registerName1( - "URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:"); - late final _sel_resourceValuesForKeys_fromBookmarkData_1 = - _registerName1("resourceValuesForKeys:fromBookmarkData:"); - ffi.Pointer _objc_msgSend_98( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer keys, - ffi.Pointer bookmarkData, - ) { - return __objc_msgSend_98( - obj, - sel, - keys, - bookmarkData, - ); - } - - late final __objc_msgSend_98Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_98 = __objc_msgSend_98Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_writeBookmarkData_toURL_options_error_1 = - _registerName1("writeBookmarkData:toURL:options:error:"); - bool _objc_msgSend_99( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer bookmarkData, - ffi.Pointer bookmarkFileURL, - int options, - ffi.Pointer> error, - ) { - return __objc_msgSend_99( - obj, - sel, - bookmarkData, - bookmarkFileURL, - options, - error, - ); - } - - late final __objc_msgSend_99Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong, - ffi.Pointer>)>>('objc_msgSend'); - late final __objc_msgSend_99 = __objc_msgSend_99Ptr.asFunction< - bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer>)>(); - - late final _sel_bookmarkDataWithContentsOfURL_error_1 = - _registerName1("bookmarkDataWithContentsOfURL:error:"); - ffi.Pointer _objc_msgSend_100( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer bookmarkFileURL, - ffi.Pointer> error, - ) { - return __objc_msgSend_100( - obj, - sel, - bookmarkFileURL, - error, - ); - } - - late final __objc_msgSend_100Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>>('objc_msgSend'); - late final __objc_msgSend_100 = __objc_msgSend_100Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>(); - - late final _sel_URLByResolvingAliasFileAtURL_options_error_1 = - _registerName1("URLByResolvingAliasFileAtURL:options:error:"); - instancetype _objc_msgSend_101( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer url, - int options, - ffi.Pointer> error, - ) { - return __objc_msgSend_101( - obj, - sel, - url, - options, - error, - ); - } - - late final __objc_msgSend_101Ptr = _lookup< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer>)>>('objc_msgSend'); - late final __objc_msgSend_101 = __objc_msgSend_101Ptr.asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer>)>(); - - late final _sel_startAccessingSecurityScopedResource1 = - _registerName1("startAccessingSecurityScopedResource"); - late final _sel_stopAccessingSecurityScopedResource1 = - _registerName1("stopAccessingSecurityScopedResource"); - late final _sel_initWithURL_callbackURLScheme_completionHandler_1 = - _registerName1("initWithURL:callbackURLScheme:completionHandler:"); - instancetype _objc_msgSend_102( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer URL, - ffi.Pointer callbackURLScheme, - ASWebAuthenticationSessionCompletionHandler completionHandler, - ) { - return __objc_msgSend_102( - obj, - sel, - URL, - callbackURLScheme, - completionHandler, - ); - } - - late final __objc_msgSend_102Ptr = _lookup< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ASWebAuthenticationSessionCompletionHandler)>>('objc_msgSend'); - late final __objc_msgSend_102 = __objc_msgSend_102Ptr.asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ASWebAuthenticationSessionCompletionHandler)>(); - - late final _sel_presentationContextProvider1 = - _registerName1("presentationContextProvider"); - late final _sel_setPresentationContextProvider_1 = - _registerName1("setPresentationContextProvider:"); - late final _sel_prefersEphemeralWebBrowserSession1 = - _registerName1("prefersEphemeralWebBrowserSession"); - late final _sel_setPrefersEphemeralWebBrowserSession_1 = - _registerName1("setPrefersEphemeralWebBrowserSession:"); - void _objc_msgSend_103( - ffi.Pointer obj, - ffi.Pointer sel, - bool value, - ) { - return __objc_msgSend_103( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_103Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Bool)>>('objc_msgSend'); - late final __objc_msgSend_103 = __objc_msgSend_103Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, bool)>(); - - late final _sel_canStart1 = _registerName1("canStart"); - late final _sel_start1 = _registerName1("start"); - late final _sel_cancel1 = _registerName1("cancel"); - late final _class_NSWindow1 = _getClass1("NSWindow"); - late final _class_NSResponder1 = _getClass1("NSResponder"); - late final _sel_nextResponder1 = _registerName1("nextResponder"); - ffi.Pointer _objc_msgSend_104( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_104( - obj, - sel, - ); - } - - late final __objc_msgSend_104Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_104 = __objc_msgSend_104Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setNextResponder_1 = _registerName1("setNextResponder:"); - void _objc_msgSend_105( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_105( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_105Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_105 = __objc_msgSend_105Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_tryToPerform_with_1 = _registerName1("tryToPerform:with:"); - bool _objc_msgSend_106( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer action, - ffi.Pointer object, - ) { - return __objc_msgSend_106( - obj, - sel, - action, - object, - ); - } - - late final __objc_msgSend_106Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_106 = __objc_msgSend_106Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _class_NSEvent1 = _getClass1("NSEvent"); - late final _sel_type1 = _registerName1("type"); - int _objc_msgSend_107( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_107( - obj, - sel, - ); - } - - late final __objc_msgSend_107Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_107 = __objc_msgSend_107Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_modifierFlags1 = _registerName1("modifierFlags"); - int _objc_msgSend_108( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_108( - obj, - sel, - ); - } - - late final __objc_msgSend_108Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_108 = __objc_msgSend_108Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_timestamp1 = _registerName1("timestamp"); - late final _sel_window1 = _registerName1("window"); - ffi.Pointer _objc_msgSend_109( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_109( - obj, - sel, - ); - } - - late final __objc_msgSend_109Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_109 = __objc_msgSend_109Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_windowNumber1 = _registerName1("windowNumber"); - late final _class_NSGraphicsContext1 = _getClass1("NSGraphicsContext"); - late final _sel_context1 = _registerName1("context"); - ffi.Pointer _objc_msgSend_110( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_110( - obj, - sel, - ); - } - - late final __objc_msgSend_110Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_110 = __objc_msgSend_110Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_clickCount1 = _registerName1("clickCount"); - late final _sel_buttonNumber1 = _registerName1("buttonNumber"); - late final _sel_eventNumber1 = _registerName1("eventNumber"); - late final _sel_pressure1 = _registerName1("pressure"); - late final _sel_locationInWindow1 = _registerName1("locationInWindow"); - CGPoint _objc_msgSend_111( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_111( - obj, - sel, - ); - } - - late final __objc_msgSend_111Ptr = _lookup< - ffi.NativeFunction< - CGPoint Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_111 = __objc_msgSend_111Ptr.asFunction< - CGPoint Function(ffi.Pointer, ffi.Pointer)>(); - - void _objc_msgSend_111_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_111_stret( - stret, - obj, - sel, - ); - } - - late final __objc_msgSend_111_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend_stret'); - late final __objc_msgSend_111_stret = __objc_msgSend_111_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_deltaX1 = _registerName1("deltaX"); - late final _sel_deltaY1 = _registerName1("deltaY"); - late final _sel_deltaZ1 = _registerName1("deltaZ"); - late final _sel_hasPreciseScrollingDeltas1 = - _registerName1("hasPreciseScrollingDeltas"); - late final _sel_scrollingDeltaX1 = _registerName1("scrollingDeltaX"); - late final _sel_scrollingDeltaY1 = _registerName1("scrollingDeltaY"); - late final _sel_momentumPhase1 = _registerName1("momentumPhase"); - int _objc_msgSend_112( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_112( - obj, - sel, - ); - } - - late final __objc_msgSend_112Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_112 = __objc_msgSend_112Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_isDirectionInvertedFromDevice1 = - _registerName1("isDirectionInvertedFromDevice"); - late final _sel_characters1 = _registerName1("characters"); - late final _sel_charactersIgnoringModifiers1 = - _registerName1("charactersIgnoringModifiers"); - late final _sel_charactersByApplyingModifiers_1 = - _registerName1("charactersByApplyingModifiers:"); - ffi.Pointer _objc_msgSend_113( - ffi.Pointer obj, - ffi.Pointer sel, - int modifiers, - ) { - return __objc_msgSend_113( - obj, - sel, - modifiers, - ); - } - - late final __objc_msgSend_113Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_113 = __objc_msgSend_113Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_isARepeat1 = _registerName1("isARepeat"); - late final _sel_keyCode1 = _registerName1("keyCode"); - late final _sel_trackingNumber1 = _registerName1("trackingNumber"); - late final _sel_userData1 = _registerName1("userData"); - late final _class_NSTrackingArea1 = _getClass1("NSTrackingArea"); - late final _sel_trackingArea1 = _registerName1("trackingArea"); - ffi.Pointer _objc_msgSend_114( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_114( - obj, - sel, - ); - } - - late final __objc_msgSend_114Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_114 = __objc_msgSend_114Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_subtype1 = _registerName1("subtype"); - int _objc_msgSend_115( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_115( - obj, - sel, - ); - } - - late final __objc_msgSend_115Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_115 = __objc_msgSend_115Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_data11 = _registerName1("data1"); - late final _sel_data21 = _registerName1("data2"); - late final _sel_eventRef1 = _registerName1("eventRef"); - late final _sel_eventWithEventRef_1 = _registerName1("eventWithEventRef:"); - ffi.Pointer _objc_msgSend_116( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer eventRef, - ) { - return __objc_msgSend_116( - obj, - sel, - eventRef, - ); - } - - late final __objc_msgSend_116Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_116 = __objc_msgSend_116Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_CGEvent1 = _registerName1("CGEvent"); - ffi.Pointer<__CGEvent> _objc_msgSend_117( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_117( - obj, - sel, - ); - } - - late final __objc_msgSend_117Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer<__CGEvent> Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_117 = __objc_msgSend_117Ptr.asFunction< - ffi.Pointer<__CGEvent> Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_eventWithCGEvent_1 = _registerName1("eventWithCGEvent:"); - ffi.Pointer _objc_msgSend_118( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer<__CGEvent> cgEvent, - ) { - return __objc_msgSend_118( - obj, - sel, - cgEvent, - ); - } - - late final __objc_msgSend_118Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer<__CGEvent>)>>('objc_msgSend'); - late final __objc_msgSend_118 = __objc_msgSend_118Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer<__CGEvent>)>(); - - late final _sel_isMouseCoalescingEnabled1 = - _registerName1("isMouseCoalescingEnabled"); - late final _sel_setMouseCoalescingEnabled_1 = - _registerName1("setMouseCoalescingEnabled:"); - late final _sel_magnification1 = _registerName1("magnification"); - late final _sel_deviceID1 = _registerName1("deviceID"); - late final _sel_rotation1 = _registerName1("rotation"); - late final _sel_absoluteX1 = _registerName1("absoluteX"); - late final _sel_absoluteY1 = _registerName1("absoluteY"); - late final _sel_absoluteZ1 = _registerName1("absoluteZ"); - late final _sel_buttonMask1 = _registerName1("buttonMask"); - int _objc_msgSend_119( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_119( - obj, - sel, - ); - } - - late final __objc_msgSend_119Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_119 = __objc_msgSend_119Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_tilt1 = _registerName1("tilt"); - late final _sel_tangentialPressure1 = _registerName1("tangentialPressure"); - late final _sel_vendorDefined1 = _registerName1("vendorDefined"); - late final _sel_vendorID1 = _registerName1("vendorID"); - late final _sel_tabletID1 = _registerName1("tabletID"); - late final _sel_pointingDeviceID1 = _registerName1("pointingDeviceID"); - late final _sel_systemTabletID1 = _registerName1("systemTabletID"); - late final _sel_vendorPointingDeviceType1 = - _registerName1("vendorPointingDeviceType"); - late final _sel_pointingDeviceSerialNumber1 = - _registerName1("pointingDeviceSerialNumber"); - late final _sel_uniqueID1 = _registerName1("uniqueID"); - late final _sel_capabilityMask1 = _registerName1("capabilityMask"); - late final _sel_pointingDeviceType1 = _registerName1("pointingDeviceType"); - int _objc_msgSend_120( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_120( - obj, - sel, - ); - } - - late final __objc_msgSend_120Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_120 = __objc_msgSend_120Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_isEnteringProximity1 = _registerName1("isEnteringProximity"); - late final _class_NSView1 = _getClass1("NSView"); - late final _sel_initWithFrame_1 = _registerName1("initWithFrame:"); - instancetype _objc_msgSend_121( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect frameRect, - ) { - return __objc_msgSend_121( - obj, - sel, - frameRect, - ); - } - - late final __objc_msgSend_121Ptr = _lookup< - ffi.NativeFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - CGRect)>>('objc_msgSend'); - late final __objc_msgSend_121 = __objc_msgSend_121Ptr.asFunction< - instancetype Function( - ffi.Pointer, ffi.Pointer, CGRect)>(); - - late final _sel_superview1 = _registerName1("superview"); - ffi.Pointer _objc_msgSend_122( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_122( - obj, - sel, - ); - } - - late final __objc_msgSend_122Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_122 = __objc_msgSend_122Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_subviews1 = _registerName1("subviews"); - late final _sel_setSubviews_1 = _registerName1("setSubviews:"); - void _objc_msgSend_123( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_123( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_123Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_123 = __objc_msgSend_123Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_isDescendantOf_1 = _registerName1("isDescendantOf:"); - bool _objc_msgSend_124( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer view, - ) { - return __objc_msgSend_124( - obj, - sel, - view, - ); - } - - late final __objc_msgSend_124Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_124 = __objc_msgSend_124Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_ancestorSharedWithView_1 = - _registerName1("ancestorSharedWithView:"); - ffi.Pointer _objc_msgSend_125( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer view, - ) { - return __objc_msgSend_125( - obj, - sel, - view, - ); - } - - late final __objc_msgSend_125Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_125 = __objc_msgSend_125Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_opaqueAncestor1 = _registerName1("opaqueAncestor"); - late final _sel_isHidden1 = _registerName1("isHidden"); - late final _sel_setHidden_1 = _registerName1("setHidden:"); - late final _sel_isHiddenOrHasHiddenAncestor1 = - _registerName1("isHiddenOrHasHiddenAncestor"); - late final _sel_getRectsBeingDrawn_count_1 = - _registerName1("getRectsBeingDrawn:count:"); - void _objc_msgSend_126( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer> rects, - ffi.Pointer count, - ) { - return __objc_msgSend_126( - obj, - sel, - rects, - count, - ); - } - - late final __objc_msgSend_126Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_126 = __objc_msgSend_126Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer>, ffi.Pointer)>(); - - late final _sel_needsToDrawRect_1 = _registerName1("needsToDrawRect:"); - bool _objc_msgSend_127( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect rect, - ) { - return __objc_msgSend_127( - obj, - sel, - rect, - ); - } - - late final __objc_msgSend_127Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - CGRect)>>('objc_msgSend'); - late final __objc_msgSend_127 = __objc_msgSend_127Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, CGRect)>(); - - late final _sel_wantsDefaultClipping1 = - _registerName1("wantsDefaultClipping"); - late final _sel_viewDidHide1 = _registerName1("viewDidHide"); - late final _sel_viewDidUnhide1 = _registerName1("viewDidUnhide"); - late final _sel_addSubview_1 = _registerName1("addSubview:"); - void _objc_msgSend_128( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer view, - ) { - return __objc_msgSend_128( - obj, - sel, - view, - ); - } - - late final __objc_msgSend_128Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_128 = __objc_msgSend_128Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_addSubview_positioned_relativeTo_1 = - _registerName1("addSubview:positioned:relativeTo:"); - void _objc_msgSend_129( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer view, - int place, - ffi.Pointer otherView, - ) { - return __objc_msgSend_129( - obj, - sel, - view, - place, - otherView, - ); - } - - late final __objc_msgSend_129Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_129 = __objc_msgSend_129Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, int, ffi.Pointer)>(); - - late final _sel_sortSubviewsUsingFunction_context_1 = - _registerName1("sortSubviewsUsingFunction:context:"); - void _objc_msgSend_130( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer< - ffi.NativeFunction< - ffi.Int32 Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>> - compare, - ffi.Pointer context, - ) { - return __objc_msgSend_130( - obj, - sel, - compare, - context, - ); - } - - late final __objc_msgSend_130Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer< - ffi.NativeFunction< - ffi.Int32 Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_130 = __objc_msgSend_130Ptr.asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer< - ffi.NativeFunction< - ffi.Int32 Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>, - ffi.Pointer)>(); - - late final _sel_viewWillMoveToWindow_1 = - _registerName1("viewWillMoveToWindow:"); - void _objc_msgSend_131( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer newWindow, - ) { - return __objc_msgSend_131( - obj, - sel, - newWindow, - ); - } - - late final __objc_msgSend_131Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_131 = __objc_msgSend_131Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_viewDidMoveToWindow1 = _registerName1("viewDidMoveToWindow"); - late final _sel_viewWillMoveToSuperview_1 = - _registerName1("viewWillMoveToSuperview:"); - void _objc_msgSend_132( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer newSuperview, - ) { - return __objc_msgSend_132( - obj, - sel, - newSuperview, - ); - } - - late final __objc_msgSend_132Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_132 = __objc_msgSend_132Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_viewDidMoveToSuperview1 = - _registerName1("viewDidMoveToSuperview"); - late final _sel_didAddSubview_1 = _registerName1("didAddSubview:"); - late final _sel_willRemoveSubview_1 = _registerName1("willRemoveSubview:"); - late final _sel_removeFromSuperview1 = _registerName1("removeFromSuperview"); - late final _sel_replaceSubview_with_1 = - _registerName1("replaceSubview:with:"); - void _objc_msgSend_133( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer oldView, - ffi.Pointer newView, - ) { - return __objc_msgSend_133( - obj, - sel, - oldView, - newView, - ); - } - - late final __objc_msgSend_133Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_133 = __objc_msgSend_133Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_removeFromSuperviewWithoutNeedingDisplay1 = - _registerName1("removeFromSuperviewWithoutNeedingDisplay"); - late final _sel_viewDidChangeBackingProperties1 = - _registerName1("viewDidChangeBackingProperties"); - late final _sel_postsFrameChangedNotifications1 = - _registerName1("postsFrameChangedNotifications"); - late final _sel_setPostsFrameChangedNotifications_1 = - _registerName1("setPostsFrameChangedNotifications:"); - late final _sel_resizeSubviewsWithOldSize_1 = - _registerName1("resizeSubviewsWithOldSize:"); - void _objc_msgSend_134( - ffi.Pointer obj, - ffi.Pointer sel, - CGSize oldSize, - ) { - return __objc_msgSend_134( - obj, - sel, - oldSize, - ); - } - - late final __objc_msgSend_134Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - CGSize)>>('objc_msgSend'); - late final __objc_msgSend_134 = __objc_msgSend_134Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, CGSize)>(); - - late final _sel_resizeWithOldSuperviewSize_1 = - _registerName1("resizeWithOldSuperviewSize:"); - late final _sel_autoresizesSubviews1 = _registerName1("autoresizesSubviews"); - late final _sel_setAutoresizesSubviews_1 = - _registerName1("setAutoresizesSubviews:"); - late final _sel_autoresizingMask1 = _registerName1("autoresizingMask"); - int _objc_msgSend_135( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_135( - obj, - sel, - ); - } - - late final __objc_msgSend_135Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_135 = __objc_msgSend_135Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setAutoresizingMask_1 = - _registerName1("setAutoresizingMask:"); - void _objc_msgSend_136( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_136( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_136Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_136 = __objc_msgSend_136Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_setFrameOrigin_1 = _registerName1("setFrameOrigin:"); - void _objc_msgSend_137( - ffi.Pointer obj, - ffi.Pointer sel, - CGPoint newOrigin, - ) { - return __objc_msgSend_137( - obj, - sel, - newOrigin, - ); - } - - late final __objc_msgSend_137Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - CGPoint)>>('objc_msgSend'); - late final __objc_msgSend_137 = __objc_msgSend_137Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, CGPoint)>(); - - late final _sel_setFrameSize_1 = _registerName1("setFrameSize:"); - late final _sel_frame1 = _registerName1("frame"); - CGRect _objc_msgSend_138( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_138( - obj, - sel, - ); - } - - late final __objc_msgSend_138Ptr = _lookup< - ffi.NativeFunction< - CGRect Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_138 = __objc_msgSend_138Ptr.asFunction< - CGRect Function(ffi.Pointer, ffi.Pointer)>(); - - void _objc_msgSend_138_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_138_stret( - stret, - obj, - sel, - ); - } - - late final __objc_msgSend_138_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend_stret'); - late final __objc_msgSend_138_stret = __objc_msgSend_138_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_setFrame_1 = _registerName1("setFrame:"); - void _objc_msgSend_139( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect value, - ) { - return __objc_msgSend_139( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_139Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - CGRect)>>('objc_msgSend'); - late final __objc_msgSend_139 = __objc_msgSend_139Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, CGRect)>(); - - late final _sel_frameRotation1 = _registerName1("frameRotation"); - late final _sel_setFrameRotation_1 = _registerName1("setFrameRotation:"); - void _objc_msgSend_140( - ffi.Pointer obj, - ffi.Pointer sel, - double value, - ) { - return __objc_msgSend_140( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_140Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Double)>>('objc_msgSend'); - late final __objc_msgSend_140 = __objc_msgSend_140Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, double)>(); - - late final _sel_frameCenterRotation1 = _registerName1("frameCenterRotation"); - late final _sel_setFrameCenterRotation_1 = - _registerName1("setFrameCenterRotation:"); - late final _sel_setBoundsOrigin_1 = _registerName1("setBoundsOrigin:"); - late final _sel_setBoundsSize_1 = _registerName1("setBoundsSize:"); - late final _sel_boundsRotation1 = _registerName1("boundsRotation"); - late final _sel_setBoundsRotation_1 = _registerName1("setBoundsRotation:"); - late final _sel_translateOriginToPoint_1 = - _registerName1("translateOriginToPoint:"); - late final _sel_scaleUnitSquareToSize_1 = - _registerName1("scaleUnitSquareToSize:"); - late final _sel_rotateByAngle_1 = _registerName1("rotateByAngle:"); - void _objc_msgSend_141( - ffi.Pointer obj, - ffi.Pointer sel, - double angle, - ) { - return __objc_msgSend_141( - obj, - sel, - angle, - ); - } - - late final __objc_msgSend_141Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Double)>>('objc_msgSend'); - late final __objc_msgSend_141 = __objc_msgSend_141Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, double)>(); - - late final _sel_bounds1 = _registerName1("bounds"); - late final _sel_setBounds_1 = _registerName1("setBounds:"); - late final _sel_isFlipped1 = _registerName1("isFlipped"); - late final _sel_isRotatedFromBase1 = _registerName1("isRotatedFromBase"); - late final _sel_isRotatedOrScaledFromBase1 = - _registerName1("isRotatedOrScaledFromBase"); - late final _sel_isOpaque1 = _registerName1("isOpaque"); - late final _sel_convertPoint_fromView_1 = - _registerName1("convertPoint:fromView:"); - CGPoint _objc_msgSend_142( - ffi.Pointer obj, - ffi.Pointer sel, - CGPoint point, - ffi.Pointer view, - ) { - return __objc_msgSend_142( - obj, - sel, - point, - view, - ); - } - - late final __objc_msgSend_142Ptr = _lookup< - ffi.NativeFunction< - CGPoint Function(ffi.Pointer, ffi.Pointer, - CGPoint, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_142 = __objc_msgSend_142Ptr.asFunction< - CGPoint Function(ffi.Pointer, ffi.Pointer, CGPoint, - ffi.Pointer)>(); - - void _objc_msgSend_142_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - CGPoint point, - ffi.Pointer view, - ) { - return __objc_msgSend_142_stret( - stret, - obj, - sel, - point, - view, - ); - } - - late final __objc_msgSend_142_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - CGPoint, - ffi.Pointer)>>('objc_msgSend_stret'); - late final __objc_msgSend_142_stret = __objc_msgSend_142_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, CGPoint, ffi.Pointer)>(); - - late final _sel_convertPoint_toView_1 = - _registerName1("convertPoint:toView:"); - late final _sel_convertSize_fromView_1 = - _registerName1("convertSize:fromView:"); - CGSize _objc_msgSend_143( - ffi.Pointer obj, - ffi.Pointer sel, - CGSize size, - ffi.Pointer view, - ) { - return __objc_msgSend_143( - obj, - sel, - size, - view, - ); - } - - late final __objc_msgSend_143Ptr = _lookup< - ffi.NativeFunction< - CGSize Function(ffi.Pointer, ffi.Pointer, CGSize, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_143 = __objc_msgSend_143Ptr.asFunction< - CGSize Function(ffi.Pointer, ffi.Pointer, CGSize, - ffi.Pointer)>(); - - void _objc_msgSend_143_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - CGSize size, - ffi.Pointer view, - ) { - return __objc_msgSend_143_stret( - stret, - obj, - sel, - size, - view, - ); - } - - late final __objc_msgSend_143_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - CGSize, - ffi.Pointer)>>('objc_msgSend_stret'); - late final __objc_msgSend_143_stret = __objc_msgSend_143_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, CGSize, ffi.Pointer)>(); - - late final _sel_convertSize_toView_1 = _registerName1("convertSize:toView:"); - late final _sel_convertRect_fromView_1 = - _registerName1("convertRect:fromView:"); - CGRect _objc_msgSend_144( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect rect, - ffi.Pointer view, - ) { - return __objc_msgSend_144( - obj, - sel, - rect, - view, - ); - } - - late final __objc_msgSend_144Ptr = _lookup< - ffi.NativeFunction< - CGRect Function(ffi.Pointer, ffi.Pointer, CGRect, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_144 = __objc_msgSend_144Ptr.asFunction< - CGRect Function(ffi.Pointer, ffi.Pointer, CGRect, - ffi.Pointer)>(); - - void _objc_msgSend_144_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - CGRect rect, - ffi.Pointer view, - ) { - return __objc_msgSend_144_stret( - stret, - obj, - sel, - rect, - view, - ); - } - - late final __objc_msgSend_144_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - CGRect, - ffi.Pointer)>>('objc_msgSend_stret'); - late final __objc_msgSend_144_stret = __objc_msgSend_144_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, CGRect, ffi.Pointer)>(); - - late final _sel_convertRect_toView_1 = _registerName1("convertRect:toView:"); - late final _sel_backingAlignedRect_options_1 = - _registerName1("backingAlignedRect:options:"); - CGRect _objc_msgSend_145( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect rect, - int options, - ) { - return __objc_msgSend_145( - obj, - sel, - rect, - options, - ); - } - - late final __objc_msgSend_145Ptr = _lookup< - ffi.NativeFunction< - CGRect Function(ffi.Pointer, ffi.Pointer, CGRect, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_145 = __objc_msgSend_145Ptr.asFunction< - CGRect Function( - ffi.Pointer, ffi.Pointer, CGRect, int)>(); - - void _objc_msgSend_145_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - CGRect rect, - int options, - ) { - return __objc_msgSend_145_stret( - stret, - obj, - sel, - rect, - options, - ); - } - - late final __objc_msgSend_145_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, CGRect, ffi.Int32)>>('objc_msgSend_stret'); - late final __objc_msgSend_145_stret = __objc_msgSend_145_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, CGRect, int)>(); - - late final _sel_centerScanRect_1 = _registerName1("centerScanRect:"); - CGRect _objc_msgSend_146( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect rect, - ) { - return __objc_msgSend_146( - obj, - sel, - rect, - ); - } - - late final __objc_msgSend_146Ptr = _lookup< - ffi.NativeFunction< - CGRect Function(ffi.Pointer, ffi.Pointer, - CGRect)>>('objc_msgSend'); - late final __objc_msgSend_146 = __objc_msgSend_146Ptr.asFunction< - CGRect Function(ffi.Pointer, ffi.Pointer, CGRect)>(); - - void _objc_msgSend_146_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - CGRect rect, - ) { - return __objc_msgSend_146_stret( - stret, - obj, - sel, - rect, - ); - } - - late final __objc_msgSend_146_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, CGRect)>>('objc_msgSend_stret'); - late final __objc_msgSend_146_stret = __objc_msgSend_146_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, CGRect)>(); - - late final _sel_convertPointToBacking_1 = - _registerName1("convertPointToBacking:"); - CGPoint _objc_msgSend_147( - ffi.Pointer obj, - ffi.Pointer sel, - CGPoint point, - ) { - return __objc_msgSend_147( - obj, - sel, - point, - ); - } - - late final __objc_msgSend_147Ptr = _lookup< - ffi.NativeFunction< - CGPoint Function(ffi.Pointer, ffi.Pointer, - CGPoint)>>('objc_msgSend'); - late final __objc_msgSend_147 = __objc_msgSend_147Ptr.asFunction< - CGPoint Function( - ffi.Pointer, ffi.Pointer, CGPoint)>(); - - void _objc_msgSend_147_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - CGPoint point, - ) { - return __objc_msgSend_147_stret( - stret, - obj, - sel, - point, - ); - } - - late final __objc_msgSend_147_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, CGPoint)>>('objc_msgSend_stret'); - late final __objc_msgSend_147_stret = __objc_msgSend_147_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, CGPoint)>(); - - late final _sel_convertPointFromBacking_1 = - _registerName1("convertPointFromBacking:"); - late final _sel_convertSizeToBacking_1 = - _registerName1("convertSizeToBacking:"); - CGSize _objc_msgSend_148( - ffi.Pointer obj, - ffi.Pointer sel, - CGSize size, - ) { - return __objc_msgSend_148( - obj, - sel, - size, - ); - } - - late final __objc_msgSend_148Ptr = _lookup< - ffi.NativeFunction< - CGSize Function(ffi.Pointer, ffi.Pointer, - CGSize)>>('objc_msgSend'); - late final __objc_msgSend_148 = __objc_msgSend_148Ptr.asFunction< - CGSize Function(ffi.Pointer, ffi.Pointer, CGSize)>(); - - void _objc_msgSend_148_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - CGSize size, - ) { - return __objc_msgSend_148_stret( - stret, - obj, - sel, - size, - ); - } - - late final __objc_msgSend_148_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, CGSize)>>('objc_msgSend_stret'); - late final __objc_msgSend_148_stret = __objc_msgSend_148_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, CGSize)>(); - - late final _sel_convertSizeFromBacking_1 = - _registerName1("convertSizeFromBacking:"); - late final _sel_convertRectToBacking_1 = - _registerName1("convertRectToBacking:"); - late final _sel_convertRectFromBacking_1 = - _registerName1("convertRectFromBacking:"); - late final _sel_convertPointToLayer_1 = - _registerName1("convertPointToLayer:"); - late final _sel_convertPointFromLayer_1 = - _registerName1("convertPointFromLayer:"); - late final _sel_convertSizeToLayer_1 = _registerName1("convertSizeToLayer:"); - late final _sel_convertSizeFromLayer_1 = - _registerName1("convertSizeFromLayer:"); - late final _sel_convertRectToLayer_1 = _registerName1("convertRectToLayer:"); - late final _sel_convertRectFromLayer_1 = - _registerName1("convertRectFromLayer:"); - late final _sel_canDrawConcurrently1 = _registerName1("canDrawConcurrently"); - late final _sel_setCanDrawConcurrently_1 = - _registerName1("setCanDrawConcurrently:"); - late final _sel_canDraw1 = _registerName1("canDraw"); - late final _sel_setNeedsDisplayInRect_1 = - _registerName1("setNeedsDisplayInRect:"); - void _objc_msgSend_149( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect invalidRect, - ) { - return __objc_msgSend_149( - obj, - sel, - invalidRect, - ); - } - - late final __objc_msgSend_149Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - CGRect)>>('objc_msgSend'); - late final __objc_msgSend_149 = __objc_msgSend_149Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, CGRect)>(); - - late final _sel_needsDisplay1 = _registerName1("needsDisplay"); - late final _sel_setNeedsDisplay_1 = _registerName1("setNeedsDisplay:"); - late final _sel_lockFocus1 = _registerName1("lockFocus"); - late final _sel_unlockFocus1 = _registerName1("unlockFocus"); - late final _sel_lockFocusIfCanDraw1 = _registerName1("lockFocusIfCanDraw"); - late final _sel_lockFocusIfCanDrawInContext_1 = - _registerName1("lockFocusIfCanDrawInContext:"); - bool _objc_msgSend_150( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer context, - ) { - return __objc_msgSend_150( - obj, - sel, - context, - ); - } - - late final __objc_msgSend_150Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_150 = __objc_msgSend_150Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_focusView1 = _registerName1("focusView"); - late final _sel_visibleRect1 = _registerName1("visibleRect"); - late final _sel_display1 = _registerName1("display"); - late final _sel_displayIfNeeded1 = _registerName1("displayIfNeeded"); - late final _sel_displayIfNeededIgnoringOpacity1 = - _registerName1("displayIfNeededIgnoringOpacity"); - late final _sel_displayRect_1 = _registerName1("displayRect:"); - late final _sel_displayIfNeededInRect_1 = - _registerName1("displayIfNeededInRect:"); - late final _sel_displayRectIgnoringOpacity_1 = - _registerName1("displayRectIgnoringOpacity:"); - late final _sel_displayIfNeededInRectIgnoringOpacity_1 = - _registerName1("displayIfNeededInRectIgnoringOpacity:"); - late final _sel_drawRect_1 = _registerName1("drawRect:"); - late final _sel_displayRectIgnoringOpacity_inContext_1 = - _registerName1("displayRectIgnoringOpacity:inContext:"); - void _objc_msgSend_151( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect rect, - ffi.Pointer context, - ) { - return __objc_msgSend_151( - obj, - sel, - rect, - context, - ); - } - - late final __objc_msgSend_151Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - CGRect, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_151 = __objc_msgSend_151Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, CGRect, - ffi.Pointer)>(); - - late final _class_NSBitmapImageRep1 = _getClass1("NSBitmapImageRep"); - late final _sel_bitmapImageRepForCachingDisplayInRect_1 = - _registerName1("bitmapImageRepForCachingDisplayInRect:"); - ffi.Pointer _objc_msgSend_152( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect rect, - ) { - return __objc_msgSend_152( - obj, - sel, - rect, - ); - } - - late final __objc_msgSend_152Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, CGRect)>>('objc_msgSend'); - late final __objc_msgSend_152 = __objc_msgSend_152Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, CGRect)>(); - - late final _sel_cacheDisplayInRect_toBitmapImageRep_1 = - _registerName1("cacheDisplayInRect:toBitmapImageRep:"); - void _objc_msgSend_153( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect rect, - ffi.Pointer bitmapImageRep, - ) { - return __objc_msgSend_153( - obj, - sel, - rect, - bitmapImageRep, - ); - } - - late final __objc_msgSend_153Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - CGRect, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_153 = __objc_msgSend_153Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, CGRect, - ffi.Pointer)>(); - - late final _sel_viewWillDraw1 = _registerName1("viewWillDraw"); - late final _sel_scrollPoint_1 = _registerName1("scrollPoint:"); - late final _sel_scrollRectToVisible_1 = - _registerName1("scrollRectToVisible:"); - late final _sel_autoscroll_1 = _registerName1("autoscroll:"); - bool _objc_msgSend_154( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer event, - ) { - return __objc_msgSend_154( - obj, - sel, - event, - ); - } - - late final __objc_msgSend_154Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_154 = __objc_msgSend_154Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_adjustScroll_1 = _registerName1("adjustScroll:"); - late final _sel_scrollRect_by_1 = _registerName1("scrollRect:by:"); - void _objc_msgSend_155( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect rect, - CGSize delta, - ) { - return __objc_msgSend_155( - obj, - sel, - rect, - delta, - ); - } - - late final __objc_msgSend_155Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - CGRect, CGSize)>>('objc_msgSend'); - late final __objc_msgSend_155 = __objc_msgSend_155Ptr.asFunction< - void Function( - ffi.Pointer, ffi.Pointer, CGRect, CGSize)>(); - - late final _sel_translateRectsNeedingDisplayInRect_by_1 = - _registerName1("translateRectsNeedingDisplayInRect:by:"); - late final _sel_hitTest_1 = _registerName1("hitTest:"); - ffi.Pointer _objc_msgSend_156( - ffi.Pointer obj, - ffi.Pointer sel, - CGPoint point, - ) { - return __objc_msgSend_156( - obj, - sel, - point, - ); - } - - late final __objc_msgSend_156Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, CGPoint)>>('objc_msgSend'); - late final __objc_msgSend_156 = __objc_msgSend_156Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, CGPoint)>(); - - late final _sel_mouse_inRect_1 = _registerName1("mouse:inRect:"); - bool _objc_msgSend_157( - ffi.Pointer obj, - ffi.Pointer sel, - CGPoint point, - CGRect rect, - ) { - return __objc_msgSend_157( - obj, - sel, - point, - rect, - ); - } - - late final __objc_msgSend_157Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - CGPoint, CGRect)>>('objc_msgSend'); - late final __objc_msgSend_157 = __objc_msgSend_157Ptr.asFunction< - bool Function( - ffi.Pointer, ffi.Pointer, CGPoint, CGRect)>(); - - late final _sel_viewWithTag_1 = _registerName1("viewWithTag:"); - ffi.Pointer _objc_msgSend_158( - ffi.Pointer obj, - ffi.Pointer sel, - int tag, - ) { - return __objc_msgSend_158( - obj, - sel, - tag, - ); - } - - late final __objc_msgSend_158Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Long)>>('objc_msgSend'); - late final __objc_msgSend_158 = __objc_msgSend_158Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_tag1 = _registerName1("tag"); - late final _sel_performKeyEquivalent_1 = - _registerName1("performKeyEquivalent:"); - late final _sel_acceptsFirstMouse_1 = _registerName1("acceptsFirstMouse:"); - bool _objc_msgSend_159( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer event, - ) { - return __objc_msgSend_159( - obj, - sel, - event, - ); - } - - late final __objc_msgSend_159Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_159 = __objc_msgSend_159Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_shouldDelayWindowOrderingForEvent_1 = - _registerName1("shouldDelayWindowOrderingForEvent:"); - late final _sel_needsPanelToBecomeKey1 = - _registerName1("needsPanelToBecomeKey"); - late final _sel_mouseDownCanMoveWindow1 = - _registerName1("mouseDownCanMoveWindow"); - late final _sel_acceptsTouchEvents1 = _registerName1("acceptsTouchEvents"); - late final _sel_setAcceptsTouchEvents_1 = - _registerName1("setAcceptsTouchEvents:"); - late final _sel_wantsRestingTouches1 = _registerName1("wantsRestingTouches"); - late final _sel_setWantsRestingTouches_1 = - _registerName1("setWantsRestingTouches:"); - late final _class_CALayer1 = _getClass1("CALayer"); - late final _sel_makeBackingLayer1 = _registerName1("makeBackingLayer"); - ffi.Pointer _objc_msgSend_160( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_160( - obj, - sel, - ); - } - - late final __objc_msgSend_160Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_160 = __objc_msgSend_160Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_layerContentsRedrawPolicy1 = - _registerName1("layerContentsRedrawPolicy"); - int _objc_msgSend_161( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_161( - obj, - sel, - ); - } - - late final __objc_msgSend_161Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_161 = __objc_msgSend_161Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setLayerContentsRedrawPolicy_1 = - _registerName1("setLayerContentsRedrawPolicy:"); - void _objc_msgSend_162( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_162( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_162Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_162 = __objc_msgSend_162Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_layerContentsPlacement1 = - _registerName1("layerContentsPlacement"); - int _objc_msgSend_163( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_163( - obj, - sel, - ); - } - - late final __objc_msgSend_163Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_163 = __objc_msgSend_163Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setLayerContentsPlacement_1 = - _registerName1("setLayerContentsPlacement:"); - void _objc_msgSend_164( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_164( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_164Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_164 = __objc_msgSend_164Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_wantsLayer1 = _registerName1("wantsLayer"); - late final _sel_setWantsLayer_1 = _registerName1("setWantsLayer:"); - late final _sel_layer1 = _registerName1("layer"); - ffi.Pointer _objc_msgSend_165( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_165( - obj, - sel, - ); - } - - late final __objc_msgSend_165Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_165 = __objc_msgSend_165Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setLayer_1 = _registerName1("setLayer:"); - void _objc_msgSend_166( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_166( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_166Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_166 = __objc_msgSend_166Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_wantsUpdateLayer1 = _registerName1("wantsUpdateLayer"); - late final _sel_updateLayer1 = _registerName1("updateLayer"); - late final _sel_canDrawSubviewsIntoLayer1 = - _registerName1("canDrawSubviewsIntoLayer"); - late final _sel_setCanDrawSubviewsIntoLayer_1 = - _registerName1("setCanDrawSubviewsIntoLayer:"); - late final _sel_layoutSubtreeIfNeeded1 = - _registerName1("layoutSubtreeIfNeeded"); - late final _sel_layout1 = _registerName1("layout"); - late final _sel_needsLayout1 = _registerName1("needsLayout"); - late final _sel_setNeedsLayout_1 = _registerName1("setNeedsLayout:"); - late final _sel_alphaValue1 = _registerName1("alphaValue"); - late final _sel_setAlphaValue_1 = _registerName1("setAlphaValue:"); - late final _sel_layerUsesCoreImageFilters1 = - _registerName1("layerUsesCoreImageFilters"); - late final _sel_setLayerUsesCoreImageFilters_1 = - _registerName1("setLayerUsesCoreImageFilters:"); - late final _sel_backgroundFilters1 = _registerName1("backgroundFilters"); - late final _sel_setBackgroundFilters_1 = - _registerName1("setBackgroundFilters:"); - late final _class_CIFilter1 = _getClass1("CIFilter"); - late final _sel_compositingFilter1 = _registerName1("compositingFilter"); - ffi.Pointer _objc_msgSend_167( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_167( - obj, - sel, - ); - } - - late final __objc_msgSend_167Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_167 = __objc_msgSend_167Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setCompositingFilter_1 = - _registerName1("setCompositingFilter:"); - void _objc_msgSend_168( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_168( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_168Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_168 = __objc_msgSend_168Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_contentFilters1 = _registerName1("contentFilters"); - late final _sel_setContentFilters_1 = _registerName1("setContentFilters:"); - late final _class_NSShadow1 = _getClass1("NSShadow"); - late final _sel_shadow1 = _registerName1("shadow"); - ffi.Pointer _objc_msgSend_169( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_169( - obj, - sel, - ); - } - - late final __objc_msgSend_169Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_169 = __objc_msgSend_169Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setShadow_1 = _registerName1("setShadow:"); - void _objc_msgSend_170( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_170( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_170Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_170 = __objc_msgSend_170Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_clipsToBounds1 = _registerName1("clipsToBounds"); - late final _sel_setClipsToBounds_1 = _registerName1("setClipsToBounds:"); - late final _sel_postsBoundsChangedNotifications1 = - _registerName1("postsBoundsChangedNotifications"); - late final _sel_setPostsBoundsChangedNotifications_1 = - _registerName1("setPostsBoundsChangedNotifications:"); - late final _class_NSScrollView1 = _getClass1("NSScrollView"); - late final _sel_enclosingScrollView1 = _registerName1("enclosingScrollView"); - ffi.Pointer _objc_msgSend_171( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_171( - obj, - sel, - ); - } - - late final __objc_msgSend_171Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_171 = __objc_msgSend_171Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _class_NSMenu1 = _getClass1("NSMenu"); - late final _sel_initWithTitle_1 = _registerName1("initWithTitle:"); - instancetype _objc_msgSend_172( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer coder, - ) { - return __objc_msgSend_172( - obj, - sel, - coder, - ); - } - - late final __objc_msgSend_172Ptr = _lookup< - ffi.NativeFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_172 = __objc_msgSend_172Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_title1 = _registerName1("title"); - late final _sel_setTitle_1 = _registerName1("setTitle:"); - void _objc_msgSend_173( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_173( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_173Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_173 = __objc_msgSend_173Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_popUpContextMenu_withEvent_forView_1 = - _registerName1("popUpContextMenu:withEvent:forView:"); - void _objc_msgSend_174( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer menu, - ffi.Pointer event, - ffi.Pointer view, - ) { - return __objc_msgSend_174( - obj, - sel, - menu, - event, - view, - ); - } - - late final __objc_msgSend_174Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_174 = __objc_msgSend_174Ptr.asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _class_NSFont1 = _getClass1("NSFont"); - late final _sel_popUpContextMenu_withEvent_forView_withFont_1 = - _registerName1("popUpContextMenu:withEvent:forView:withFont:"); - void _objc_msgSend_175( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer menu, - ffi.Pointer event, - ffi.Pointer view, - ffi.Pointer font, - ) { - return __objc_msgSend_175( - obj, - sel, - menu, - event, - view, - font, - ); - } - - late final __objc_msgSend_175Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_175 = __objc_msgSend_175Ptr.asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _class_NSMenuItem1 = _getClass1("NSMenuItem"); - late final _sel_usesUserKeyEquivalents1 = - _registerName1("usesUserKeyEquivalents"); - late final _sel_setUsesUserKeyEquivalents_1 = - _registerName1("setUsesUserKeyEquivalents:"); - late final _sel_separatorItem1 = _registerName1("separatorItem"); - ffi.Pointer _objc_msgSend_176( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_176( - obj, - sel, - ); - } - - late final __objc_msgSend_176Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_176 = __objc_msgSend_176Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_sectionHeaderWithTitle_1 = - _registerName1("sectionHeaderWithTitle:"); - late final _sel_initWithTitle_action_keyEquivalent_1 = - _registerName1("initWithTitle:action:keyEquivalent:"); - instancetype _objc_msgSend_177( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer string, - ffi.Pointer selector, - ffi.Pointer charCode, - ) { - return __objc_msgSend_177( - obj, - sel, - string, - selector, - charCode, - ); - } - - late final __objc_msgSend_177Ptr = _lookup< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_177 = __objc_msgSend_177Ptr.asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_menu1 = _registerName1("menu"); - ffi.Pointer _objc_msgSend_178( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_178( - obj, - sel, - ); - } - - late final __objc_msgSend_178Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_178 = __objc_msgSend_178Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setMenu_1 = _registerName1("setMenu:"); - void _objc_msgSend_179( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_179( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_179Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_179 = __objc_msgSend_179Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_hasSubmenu1 = _registerName1("hasSubmenu"); - late final _sel_submenu1 = _registerName1("submenu"); - late final _sel_setSubmenu_1 = _registerName1("setSubmenu:"); - late final _sel_parentItem1 = _registerName1("parentItem"); - ffi.Pointer _objc_msgSend_180( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_180( - obj, - sel, - ); - } - - late final __objc_msgSend_180Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_180 = __objc_msgSend_180Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _class_NSAttributedString1 = _getClass1("NSAttributedString"); - late final _sel_string1 = _registerName1("string"); - late final _sel_attributesAtIndex_effectiveRange_1 = - _registerName1("attributesAtIndex:effectiveRange:"); - ffi.Pointer _objc_msgSend_181( - ffi.Pointer obj, - ffi.Pointer sel, - int location, - ffi.Pointer<_NSRange> range, - ) { - return __objc_msgSend_181( - obj, - sel, - location, - range, - ); - } - - late final __objc_msgSend_181Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong, - ffi.Pointer<_NSRange>)>>('objc_msgSend'); - late final __objc_msgSend_181 = __objc_msgSend_181Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, int, ffi.Pointer<_NSRange>)>(); - - late final _sel_attributedTitle1 = _registerName1("attributedTitle"); - ffi.Pointer _objc_msgSend_182( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_182( - obj, - sel, - ); - } - - late final __objc_msgSend_182Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_182 = __objc_msgSend_182Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setAttributedTitle_1 = _registerName1("setAttributedTitle:"); - void _objc_msgSend_183( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_183( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_183Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_183 = __objc_msgSend_183Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_isSeparatorItem1 = _registerName1("isSeparatorItem"); - late final _sel_isSectionHeader1 = _registerName1("isSectionHeader"); - late final _sel_keyEquivalent1 = _registerName1("keyEquivalent"); - late final _sel_setKeyEquivalent_1 = _registerName1("setKeyEquivalent:"); - late final _sel_keyEquivalentModifierMask1 = - _registerName1("keyEquivalentModifierMask"); - late final _sel_setKeyEquivalentModifierMask_1 = - _registerName1("setKeyEquivalentModifierMask:"); - void _objc_msgSend_184( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_184( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_184Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_184 = __objc_msgSend_184Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_userKeyEquivalent1 = _registerName1("userKeyEquivalent"); - late final _sel_allowsKeyEquivalentWhenHidden1 = - _registerName1("allowsKeyEquivalentWhenHidden"); - late final _sel_setAllowsKeyEquivalentWhenHidden_1 = - _registerName1("setAllowsKeyEquivalentWhenHidden:"); - late final _sel_allowsAutomaticKeyEquivalentLocalization1 = - _registerName1("allowsAutomaticKeyEquivalentLocalization"); - late final _sel_setAllowsAutomaticKeyEquivalentLocalization_1 = - _registerName1("setAllowsAutomaticKeyEquivalentLocalization:"); - late final _sel_allowsAutomaticKeyEquivalentMirroring1 = - _registerName1("allowsAutomaticKeyEquivalentMirroring"); - late final _sel_setAllowsAutomaticKeyEquivalentMirroring_1 = - _registerName1("setAllowsAutomaticKeyEquivalentMirroring:"); - late final _class_NSImage1 = _getClass1("NSImage"); - late final _sel_image1 = _registerName1("image"); - ffi.Pointer _objc_msgSend_185( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_185( - obj, - sel, - ); - } - - late final __objc_msgSend_185Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_185 = __objc_msgSend_185Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setImage_1 = _registerName1("setImage:"); - void _objc_msgSend_186( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_186( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_186Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_186 = __objc_msgSend_186Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_state1 = _registerName1("state"); - late final _sel_setState_1 = _registerName1("setState:"); - void _objc_msgSend_187( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_187( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_187Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Long)>>('objc_msgSend'); - late final __objc_msgSend_187 = __objc_msgSend_187Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_onStateImage1 = _registerName1("onStateImage"); - ffi.Pointer _objc_msgSend_188( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_188( - obj, - sel, - ); - } - - late final __objc_msgSend_188Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_188 = __objc_msgSend_188Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setOnStateImage_1 = _registerName1("setOnStateImage:"); - void _objc_msgSend_189( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_189( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_189Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_189 = __objc_msgSend_189Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_offStateImage1 = _registerName1("offStateImage"); - late final _sel_setOffStateImage_1 = _registerName1("setOffStateImage:"); - late final _sel_mixedStateImage1 = _registerName1("mixedStateImage"); - late final _sel_setMixedStateImage_1 = _registerName1("setMixedStateImage:"); - late final _sel_isEnabled1 = _registerName1("isEnabled"); - late final _sel_setEnabled_1 = _registerName1("setEnabled:"); - late final _sel_isAlternate1 = _registerName1("isAlternate"); - late final _sel_setAlternate_1 = _registerName1("setAlternate:"); - late final _sel_indentationLevel1 = _registerName1("indentationLevel"); - late final _sel_setIndentationLevel_1 = - _registerName1("setIndentationLevel:"); - late final _sel_action1 = _registerName1("action"); - late final _sel_setAction_1 = _registerName1("setAction:"); - late final _sel_setTag_1 = _registerName1("setTag:"); - late final _sel_representedObject1 = _registerName1("representedObject"); - late final _sel_setRepresentedObject_1 = - _registerName1("setRepresentedObject:"); - late final _sel_view1 = _registerName1("view"); - late final _sel_setView_1 = _registerName1("setView:"); - void _objc_msgSend_190( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_190( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_190Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_190 = __objc_msgSend_190Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_isHighlighted1 = _registerName1("isHighlighted"); - late final _sel_toolTip1 = _registerName1("toolTip"); - late final _sel_setToolTip_1 = _registerName1("setToolTip:"); - void _objc_msgSend_191( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_191( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_191Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_191 = __objc_msgSend_191Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _class_NSMenuItemBadge1 = _getClass1("NSMenuItemBadge"); - late final _sel_badge1 = _registerName1("badge"); - ffi.Pointer _objc_msgSend_192( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_192( - obj, - sel, - ); - } - - late final __objc_msgSend_192Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_192 = __objc_msgSend_192Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setBadge_1 = _registerName1("setBadge:"); - void _objc_msgSend_193( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_193( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_193Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_193 = __objc_msgSend_193Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_popUpMenuPositioningItem_atLocation_inView_1 = - _registerName1("popUpMenuPositioningItem:atLocation:inView:"); - bool _objc_msgSend_194( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer item, - CGPoint location, - ffi.Pointer view, - ) { - return __objc_msgSend_194( - obj, - sel, - item, - location, - view, - ); - } - - late final __objc_msgSend_194Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - CGPoint, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_194 = __objc_msgSend_194Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, CGPoint, ffi.Pointer)>(); - - late final _sel_setMenuBarVisible_1 = _registerName1("setMenuBarVisible:"); - void _objc_msgSend_195( - ffi.Pointer obj, - ffi.Pointer sel, - bool visible, - ) { - return __objc_msgSend_195( - obj, - sel, - visible, - ); - } - - late final __objc_msgSend_195Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Bool)>>('objc_msgSend'); - late final __objc_msgSend_195 = __objc_msgSend_195Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, bool)>(); - - late final _sel_menuBarVisible1 = _registerName1("menuBarVisible"); - late final _sel_supermenu1 = _registerName1("supermenu"); - late final _sel_setSupermenu_1 = _registerName1("setSupermenu:"); - late final _sel_insertItem_atIndex_1 = _registerName1("insertItem:atIndex:"); - void _objc_msgSend_196( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer newItem, - int index, - ) { - return __objc_msgSend_196( - obj, - sel, - newItem, - index, - ); - } - - late final __objc_msgSend_196Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Long)>>('objc_msgSend'); - late final __objc_msgSend_196 = __objc_msgSend_196Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, int)>(); - - late final _sel_addItem_1 = _registerName1("addItem:"); - void _objc_msgSend_197( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer newItem, - ) { - return __objc_msgSend_197( - obj, - sel, - newItem, - ); - } - - late final __objc_msgSend_197Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_197 = __objc_msgSend_197Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_insertItemWithTitle_action_keyEquivalent_atIndex_1 = - _registerName1("insertItemWithTitle:action:keyEquivalent:atIndex:"); - ffi.Pointer _objc_msgSend_198( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer string, - ffi.Pointer selector, - ffi.Pointer charCode, - int index, - ) { - return __objc_msgSend_198( - obj, - sel, - string, - selector, - charCode, - index, - ); - } - - late final __objc_msgSend_198Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Long)>>('objc_msgSend'); - late final __objc_msgSend_198 = __objc_msgSend_198Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int)>(); - - late final _sel_addItemWithTitle_action_keyEquivalent_1 = - _registerName1("addItemWithTitle:action:keyEquivalent:"); - ffi.Pointer _objc_msgSend_199( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer string, - ffi.Pointer selector, - ffi.Pointer charCode, - ) { - return __objc_msgSend_199( - obj, - sel, - string, - selector, - charCode, - ); - } - - late final __objc_msgSend_199Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_199 = __objc_msgSend_199Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_removeItemAtIndex_1 = _registerName1("removeItemAtIndex:"); - void _objc_msgSend_200( - ffi.Pointer obj, - ffi.Pointer sel, - int index, - ) { - return __objc_msgSend_200( - obj, - sel, - index, - ); - } - - late final __objc_msgSend_200Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Long)>>('objc_msgSend'); - late final __objc_msgSend_200 = __objc_msgSend_200Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_removeItem_1 = _registerName1("removeItem:"); - late final _sel_setSubmenu_forItem_1 = _registerName1("setSubmenu:forItem:"); - void _objc_msgSend_201( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer menu, - ffi.Pointer item, - ) { - return __objc_msgSend_201( - obj, - sel, - menu, - item, - ); - } - - late final __objc_msgSend_201Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_201 = __objc_msgSend_201Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_removeAllItems1 = _registerName1("removeAllItems"); - late final _sel_itemArray1 = _registerName1("itemArray"); - late final _sel_setItemArray_1 = _registerName1("setItemArray:"); - late final _sel_numberOfItems1 = _registerName1("numberOfItems"); - late final _sel_itemAtIndex_1 = _registerName1("itemAtIndex:"); - ffi.Pointer _objc_msgSend_202( - ffi.Pointer obj, - ffi.Pointer sel, - int index, - ) { - return __objc_msgSend_202( - obj, - sel, - index, - ); - } - - late final __objc_msgSend_202Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Long)>>('objc_msgSend'); - late final __objc_msgSend_202 = __objc_msgSend_202Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_indexOfItem_1 = _registerName1("indexOfItem:"); - int _objc_msgSend_203( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer item, - ) { - return __objc_msgSend_203( - obj, - sel, - item, - ); - } - - late final __objc_msgSend_203Ptr = _lookup< - ffi.NativeFunction< - ffi.Long Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_203 = __objc_msgSend_203Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_indexOfItemWithTitle_1 = - _registerName1("indexOfItemWithTitle:"); - late final _sel_indexOfItemWithTag_1 = _registerName1("indexOfItemWithTag:"); - int _objc_msgSend_204( - ffi.Pointer obj, - ffi.Pointer sel, - int tag, - ) { - return __objc_msgSend_204( - obj, - sel, - tag, - ); - } - - late final __objc_msgSend_204Ptr = _lookup< - ffi.NativeFunction< - ffi.Long Function(ffi.Pointer, ffi.Pointer, - ffi.Long)>>('objc_msgSend'); - late final __objc_msgSend_204 = __objc_msgSend_204Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_indexOfItemWithRepresentedObject_1 = - _registerName1("indexOfItemWithRepresentedObject:"); - int _objc_msgSend_205( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer object, - ) { - return __objc_msgSend_205( - obj, - sel, - object, - ); - } - - late final __objc_msgSend_205Ptr = _lookup< - ffi.NativeFunction< - ffi.Long Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_205 = __objc_msgSend_205Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_indexOfItemWithSubmenu_1 = - _registerName1("indexOfItemWithSubmenu:"); - int _objc_msgSend_206( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer submenu, - ) { - return __objc_msgSend_206( - obj, - sel, - submenu, - ); - } - - late final __objc_msgSend_206Ptr = _lookup< - ffi.NativeFunction< - ffi.Long Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_206 = __objc_msgSend_206Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_indexOfItemWithTarget_andAction_1 = - _registerName1("indexOfItemWithTarget:andAction:"); - int _objc_msgSend_207( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer target, - ffi.Pointer actionSelector, - ) { - return __objc_msgSend_207( - obj, - sel, - target, - actionSelector, - ); - } - - late final __objc_msgSend_207Ptr = _lookup< - ffi.NativeFunction< - ffi.Long Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_207 = __objc_msgSend_207Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_itemWithTitle_1 = _registerName1("itemWithTitle:"); - ffi.Pointer _objc_msgSend_208( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer title, - ) { - return __objc_msgSend_208( - obj, - sel, - title, - ); - } - - late final __objc_msgSend_208Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_208 = __objc_msgSend_208Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_itemWithTag_1 = _registerName1("itemWithTag:"); - late final _sel_autoenablesItems1 = _registerName1("autoenablesItems"); - late final _sel_setAutoenablesItems_1 = - _registerName1("setAutoenablesItems:"); - late final _sel_update1 = _registerName1("update"); - late final _sel_itemChanged_1 = _registerName1("itemChanged:"); - late final _sel_performActionForItemAtIndex_1 = - _registerName1("performActionForItemAtIndex:"); - late final _sel_delegate1 = _registerName1("delegate"); - late final _sel_setDelegate_1 = _registerName1("setDelegate:"); - late final _sel_menuBarHeight1 = _registerName1("menuBarHeight"); - late final _sel_cancelTracking1 = _registerName1("cancelTracking"); - late final _sel_cancelTrackingWithoutAnimation1 = - _registerName1("cancelTrackingWithoutAnimation"); - late final _sel_highlightedItem1 = _registerName1("highlightedItem"); - late final _sel_minimumWidth1 = _registerName1("minimumWidth"); - late final _sel_setMinimumWidth_1 = _registerName1("setMinimumWidth:"); - late final _sel_size1 = _registerName1("size"); - CGSize _objc_msgSend_209( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_209( - obj, - sel, - ); - } - - late final __objc_msgSend_209Ptr = _lookup< - ffi.NativeFunction< - CGSize Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_209 = __objc_msgSend_209Ptr.asFunction< - CGSize Function(ffi.Pointer, ffi.Pointer)>(); - - void _objc_msgSend_209_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_209_stret( - stret, - obj, - sel, - ); - } - - late final __objc_msgSend_209_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend_stret'); - late final __objc_msgSend_209_stret = __objc_msgSend_209_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_font1 = _registerName1("font"); - ffi.Pointer _objc_msgSend_210( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_210( - obj, - sel, - ); - } - - late final __objc_msgSend_210Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_210 = __objc_msgSend_210Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setFont_1 = _registerName1("setFont:"); - void _objc_msgSend_211( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_211( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_211Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_211 = __objc_msgSend_211Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_allowsContextMenuPlugIns1 = - _registerName1("allowsContextMenuPlugIns"); - late final _sel_setAllowsContextMenuPlugIns_1 = - _registerName1("setAllowsContextMenuPlugIns:"); - late final _sel_showsStateColumn1 = _registerName1("showsStateColumn"); - late final _sel_setShowsStateColumn_1 = - _registerName1("setShowsStateColumn:"); - late final _sel_userInterfaceLayoutDirection1 = - _registerName1("userInterfaceLayoutDirection"); - int _objc_msgSend_212( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_212( - obj, - sel, - ); - } - - late final __objc_msgSend_212Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_212 = __objc_msgSend_212Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setUserInterfaceLayoutDirection_1 = - _registerName1("setUserInterfaceLayoutDirection:"); - void _objc_msgSend_213( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_213( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_213Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_213 = __objc_msgSend_213Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_menuForEvent_1 = _registerName1("menuForEvent:"); - ffi.Pointer _objc_msgSend_214( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer event, - ) { - return __objc_msgSend_214( - obj, - sel, - event, - ); - } - - late final __objc_msgSend_214Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_214 = __objc_msgSend_214Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_defaultMenu1 = _registerName1("defaultMenu"); - late final _sel_willOpenMenu_withEvent_1 = - _registerName1("willOpenMenu:withEvent:"); - void _objc_msgSend_215( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer menu, - ffi.Pointer event, - ) { - return __objc_msgSend_215( - obj, - sel, - menu, - event, - ); - } - - late final __objc_msgSend_215Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_215 = __objc_msgSend_215Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_didCloseMenu_withEvent_1 = - _registerName1("didCloseMenu:withEvent:"); - void _objc_msgSend_216( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer menu, - ffi.Pointer event, - ) { - return __objc_msgSend_216( - obj, - sel, - menu, - event, - ); - } - - late final __objc_msgSend_216Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_216 = __objc_msgSend_216Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_addToolTipRect_owner_userData_1 = - _registerName1("addToolTipRect:owner:userData:"); - int _objc_msgSend_217( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect rect, - ffi.Pointer owner, - ffi.Pointer data, - ) { - return __objc_msgSend_217( - obj, - sel, - rect, - owner, - data, - ); - } - - late final __objc_msgSend_217Ptr = _lookup< - ffi.NativeFunction< - ffi.Long Function( - ffi.Pointer, - ffi.Pointer, - CGRect, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_217 = __objc_msgSend_217Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer, CGRect, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_removeToolTip_1 = _registerName1("removeToolTip:"); - late final _sel_removeAllToolTips1 = _registerName1("removeAllToolTips"); - late final _sel_viewWillStartLiveResize1 = - _registerName1("viewWillStartLiveResize"); - late final _sel_viewDidEndLiveResize1 = - _registerName1("viewDidEndLiveResize"); - late final _sel_inLiveResize1 = _registerName1("inLiveResize"); - late final _sel_preservesContentDuringLiveResize1 = - _registerName1("preservesContentDuringLiveResize"); - late final _sel_rectPreservedDuringLiveResize1 = - _registerName1("rectPreservedDuringLiveResize"); - late final _sel_getRectsExposedDuringLiveResize_count_1 = - _registerName1("getRectsExposedDuringLiveResize:count:"); - void _objc_msgSend_218( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer exposedRects, - ffi.Pointer count, - ) { - return __objc_msgSend_218( - obj, - sel, - exposedRects, - count, - ); - } - - late final __objc_msgSend_218Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_218 = __objc_msgSend_218Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _class_NSTextInputContext1 = _getClass1("NSTextInputContext"); - late final _sel_inputContext1 = _registerName1("inputContext"); - ffi.Pointer _objc_msgSend_219( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_219( - obj, - sel, - ); - } - - late final __objc_msgSend_219Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_219 = __objc_msgSend_219Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_rectForSmartMagnificationAtPoint_inRect_1 = - _registerName1("rectForSmartMagnificationAtPoint:inRect:"); - CGRect _objc_msgSend_220( - ffi.Pointer obj, - ffi.Pointer sel, - CGPoint location, - CGRect visibleRect, - ) { - return __objc_msgSend_220( - obj, - sel, - location, - visibleRect, - ); - } - - late final __objc_msgSend_220Ptr = _lookup< - ffi.NativeFunction< - CGRect Function(ffi.Pointer, ffi.Pointer, - CGPoint, CGRect)>>('objc_msgSend'); - late final __objc_msgSend_220 = __objc_msgSend_220Ptr.asFunction< - CGRect Function( - ffi.Pointer, ffi.Pointer, CGPoint, CGRect)>(); - - void _objc_msgSend_220_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - CGPoint location, - CGRect visibleRect, - ) { - return __objc_msgSend_220_stret( - stret, - obj, - sel, - location, - visibleRect, - ); - } - - late final __objc_msgSend_220_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, CGPoint, CGRect)>>('objc_msgSend_stret'); - late final __objc_msgSend_220_stret = __objc_msgSend_220_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, CGPoint, CGRect)>(); - - late final _sel_prepareForReuse1 = _registerName1("prepareForReuse"); - late final _sel_isCompatibleWithResponsiveScrolling1 = - _registerName1("isCompatibleWithResponsiveScrolling"); - late final _sel_prepareContentInRect_1 = - _registerName1("prepareContentInRect:"); - late final _sel_preparedContentRect1 = _registerName1("preparedContentRect"); - late final _sel_setPreparedContentRect_1 = - _registerName1("setPreparedContentRect:"); - late final _sel_allowsVibrancy1 = _registerName1("allowsVibrancy"); - late final _sel_viewDidChangeEffectiveAppearance1 = - _registerName1("viewDidChangeEffectiveAppearance"); - late final _sel_touchesMatchingPhase_inView_1 = - _registerName1("touchesMatchingPhase:inView:"); - ffi.Pointer _objc_msgSend_221( - ffi.Pointer obj, - ffi.Pointer sel, - int phase, - ffi.Pointer view, - ) { - return __objc_msgSend_221( - obj, - sel, - phase, - view, - ); - } - - late final __objc_msgSend_221Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_221 = __objc_msgSend_221Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, int, ffi.Pointer)>(); - - late final _sel_allTouches1 = _registerName1("allTouches"); - late final _sel_touchesForView_1 = _registerName1("touchesForView:"); - ffi.Pointer _objc_msgSend_222( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer view, - ) { - return __objc_msgSend_222( - obj, - sel, - view, - ); - } - - late final __objc_msgSend_222Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_222 = __objc_msgSend_222Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _class_NSTouch1 = _getClass1("NSTouch"); - late final _sel_identity1 = _registerName1("identity"); - late final _sel_phase1 = _registerName1("phase"); - int _objc_msgSend_223( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_223( - obj, - sel, - ); - } - - late final __objc_msgSend_223Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_223 = __objc_msgSend_223Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_normalizedPosition1 = _registerName1("normalizedPosition"); - late final _sel_isResting1 = _registerName1("isResting"); - late final _sel_device1 = _registerName1("device"); - late final _sel_deviceSize1 = _registerName1("deviceSize"); - late final _sel_coalescedTouchesForTouch_1 = - _registerName1("coalescedTouchesForTouch:"); - ffi.Pointer _objc_msgSend_224( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer touch, - ) { - return __objc_msgSend_224( - obj, - sel, - touch, - ); - } - - late final __objc_msgSend_224Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_224 = __objc_msgSend_224Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_stage1 = _registerName1("stage"); - late final _sel_stageTransition1 = _registerName1("stageTransition"); - late final _sel_associatedEventsMask1 = - _registerName1("associatedEventsMask"); - int _objc_msgSend_225( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_225( - obj, - sel, - ); - } - - late final __objc_msgSend_225Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_225 = __objc_msgSend_225Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_pressureBehavior1 = _registerName1("pressureBehavior"); - int _objc_msgSend_226( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_226( - obj, - sel, - ); - } - - late final __objc_msgSend_226Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_226 = __objc_msgSend_226Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_isSwipeTrackingFromScrollEventsEnabled1 = - _registerName1("isSwipeTrackingFromScrollEventsEnabled"); - late final _sel_trackSwipeEventWithOptions_dampenAmountThresholdMin_max_usingHandler_1 = - _registerName1( - "trackSwipeEventWithOptions:dampenAmountThresholdMin:max:usingHandler:"); - void _objc_msgSend_227( - ffi.Pointer obj, - ffi.Pointer sel, - int options, - double minDampenThreshold, - double maxDampenThreshold, - ffi.Pointer<_ObjCBlock> trackingHandler, - ) { - return __objc_msgSend_227( - obj, - sel, - options, - minDampenThreshold, - maxDampenThreshold, - trackingHandler, - ); - } - - late final __objc_msgSend_227Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Double, - ffi.Double, - ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); - late final __objc_msgSend_227 = __objc_msgSend_227Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int, double, - double, ffi.Pointer<_ObjCBlock>)>(); - - late final _sel_startPeriodicEventsAfterDelay_withPeriod_1 = - _registerName1("startPeriodicEventsAfterDelay:withPeriod:"); - void _objc_msgSend_228( - ffi.Pointer obj, - ffi.Pointer sel, - double delay, - double period, - ) { - return __objc_msgSend_228( - obj, - sel, - delay, - period, - ); - } - - late final __objc_msgSend_228Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Double, ffi.Double)>>('objc_msgSend'); - late final __objc_msgSend_228 = __objc_msgSend_228Ptr.asFunction< - void Function( - ffi.Pointer, ffi.Pointer, double, double)>(); - - late final _sel_stopPeriodicEvents1 = _registerName1("stopPeriodicEvents"); - late final _sel_mouseEventWithType_location_modifierFlags_timestamp_windowNumber_context_eventNumber_clickCount_pressure_1 = - _registerName1( - "mouseEventWithType:location:modifierFlags:timestamp:windowNumber:context:eventNumber:clickCount:pressure:"); - ffi.Pointer _objc_msgSend_229( - ffi.Pointer obj, - ffi.Pointer sel, - int type, - CGPoint location, - int flags, - double time, - int wNum, - ffi.Pointer unusedPassNil, - int eNum, - int cNum, - double pressure, - ) { - return __objc_msgSend_229( - obj, - sel, - type, - location, - flags, - time, - wNum, - unusedPassNil, - eNum, - cNum, - pressure, - ); - } - - late final __objc_msgSend_229Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - CGPoint, - ffi.Int32, - ffi.Double, - ffi.Long, - ffi.Pointer, - ffi.Long, - ffi.Long, - ffi.Float)>>('objc_msgSend'); - late final __objc_msgSend_229 = __objc_msgSend_229Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - int, - CGPoint, - int, - double, - int, - ffi.Pointer, - int, - int, - double)>(); - - late final _sel_keyEventWithType_location_modifierFlags_timestamp_windowNumber_context_characters_charactersIgnoringModifiers_isARepeat_keyCode_1 = - _registerName1( - "keyEventWithType:location:modifierFlags:timestamp:windowNumber:context:characters:charactersIgnoringModifiers:isARepeat:keyCode:"); - ffi.Pointer _objc_msgSend_230( - ffi.Pointer obj, - ffi.Pointer sel, - int type, - CGPoint location, - int flags, - double time, - int wNum, - ffi.Pointer unusedPassNil, - ffi.Pointer keys, - ffi.Pointer ukeys, - bool flag, - int code, - ) { - return __objc_msgSend_230( - obj, - sel, - type, - location, - flags, - time, - wNum, - unusedPassNil, - keys, - ukeys, - flag, - code, - ); - } - - late final __objc_msgSend_230Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - CGPoint, - ffi.Int32, - ffi.Double, - ffi.Long, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Bool, - ffi.UnsignedShort)>>('objc_msgSend'); - late final __objc_msgSend_230 = __objc_msgSend_230Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - int, - CGPoint, - int, - double, - int, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - bool, - int)>(); - - late final _sel_enterExitEventWithType_location_modifierFlags_timestamp_windowNumber_context_eventNumber_trackingNumber_userData_1 = - _registerName1( - "enterExitEventWithType:location:modifierFlags:timestamp:windowNumber:context:eventNumber:trackingNumber:userData:"); - ffi.Pointer _objc_msgSend_231( - ffi.Pointer obj, - ffi.Pointer sel, - int type, - CGPoint location, - int flags, - double time, - int wNum, - ffi.Pointer unusedPassNil, - int eNum, - int tNum, - ffi.Pointer data, - ) { - return __objc_msgSend_231( - obj, - sel, - type, - location, - flags, - time, - wNum, - unusedPassNil, - eNum, - tNum, - data, - ); - } - - late final __objc_msgSend_231Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - CGPoint, - ffi.Int32, - ffi.Double, - ffi.Long, - ffi.Pointer, - ffi.Long, - ffi.Long, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_231 = __objc_msgSend_231Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - int, - CGPoint, - int, - double, - int, - ffi.Pointer, - int, - int, - ffi.Pointer)>(); - - late final _sel_otherEventWithType_location_modifierFlags_timestamp_windowNumber_context_subtype_data1_data2_1 = - _registerName1( - "otherEventWithType:location:modifierFlags:timestamp:windowNumber:context:subtype:data1:data2:"); - ffi.Pointer _objc_msgSend_232( - ffi.Pointer obj, - ffi.Pointer sel, - int type, - CGPoint location, - int flags, - double time, - int wNum, - ffi.Pointer unusedPassNil, - int subtype, - int d1, - int d2, - ) { - return __objc_msgSend_232( - obj, - sel, - type, - location, - flags, - time, - wNum, - unusedPassNil, - subtype, - d1, - d2, - ); - } - - late final __objc_msgSend_232Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - CGPoint, - ffi.Int32, - ffi.Double, - ffi.Long, - ffi.Pointer, - ffi.Short, - ffi.Long, - ffi.Long)>>('objc_msgSend'); - late final __objc_msgSend_232 = __objc_msgSend_232Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - int, - CGPoint, - int, - double, - int, - ffi.Pointer, - int, - int, - int)>(); - - late final _sel_mouseLocation1 = _registerName1("mouseLocation"); - late final _sel_pressedMouseButtons1 = _registerName1("pressedMouseButtons"); - late final _sel_doubleClickInterval1 = _registerName1("doubleClickInterval"); - late final _sel_keyRepeatDelay1 = _registerName1("keyRepeatDelay"); - late final _sel_keyRepeatInterval1 = _registerName1("keyRepeatInterval"); - late final _sel_addGlobalMonitorForEventsMatchingMask_handler_1 = - _registerName1("addGlobalMonitorForEventsMatchingMask:handler:"); - ffi.Pointer _objc_msgSend_233( - ffi.Pointer obj, - ffi.Pointer sel, - int mask, - ffi.Pointer<_ObjCBlock> block, - ) { - return __objc_msgSend_233( - obj, - sel, - mask, - block, - ); - } - - late final __objc_msgSend_233Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); - late final __objc_msgSend_233 = __objc_msgSend_233Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, int, ffi.Pointer<_ObjCBlock>)>(); - - late final _sel_addLocalMonitorForEventsMatchingMask_handler_1 = - _registerName1("addLocalMonitorForEventsMatchingMask:handler:"); - ffi.Pointer _objc_msgSend_234( - ffi.Pointer obj, - ffi.Pointer sel, - int mask, - ffi.Pointer<_ObjCBlock> block, - ) { - return __objc_msgSend_234( - obj, - sel, - mask, - block, - ); - } - - late final __objc_msgSend_234Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); - late final __objc_msgSend_234 = __objc_msgSend_234Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, int, ffi.Pointer<_ObjCBlock>)>(); - - late final _sel_removeMonitor_1 = _registerName1("removeMonitor:"); - late final _sel_validRequestorForSendType_returnType_1 = - _registerName1("validRequestorForSendType:returnType:"); - ffi.Pointer _objc_msgSend_235( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer sendType, - ffi.Pointer returnType, - ) { - return __objc_msgSend_235( - obj, - sel, - sendType, - returnType, - ); - } - - late final __objc_msgSend_235Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_235 = __objc_msgSend_235Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_mouseDown_1 = _registerName1("mouseDown:"); - void _objc_msgSend_236( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer event, - ) { - return __objc_msgSend_236( - obj, - sel, - event, - ); - } - - late final __objc_msgSend_236Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_236 = __objc_msgSend_236Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_rightMouseDown_1 = _registerName1("rightMouseDown:"); - late final _sel_otherMouseDown_1 = _registerName1("otherMouseDown:"); - late final _sel_mouseUp_1 = _registerName1("mouseUp:"); - late final _sel_rightMouseUp_1 = _registerName1("rightMouseUp:"); - late final _sel_otherMouseUp_1 = _registerName1("otherMouseUp:"); - late final _sel_mouseMoved_1 = _registerName1("mouseMoved:"); - late final _sel_mouseDragged_1 = _registerName1("mouseDragged:"); - late final _sel_scrollWheel_1 = _registerName1("scrollWheel:"); - late final _sel_rightMouseDragged_1 = _registerName1("rightMouseDragged:"); - late final _sel_otherMouseDragged_1 = _registerName1("otherMouseDragged:"); - late final _sel_mouseEntered_1 = _registerName1("mouseEntered:"); - late final _sel_mouseExited_1 = _registerName1("mouseExited:"); - late final _sel_keyDown_1 = _registerName1("keyDown:"); - late final _sel_keyUp_1 = _registerName1("keyUp:"); - late final _sel_flagsChanged_1 = _registerName1("flagsChanged:"); - late final _sel_tabletPoint_1 = _registerName1("tabletPoint:"); - late final _sel_tabletProximity_1 = _registerName1("tabletProximity:"); - late final _sel_cursorUpdate_1 = _registerName1("cursorUpdate:"); - late final _sel_magnifyWithEvent_1 = _registerName1("magnifyWithEvent:"); - late final _sel_rotateWithEvent_1 = _registerName1("rotateWithEvent:"); - late final _sel_swipeWithEvent_1 = _registerName1("swipeWithEvent:"); - late final _sel_beginGestureWithEvent_1 = - _registerName1("beginGestureWithEvent:"); - late final _sel_endGestureWithEvent_1 = - _registerName1("endGestureWithEvent:"); - late final _sel_smartMagnifyWithEvent_1 = - _registerName1("smartMagnifyWithEvent:"); - late final _sel_changeModeWithEvent_1 = - _registerName1("changeModeWithEvent:"); - late final _sel_touchesBeganWithEvent_1 = - _registerName1("touchesBeganWithEvent:"); - late final _sel_touchesMovedWithEvent_1 = - _registerName1("touchesMovedWithEvent:"); - late final _sel_touchesEndedWithEvent_1 = - _registerName1("touchesEndedWithEvent:"); - late final _sel_touchesCancelledWithEvent_1 = - _registerName1("touchesCancelledWithEvent:"); - late final _sel_quickLookWithEvent_1 = _registerName1("quickLookWithEvent:"); - late final _sel_pressureChangeWithEvent_1 = - _registerName1("pressureChangeWithEvent:"); - late final _sel_noResponderFor_1 = _registerName1("noResponderFor:"); - late final _sel_acceptsFirstResponder1 = - _registerName1("acceptsFirstResponder"); - late final _sel_becomeFirstResponder1 = - _registerName1("becomeFirstResponder"); - late final _sel_resignFirstResponder1 = - _registerName1("resignFirstResponder"); - late final _sel_interpretKeyEvents_1 = _registerName1("interpretKeyEvents:"); - late final _sel_flushBufferedKeyEvents1 = - _registerName1("flushBufferedKeyEvents"); - late final _sel_showContextHelp_1 = _registerName1("showContextHelp:"); - void _objc_msgSend_237( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer sender, - ) { - return __objc_msgSend_237( - obj, - sel, - sender, - ); - } - - late final __objc_msgSend_237Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_237 = __objc_msgSend_237Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_helpRequested_1 = _registerName1("helpRequested:"); - late final _sel_shouldBeTreatedAsInkEvent_1 = - _registerName1("shouldBeTreatedAsInkEvent:"); - late final _sel_wantsScrollEventsForSwipeTrackingOnAxis_1 = - _registerName1("wantsScrollEventsForSwipeTrackingOnAxis:"); - bool _objc_msgSend_238( - ffi.Pointer obj, - ffi.Pointer sel, - int axis, - ) { - return __objc_msgSend_238( - obj, - sel, - axis, - ); - } - - late final __objc_msgSend_238Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_238 = __objc_msgSend_238Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_wantsForwardedScrollEventsForAxis_1 = - _registerName1("wantsForwardedScrollEventsForAxis:"); - late final _sel_supplementalTargetForAction_sender_1 = - _registerName1("supplementalTargetForAction:sender:"); - ffi.Pointer _objc_msgSend_239( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer action, - ffi.Pointer sender, - ) { - return __objc_msgSend_239( - obj, - sel, - action, - sender, - ); - } - - late final __objc_msgSend_239Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_239 = __objc_msgSend_239Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_frameRectForContentRect_styleMask_1 = - _registerName1("frameRectForContentRect:styleMask:"); - CGRect _objc_msgSend_240( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect cRect, - int style, - ) { - return __objc_msgSend_240( - obj, - sel, - cRect, - style, - ); - } - - late final __objc_msgSend_240Ptr = _lookup< - ffi.NativeFunction< - CGRect Function(ffi.Pointer, ffi.Pointer, CGRect, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_240 = __objc_msgSend_240Ptr.asFunction< - CGRect Function( - ffi.Pointer, ffi.Pointer, CGRect, int)>(); - - void _objc_msgSend_240_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - CGRect cRect, - int style, - ) { - return __objc_msgSend_240_stret( - stret, - obj, - sel, - cRect, - style, - ); - } - - late final __objc_msgSend_240_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, CGRect, ffi.Int32)>>('objc_msgSend_stret'); - late final __objc_msgSend_240_stret = __objc_msgSend_240_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, CGRect, int)>(); - - late final _sel_contentRectForFrameRect_styleMask_1 = - _registerName1("contentRectForFrameRect:styleMask:"); - late final _sel_minFrameWidthWithTitle_styleMask_1 = - _registerName1("minFrameWidthWithTitle:styleMask:"); - double _objc_msgSend_241( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer title, - int style, - ) { - return __objc_msgSend_241( - obj, - sel, - title, - style, - ); - } - - late final __objc_msgSend_241Ptr = _lookup< - ffi.NativeFunction< - ffi.Double Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_241 = __objc_msgSend_241Ptr.asFunction< - double Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, int)>(); - - double _objc_msgSend_241_fpret( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer title, - int style, - ) { - return __objc_msgSend_241_fpret( - obj, - sel, - title, - style, - ); - } - - late final __objc_msgSend_241_fpretPtr = _lookup< - ffi.NativeFunction< - ffi.Double Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Int32)>>('objc_msgSend_fpret'); - late final __objc_msgSend_241_fpret = __objc_msgSend_241_fpretPtr.asFunction< - double Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, int)>(); - - late final _sel_defaultDepthLimit1 = _registerName1("defaultDepthLimit"); - int _objc_msgSend_242( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_242( - obj, - sel, - ); - } - - late final __objc_msgSend_242Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_242 = __objc_msgSend_242Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_frameRectForContentRect_1 = - _registerName1("frameRectForContentRect:"); - late final _sel_contentRectForFrameRect_1 = - _registerName1("contentRectForFrameRect:"); - late final _sel_initWithContentRect_styleMask_backing_defer_1 = - _registerName1("initWithContentRect:styleMask:backing:defer:"); - instancetype _objc_msgSend_243( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect contentRect, - int style, - int backingStoreType, - bool flag, - ) { - return __objc_msgSend_243( - obj, - sel, - contentRect, - style, - backingStoreType, - flag, - ); - } - - late final __objc_msgSend_243Ptr = _lookup< - ffi.NativeFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - CGRect, ffi.Int32, ffi.Int32, ffi.Bool)>>('objc_msgSend'); - late final __objc_msgSend_243 = __objc_msgSend_243Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - CGRect, int, int, bool)>(); - - late final _class_NSScreen1 = _getClass1("NSScreen"); - late final _sel_initWithContentRect_styleMask_backing_defer_screen_1 = - _registerName1("initWithContentRect:styleMask:backing:defer:screen:"); - instancetype _objc_msgSend_244( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect contentRect, - int style, - int backingStoreType, - bool flag, - ffi.Pointer screen, - ) { - return __objc_msgSend_244( - obj, - sel, - contentRect, - style, - backingStoreType, - flag, - screen, - ); - } - - late final __objc_msgSend_244Ptr = _lookup< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - CGRect, - ffi.Int32, - ffi.Int32, - ffi.Bool, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_244 = __objc_msgSend_244Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - CGRect, int, int, bool, ffi.Pointer)>(); - - late final _sel_subtitle1 = _registerName1("subtitle"); - late final _sel_setSubtitle_1 = _registerName1("setSubtitle:"); - late final _sel_titleVisibility1 = _registerName1("titleVisibility"); - int _objc_msgSend_245( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_245( - obj, - sel, - ); - } - - late final __objc_msgSend_245Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_245 = __objc_msgSend_245Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setTitleVisibility_1 = _registerName1("setTitleVisibility:"); - void _objc_msgSend_246( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_246( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_246Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_246 = __objc_msgSend_246Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_titlebarAppearsTransparent1 = - _registerName1("titlebarAppearsTransparent"); - late final _sel_setTitlebarAppearsTransparent_1 = - _registerName1("setTitlebarAppearsTransparent:"); - late final _sel_toolbarStyle1 = _registerName1("toolbarStyle"); - int _objc_msgSend_247( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_247( - obj, - sel, - ); - } - - late final __objc_msgSend_247Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_247 = __objc_msgSend_247Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setToolbarStyle_1 = _registerName1("setToolbarStyle:"); - void _objc_msgSend_248( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_248( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_248Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_248 = __objc_msgSend_248Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_contentLayoutRect1 = _registerName1("contentLayoutRect"); - late final _sel_contentLayoutGuide1 = _registerName1("contentLayoutGuide"); - late final _sel_titlebarAccessoryViewControllers1 = - _registerName1("titlebarAccessoryViewControllers"); - late final _sel_setTitlebarAccessoryViewControllers_1 = - _registerName1("setTitlebarAccessoryViewControllers:"); - late final _class_NSTitlebarAccessoryViewController1 = - _getClass1("NSTitlebarAccessoryViewController"); - late final _sel_addTitlebarAccessoryViewController_1 = - _registerName1("addTitlebarAccessoryViewController:"); - void _objc_msgSend_249( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer childViewController, - ) { - return __objc_msgSend_249( - obj, - sel, - childViewController, - ); - } - - late final __objc_msgSend_249Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_249 = __objc_msgSend_249Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_insertTitlebarAccessoryViewController_atIndex_1 = - _registerName1("insertTitlebarAccessoryViewController:atIndex:"); - void _objc_msgSend_250( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer childViewController, - int index, - ) { - return __objc_msgSend_250( - obj, - sel, - childViewController, - index, - ); - } - - late final __objc_msgSend_250Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Long)>>('objc_msgSend'); - late final __objc_msgSend_250 = __objc_msgSend_250Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, int)>(); - - late final _sel_removeTitlebarAccessoryViewControllerAtIndex_1 = - _registerName1("removeTitlebarAccessoryViewControllerAtIndex:"); - late final _sel_representedURL1 = _registerName1("representedURL"); - late final _sel_setRepresentedURL_1 = _registerName1("setRepresentedURL:"); - void _objc_msgSend_251( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_251( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_251Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_251 = __objc_msgSend_251Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_representedFilename1 = _registerName1("representedFilename"); - late final _sel_setRepresentedFilename_1 = - _registerName1("setRepresentedFilename:"); - late final _sel_setTitleWithRepresentedFilename_1 = - _registerName1("setTitleWithRepresentedFilename:"); - late final _sel_isExcludedFromWindowsMenu1 = - _registerName1("isExcludedFromWindowsMenu"); - late final _sel_setExcludedFromWindowsMenu_1 = - _registerName1("setExcludedFromWindowsMenu:"); - late final _sel_contentView1 = _registerName1("contentView"); - late final _sel_setContentView_1 = _registerName1("setContentView:"); - late final _sel_styleMask1 = _registerName1("styleMask"); - int _objc_msgSend_252( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_252( - obj, - sel, - ); - } - - late final __objc_msgSend_252Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_252 = __objc_msgSend_252Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setStyleMask_1 = _registerName1("setStyleMask:"); - void _objc_msgSend_253( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_253( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_253Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_253 = __objc_msgSend_253Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _class_NSText1 = _getClass1("NSText"); - late final _sel_setString_1 = _registerName1("setString:"); - late final _sel_replaceCharactersInRange_withString_1 = - _registerName1("replaceCharactersInRange:withString:"); - void _objc_msgSend_254( - ffi.Pointer obj, - ffi.Pointer sel, - _NSRange range, - ffi.Pointer string, - ) { - return __objc_msgSend_254( - obj, - sel, - range, - string, - ); - } - - late final __objc_msgSend_254Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - _NSRange, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_254 = __objc_msgSend_254Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, _NSRange, - ffi.Pointer)>(); - - late final _sel_replaceCharactersInRange_withRTF_1 = - _registerName1("replaceCharactersInRange:withRTF:"); - void _objc_msgSend_255( - ffi.Pointer obj, - ffi.Pointer sel, - _NSRange range, - ffi.Pointer rtfData, - ) { - return __objc_msgSend_255( - obj, - sel, - range, - rtfData, - ); - } - - late final __objc_msgSend_255Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - _NSRange, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_255 = __objc_msgSend_255Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, _NSRange, - ffi.Pointer)>(); - - late final _sel_replaceCharactersInRange_withRTFD_1 = - _registerName1("replaceCharactersInRange:withRTFD:"); - late final _sel_RTFFromRange_1 = _registerName1("RTFFromRange:"); - ffi.Pointer _objc_msgSend_256( - ffi.Pointer obj, - ffi.Pointer sel, - _NSRange range, - ) { - return __objc_msgSend_256( - obj, - sel, - range, - ); - } - - late final __objc_msgSend_256Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, _NSRange)>>('objc_msgSend'); - late final __objc_msgSend_256 = __objc_msgSend_256Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, _NSRange)>(); - - late final _sel_RTFDFromRange_1 = _registerName1("RTFDFromRange:"); - late final _sel_writeRTFDToFile_atomically_1 = - _registerName1("writeRTFDToFile:atomically:"); - bool _objc_msgSend_257( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer path, - bool flag, - ) { - return __objc_msgSend_257( - obj, - sel, - path, - flag, - ); - } - - late final __objc_msgSend_257Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Bool)>>('objc_msgSend'); - late final __objc_msgSend_257 = __objc_msgSend_257Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, bool)>(); - - late final _sel_readRTFDFromFile_1 = _registerName1("readRTFDFromFile:"); - bool _objc_msgSend_258( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer path, - ) { - return __objc_msgSend_258( - obj, - sel, - path, - ); - } - - late final __objc_msgSend_258Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_258 = __objc_msgSend_258Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_isEditable1 = _registerName1("isEditable"); - late final _sel_setEditable_1 = _registerName1("setEditable:"); - late final _sel_isSelectable1 = _registerName1("isSelectable"); - late final _sel_setSelectable_1 = _registerName1("setSelectable:"); - late final _sel_isRichText1 = _registerName1("isRichText"); - late final _sel_setRichText_1 = _registerName1("setRichText:"); - late final _sel_importsGraphics1 = _registerName1("importsGraphics"); - late final _sel_setImportsGraphics_1 = _registerName1("setImportsGraphics:"); - late final _sel_isFieldEditor1 = _registerName1("isFieldEditor"); - late final _sel_setFieldEditor_1 = _registerName1("setFieldEditor:"); - late final _sel_usesFontPanel1 = _registerName1("usesFontPanel"); - late final _sel_setUsesFontPanel_1 = _registerName1("setUsesFontPanel:"); - late final _sel_drawsBackground1 = _registerName1("drawsBackground"); - late final _sel_setDrawsBackground_1 = _registerName1("setDrawsBackground:"); - late final _class_NSColor1 = _getClass1("NSColor"); - late final _sel_backgroundColor1 = _registerName1("backgroundColor"); - ffi.Pointer _objc_msgSend_259( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_259( - obj, - sel, - ); - } - - late final __objc_msgSend_259Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_259 = __objc_msgSend_259Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setBackgroundColor_1 = _registerName1("setBackgroundColor:"); - void _objc_msgSend_260( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_260( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_260Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_260 = __objc_msgSend_260Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_isRulerVisible1 = _registerName1("isRulerVisible"); - late final _sel_selectedRange1 = _registerName1("selectedRange"); - _NSRange _objc_msgSend_261( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_261( - obj, - sel, - ); - } - - late final __objc_msgSend_261Ptr = _lookup< - ffi.NativeFunction< - _NSRange Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_261 = __objc_msgSend_261Ptr.asFunction< - _NSRange Function(ffi.Pointer, ffi.Pointer)>(); - - void _objc_msgSend_261_stret( - ffi.Pointer<_NSRange> stret, - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_261_stret( - stret, - obj, - sel, - ); - } - - late final __objc_msgSend_261_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer<_NSRange>, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend_stret'); - late final __objc_msgSend_261_stret = __objc_msgSend_261_stretPtr.asFunction< - void Function(ffi.Pointer<_NSRange>, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_setSelectedRange_1 = _registerName1("setSelectedRange:"); - void _objc_msgSend_262( - ffi.Pointer obj, - ffi.Pointer sel, - _NSRange value, - ) { - return __objc_msgSend_262( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_262Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - _NSRange)>>('objc_msgSend'); - late final __objc_msgSend_262 = __objc_msgSend_262Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, _NSRange)>(); - - late final _sel_scrollRangeToVisible_1 = - _registerName1("scrollRangeToVisible:"); - void _objc_msgSend_263( - ffi.Pointer obj, - ffi.Pointer sel, - _NSRange range, - ) { - return __objc_msgSend_263( - obj, - sel, - range, - ); - } - - late final __objc_msgSend_263Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - _NSRange)>>('objc_msgSend'); - late final __objc_msgSend_263 = __objc_msgSend_263Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, _NSRange)>(); - - ffi.Pointer _objc_msgSend_264( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_264( - obj, - sel, - ); - } - - late final __objc_msgSend_264Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_264 = __objc_msgSend_264Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - void _objc_msgSend_265( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_265( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_265Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_265 = __objc_msgSend_265Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_textColor1 = _registerName1("textColor"); - late final _sel_setTextColor_1 = _registerName1("setTextColor:"); - late final _sel_alignment1 = _registerName1("alignment"); - int _objc_msgSend_266( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_266( - obj, - sel, - ); - } - - late final __objc_msgSend_266Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_266 = __objc_msgSend_266Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setAlignment_1 = _registerName1("setAlignment:"); - void _objc_msgSend_267( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_267( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_267Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_267 = __objc_msgSend_267Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_baseWritingDirection1 = - _registerName1("baseWritingDirection"); - int _objc_msgSend_268( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_268( - obj, - sel, - ); - } - - late final __objc_msgSend_268Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_268 = __objc_msgSend_268Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setBaseWritingDirection_1 = - _registerName1("setBaseWritingDirection:"); - void _objc_msgSend_269( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_269( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_269Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_269 = __objc_msgSend_269Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_setTextColor_range_1 = _registerName1("setTextColor:range:"); - void _objc_msgSend_270( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer color, - _NSRange range, - ) { - return __objc_msgSend_270( - obj, - sel, - color, - range, - ); - } - - late final __objc_msgSend_270Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, _NSRange)>>('objc_msgSend'); - late final __objc_msgSend_270 = __objc_msgSend_270Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, _NSRange)>(); - - late final _sel_setFont_range_1 = _registerName1("setFont:range:"); - void _objc_msgSend_271( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer font, - _NSRange range, - ) { - return __objc_msgSend_271( - obj, - sel, - font, - range, - ); - } - - late final __objc_msgSend_271Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, _NSRange)>>('objc_msgSend'); - late final __objc_msgSend_271 = __objc_msgSend_271Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, _NSRange)>(); - - late final _sel_maxSize1 = _registerName1("maxSize"); - late final _sel_setMaxSize_1 = _registerName1("setMaxSize:"); - void _objc_msgSend_272( - ffi.Pointer obj, - ffi.Pointer sel, - CGSize value, - ) { - return __objc_msgSend_272( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_272Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - CGSize)>>('objc_msgSend'); - late final __objc_msgSend_272 = __objc_msgSend_272Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, CGSize)>(); - - late final _sel_minSize1 = _registerName1("minSize"); - late final _sel_setMinSize_1 = _registerName1("setMinSize:"); - late final _sel_isHorizontallyResizable1 = - _registerName1("isHorizontallyResizable"); - late final _sel_setHorizontallyResizable_1 = - _registerName1("setHorizontallyResizable:"); - late final _sel_isVerticallyResizable1 = - _registerName1("isVerticallyResizable"); - late final _sel_setVerticallyResizable_1 = - _registerName1("setVerticallyResizable:"); - late final _sel_sizeToFit1 = _registerName1("sizeToFit"); - late final _sel_copy_1 = _registerName1("copy:"); - late final _sel_copyFont_1 = _registerName1("copyFont:"); - late final _sel_copyRuler_1 = _registerName1("copyRuler:"); - late final _sel_cut_1 = _registerName1("cut:"); - late final _sel_delete_1 = _registerName1("delete:"); - late final _sel_paste_1 = _registerName1("paste:"); - late final _sel_pasteFont_1 = _registerName1("pasteFont:"); - late final _sel_pasteRuler_1 = _registerName1("pasteRuler:"); - late final _sel_selectAll_1 = _registerName1("selectAll:"); - late final _sel_changeFont_1 = _registerName1("changeFont:"); - late final _sel_alignLeft_1 = _registerName1("alignLeft:"); - late final _sel_alignRight_1 = _registerName1("alignRight:"); - late final _sel_alignCenter_1 = _registerName1("alignCenter:"); - late final _sel_subscript_1 = _registerName1("subscript:"); - late final _sel_superscript_1 = _registerName1("superscript:"); - late final _sel_underline_1 = _registerName1("underline:"); - late final _sel_unscript_1 = _registerName1("unscript:"); - late final _sel_showGuessPanel_1 = _registerName1("showGuessPanel:"); - late final _sel_checkSpelling_1 = _registerName1("checkSpelling:"); - late final _sel_toggleRuler_1 = _registerName1("toggleRuler:"); - late final _sel_fieldEditor_forObject_1 = - _registerName1("fieldEditor:forObject:"); - ffi.Pointer _objc_msgSend_273( - ffi.Pointer obj, - ffi.Pointer sel, - bool createFlag, - ffi.Pointer object, - ) { - return __objc_msgSend_273( - obj, - sel, - createFlag, - object, - ); - } - - late final __objc_msgSend_273Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Bool, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_273 = __objc_msgSend_273Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, bool, ffi.Pointer)>(); - - late final _sel_endEditingFor_1 = _registerName1("endEditingFor:"); - late final _sel_constrainFrameRect_toScreen_1 = - _registerName1("constrainFrameRect:toScreen:"); - CGRect _objc_msgSend_274( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect frameRect, - ffi.Pointer screen, - ) { - return __objc_msgSend_274( - obj, - sel, - frameRect, - screen, - ); - } - - late final __objc_msgSend_274Ptr = _lookup< - ffi.NativeFunction< - CGRect Function(ffi.Pointer, ffi.Pointer, CGRect, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_274 = __objc_msgSend_274Ptr.asFunction< - CGRect Function(ffi.Pointer, ffi.Pointer, CGRect, - ffi.Pointer)>(); - - void _objc_msgSend_274_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - CGRect frameRect, - ffi.Pointer screen, - ) { - return __objc_msgSend_274_stret( - stret, - obj, - sel, - frameRect, - screen, - ); - } - - late final __objc_msgSend_274_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - CGRect, - ffi.Pointer)>>('objc_msgSend_stret'); - late final __objc_msgSend_274_stret = __objc_msgSend_274_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, CGRect, ffi.Pointer)>(); - - late final _sel_setFrame_display_1 = _registerName1("setFrame:display:"); - void _objc_msgSend_275( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect frameRect, - bool flag, - ) { - return __objc_msgSend_275( - obj, - sel, - frameRect, - flag, - ); - } - - late final __objc_msgSend_275Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - CGRect, ffi.Bool)>>('objc_msgSend'); - late final __objc_msgSend_275 = __objc_msgSend_275Ptr.asFunction< - void Function( - ffi.Pointer, ffi.Pointer, CGRect, bool)>(); - - late final _sel_setContentSize_1 = _registerName1("setContentSize:"); - late final _sel_setFrameTopLeftPoint_1 = - _registerName1("setFrameTopLeftPoint:"); - late final _sel_cascadeTopLeftFromPoint_1 = - _registerName1("cascadeTopLeftFromPoint:"); - late final _sel_animationResizeTime_1 = - _registerName1("animationResizeTime:"); - double _objc_msgSend_276( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect newFrame, - ) { - return __objc_msgSend_276( - obj, - sel, - newFrame, - ); - } - - late final __objc_msgSend_276Ptr = _lookup< - ffi.NativeFunction< - ffi.Double Function(ffi.Pointer, ffi.Pointer, - CGRect)>>('objc_msgSend'); - late final __objc_msgSend_276 = __objc_msgSend_276Ptr.asFunction< - double Function(ffi.Pointer, ffi.Pointer, CGRect)>(); - - double _objc_msgSend_276_fpret( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect newFrame, - ) { - return __objc_msgSend_276_fpret( - obj, - sel, - newFrame, - ); - } - - late final __objc_msgSend_276_fpretPtr = _lookup< - ffi.NativeFunction< - ffi.Double Function(ffi.Pointer, ffi.Pointer, - CGRect)>>('objc_msgSend_fpret'); - late final __objc_msgSend_276_fpret = __objc_msgSend_276_fpretPtr.asFunction< - double Function(ffi.Pointer, ffi.Pointer, CGRect)>(); - - late final _sel_setFrame_display_animate_1 = - _registerName1("setFrame:display:animate:"); - void _objc_msgSend_277( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect frameRect, - bool displayFlag, - bool animateFlag, - ) { - return __objc_msgSend_277( - obj, - sel, - frameRect, - displayFlag, - animateFlag, - ); - } - - late final __objc_msgSend_277Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - CGRect, ffi.Bool, ffi.Bool)>>('objc_msgSend'); - late final __objc_msgSend_277 = __objc_msgSend_277Ptr.asFunction< - void Function( - ffi.Pointer, ffi.Pointer, CGRect, bool, bool)>(); - - late final _sel_resizeIncrements1 = _registerName1("resizeIncrements"); - late final _sel_setResizeIncrements_1 = - _registerName1("setResizeIncrements:"); - late final _sel_aspectRatio1 = _registerName1("aspectRatio"); - late final _sel_setAspectRatio_1 = _registerName1("setAspectRatio:"); - late final _sel_contentResizeIncrements1 = - _registerName1("contentResizeIncrements"); - late final _sel_setContentResizeIncrements_1 = - _registerName1("setContentResizeIncrements:"); - late final _sel_contentAspectRatio1 = _registerName1("contentAspectRatio"); - late final _sel_setContentAspectRatio_1 = - _registerName1("setContentAspectRatio:"); - late final _sel_viewsNeedDisplay1 = _registerName1("viewsNeedDisplay"); - late final _sel_setViewsNeedDisplay_1 = - _registerName1("setViewsNeedDisplay:"); - late final _sel_setPreservesContentDuringLiveResize_1 = - _registerName1("setPreservesContentDuringLiveResize:"); - late final _sel_makeFirstResponder_1 = _registerName1("makeFirstResponder:"); - bool _objc_msgSend_278( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer responder, - ) { - return __objc_msgSend_278( - obj, - sel, - responder, - ); - } - - late final __objc_msgSend_278Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_278 = __objc_msgSend_278Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_firstResponder1 = _registerName1("firstResponder"); - late final _sel_resizeFlags1 = _registerName1("resizeFlags"); - late final _sel_close1 = _registerName1("close"); - late final _sel_isReleasedWhenClosed1 = - _registerName1("isReleasedWhenClosed"); - late final _sel_setReleasedWhenClosed_1 = - _registerName1("setReleasedWhenClosed:"); - late final _sel_miniaturize_1 = _registerName1("miniaturize:"); - late final _sel_deminiaturize_1 = _registerName1("deminiaturize:"); - late final _sel_isZoomed1 = _registerName1("isZoomed"); - late final _sel_zoom_1 = _registerName1("zoom:"); - late final _sel_isMiniaturized1 = _registerName1("isMiniaturized"); - ffi.Pointer _objc_msgSend_279( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_279( - obj, - sel, - ); - } - - late final __objc_msgSend_279Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_279 = __objc_msgSend_279Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - void _objc_msgSend_280( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_280( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_280Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_280 = __objc_msgSend_280Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_setContentBorderThickness_forEdge_1 = - _registerName1("setContentBorderThickness:forEdge:"); - void _objc_msgSend_281( - ffi.Pointer obj, - ffi.Pointer sel, - double thickness, - int edge, - ) { - return __objc_msgSend_281( - obj, - sel, - thickness, - edge, - ); - } - - late final __objc_msgSend_281Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Double, ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_281 = __objc_msgSend_281Ptr.asFunction< - void Function( - ffi.Pointer, ffi.Pointer, double, int)>(); - - late final _sel_contentBorderThicknessForEdge_1 = - _registerName1("contentBorderThicknessForEdge:"); - double _objc_msgSend_282( - ffi.Pointer obj, - ffi.Pointer sel, - int edge, - ) { - return __objc_msgSend_282( - obj, - sel, - edge, - ); - } - - late final __objc_msgSend_282Ptr = _lookup< - ffi.NativeFunction< - ffi.Double Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_282 = __objc_msgSend_282Ptr.asFunction< - double Function(ffi.Pointer, ffi.Pointer, int)>(); - - double _objc_msgSend_282_fpret( - ffi.Pointer obj, - ffi.Pointer sel, - int edge, - ) { - return __objc_msgSend_282_fpret( - obj, - sel, - edge, - ); - } - - late final __objc_msgSend_282_fpretPtr = _lookup< - ffi.NativeFunction< - ffi.Double Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend_fpret'); - late final __objc_msgSend_282_fpret = __objc_msgSend_282_fpretPtr.asFunction< - double Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_setAutorecalculatesContentBorderThickness_forEdge_1 = - _registerName1("setAutorecalculatesContentBorderThickness:forEdge:"); - void _objc_msgSend_283( - ffi.Pointer obj, - ffi.Pointer sel, - bool flag, - int edge, - ) { - return __objc_msgSend_283( - obj, - sel, - flag, - edge, - ); - } - - late final __objc_msgSend_283Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Bool, ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_283 = __objc_msgSend_283Ptr.asFunction< - void Function( - ffi.Pointer, ffi.Pointer, bool, int)>(); - - late final _sel_autorecalculatesContentBorderThicknessForEdge_1 = - _registerName1("autorecalculatesContentBorderThicknessForEdge:"); - bool _objc_msgSend_284( - ffi.Pointer obj, - ffi.Pointer sel, - int edge, - ) { - return __objc_msgSend_284( - obj, - sel, - edge, - ); - } - - late final __objc_msgSend_284Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_284 = __objc_msgSend_284Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_isMovable1 = _registerName1("isMovable"); - late final _sel_setMovable_1 = _registerName1("setMovable:"); - late final _sel_isMovableByWindowBackground1 = - _registerName1("isMovableByWindowBackground"); - late final _sel_setMovableByWindowBackground_1 = - _registerName1("setMovableByWindowBackground:"); - late final _sel_hidesOnDeactivate1 = _registerName1("hidesOnDeactivate"); - late final _sel_setHidesOnDeactivate_1 = - _registerName1("setHidesOnDeactivate:"); - late final _sel_canHide1 = _registerName1("canHide"); - late final _sel_setCanHide_1 = _registerName1("setCanHide:"); - late final _sel_center1 = _registerName1("center"); - late final _sel_makeKeyAndOrderFront_1 = - _registerName1("makeKeyAndOrderFront:"); - late final _sel_orderFront_1 = _registerName1("orderFront:"); - late final _sel_orderBack_1 = _registerName1("orderBack:"); - late final _sel_orderOut_1 = _registerName1("orderOut:"); - late final _sel_orderWindow_relativeTo_1 = - _registerName1("orderWindow:relativeTo:"); - void _objc_msgSend_285( - ffi.Pointer obj, - ffi.Pointer sel, - int place, - int otherWin, - ) { - return __objc_msgSend_285( - obj, - sel, - place, - otherWin, - ); - } - - late final __objc_msgSend_285Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32, ffi.Long)>>('objc_msgSend'); - late final __objc_msgSend_285 = __objc_msgSend_285Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int, int)>(); - - late final _sel_orderFrontRegardless1 = - _registerName1("orderFrontRegardless"); - late final _sel_miniwindowImage1 = _registerName1("miniwindowImage"); - late final _sel_setMiniwindowImage_1 = _registerName1("setMiniwindowImage:"); - late final _sel_miniwindowTitle1 = _registerName1("miniwindowTitle"); - late final _sel_setMiniwindowTitle_1 = _registerName1("setMiniwindowTitle:"); - late final _class_NSDockTile1 = _getClass1("NSDockTile"); - late final _sel_dockTile1 = _registerName1("dockTile"); - ffi.Pointer _objc_msgSend_286( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_286( - obj, - sel, - ); - } - - late final __objc_msgSend_286Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_286 = __objc_msgSend_286Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_isDocumentEdited1 = _registerName1("isDocumentEdited"); - late final _sel_setDocumentEdited_1 = _registerName1("setDocumentEdited:"); - late final _sel_isVisible1 = _registerName1("isVisible"); - late final _sel_isKeyWindow1 = _registerName1("isKeyWindow"); - late final _sel_isMainWindow1 = _registerName1("isMainWindow"); - late final _sel_canBecomeKeyWindow1 = _registerName1("canBecomeKeyWindow"); - late final _sel_canBecomeMainWindow1 = _registerName1("canBecomeMainWindow"); - late final _sel_makeKeyWindow1 = _registerName1("makeKeyWindow"); - late final _sel_makeMainWindow1 = _registerName1("makeMainWindow"); - late final _sel_becomeKeyWindow1 = _registerName1("becomeKeyWindow"); - late final _sel_resignKeyWindow1 = _registerName1("resignKeyWindow"); - late final _sel_becomeMainWindow1 = _registerName1("becomeMainWindow"); - late final _sel_resignMainWindow1 = _registerName1("resignMainWindow"); - late final _sel_worksWhenModal1 = _registerName1("worksWhenModal"); - late final _sel_preventsApplicationTerminationWhenModal1 = - _registerName1("preventsApplicationTerminationWhenModal"); - late final _sel_setPreventsApplicationTerminationWhenModal_1 = - _registerName1("setPreventsApplicationTerminationWhenModal:"); - late final _sel_convertRectToScreen_1 = - _registerName1("convertRectToScreen:"); - late final _sel_convertRectFromScreen_1 = - _registerName1("convertRectFromScreen:"); - late final _sel_convertPointToScreen_1 = - _registerName1("convertPointToScreen:"); - late final _sel_convertPointFromScreen_1 = - _registerName1("convertPointFromScreen:"); - late final _sel_backingScaleFactor1 = _registerName1("backingScaleFactor"); - late final _sel_performClose_1 = _registerName1("performClose:"); - late final _sel_performMiniaturize_1 = _registerName1("performMiniaturize:"); - late final _sel_performZoom_1 = _registerName1("performZoom:"); - late final _sel_dataWithEPSInsideRect_1 = - _registerName1("dataWithEPSInsideRect:"); - ffi.Pointer _objc_msgSend_287( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect rect, - ) { - return __objc_msgSend_287( - obj, - sel, - rect, - ); - } - - late final __objc_msgSend_287Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, CGRect)>>('objc_msgSend'); - late final __objc_msgSend_287 = __objc_msgSend_287Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, CGRect)>(); - - late final _sel_dataWithPDFInsideRect_1 = - _registerName1("dataWithPDFInsideRect:"); - late final _sel_print_1 = _registerName1("print:"); - late final _sel_allowsToolTipsWhenApplicationIsInactive1 = - _registerName1("allowsToolTipsWhenApplicationIsInactive"); - late final _sel_setAllowsToolTipsWhenApplicationIsInactive_1 = - _registerName1("setAllowsToolTipsWhenApplicationIsInactive:"); - late final _sel_backingType1 = _registerName1("backingType"); - int _objc_msgSend_288( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_288( - obj, - sel, - ); - } - - late final __objc_msgSend_288Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_288 = __objc_msgSend_288Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setBackingType_1 = _registerName1("setBackingType:"); - void _objc_msgSend_289( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_289( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_289Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_289 = __objc_msgSend_289Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_level1 = _registerName1("level"); - late final _sel_setLevel_1 = _registerName1("setLevel:"); - late final _sel_depthLimit1 = _registerName1("depthLimit"); - late final _sel_setDepthLimit_1 = _registerName1("setDepthLimit:"); - void _objc_msgSend_290( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_290( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_290Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_290 = __objc_msgSend_290Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_setDynamicDepthLimit_1 = - _registerName1("setDynamicDepthLimit:"); - late final _sel_hasDynamicDepthLimit1 = - _registerName1("hasDynamicDepthLimit"); - late final _sel_screen1 = _registerName1("screen"); - ffi.Pointer _objc_msgSend_291( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_291( - obj, - sel, - ); - } - - late final __objc_msgSend_291Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_291 = __objc_msgSend_291Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_deepestScreen1 = _registerName1("deepestScreen"); - late final _sel_hasShadow1 = _registerName1("hasShadow"); - late final _sel_setHasShadow_1 = _registerName1("setHasShadow:"); - late final _sel_invalidateShadow1 = _registerName1("invalidateShadow"); - late final _sel_setOpaque_1 = _registerName1("setOpaque:"); - late final _sel_sharingType1 = _registerName1("sharingType"); - int _objc_msgSend_292( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_292( - obj, - sel, - ); - } - - late final __objc_msgSend_292Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_292 = __objc_msgSend_292Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setSharingType_1 = _registerName1("setSharingType:"); - void _objc_msgSend_293( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_293( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_293Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_293 = __objc_msgSend_293Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_allowsConcurrentViewDrawing1 = - _registerName1("allowsConcurrentViewDrawing"); - late final _sel_setAllowsConcurrentViewDrawing_1 = - _registerName1("setAllowsConcurrentViewDrawing:"); - late final _sel_displaysWhenScreenProfileChanges1 = - _registerName1("displaysWhenScreenProfileChanges"); - late final _sel_setDisplaysWhenScreenProfileChanges_1 = - _registerName1("setDisplaysWhenScreenProfileChanges:"); - late final _sel_disableScreenUpdatesUntilFlush1 = - _registerName1("disableScreenUpdatesUntilFlush"); - late final _sel_canBecomeVisibleWithoutLogin1 = - _registerName1("canBecomeVisibleWithoutLogin"); - late final _sel_setCanBecomeVisibleWithoutLogin_1 = - _registerName1("setCanBecomeVisibleWithoutLogin:"); - late final _sel_collectionBehavior1 = _registerName1("collectionBehavior"); - int _objc_msgSend_294( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_294( - obj, - sel, - ); - } - - late final __objc_msgSend_294Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_294 = __objc_msgSend_294Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setCollectionBehavior_1 = - _registerName1("setCollectionBehavior:"); - void _objc_msgSend_295( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_295( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_295Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_295 = __objc_msgSend_295Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_animationBehavior1 = _registerName1("animationBehavior"); - int _objc_msgSend_296( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_296( - obj, - sel, - ); - } - - late final __objc_msgSend_296Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_296 = __objc_msgSend_296Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setAnimationBehavior_1 = - _registerName1("setAnimationBehavior:"); - void _objc_msgSend_297( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_297( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_297Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_297 = __objc_msgSend_297Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_isOnActiveSpace1 = _registerName1("isOnActiveSpace"); - late final _sel_toggleFullScreen_1 = _registerName1("toggleFullScreen:"); - late final _sel_stringWithSavedFrame1 = - _registerName1("stringWithSavedFrame"); - late final _sel_setFrameFromString_1 = _registerName1("setFrameFromString:"); - late final _sel_saveFrameUsingName_1 = _registerName1("saveFrameUsingName:"); - late final _sel_setFrameUsingName_force_1 = - _registerName1("setFrameUsingName:force:"); - late final _sel_setFrameUsingName_1 = _registerName1("setFrameUsingName:"); - late final _sel_setFrameAutosaveName_1 = - _registerName1("setFrameAutosaveName:"); - late final _sel_frameAutosaveName1 = _registerName1("frameAutosaveName"); - late final _sel_removeFrameUsingName_1 = - _registerName1("removeFrameUsingName:"); - late final _sel_contentMinSize1 = _registerName1("contentMinSize"); - late final _sel_setContentMinSize_1 = _registerName1("setContentMinSize:"); - late final _sel_contentMaxSize1 = _registerName1("contentMaxSize"); - late final _sel_setContentMaxSize_1 = _registerName1("setContentMaxSize:"); - late final _sel_minFullScreenContentSize1 = - _registerName1("minFullScreenContentSize"); - late final _sel_setMinFullScreenContentSize_1 = - _registerName1("setMinFullScreenContentSize:"); - late final _sel_maxFullScreenContentSize1 = - _registerName1("maxFullScreenContentSize"); - late final _sel_setMaxFullScreenContentSize_1 = - _registerName1("setMaxFullScreenContentSize:"); - late final _sel_deviceDescription1 = _registerName1("deviceDescription"); - late final _class_NSWindowController1 = _getClass1("NSWindowController"); - late final _sel_windowController1 = _registerName1("windowController"); - ffi.Pointer _objc_msgSend_298( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_298( - obj, - sel, - ); - } - - late final __objc_msgSend_298Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_298 = __objc_msgSend_298Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setWindowController_1 = - _registerName1("setWindowController:"); - void _objc_msgSend_299( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_299( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_299Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_299 = __objc_msgSend_299Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_beginSheet_completionHandler_1 = - _registerName1("beginSheet:completionHandler:"); - void _objc_msgSend_300( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer sheetWindow, - ffi.Pointer<_ObjCBlock> handler, - ) { - return __objc_msgSend_300( - obj, - sel, - sheetWindow, - handler, - ); - } - - late final __objc_msgSend_300Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); - late final __objc_msgSend_300 = __objc_msgSend_300Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer<_ObjCBlock>)>(); - - late final _sel_beginCriticalSheet_completionHandler_1 = - _registerName1("beginCriticalSheet:completionHandler:"); - late final _sel_endSheet_1 = _registerName1("endSheet:"); - void _objc_msgSend_301( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer sheetWindow, - ) { - return __objc_msgSend_301( - obj, - sel, - sheetWindow, - ); - } - - late final __objc_msgSend_301Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_301 = __objc_msgSend_301Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_endSheet_returnCode_1 = - _registerName1("endSheet:returnCode:"); - void _objc_msgSend_302( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer sheetWindow, - int returnCode, - ) { - return __objc_msgSend_302( - obj, - sel, - sheetWindow, - returnCode, - ); - } - - late final __objc_msgSend_302Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Long)>>('objc_msgSend'); - late final __objc_msgSend_302 = __objc_msgSend_302Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, int)>(); - - late final _sel_sheets1 = _registerName1("sheets"); - late final _sel_attachedSheet1 = _registerName1("attachedSheet"); - late final _sel_isSheet1 = _registerName1("isSheet"); - late final _sel_sheetParent1 = _registerName1("sheetParent"); - late final _class_NSButton1 = _getClass1("NSButton"); - late final _sel_standardWindowButton_forStyleMask_1 = - _registerName1("standardWindowButton:forStyleMask:"); - ffi.Pointer _objc_msgSend_303( - ffi.Pointer obj, - ffi.Pointer sel, - int b, - int styleMask, - ) { - return __objc_msgSend_303( - obj, - sel, - b, - styleMask, - ); - } - - late final __objc_msgSend_303Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Int32, ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_303 = __objc_msgSend_303Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int, int)>(); - - late final _sel_standardWindowButton_1 = - _registerName1("standardWindowButton:"); - ffi.Pointer _objc_msgSend_304( - ffi.Pointer obj, - ffi.Pointer sel, - int b, - ) { - return __objc_msgSend_304( - obj, - sel, - b, - ); - } - - late final __objc_msgSend_304Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_304 = __objc_msgSend_304Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_addChildWindow_ordered_1 = - _registerName1("addChildWindow:ordered:"); - void _objc_msgSend_305( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer childWin, - int place, - ) { - return __objc_msgSend_305( - obj, - sel, - childWin, - place, - ); - } - - late final __objc_msgSend_305Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_305 = __objc_msgSend_305Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, int)>(); - - late final _sel_removeChildWindow_1 = _registerName1("removeChildWindow:"); - late final _sel_childWindows1 = _registerName1("childWindows"); - late final _sel_parentWindow1 = _registerName1("parentWindow"); - late final _sel_setParentWindow_1 = _registerName1("setParentWindow:"); - void _objc_msgSend_306( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_306( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_306Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_306 = __objc_msgSend_306Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_appearanceSource1 = _registerName1("appearanceSource"); - ffi.Pointer _objc_msgSend_307( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_307( - obj, - sel, - ); - } - - late final __objc_msgSend_307Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_307 = __objc_msgSend_307Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setAppearanceSource_1 = - _registerName1("setAppearanceSource:"); - void _objc_msgSend_308( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_308( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_308Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_308 = __objc_msgSend_308Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _class_NSColorSpace1 = _getClass1("NSColorSpace"); - late final _sel_colorSpace1 = _registerName1("colorSpace"); - ffi.Pointer _objc_msgSend_309( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_309( - obj, - sel, - ); - } - - late final __objc_msgSend_309Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_309 = __objc_msgSend_309Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setColorSpace_1 = _registerName1("setColorSpace:"); - void _objc_msgSend_310( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_310( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_310Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_310 = __objc_msgSend_310Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_canRepresentDisplayGamut_1 = - _registerName1("canRepresentDisplayGamut:"); - bool _objc_msgSend_311( - ffi.Pointer obj, - ffi.Pointer sel, - int displayGamut, - ) { - return __objc_msgSend_311( - obj, - sel, - displayGamut, - ); - } - - late final __objc_msgSend_311Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_311 = __objc_msgSend_311Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_windowNumbersWithOptions_1 = - _registerName1("windowNumbersWithOptions:"); - ffi.Pointer _objc_msgSend_312( - ffi.Pointer obj, - ffi.Pointer sel, - int options, - ) { - return __objc_msgSend_312( - obj, - sel, - options, - ); - } - - late final __objc_msgSend_312Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_312 = __objc_msgSend_312Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_windowNumberAtPoint_belowWindowWithWindowNumber_1 = - _registerName1("windowNumberAtPoint:belowWindowWithWindowNumber:"); - int _objc_msgSend_313( - ffi.Pointer obj, - ffi.Pointer sel, - CGPoint point, - int windowNumber, - ) { - return __objc_msgSend_313( - obj, - sel, - point, - windowNumber, - ); - } - - late final __objc_msgSend_313Ptr = _lookup< - ffi.NativeFunction< - ffi.Long Function(ffi.Pointer, ffi.Pointer, - CGPoint, ffi.Long)>>('objc_msgSend'); - late final __objc_msgSend_313 = __objc_msgSend_313Ptr.asFunction< - int Function( - ffi.Pointer, ffi.Pointer, CGPoint, int)>(); - - late final _sel_occlusionState1 = _registerName1("occlusionState"); - int _objc_msgSend_314( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_314( - obj, - sel, - ); - } - - late final __objc_msgSend_314Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_314 = __objc_msgSend_314Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_titlebarSeparatorStyle1 = - _registerName1("titlebarSeparatorStyle"); - int _objc_msgSend_315( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_315( - obj, - sel, - ); - } - - late final __objc_msgSend_315Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_315 = __objc_msgSend_315Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setTitlebarSeparatorStyle_1 = - _registerName1("setTitlebarSeparatorStyle:"); - void _objc_msgSend_316( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_316( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_316Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_316 = __objc_msgSend_316Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _class_NSViewController1 = _getClass1("NSViewController"); - late final _sel_contentViewController1 = - _registerName1("contentViewController"); - ffi.Pointer _objc_msgSend_317( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_317( - obj, - sel, - ); - } - - late final __objc_msgSend_317Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_317 = __objc_msgSend_317Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setContentViewController_1 = - _registerName1("setContentViewController:"); - void _objc_msgSend_318( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_318( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_318Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_318 = __objc_msgSend_318Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_windowWithContentViewController_1 = - _registerName1("windowWithContentViewController:"); - instancetype _objc_msgSend_319( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer contentViewController, - ) { - return __objc_msgSend_319( - obj, - sel, - contentViewController, - ); - } - - late final __objc_msgSend_319Ptr = _lookup< - ffi.NativeFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_319 = __objc_msgSend_319Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_performWindowDragWithEvent_1 = - _registerName1("performWindowDragWithEvent:"); - late final _sel_initialFirstResponder1 = - _registerName1("initialFirstResponder"); - late final _sel_setInitialFirstResponder_1 = - _registerName1("setInitialFirstResponder:"); - late final _sel_selectNextKeyView_1 = _registerName1("selectNextKeyView:"); - late final _sel_selectPreviousKeyView_1 = - _registerName1("selectPreviousKeyView:"); - late final _sel_selectKeyViewFollowingView_1 = - _registerName1("selectKeyViewFollowingView:"); - late final _sel_selectKeyViewPrecedingView_1 = - _registerName1("selectKeyViewPrecedingView:"); - late final _sel_keyViewSelectionDirection1 = - _registerName1("keyViewSelectionDirection"); - int _objc_msgSend_320( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_320( - obj, - sel, - ); - } - - late final __objc_msgSend_320Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_320 = __objc_msgSend_320Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _class_NSButtonCell1 = _getClass1("NSButtonCell"); - late final _sel_defaultButtonCell1 = _registerName1("defaultButtonCell"); - ffi.Pointer _objc_msgSend_321( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_321( - obj, - sel, - ); - } - - late final __objc_msgSend_321Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_321 = __objc_msgSend_321Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setDefaultButtonCell_1 = - _registerName1("setDefaultButtonCell:"); - void _objc_msgSend_322( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_322( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_322Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_322 = __objc_msgSend_322Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_disableKeyEquivalentForDefaultButtonCell1 = - _registerName1("disableKeyEquivalentForDefaultButtonCell"); - late final _sel_enableKeyEquivalentForDefaultButtonCell1 = - _registerName1("enableKeyEquivalentForDefaultButtonCell"); - late final _sel_autorecalculatesKeyViewLoop1 = - _registerName1("autorecalculatesKeyViewLoop"); - late final _sel_setAutorecalculatesKeyViewLoop_1 = - _registerName1("setAutorecalculatesKeyViewLoop:"); - late final _sel_recalculateKeyViewLoop1 = - _registerName1("recalculateKeyViewLoop"); - late final _class_NSToolbar1 = _getClass1("NSToolbar"); - late final _sel_toolbar1 = _registerName1("toolbar"); - ffi.Pointer _objc_msgSend_323( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_323( - obj, - sel, - ); - } - - late final __objc_msgSend_323Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_323 = __objc_msgSend_323Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setToolbar_1 = _registerName1("setToolbar:"); - void _objc_msgSend_324( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_324( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_324Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_324 = __objc_msgSend_324Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_toggleToolbarShown_1 = _registerName1("toggleToolbarShown:"); - late final _sel_runToolbarCustomizationPalette_1 = - _registerName1("runToolbarCustomizationPalette:"); - late final _sel_showsToolbarButton1 = _registerName1("showsToolbarButton"); - late final _sel_setShowsToolbarButton_1 = - _registerName1("setShowsToolbarButton:"); - late final _sel_allowsAutomaticWindowTabbing1 = - _registerName1("allowsAutomaticWindowTabbing"); - late final _sel_setAllowsAutomaticWindowTabbing_1 = - _registerName1("setAllowsAutomaticWindowTabbing:"); - late final _sel_userTabbingPreference1 = - _registerName1("userTabbingPreference"); - int _objc_msgSend_325( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_325( - obj, - sel, - ); - } - - late final __objc_msgSend_325Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_325 = __objc_msgSend_325Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_tabbingMode1 = _registerName1("tabbingMode"); - int _objc_msgSend_326( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_326( - obj, - sel, - ); - } - - late final __objc_msgSend_326Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_326 = __objc_msgSend_326Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setTabbingMode_1 = _registerName1("setTabbingMode:"); - void _objc_msgSend_327( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_327( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_327Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_327 = __objc_msgSend_327Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_tabbingIdentifier1 = _registerName1("tabbingIdentifier"); - late final _sel_setTabbingIdentifier_1 = - _registerName1("setTabbingIdentifier:"); - late final _sel_selectNextTab_1 = _registerName1("selectNextTab:"); - late final _sel_selectPreviousTab_1 = _registerName1("selectPreviousTab:"); - late final _sel_moveTabToNewWindow_1 = _registerName1("moveTabToNewWindow:"); - late final _sel_mergeAllWindows_1 = _registerName1("mergeAllWindows:"); - late final _sel_toggleTabBar_1 = _registerName1("toggleTabBar:"); - late final _sel_toggleTabOverview_1 = _registerName1("toggleTabOverview:"); - late final _sel_tabbedWindows1 = _registerName1("tabbedWindows"); - late final _sel_addTabbedWindow_ordered_1 = - _registerName1("addTabbedWindow:ordered:"); - late final _class_NSWindowTab1 = _getClass1("NSWindowTab"); - late final _sel_tab1 = _registerName1("tab"); - ffi.Pointer _objc_msgSend_328( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_328( - obj, - sel, - ); - } - - late final __objc_msgSend_328Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_328 = __objc_msgSend_328Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _class_NSWindowTabGroup1 = _getClass1("NSWindowTabGroup"); - late final _sel_tabGroup1 = _registerName1("tabGroup"); - ffi.Pointer _objc_msgSend_329( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_329( - obj, - sel, - ); - } - - late final __objc_msgSend_329Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_329 = __objc_msgSend_329Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_transferWindowSharingToWindow_completionHandler_1 = - _registerName1("transferWindowSharingToWindow:completionHandler:"); - void _objc_msgSend_330( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer window, - ffi.Pointer<_ObjCBlock> completionHandler, - ) { - return __objc_msgSend_330( - obj, - sel, - window, - completionHandler, - ); - } - - late final __objc_msgSend_330Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); - late final __objc_msgSend_330 = __objc_msgSend_330Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer<_ObjCBlock>)>(); - - late final _sel_hasActiveWindowSharingSession1 = - _registerName1("hasActiveWindowSharingSession"); - late final _sel_windowTitlebarLayoutDirection1 = - _registerName1("windowTitlebarLayoutDirection"); - late final _sel_trackEventsMatchingMask_timeout_mode_handler_1 = - _registerName1("trackEventsMatchingMask:timeout:mode:handler:"); - void _objc_msgSend_331( - ffi.Pointer obj, - ffi.Pointer sel, - int mask, - double timeout, - ffi.Pointer mode, - ffi.Pointer<_ObjCBlock> trackingHandler, - ) { - return __objc_msgSend_331( - obj, - sel, - mask, - timeout, - mode, - trackingHandler, - ); - } - - late final __objc_msgSend_331Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Double, - ffi.Pointer, - ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); - late final __objc_msgSend_331 = __objc_msgSend_331Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int, double, - ffi.Pointer, ffi.Pointer<_ObjCBlock>)>(); - - late final _sel_nextEventMatchingMask_1 = - _registerName1("nextEventMatchingMask:"); - ffi.Pointer _objc_msgSend_332( - ffi.Pointer obj, - ffi.Pointer sel, - int mask, - ) { - return __objc_msgSend_332( - obj, - sel, - mask, - ); - } - - late final __objc_msgSend_332Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_332 = __objc_msgSend_332Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _class_NSDate1 = _getClass1("NSDate"); - late final _sel_timeIntervalSinceReferenceDate1 = - _registerName1("timeIntervalSinceReferenceDate"); - late final _sel_initWithTimeIntervalSinceReferenceDate_1 = - _registerName1("initWithTimeIntervalSinceReferenceDate:"); - instancetype _objc_msgSend_333( - ffi.Pointer obj, - ffi.Pointer sel, - double ti, - ) { - return __objc_msgSend_333( - obj, - sel, - ti, - ); - } - - late final __objc_msgSend_333Ptr = _lookup< - ffi.NativeFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Double)>>('objc_msgSend'); - late final __objc_msgSend_333 = __objc_msgSend_333Ptr.asFunction< - instancetype Function( - ffi.Pointer, ffi.Pointer, double)>(); - - late final _sel_nextEventMatchingMask_untilDate_inMode_dequeue_1 = - _registerName1("nextEventMatchingMask:untilDate:inMode:dequeue:"); - ffi.Pointer _objc_msgSend_334( - ffi.Pointer obj, - ffi.Pointer sel, - int mask, - ffi.Pointer expiration, - ffi.Pointer mode, - bool deqFlag, - ) { - return __objc_msgSend_334( - obj, - sel, - mask, - expiration, - mode, - deqFlag, - ); - } - - late final __objc_msgSend_334Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer, - ffi.Pointer, - ffi.Bool)>>('objc_msgSend'); - late final __objc_msgSend_334 = __objc_msgSend_334Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer, - ffi.Pointer, - bool)>(); - - late final _sel_discardEventsMatchingMask_beforeEvent_1 = - _registerName1("discardEventsMatchingMask:beforeEvent:"); - void _objc_msgSend_335( - ffi.Pointer obj, - ffi.Pointer sel, - int mask, - ffi.Pointer lastEvent, - ) { - return __objc_msgSend_335( - obj, - sel, - mask, - lastEvent, - ); - } - - late final __objc_msgSend_335Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_335 = __objc_msgSend_335Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int, - ffi.Pointer)>(); - - late final _sel_postEvent_atStart_1 = _registerName1("postEvent:atStart:"); - void _objc_msgSend_336( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer event, - bool flag, - ) { - return __objc_msgSend_336( - obj, - sel, - event, - flag, - ); - } - - late final __objc_msgSend_336Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Bool)>>('objc_msgSend'); - late final __objc_msgSend_336 = __objc_msgSend_336Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, bool)>(); - - late final _sel_sendEvent_1 = _registerName1("sendEvent:"); - late final _sel_currentEvent1 = _registerName1("currentEvent"); - ffi.Pointer _objc_msgSend_337( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_337( - obj, - sel, - ); - } - - late final __objc_msgSend_337Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_337 = __objc_msgSend_337Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_acceptsMouseMovedEvents1 = - _registerName1("acceptsMouseMovedEvents"); - late final _sel_setAcceptsMouseMovedEvents_1 = - _registerName1("setAcceptsMouseMovedEvents:"); - late final _sel_ignoresMouseEvents1 = _registerName1("ignoresMouseEvents"); - late final _sel_setIgnoresMouseEvents_1 = - _registerName1("setIgnoresMouseEvents:"); - late final _sel_mouseLocationOutsideOfEventStream1 = - _registerName1("mouseLocationOutsideOfEventStream"); - late final _sel_disableCursorRects1 = _registerName1("disableCursorRects"); - late final _sel_enableCursorRects1 = _registerName1("enableCursorRects"); - late final _sel_discardCursorRects1 = _registerName1("discardCursorRects"); - late final _sel_areCursorRectsEnabled1 = - _registerName1("areCursorRectsEnabled"); - late final _sel_invalidateCursorRectsForView_1 = - _registerName1("invalidateCursorRectsForView:"); - late final _sel_resetCursorRects1 = _registerName1("resetCursorRects"); - late final _class_NSPasteboard1 = _getClass1("NSPasteboard"); - late final _sel_generalPasteboard1 = _registerName1("generalPasteboard"); - ffi.Pointer _objc_msgSend_338( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_338( - obj, - sel, - ); - } - - late final __objc_msgSend_338Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_338 = __objc_msgSend_338Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_pasteboardWithName_1 = _registerName1("pasteboardWithName:"); - ffi.Pointer _objc_msgSend_339( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer name, - ) { - return __objc_msgSend_339( - obj, - sel, - name, - ); - } - - late final __objc_msgSend_339Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_339 = __objc_msgSend_339Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_pasteboardWithUniqueName1 = - _registerName1("pasteboardWithUniqueName"); - late final _sel_name1 = _registerName1("name"); - late final _sel_changeCount1 = _registerName1("changeCount"); - late final _sel_releaseGlobally1 = _registerName1("releaseGlobally"); - late final _sel_prepareForNewContentsWithOptions_1 = - _registerName1("prepareForNewContentsWithOptions:"); - int _objc_msgSend_340( - ffi.Pointer obj, - ffi.Pointer sel, - int options, - ) { - return __objc_msgSend_340( - obj, - sel, - options, - ); - } - - late final __objc_msgSend_340Ptr = _lookup< - ffi.NativeFunction< - ffi.Long Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_340 = __objc_msgSend_340Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_clearContents1 = _registerName1("clearContents"); - late final _sel_writeObjects_1 = _registerName1("writeObjects:"); - late final _class_NSArray1 = _getClass1("NSArray"); - late final _sel_count1 = _registerName1("count"); - late final _sel_objectAtIndex_1 = _registerName1("objectAtIndex:"); - ffi.Pointer _objc_msgSend_341( - ffi.Pointer obj, - ffi.Pointer sel, - int index, - ) { - return __objc_msgSend_341( - obj, - sel, - index, - ); - } - - late final __objc_msgSend_341Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); - late final __objc_msgSend_341 = __objc_msgSend_341Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_initWithObjects_count_1 = - _registerName1("initWithObjects:count:"); - instancetype _objc_msgSend_342( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer> objects, - int cnt, - ) { - return __objc_msgSend_342( - obj, - sel, - objects, - cnt, - ); - } - - late final __objc_msgSend_342Ptr = _lookup< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>, - ffi.UnsignedLong)>>('objc_msgSend'); - late final __objc_msgSend_342 = __objc_msgSend_342Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer>, int)>(); - - late final _sel_readObjectsForClasses_options_1 = - _registerName1("readObjectsForClasses:options:"); - ffi.Pointer _objc_msgSend_343( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer classArray, - ffi.Pointer options, - ) { - return __objc_msgSend_343( - obj, - sel, - classArray, - options, - ); - } - - late final __objc_msgSend_343Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_343 = __objc_msgSend_343Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_pasteboardItems1 = _registerName1("pasteboardItems"); - ffi.Pointer _objc_msgSend_344( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_344( - obj, - sel, - ); - } - - late final __objc_msgSend_344Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_344 = __objc_msgSend_344Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _class_NSPasteboardItem1 = _getClass1("NSPasteboardItem"); - late final _sel_indexOfPasteboardItem_1 = - _registerName1("indexOfPasteboardItem:"); - int _objc_msgSend_345( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer pasteboardItem, - ) { - return __objc_msgSend_345( - obj, - sel, - pasteboardItem, - ); - } - - late final __objc_msgSend_345Ptr = _lookup< - ffi.NativeFunction< - ffi.UnsignedLong Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_345 = __objc_msgSend_345Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_canReadItemWithDataConformingToTypes_1 = - _registerName1("canReadItemWithDataConformingToTypes:"); - bool _objc_msgSend_346( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer types, - ) { - return __objc_msgSend_346( - obj, - sel, - types, - ); - } - - late final __objc_msgSend_346Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_346 = __objc_msgSend_346Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_canReadObjectForClasses_options_1 = - _registerName1("canReadObjectForClasses:options:"); - bool _objc_msgSend_347( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer classArray, - ffi.Pointer options, - ) { - return __objc_msgSend_347( - obj, - sel, - classArray, - options, - ); - } - - late final __objc_msgSend_347Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_347 = __objc_msgSend_347Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_declareTypes_owner_1 = _registerName1("declareTypes:owner:"); - int _objc_msgSend_348( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer newTypes, - ffi.Pointer newOwner, - ) { - return __objc_msgSend_348( - obj, - sel, - newTypes, - newOwner, - ); - } - - late final __objc_msgSend_348Ptr = _lookup< - ffi.NativeFunction< - ffi.Long Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_348 = __objc_msgSend_348Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_addTypes_owner_1 = _registerName1("addTypes:owner:"); - late final _sel_types1 = _registerName1("types"); - late final _sel_availableTypeFromArray_1 = - _registerName1("availableTypeFromArray:"); - ffi.Pointer _objc_msgSend_349( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer types, - ) { - return __objc_msgSend_349( - obj, - sel, - types, - ); - } - - late final __objc_msgSend_349Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_349 = __objc_msgSend_349Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setData_forType_1 = _registerName1("setData:forType:"); - bool _objc_msgSend_350( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer data, - ffi.Pointer dataType, - ) { - return __objc_msgSend_350( - obj, - sel, - data, - dataType, - ); - } - - late final __objc_msgSend_350Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_350 = __objc_msgSend_350Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setPropertyList_forType_1 = - _registerName1("setPropertyList:forType:"); - bool _objc_msgSend_351( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer plist, - ffi.Pointer dataType, - ) { - return __objc_msgSend_351( - obj, - sel, - plist, - dataType, - ); - } - - late final __objc_msgSend_351Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_351 = __objc_msgSend_351Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setString_forType_1 = _registerName1("setString:forType:"); - bool _objc_msgSend_352( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer string, - ffi.Pointer dataType, - ) { - return __objc_msgSend_352( - obj, - sel, - string, - dataType, - ); - } - - late final __objc_msgSend_352Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_352 = __objc_msgSend_352Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_dataForType_1 = _registerName1("dataForType:"); - ffi.Pointer _objc_msgSend_353( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer dataType, - ) { - return __objc_msgSend_353( - obj, - sel, - dataType, - ); - } - - late final __objc_msgSend_353Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_353 = __objc_msgSend_353Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_propertyListForType_1 = - _registerName1("propertyListForType:"); - late final _sel_stringForType_1 = _registerName1("stringForType:"); - ffi.Pointer _objc_msgSend_354( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer dataType, - ) { - return __objc_msgSend_354( - obj, - sel, - dataType, - ); - } - - late final __objc_msgSend_354Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_354 = __objc_msgSend_354Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_dragImage_at_offset_event_pasteboard_source_slideBack_1 = - _registerName1("dragImage:at:offset:event:pasteboard:source:slideBack:"); - void _objc_msgSend_355( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer image, - CGPoint baseLocation, - CGSize initialOffset, - ffi.Pointer event, - ffi.Pointer pboard, - ffi.Pointer sourceObj, - bool slideFlag, - ) { - return __objc_msgSend_355( - obj, - sel, - image, - baseLocation, - initialOffset, - event, - pboard, - sourceObj, - slideFlag, - ); - } - - late final __objc_msgSend_355Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - CGPoint, - CGSize, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Bool)>>('objc_msgSend'); - late final __objc_msgSend_355 = __objc_msgSend_355Ptr.asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - CGPoint, - CGSize, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - bool)>(); - - late final _sel_registerForDraggedTypes_1 = - _registerName1("registerForDraggedTypes:"); - void _objc_msgSend_356( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer newTypes, - ) { - return __objc_msgSend_356( - obj, - sel, - newTypes, - ); - } - - late final __objc_msgSend_356Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_356 = __objc_msgSend_356Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_unregisterDraggedTypes1 = - _registerName1("unregisterDraggedTypes"); - late final _sel_initWithWindowRef_1 = _registerName1("initWithWindowRef:"); - ffi.Pointer _objc_msgSend_357( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer windowRef, - ) { - return __objc_msgSend_357( - obj, - sel, - windowRef, - ); - } - - late final __objc_msgSend_357Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_357 = __objc_msgSend_357Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_windowRef1 = _registerName1("windowRef"); - late final _class_CADisplayLink1 = _getClass1("CADisplayLink"); - late final _sel_displayLinkWithTarget_selector_1 = - _registerName1("displayLinkWithTarget:selector:"); - ffi.Pointer _objc_msgSend_358( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer target, - ffi.Pointer selector, - ) { - return __objc_msgSend_358( - obj, - sel, - target, - selector, - ); - } - - late final __objc_msgSend_358Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_358 = __objc_msgSend_358Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_cacheImageInRect_1 = _registerName1("cacheImageInRect:"); - late final _sel_restoreCachedImage1 = _registerName1("restoreCachedImage"); - late final _sel_discardCachedImage1 = _registerName1("discardCachedImage"); - late final _sel_menuChanged_1 = _registerName1("menuChanged:"); - void _objc_msgSend_359( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer menu, - ) { - return __objc_msgSend_359( - obj, - sel, - menu, - ); - } - - late final __objc_msgSend_359Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_359 = __objc_msgSend_359Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_gState1 = _registerName1("gState"); - late final _sel_convertBaseToScreen_1 = - _registerName1("convertBaseToScreen:"); - late final _sel_convertScreenToBase_1 = - _registerName1("convertScreenToBase:"); - late final _sel_userSpaceScaleFactor1 = - _registerName1("userSpaceScaleFactor"); - late final _sel_useOptimizedDrawing_1 = - _registerName1("useOptimizedDrawing:"); - late final _sel_canStoreColor1 = _registerName1("canStoreColor"); - late final _sel_disableFlushWindow1 = _registerName1("disableFlushWindow"); - late final _sel_enableFlushWindow1 = _registerName1("enableFlushWindow"); - late final _sel_isFlushWindowDisabled1 = - _registerName1("isFlushWindowDisabled"); - late final _sel_flushWindow1 = _registerName1("flushWindow"); - late final _sel_flushWindowIfNeeded1 = _registerName1("flushWindowIfNeeded"); - late final _sel_isAutodisplay1 = _registerName1("isAutodisplay"); - late final _sel_setAutodisplay_1 = _registerName1("setAutodisplay:"); - late final _sel_graphicsContext1 = _registerName1("graphicsContext"); - late final _sel_isOneShot1 = _registerName1("isOneShot"); - late final _sel_setOneShot_1 = _registerName1("setOneShot:"); - late final _sel_preferredBackingLocation1 = - _registerName1("preferredBackingLocation"); - int _objc_msgSend_360( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_360( - obj, - sel, - ); - } - - late final __objc_msgSend_360Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_360 = __objc_msgSend_360Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setPreferredBackingLocation_1 = - _registerName1("setPreferredBackingLocation:"); - void _objc_msgSend_361( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_361( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_361Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_361 = __objc_msgSend_361Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_backingLocation1 = _registerName1("backingLocation"); - late final _sel_showsResizeIndicator1 = - _registerName1("showsResizeIndicator"); - late final _sel_setShowsResizeIndicator_1 = - _registerName1("setShowsResizeIndicator:"); - late final _class_NSApplication1 = _getClass1("NSApplication"); - late final _sel_sharedApplication1 = _registerName1("sharedApplication"); - ffi.Pointer _objc_msgSend_362( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_362( - obj, - sel, - ); - } - - late final __objc_msgSend_362Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_362 = __objc_msgSend_362Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_hide_1 = _registerName1("hide:"); - late final _sel_unhide_1 = _registerName1("unhide:"); - late final _sel_unhideWithoutActivation1 = - _registerName1("unhideWithoutActivation"); - late final _sel_windowWithWindowNumber_1 = - _registerName1("windowWithWindowNumber:"); - ffi.Pointer _objc_msgSend_363( - ffi.Pointer obj, - ffi.Pointer sel, - int windowNum, - ) { - return __objc_msgSend_363( - obj, - sel, - windowNum, - ); - } - - late final __objc_msgSend_363Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Long)>>('objc_msgSend'); - late final __objc_msgSend_363 = __objc_msgSend_363Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_mainWindow1 = _registerName1("mainWindow"); - late final _sel_keyWindow1 = _registerName1("keyWindow"); - late final _sel_isActive1 = _registerName1("isActive"); - late final _sel_isRunning1 = _registerName1("isRunning"); - late final _sel_deactivate1 = _registerName1("deactivate"); - late final _sel_activateIgnoringOtherApps_1 = - _registerName1("activateIgnoringOtherApps:"); - late final _sel_activate1 = _registerName1("activate"); - late final _class_NSRunningApplication1 = _getClass1("NSRunningApplication"); - late final _sel_isTerminated1 = _registerName1("isTerminated"); - late final _sel_isFinishedLaunching1 = _registerName1("isFinishedLaunching"); - late final _sel_ownsMenuBar1 = _registerName1("ownsMenuBar"); - late final _sel_activationPolicy1 = _registerName1("activationPolicy"); - int _objc_msgSend_364( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_364( - obj, - sel, - ); - } - - late final __objc_msgSend_364Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_364 = __objc_msgSend_364Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_localizedName1 = _registerName1("localizedName"); - late final _sel_bundleIdentifier1 = _registerName1("bundleIdentifier"); - late final _sel_bundleURL1 = _registerName1("bundleURL"); - late final _sel_executableURL1 = _registerName1("executableURL"); - late final _sel_processIdentifier1 = _registerName1("processIdentifier"); - late final _sel_launchDate1 = _registerName1("launchDate"); - ffi.Pointer _objc_msgSend_365( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_365( - obj, - sel, - ); - } - - late final __objc_msgSend_365Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_365 = __objc_msgSend_365Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_icon1 = _registerName1("icon"); - late final _sel_executableArchitecture1 = - _registerName1("executableArchitecture"); - late final _sel_hide1 = _registerName1("hide"); - late final _sel_unhide1 = _registerName1("unhide"); - late final _sel_activateFromApplication_options_1 = - _registerName1("activateFromApplication:options:"); - bool _objc_msgSend_366( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer application, - int options, - ) { - return __objc_msgSend_366( - obj, - sel, - application, - options, - ); - } - - late final __objc_msgSend_366Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_366 = __objc_msgSend_366Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, int)>(); - - late final _sel_activateWithOptions_1 = - _registerName1("activateWithOptions:"); - bool _objc_msgSend_367( - ffi.Pointer obj, - ffi.Pointer sel, - int options, - ) { - return __objc_msgSend_367( - obj, - sel, - options, - ); - } - - late final __objc_msgSend_367Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_367 = __objc_msgSend_367Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_terminate1 = _registerName1("terminate"); - late final _sel_forceTerminate1 = _registerName1("forceTerminate"); - late final _sel_runningApplicationsWithBundleIdentifier_1 = - _registerName1("runningApplicationsWithBundleIdentifier:"); - ffi.Pointer _objc_msgSend_368( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer bundleIdentifier, - ) { - return __objc_msgSend_368( - obj, - sel, - bundleIdentifier, - ); - } - - late final __objc_msgSend_368Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_368 = __objc_msgSend_368Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_runningApplicationWithProcessIdentifier_1 = - _registerName1("runningApplicationWithProcessIdentifier:"); - instancetype _objc_msgSend_369( - ffi.Pointer obj, - ffi.Pointer sel, - int pid, - ) { - return __objc_msgSend_369( - obj, - sel, - pid, - ); - } - - late final __objc_msgSend_369Ptr = _lookup< - ffi.NativeFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Int)>>('objc_msgSend'); - late final __objc_msgSend_369 = __objc_msgSend_369Ptr.asFunction< - instancetype Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_currentApplication1 = _registerName1("currentApplication"); - ffi.Pointer _objc_msgSend_370( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_370( - obj, - sel, - ); - } - - late final __objc_msgSend_370Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_370 = __objc_msgSend_370Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_terminateAutomaticallyTerminableApplications1 = - _registerName1("terminateAutomaticallyTerminableApplications"); - late final _sel_yieldActivationToApplication_1 = - _registerName1("yieldActivationToApplication:"); - void _objc_msgSend_371( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer application, - ) { - return __objc_msgSend_371( - obj, - sel, - application, - ); - } - - late final __objc_msgSend_371Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_371 = __objc_msgSend_371Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_yieldActivationToApplicationWithBundleIdentifier_1 = - _registerName1("yieldActivationToApplicationWithBundleIdentifier:"); - late final _sel_hideOtherApplications_1 = - _registerName1("hideOtherApplications:"); - late final _sel_unhideAllApplications_1 = - _registerName1("unhideAllApplications:"); - late final _sel_finishLaunching1 = _registerName1("finishLaunching"); - late final _sel_run1 = _registerName1("run"); - late final _sel_runModalForWindow_1 = _registerName1("runModalForWindow:"); - int _objc_msgSend_372( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer window, - ) { - return __objc_msgSend_372( - obj, - sel, - window, - ); - } - - late final __objc_msgSend_372Ptr = _lookup< - ffi.NativeFunction< - ffi.Long Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_372 = __objc_msgSend_372Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_stop_1 = _registerName1("stop:"); - late final _sel_stopModal1 = _registerName1("stopModal"); - late final _sel_stopModalWithCode_1 = _registerName1("stopModalWithCode:"); - late final _sel_abortModal1 = _registerName1("abortModal"); - late final _sel_modalWindow1 = _registerName1("modalWindow"); - late final _sel_beginModalSessionForWindow_1 = - _registerName1("beginModalSessionForWindow:"); - ffi.Pointer<_NSModalSession> _objc_msgSend_373( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer window, - ) { - return __objc_msgSend_373( - obj, - sel, - window, - ); - } - - late final __objc_msgSend_373Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer<_NSModalSession> Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_373 = __objc_msgSend_373Ptr.asFunction< - ffi.Pointer<_NSModalSession> Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_runModalSession_1 = _registerName1("runModalSession:"); - int _objc_msgSend_374( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer<_NSModalSession> session, - ) { - return __objc_msgSend_374( - obj, - sel, - session, - ); - } - - late final __objc_msgSend_374Ptr = _lookup< - ffi.NativeFunction< - ffi.Long Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer<_NSModalSession>)>>('objc_msgSend'); - late final __objc_msgSend_374 = __objc_msgSend_374Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer<_NSModalSession>)>(); - - late final _sel_endModalSession_1 = _registerName1("endModalSession:"); - void _objc_msgSend_375( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer<_NSModalSession> session, - ) { - return __objc_msgSend_375( - obj, - sel, - session, - ); - } - - late final __objc_msgSend_375Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer<_NSModalSession>)>>('objc_msgSend'); - late final __objc_msgSend_375 = __objc_msgSend_375Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer<_NSModalSession>)>(); - - late final _sel_terminate_1 = _registerName1("terminate:"); - late final _sel_requestUserAttention_1 = - _registerName1("requestUserAttention:"); - int _objc_msgSend_376( - ffi.Pointer obj, - ffi.Pointer sel, - int requestType, - ) { - return __objc_msgSend_376( - obj, - sel, - requestType, - ); - } - - late final __objc_msgSend_376Ptr = _lookup< - ffi.NativeFunction< - ffi.Long Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_376 = __objc_msgSend_376Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_cancelUserAttentionRequest_1 = - _registerName1("cancelUserAttentionRequest:"); - late final _sel_enumerateWindowsWithOptions_usingBlock_1 = - _registerName1("enumerateWindowsWithOptions:usingBlock:"); - void _objc_msgSend_377( - ffi.Pointer obj, - ffi.Pointer sel, - int options, - ffi.Pointer<_ObjCBlock> block, - ) { - return __objc_msgSend_377( - obj, - sel, - options, - block, - ); - } - - late final __objc_msgSend_377Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32, ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); - late final __objc_msgSend_377 = __objc_msgSend_377Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int, - ffi.Pointer<_ObjCBlock>)>(); - - late final _sel_preventWindowOrdering1 = - _registerName1("preventWindowOrdering"); - late final _sel_windows1 = _registerName1("windows"); - ffi.Pointer _objc_msgSend_378( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_378( - obj, - sel, - ); - } - - late final __objc_msgSend_378Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_378 = __objc_msgSend_378Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setWindowsNeedUpdate_1 = - _registerName1("setWindowsNeedUpdate:"); - late final _sel_updateWindows1 = _registerName1("updateWindows"); - late final _sel_mainMenu1 = _registerName1("mainMenu"); - late final _sel_setMainMenu_1 = _registerName1("setMainMenu:"); - late final _sel_helpMenu1 = _registerName1("helpMenu"); - late final _sel_setHelpMenu_1 = _registerName1("setHelpMenu:"); - late final _sel_applicationIconImage1 = - _registerName1("applicationIconImage"); - late final _sel_setApplicationIconImage_1 = - _registerName1("setApplicationIconImage:"); - late final _sel_setActivationPolicy_1 = - _registerName1("setActivationPolicy:"); - bool _objc_msgSend_379( - ffi.Pointer obj, - ffi.Pointer sel, - int activationPolicy, - ) { - return __objc_msgSend_379( - obj, - sel, - activationPolicy, - ); - } - - late final __objc_msgSend_379Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_379 = __objc_msgSend_379Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _class_NSException1 = _getClass1("NSException"); - late final _class_NSDictionary1 = _getClass1("NSDictionary"); - late final _sel_objectForKey_1 = _registerName1("objectForKey:"); - ffi.Pointer _objc_msgSend_380( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer aKey, - ) { - return __objc_msgSend_380( - obj, - sel, - aKey, - ); - } - - late final __objc_msgSend_380Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_380 = __objc_msgSend_380Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_keyEnumerator1 = _registerName1("keyEnumerator"); - late final _sel_initWithObjects_forKeys_count_1 = - _registerName1("initWithObjects:forKeys:count:"); - instancetype _objc_msgSend_381( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer> objects, - ffi.Pointer> keys, - int cnt, - ) { - return __objc_msgSend_381( - obj, - sel, - objects, - keys, - cnt, - ); - } - - late final __objc_msgSend_381Ptr = _lookup< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>, - ffi.Pointer>, - ffi.UnsignedLong)>>('objc_msgSend'); - late final __objc_msgSend_381 = __objc_msgSend_381Ptr.asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>, - ffi.Pointer>, - int)>(); - - late final _sel_exceptionWithName_reason_userInfo_1 = - _registerName1("exceptionWithName:reason:userInfo:"); - ffi.Pointer _objc_msgSend_382( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer name, - ffi.Pointer reason, - ffi.Pointer userInfo, - ) { - return __objc_msgSend_382( - obj, - sel, - name, - reason, - userInfo, - ); - } - - late final __objc_msgSend_382Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_382 = __objc_msgSend_382Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_initWithName_reason_userInfo_1 = - _registerName1("initWithName:reason:userInfo:"); - instancetype _objc_msgSend_383( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer aName, - ffi.Pointer aReason, - ffi.Pointer aUserInfo, - ) { - return __objc_msgSend_383( - obj, - sel, - aName, - aReason, - aUserInfo, - ); - } - - late final __objc_msgSend_383Ptr = _lookup< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_383 = __objc_msgSend_383Ptr.asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_reason1 = _registerName1("reason"); - ffi.Pointer _objc_msgSend_384( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_384( - obj, - sel, - ); - } - - late final __objc_msgSend_384Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_384 = __objc_msgSend_384Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_callStackReturnAddresses1 = - _registerName1("callStackReturnAddresses"); - late final _sel_callStackSymbols1 = _registerName1("callStackSymbols"); - late final _sel_raise1 = _registerName1("raise"); - late final _sel_reportException_1 = _registerName1("reportException:"); - void _objc_msgSend_385( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer exception, - ) { - return __objc_msgSend_385( - obj, - sel, - exception, - ); - } - - late final __objc_msgSend_385Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_385 = __objc_msgSend_385Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_detachDrawingThread_toTarget_withObject_1 = - _registerName1("detachDrawingThread:toTarget:withObject:"); - void _objc_msgSend_386( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer selector, - ffi.Pointer target, - ffi.Pointer argument, - ) { - return __objc_msgSend_386( - obj, - sel, - selector, - target, - argument, - ); - } - - late final __objc_msgSend_386Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_386 = __objc_msgSend_386Ptr.asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_replyToApplicationShouldTerminate_1 = - _registerName1("replyToApplicationShouldTerminate:"); - late final _sel_replyToOpenOrPrint_1 = _registerName1("replyToOpenOrPrint:"); - void _objc_msgSend_387( - ffi.Pointer obj, - ffi.Pointer sel, - int reply, - ) { - return __objc_msgSend_387( - obj, - sel, - reply, - ); - } - - late final __objc_msgSend_387Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_387 = __objc_msgSend_387Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_orderFrontCharacterPalette_1 = - _registerName1("orderFrontCharacterPalette:"); - late final _sel_presentationOptions1 = _registerName1("presentationOptions"); - int _objc_msgSend_388( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_388( - obj, - sel, - ); - } - - late final __objc_msgSend_388Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_388 = __objc_msgSend_388Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setPresentationOptions_1 = - _registerName1("setPresentationOptions:"); - void _objc_msgSend_389( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_389( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_389Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_389 = __objc_msgSend_389Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_currentSystemPresentationOptions1 = - _registerName1("currentSystemPresentationOptions"); - int _objc_msgSend_390( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_390( - obj, - sel, - ); - } - - late final __objc_msgSend_390Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_390 = __objc_msgSend_390Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_isProtectedDataAvailable1 = - _registerName1("isProtectedDataAvailable"); - late final _class_NSAppearance1 = _getClass1("NSAppearance"); - late final _sel_currentAppearance1 = _registerName1("currentAppearance"); - ffi.Pointer _objc_msgSend_391( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_391( - obj, - sel, - ); - } - - late final __objc_msgSend_391Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_391 = __objc_msgSend_391Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setCurrentAppearance_1 = - _registerName1("setCurrentAppearance:"); - void _objc_msgSend_392( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_392( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_392Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_392 = __objc_msgSend_392Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_currentDrawingAppearance1 = - _registerName1("currentDrawingAppearance"); - late final _sel_performAsCurrentDrawingAppearance_1 = - _registerName1("performAsCurrentDrawingAppearance:"); - void _objc_msgSend_393( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer<_ObjCBlock> block, - ) { - return __objc_msgSend_393( - obj, - sel, - block, - ); - } - - late final __objc_msgSend_393Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); - late final __objc_msgSend_393 = __objc_msgSend_393Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer<_ObjCBlock>)>(); - - late final _sel_appearanceNamed_1 = _registerName1("appearanceNamed:"); - ffi.Pointer _objc_msgSend_394( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer name, - ) { - return __objc_msgSend_394( - obj, - sel, - name, - ); - } - - late final __objc_msgSend_394Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_394 = __objc_msgSend_394Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _class_NSBundle1 = _getClass1("NSBundle"); - late final _sel_mainBundle1 = _registerName1("mainBundle"); - ffi.Pointer _objc_msgSend_395( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_395( - obj, - sel, - ); - } - - late final __objc_msgSend_395Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_395 = __objc_msgSend_395Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_bundleWithPath_1 = _registerName1("bundleWithPath:"); - late final _sel_initWithPath_1 = _registerName1("initWithPath:"); - late final _sel_bundleWithURL_1 = _registerName1("bundleWithURL:"); - instancetype _objc_msgSend_396( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer url, - ) { - return __objc_msgSend_396( - obj, - sel, - url, - ); - } - - late final __objc_msgSend_396Ptr = _lookup< - ffi.NativeFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_396 = __objc_msgSend_396Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_initWithURL_1 = _registerName1("initWithURL:"); - late final _sel_bundleForClass_1 = _registerName1("bundleForClass:"); - ffi.Pointer _objc_msgSend_397( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer aClass, - ) { - return __objc_msgSend_397( - obj, - sel, - aClass, - ); - } - - late final __objc_msgSend_397Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_397 = __objc_msgSend_397Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_bundleWithIdentifier_1 = - _registerName1("bundleWithIdentifier:"); - ffi.Pointer _objc_msgSend_398( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer identifier, - ) { - return __objc_msgSend_398( - obj, - sel, - identifier, - ); - } - - late final __objc_msgSend_398Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_398 = __objc_msgSend_398Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_allBundles1 = _registerName1("allBundles"); - late final _sel_allFrameworks1 = _registerName1("allFrameworks"); - late final _sel_isLoaded1 = _registerName1("isLoaded"); - late final _sel_unload1 = _registerName1("unload"); - late final _sel_preflightAndReturnError_1 = - _registerName1("preflightAndReturnError:"); - bool _objc_msgSend_399( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer> error, - ) { - return __objc_msgSend_399( - obj, - sel, - error, - ); - } - - late final __objc_msgSend_399Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer>)>>('objc_msgSend'); - late final __objc_msgSend_399 = __objc_msgSend_399Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer>)>(); - - late final _sel_loadAndReturnError_1 = _registerName1("loadAndReturnError:"); - ffi.Pointer _objc_msgSend_400( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_400( - obj, - sel, - ); - } - - late final __objc_msgSend_400Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_400 = __objc_msgSend_400Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_resourceURL1 = _registerName1("resourceURL"); - late final _sel_URLForAuxiliaryExecutable_1 = - _registerName1("URLForAuxiliaryExecutable:"); - ffi.Pointer _objc_msgSend_401( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer executableName, - ) { - return __objc_msgSend_401( - obj, - sel, - executableName, - ); - } - - late final __objc_msgSend_401Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_401 = __objc_msgSend_401Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_privateFrameworksURL1 = - _registerName1("privateFrameworksURL"); - late final _sel_sharedFrameworksURL1 = _registerName1("sharedFrameworksURL"); - late final _sel_sharedSupportURL1 = _registerName1("sharedSupportURL"); - late final _sel_builtInPlugInsURL1 = _registerName1("builtInPlugInsURL"); - late final _sel_appStoreReceiptURL1 = _registerName1("appStoreReceiptURL"); - late final _sel_bundlePath1 = _registerName1("bundlePath"); - late final _sel_resourcePath1 = _registerName1("resourcePath"); - late final _sel_executablePath1 = _registerName1("executablePath"); - late final _sel_pathForAuxiliaryExecutable_1 = - _registerName1("pathForAuxiliaryExecutable:"); - late final _sel_privateFrameworksPath1 = - _registerName1("privateFrameworksPath"); - late final _sel_sharedFrameworksPath1 = - _registerName1("sharedFrameworksPath"); - late final _sel_sharedSupportPath1 = _registerName1("sharedSupportPath"); - late final _sel_builtInPlugInsPath1 = _registerName1("builtInPlugInsPath"); - late final _sel_URLForResource_withExtension_subdirectory_inBundleWithURL_1 = - _registerName1( - "URLForResource:withExtension:subdirectory:inBundleWithURL:"); - ffi.Pointer _objc_msgSend_402( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer name, - ffi.Pointer ext, - ffi.Pointer subpath, - ffi.Pointer bundleURL, - ) { - return __objc_msgSend_402( - obj, - sel, - name, - ext, - subpath, - bundleURL, - ); - } - - late final __objc_msgSend_402Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_402 = __objc_msgSend_402Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_URLsForResourcesWithExtension_subdirectory_inBundleWithURL_1 = - _registerName1( - "URLsForResourcesWithExtension:subdirectory:inBundleWithURL:"); - ffi.Pointer _objc_msgSend_403( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer ext, - ffi.Pointer subpath, - ffi.Pointer bundleURL, - ) { - return __objc_msgSend_403( - obj, - sel, - ext, - subpath, - bundleURL, - ); - } - - late final __objc_msgSend_403Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_403 = __objc_msgSend_403Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_URLForResource_withExtension_1 = - _registerName1("URLForResource:withExtension:"); - ffi.Pointer _objc_msgSend_404( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer name, - ffi.Pointer ext, - ) { - return __objc_msgSend_404( - obj, - sel, - name, - ext, - ); - } - - late final __objc_msgSend_404Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_404 = __objc_msgSend_404Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_URLForResource_withExtension_subdirectory_1 = - _registerName1("URLForResource:withExtension:subdirectory:"); - ffi.Pointer _objc_msgSend_405( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer name, - ffi.Pointer ext, - ffi.Pointer subpath, - ) { - return __objc_msgSend_405( - obj, - sel, - name, - ext, - subpath, - ); - } - - late final __objc_msgSend_405Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_405 = __objc_msgSend_405Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_URLForResource_withExtension_subdirectory_localization_1 = - _registerName1("URLForResource:withExtension:subdirectory:localization:"); - ffi.Pointer _objc_msgSend_406( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer name, - ffi.Pointer ext, - ffi.Pointer subpath, - ffi.Pointer localizationName, - ) { - return __objc_msgSend_406( - obj, - sel, - name, - ext, - subpath, - localizationName, - ); - } - - late final __objc_msgSend_406Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_406 = __objc_msgSend_406Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_URLsForResourcesWithExtension_subdirectory_1 = - _registerName1("URLsForResourcesWithExtension:subdirectory:"); - ffi.Pointer _objc_msgSend_407( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer ext, - ffi.Pointer subpath, - ) { - return __objc_msgSend_407( - obj, - sel, - ext, - subpath, - ); - } - - late final __objc_msgSend_407Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_407 = __objc_msgSend_407Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_URLsForResourcesWithExtension_subdirectory_localization_1 = - _registerName1( - "URLsForResourcesWithExtension:subdirectory:localization:"); - ffi.Pointer _objc_msgSend_408( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer ext, - ffi.Pointer subpath, - ffi.Pointer localizationName, - ) { - return __objc_msgSend_408( - obj, - sel, - ext, - subpath, - localizationName, - ); - } - - late final __objc_msgSend_408Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_408 = __objc_msgSend_408Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_pathForResource_ofType_inDirectory_1 = - _registerName1("pathForResource:ofType:inDirectory:"); - ffi.Pointer _objc_msgSend_409( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer name, - ffi.Pointer ext, - ffi.Pointer bundlePath, - ) { - return __objc_msgSend_409( - obj, - sel, - name, - ext, - bundlePath, - ); - } - - late final __objc_msgSend_409Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_409 = __objc_msgSend_409Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_pathsForResourcesOfType_inDirectory_1 = - _registerName1("pathsForResourcesOfType:inDirectory:"); - ffi.Pointer _objc_msgSend_410( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer ext, - ffi.Pointer bundlePath, - ) { - return __objc_msgSend_410( - obj, - sel, - ext, - bundlePath, - ); - } - - late final __objc_msgSend_410Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_410 = __objc_msgSend_410Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_pathForResource_ofType_1 = - _registerName1("pathForResource:ofType:"); - ffi.Pointer _objc_msgSend_411( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer name, - ffi.Pointer ext, - ) { - return __objc_msgSend_411( - obj, - sel, - name, - ext, - ); - } - - late final __objc_msgSend_411Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_411 = __objc_msgSend_411Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_pathForResource_ofType_inDirectory_forLocalization_1 = - _registerName1("pathForResource:ofType:inDirectory:forLocalization:"); - ffi.Pointer _objc_msgSend_412( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer name, - ffi.Pointer ext, - ffi.Pointer subpath, - ffi.Pointer localizationName, - ) { - return __objc_msgSend_412( - obj, - sel, - name, - ext, - subpath, - localizationName, - ); - } - - late final __objc_msgSend_412Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_412 = __objc_msgSend_412Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_pathsForResourcesOfType_inDirectory_forLocalization_1 = - _registerName1("pathsForResourcesOfType:inDirectory:forLocalization:"); - ffi.Pointer _objc_msgSend_413( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer ext, - ffi.Pointer subpath, - ffi.Pointer localizationName, - ) { - return __objc_msgSend_413( - obj, - sel, - ext, - subpath, - localizationName, - ); - } - - late final __objc_msgSend_413Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_413 = __objc_msgSend_413Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_localizedStringForKey_value_table_1 = - _registerName1("localizedStringForKey:value:table:"); - ffi.Pointer _objc_msgSend_414( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer key, - ffi.Pointer value, - ffi.Pointer tableName, - ) { - return __objc_msgSend_414( - obj, - sel, - key, - value, - tableName, - ); - } - - late final __objc_msgSend_414Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_414 = __objc_msgSend_414Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_localizedAttributedStringForKey_value_table_1 = - _registerName1("localizedAttributedStringForKey:value:table:"); - ffi.Pointer _objc_msgSend_415( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer key, - ffi.Pointer value, - ffi.Pointer tableName, - ) { - return __objc_msgSend_415( - obj, - sel, - key, - value, - tableName, - ); - } - - late final __objc_msgSend_415Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_415 = __objc_msgSend_415Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_infoDictionary1 = _registerName1("infoDictionary"); - late final _sel_localizedInfoDictionary1 = - _registerName1("localizedInfoDictionary"); - late final _sel_objectForInfoDictionaryKey_1 = - _registerName1("objectForInfoDictionaryKey:"); - late final _sel_classNamed_1 = _registerName1("classNamed:"); - late final _sel_principalClass1 = _registerName1("principalClass"); - late final _sel_preferredLocalizations1 = - _registerName1("preferredLocalizations"); - late final _sel_localizations1 = _registerName1("localizations"); - late final _sel_developmentLocalization1 = - _registerName1("developmentLocalization"); - late final _sel_preferredLocalizationsFromArray_1 = - _registerName1("preferredLocalizationsFromArray:"); - ffi.Pointer _objc_msgSend_416( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer localizationsArray, - ) { - return __objc_msgSend_416( - obj, - sel, - localizationsArray, - ); - } - - late final __objc_msgSend_416Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_416 = __objc_msgSend_416Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_preferredLocalizationsFromArray_forPreferences_1 = - _registerName1("preferredLocalizationsFromArray:forPreferences:"); - ffi.Pointer _objc_msgSend_417( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer localizationsArray, - ffi.Pointer preferencesArray, - ) { - return __objc_msgSend_417( - obj, - sel, - localizationsArray, - preferencesArray, - ); - } - - late final __objc_msgSend_417Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_417 = __objc_msgSend_417Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_executableArchitectures1 = - _registerName1("executableArchitectures"); - late final _sel_initWithAppearanceNamed_bundle_1 = - _registerName1("initWithAppearanceNamed:bundle:"); - instancetype _objc_msgSend_418( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer name, - ffi.Pointer bundle, - ) { - return __objc_msgSend_418( - obj, - sel, - name, - bundle, - ); - } - - late final __objc_msgSend_418Ptr = _lookup< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_418 = __objc_msgSend_418Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_bestMatchFromAppearancesWithNames_1 = - _registerName1("bestMatchFromAppearancesWithNames:"); - late final _sel_appearance1 = _registerName1("appearance"); - ffi.Pointer _objc_msgSend_419( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_419( - obj, - sel, - ); - } - - late final __objc_msgSend_419Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_419 = __objc_msgSend_419Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setAppearance_1 = _registerName1("setAppearance:"); - void _objc_msgSend_420( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_420( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_420Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_420 = __objc_msgSend_420Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_effectiveAppearance1 = _registerName1("effectiveAppearance"); - late final _sel_sendAction_to_from_1 = _registerName1("sendAction:to:from:"); - bool _objc_msgSend_421( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer action, - ffi.Pointer target, - ffi.Pointer sender, - ) { - return __objc_msgSend_421( - obj, - sel, - action, - target, - sender, - ); - } - - late final __objc_msgSend_421Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_421 = __objc_msgSend_421Ptr.asFunction< - bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_targetForAction_1 = _registerName1("targetForAction:"); - ffi.Pointer _objc_msgSend_422( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer action, - ) { - return __objc_msgSend_422( - obj, - sel, - action, - ); - } - - late final __objc_msgSend_422Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_422 = __objc_msgSend_422Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_targetForAction_to_from_1 = - _registerName1("targetForAction:to:from:"); - ffi.Pointer _objc_msgSend_423( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer action, - ffi.Pointer target, - ffi.Pointer sender, - ) { - return __objc_msgSend_423( - obj, - sel, - action, - target, - sender, - ); - } - - late final __objc_msgSend_423Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_423 = __objc_msgSend_423Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_windowsMenu1 = _registerName1("windowsMenu"); - late final _sel_setWindowsMenu_1 = _registerName1("setWindowsMenu:"); - late final _sel_arrangeInFront_1 = _registerName1("arrangeInFront:"); - late final _sel_removeWindowsItem_1 = _registerName1("removeWindowsItem:"); - late final _sel_addWindowsItem_title_filename_1 = - _registerName1("addWindowsItem:title:filename:"); - void _objc_msgSend_424( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer win, - ffi.Pointer string, - bool isFilename, - ) { - return __objc_msgSend_424( - obj, - sel, - win, - string, - isFilename, - ); - } - - late final __objc_msgSend_424Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Bool)>>('objc_msgSend'); - late final __objc_msgSend_424 = __objc_msgSend_424Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer, bool)>(); - - late final _sel_changeWindowsItem_title_filename_1 = - _registerName1("changeWindowsItem:title:filename:"); - late final _sel_updateWindowsItem_1 = _registerName1("updateWindowsItem:"); - late final _sel_miniaturizeAll_1 = _registerName1("miniaturizeAll:"); - late final _sel_isFullKeyboardAccessEnabled1 = - _registerName1("isFullKeyboardAccessEnabled"); - late final _sel_servicesMenu1 = _registerName1("servicesMenu"); - late final _sel_setServicesMenu_1 = _registerName1("setServicesMenu:"); - late final _sel_registerServicesMenuSendTypes_returnTypes_1 = - _registerName1("registerServicesMenuSendTypes:returnTypes:"); - void _objc_msgSend_425( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer sendTypes, - ffi.Pointer returnTypes, - ) { - return __objc_msgSend_425( - obj, - sel, - sendTypes, - returnTypes, - ); - } - - late final __objc_msgSend_425Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_425 = __objc_msgSend_425Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_servicesProvider1 = _registerName1("servicesProvider"); - late final _sel_setServicesProvider_1 = - _registerName1("setServicesProvider:"); - late final _sel_orderFrontStandardAboutPanel_1 = - _registerName1("orderFrontStandardAboutPanel:"); - late final _sel_orderFrontStandardAboutPanelWithOptions_1 = - _registerName1("orderFrontStandardAboutPanelWithOptions:"); - void _objc_msgSend_426( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer optionsDictionary, - ) { - return __objc_msgSend_426( - obj, - sel, - optionsDictionary, - ); - } - - late final __objc_msgSend_426Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_426 = __objc_msgSend_426Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_disableRelaunchOnLogin1 = - _registerName1("disableRelaunchOnLogin"); - late final _sel_enableRelaunchOnLogin1 = - _registerName1("enableRelaunchOnLogin"); - late final _sel_registerForRemoteNotifications1 = - _registerName1("registerForRemoteNotifications"); - late final _sel_unregisterForRemoteNotifications1 = - _registerName1("unregisterForRemoteNotifications"); - late final _sel_isRegisteredForRemoteNotifications1 = - _registerName1("isRegisteredForRemoteNotifications"); - late final _sel_registerForRemoteNotificationTypes_1 = - _registerName1("registerForRemoteNotificationTypes:"); - void _objc_msgSend_427( - ffi.Pointer obj, - ffi.Pointer sel, - int types, - ) { - return __objc_msgSend_427( - obj, - sel, - types, - ); - } - - late final __objc_msgSend_427Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_427 = __objc_msgSend_427Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_enabledRemoteNotificationTypes1 = - _registerName1("enabledRemoteNotificationTypes"); - int _objc_msgSend_428( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_428( - obj, - sel, - ); - } - - late final __objc_msgSend_428Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_428 = __objc_msgSend_428Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_runModalForWindow_relativeToWindow_1 = - _registerName1("runModalForWindow:relativeToWindow:"); - int _objc_msgSend_429( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer window, - ffi.Pointer docWindow, - ) { - return __objc_msgSend_429( - obj, - sel, - window, - docWindow, - ); - } - - late final __objc_msgSend_429Ptr = _lookup< - ffi.NativeFunction< - ffi.Long Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_429 = __objc_msgSend_429Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_beginModalSessionForWindow_relativeToWindow_1 = - _registerName1("beginModalSessionForWindow:relativeToWindow:"); - ffi.Pointer<_NSModalSession> _objc_msgSend_430( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer window, - ffi.Pointer docWindow, - ) { - return __objc_msgSend_430( - obj, - sel, - window, - docWindow, - ); - } - - late final __objc_msgSend_430Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer<_NSModalSession> Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_430 = __objc_msgSend_430Ptr.asFunction< - ffi.Pointer<_NSModalSession> Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_application_printFiles_1 = - _registerName1("application:printFiles:"); - void _objc_msgSend_431( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer sender, - ffi.Pointer filenames, - ) { - return __objc_msgSend_431( - obj, - sel, - sender, - filenames, - ); - } - - late final __objc_msgSend_431Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_431 = __objc_msgSend_431Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_beginSheet_modalForWindow_modalDelegate_didEndSelector_contextInfo_1 = - _registerName1( - "beginSheet:modalForWindow:modalDelegate:didEndSelector:contextInfo:"); - void _objc_msgSend_432( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer sheet, - ffi.Pointer docWindow, - ffi.Pointer modalDelegate, - ffi.Pointer didEndSelector, - ffi.Pointer contextInfo, - ) { - return __objc_msgSend_432( - obj, - sel, - sheet, - docWindow, - modalDelegate, - didEndSelector, - contextInfo, - ); - } - - late final __objc_msgSend_432Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_432 = __objc_msgSend_432Ptr.asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_makeWindowsPerform_inOrder_1 = - _registerName1("makeWindowsPerform:inOrder:"); - ffi.Pointer _objc_msgSend_433( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer selector, - bool flag, - ) { - return __objc_msgSend_433( - obj, - sel, - selector, - flag, - ); - } - - late final __objc_msgSend_433Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Bool)>>('objc_msgSend'); - late final __objc_msgSend_433 = __objc_msgSend_433Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer, bool)>(); - - /// Returns the class definition of a specified class. - /// - /// @param name The name of the class to look up. - /// - /// @return The Class object for the named class, or \c nil - /// if the class is not registered with the Objective-C runtime. - /// - /// @note The implementation of \c objc_getClass is identical to the implementation - /// of \c objc_lookUpClass. - NSObject objc_getClass( - ffi.Pointer name, - ) { - return NSObject._( - _objc_getClass1( - name, - ), - this, - retain: true, - release: true); - } - - late final _objc_getClassPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer)>>('objc_getClass'); - late final _objc_getClass1 = _objc_getClassPtr - .asFunction Function(ffi.Pointer)>(); - - /// Returns the metaclass definition of a specified class. - /// - /// @param name The name of the class to look up. - /// - /// @return The \c Class object for the metaclass of the named class, or \c nil if the class - /// is not registered with the Objective-C runtime. - /// - /// @note If the definition for the named class is not registered, this function calls the class handler - /// callback and then checks a second time to see if the class is registered. However, every class - /// definition must have a valid metaclass definition, and so the metaclass definition is always returned, - /// whether it’s valid or not. - NSObject objc_getMetaClass( - ffi.Pointer name, - ) { - return NSObject._( - _objc_getMetaClass( - name, - ), - this, - retain: true, - release: true); - } - - late final _objc_getMetaClassPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer)>>('objc_getMetaClass'); - late final _objc_getMetaClass = _objc_getMetaClassPtr - .asFunction Function(ffi.Pointer)>(); - - /// Returns the class definition of a specified class. - /// - /// @param name The name of the class to look up. - /// - /// @return The Class object for the named class, or \c nil if the class - /// is not registered with the Objective-C runtime. - /// - /// @note The implementation of \c objc_lookUpClass is identical to the implementation - /// of \c objc_getClass. - NSObject? objc_lookUpClass( - ffi.Pointer name, - ) { - return _objc_lookUpClass( - name, - ).address == - 0 - ? null - : NSObject._( - _objc_lookUpClass( - name, - ), - this, - retain: true, - release: true); - } - - late final _objc_lookUpClassPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer)>>('objc_lookUpClass'); - late final _objc_lookUpClass = _objc_lookUpClassPtr - .asFunction Function(ffi.Pointer)>(); - - /// Returns the class definition of a specified class. - /// - /// @param name The name of the class to look up. - /// - /// @return The Class object for the named class. - /// - /// @note This function is the same as \c objc_getClass, but kills the process if the class is not found. - NSObject objc_getRequiredClass( - ffi.Pointer name, - ) { - return NSObject._( - _objc_getRequiredClass( - name, - ), - this, - retain: true, - release: true); - } - - late final _objc_getRequiredClassPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer)>>('objc_getRequiredClass'); - late final _objc_getRequiredClass = _objc_getRequiredClassPtr - .asFunction Function(ffi.Pointer)>(); - - /// Obtains the list of registered class definitions. - /// - /// @param buffer An array of \c Class values. On output, each \c Class value points to - /// one class definition, up to either \e bufferCount or the total number of registered classes, - /// whichever is less. You can pass \c NULL to obtain the total number of registered class - /// definitions without actually retrieving any class definitions. - /// @param bufferCount An integer value. Pass the number of pointers for which you have allocated space - /// in \e buffer. On return, this function fills in only this number of elements. If this number is less - /// than the number of registered classes, this function returns an arbitrary subset of the registered classes. - /// - /// @return An integer value indicating the total number of registered classes. - /// - /// @note The Objective-C runtime library automatically registers all the classes defined in your source code. - /// You can create class definitions at runtime and register them with the \c objc_addClass function. - /// - /// @warning You cannot assume that class objects you get from this function are classes that inherit from \c NSObject, - /// so you cannot safely call any methods on such classes without detecting that the method is implemented first. - int objc_getClassList( - ffi.Pointer> buffer, - int bufferCount, - ) { - return _objc_getClassList( - buffer, - bufferCount, - ); - } - - late final _objc_getClassListPtr = _lookup< - ffi.NativeFunction< - ffi.Int Function(ffi.Pointer>, - ffi.Int)>>('objc_getClassList'); - late final _objc_getClassList = _objc_getClassListPtr - .asFunction>, int)>(); - - /// Creates and returns a list of pointers to all registered class definitions. - /// - /// @param outCount An integer pointer used to store the number of classes returned by - /// this function in the list. It can be \c nil. - /// - /// @return A nil terminated array of classes. It must be freed with \c free(). - /// - /// @see objc_getClassList - ffi.Pointer> objc_copyClassList( - ffi.Pointer outCount, - ) { - return _objc_copyClassList( - outCount, - ); - } - - late final _objc_copyClassListPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer> Function( - ffi.Pointer)>>('objc_copyClassList'); - late final _objc_copyClassList = _objc_copyClassListPtr.asFunction< - ffi.Pointer> Function( - ffi.Pointer)>(); - - void objc_enumerateClasses( - ffi.Pointer image, - ffi.Pointer namePrefix, - Protocol? conformingTo, - NSObject? subclassing, - ObjCBlock_ffiVoid_ObjCObject_bool block, - ) { - return _objc_enumerateClasses( - image, - namePrefix, - conformingTo?._id ?? ffi.nullptr, - subclassing?._id ?? ffi.nullptr, - block._id, - ); - } - - late final _objc_enumerateClassesPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer<_ObjCBlock>)>>('objc_enumerateClasses'); - late final _objc_enumerateClasses = _objc_enumerateClassesPtr.asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer<_ObjCBlock>)>(); - - /// Used by CoreFoundation's toll-free bridging. - /// Return the id of the named class. - /// - /// @return The id of the named class, or an uninitialized class - /// structure that will be used for the class when and if it does - /// get loaded. - /// - /// @warning Do not call this function yourself. - NSObject objc_getFutureClass( - ffi.Pointer name, - ) { - return NSObject._( - _objc_getFutureClass( - name, - ), - this, - retain: true, - release: true); - } - - late final _objc_getFutureClassPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer)>>('objc_getFutureClass'); - late final _objc_getFutureClass = _objc_getFutureClassPtr - .asFunction Function(ffi.Pointer)>(); - - /// Creates an instance of a class at the specific location provided. - /// - /// @param cls The class that you wish to allocate an instance of. - /// @param bytes The location at which to allocate an instance of \e cls. - /// Must point to at least \c class_getInstanceSize(cls) bytes of well-aligned, - /// zero-filled memory. - /// - /// @return \e bytes on success, \c nil otherwise. (For example, \e cls or \e bytes - /// might be \c nil) - /// - /// @see class_createInstance - NSObject? objc_constructInstance( - NSObject? cls, - ffi.Pointer bytes, - ) { - return _objc_constructInstance( - cls?._id ?? ffi.nullptr, - bytes, - ).address == - 0 - ? null - : NSObject._( - _objc_constructInstance( - cls?._id ?? ffi.nullptr, - bytes, - ), - this, - retain: true, - release: true); - } - - late final _objc_constructInstancePtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer)>>('objc_constructInstance'); - late final _objc_constructInstance = _objc_constructInstancePtr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - /// Destroys an instance of a class without freeing memory and removes any - /// associated references this instance might have had. - /// - /// @param obj The class instance to destroy. - /// - /// @return \e obj. Does nothing if \e obj is nil. - /// - /// @note CF and other clients do call this under GC. - ffi.Pointer objc_destructInstance( - NSObject? obj, - ) { - return _objc_destructInstance( - obj?._id ?? ffi.nullptr, - ); - } - - late final _objc_destructInstancePtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer)>>('objc_destructInstance'); - late final _objc_destructInstance = _objc_destructInstancePtr - .asFunction Function(ffi.Pointer)>(); - - /// Creates a new class and metaclass. - /// - /// @param superclass The class to use as the new class's superclass, or \c Nil to create a new root class. - /// @param name The string to use as the new class's name. The string will be copied. - /// @param extraBytes The number of bytes to allocate for indexed ivars at the end of - /// the class and metaclass objects. This should usually be \c 0. - /// - /// @return The new class, or Nil if the class could not be created (for example, the desired name is already in use). - /// - /// @note You can get a pointer to the new metaclass by calling \c object_getClass(newClass). - /// @note To create a new class, start by calling \c objc_allocateClassPair. - /// Then set the class's attributes with functions like \c class_addMethod and \c class_addIvar. - /// When you are done building the class, call \c objc_registerClassPair. The new class is now ready for use. - /// @note Instance methods and instance variables should be added to the class itself. - /// Class methods should be added to the metaclass. - NSObject? objc_allocateClassPair( - NSObject? superclass, - ffi.Pointer name, - int extraBytes, - ) { - return _objc_allocateClassPair( - superclass?._id ?? ffi.nullptr, - name, - extraBytes, - ).address == - 0 - ? null - : NSObject._( - _objc_allocateClassPair( - superclass?._id ?? ffi.nullptr, - name, - extraBytes, - ), - this, - retain: true, - release: true); - } - - late final _objc_allocateClassPairPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Size)>>('objc_allocateClassPair'); - late final _objc_allocateClassPair = _objc_allocateClassPairPtr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - /// Registers a class that was allocated using \c objc_allocateClassPair. - /// - /// @param cls The class you want to register. - void objc_registerClassPair( - NSObject cls, - ) { - return _objc_registerClassPair( - cls._id, - ); - } - - late final _objc_registerClassPairPtr = - _lookup)>>( - 'objc_registerClassPair'); - late final _objc_registerClassPair = _objc_registerClassPairPtr - .asFunction)>(); - - /// Used by Foundation's Key-Value Observing. - /// - /// @warning Do not call this function yourself. - NSObject objc_duplicateClass( - NSObject original, - ffi.Pointer name, - int extraBytes, - ) { - return NSObject._( - _objc_duplicateClass( - original._id, - name, - extraBytes, - ), - this, - retain: true, - release: true); - } - - late final _objc_duplicateClassPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Size)>>('objc_duplicateClass'); - late final _objc_duplicateClass = _objc_duplicateClassPtr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - /// Destroy a class and its associated metaclass. - /// - /// @param cls The class to be destroyed. It must have been allocated with - /// \c objc_allocateClassPair - /// - /// @warning Do not call if instances of this class or a subclass exist. - void objc_disposeClassPair( - NSObject cls, - ) { - return _objc_disposeClassPair( - cls._id, - ); - } - - late final _objc_disposeClassPairPtr = - _lookup)>>( - 'objc_disposeClassPair'); - late final _objc_disposeClassPair = _objc_disposeClassPairPtr - .asFunction)>(); - - /// Returns a specified protocol. - /// - /// @param name The name of a protocol. - /// - /// @return The protocol named \e name, or \c NULL if no protocol named \e name could be found. - /// - /// @note This function acquires the runtime lock. - Protocol? objc_getProtocol( - ffi.Pointer name, - ) { - return _objc_getProtocol( - name, - ).address == - 0 - ? null - : Protocol._( - _objc_getProtocol( - name, - ), - this, - retain: true, - release: true); - } - - late final _objc_getProtocolPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer)>>('objc_getProtocol'); - late final _objc_getProtocol = _objc_getProtocolPtr - .asFunction Function(ffi.Pointer)>(); - - /// Returns an array of all the protocols known to the runtime. - /// - /// @param outCount Upon return, contains the number of protocols in the returned array. - /// - /// @return A C array of all the protocols known to the runtime. The array contains \c *outCount - /// pointers followed by a \c NULL terminator. You must free the list with \c free(). - /// - /// @note This function acquires the runtime lock. - ffi.Pointer> objc_copyProtocolList( - ffi.Pointer outCount, - ) { - return _objc_copyProtocolList( - outCount, - ); - } - - late final _objc_copyProtocolListPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer> Function( - ffi.Pointer)>>('objc_copyProtocolList'); - late final _objc_copyProtocolList = _objc_copyProtocolListPtr.asFunction< - ffi.Pointer> Function( - ffi.Pointer)>(); - - /// Returns a Boolean value that indicates whether one protocol conforms to another protocol. - /// - /// @param proto A protocol. - /// @param other A protocol. - /// - /// @return \c YES if \e proto conforms to \e other, otherwise \c NO. - /// - /// @note One protocol can incorporate other protocols using the same syntax - /// that classes use to adopt a protocol: - /// \code - /// @protocol ProtocolName < protocol list > - /// \endcode - /// All the protocols listed between angle brackets are considered part of the ProtocolName protocol. - bool protocol_conformsToProtocol( - Protocol? proto, - Protocol? other, - ) { - return _protocol_conformsToProtocol( - proto?._id ?? ffi.nullptr, - other?._id ?? ffi.nullptr, - ); - } - - late final _protocol_conformsToProtocolPtr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, - ffi.Pointer)>>('protocol_conformsToProtocol'); - late final _protocol_conformsToProtocol = - _protocol_conformsToProtocolPtr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer)>(); - - /// Returns a Boolean value that indicates whether two protocols are equal. - /// - /// @param proto A protocol. - /// @param other A protocol. - /// - /// @return \c YES if \e proto is the same as \e other, otherwise \c NO. - bool protocol_isEqual( - Protocol? proto, - Protocol? other, - ) { - return _protocol_isEqual( - proto?._id ?? ffi.nullptr, - other?._id ?? ffi.nullptr, - ); - } - - late final _protocol_isEqualPtr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, - ffi.Pointer)>>('protocol_isEqual'); - late final _protocol_isEqual = _protocol_isEqualPtr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer)>(); - - /// Returns the name of a protocol. - /// - /// @param proto A protocol. - /// - /// @return The name of the protocol \e p as a C string. - ffi.Pointer protocol_getName( - Protocol proto, - ) { - return _protocol_getName( - proto._id, - ); - } - - late final _protocol_getNamePtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer)>>('protocol_getName'); - late final _protocol_getName = _protocol_getNamePtr - .asFunction Function(ffi.Pointer)>(); - - /// Returns a method description structure for a specified method of a given protocol. - /// - /// @param proto A protocol. - /// @param aSel A selector. - /// @param isRequiredMethod A Boolean value that indicates whether aSel is a required method. - /// @param isInstanceMethod A Boolean value that indicates whether aSel is an instance method. - /// - /// @return An \c objc_method_description structure that describes the method specified by \e aSel, - /// \e isRequiredMethod, and \e isInstanceMethod for the protocol \e p. - /// If the protocol does not contain the specified method, returns an \c objc_method_description structure - /// with the value \c {NULL, \c NULL}. - /// - /// @note This function recursively searches any protocols that this protocol conforms to. - objc_method_description protocol_getMethodDescription( - Protocol proto, - ffi.Pointer aSel, - bool isRequiredMethod, - bool isInstanceMethod, - ) { - return _protocol_getMethodDescription( - proto._id, - aSel, - isRequiredMethod, - isInstanceMethod, - ); - } - - late final _protocol_getMethodDescriptionPtr = _lookup< - ffi.NativeFunction< - objc_method_description Function( - ffi.Pointer, - ffi.Pointer, - ffi.Bool, - ffi.Bool)>>('protocol_getMethodDescription'); - late final _protocol_getMethodDescription = - _protocol_getMethodDescriptionPtr.asFunction< - objc_method_description Function( - ffi.Pointer, ffi.Pointer, bool, bool)>(); - - /// Returns an array of method descriptions of methods meeting a given specification for a given protocol. - /// - /// @param proto A protocol. - /// @param isRequiredMethod A Boolean value that indicates whether returned methods should - /// be required methods (pass YES to specify required methods). - /// @param isInstanceMethod A Boolean value that indicates whether returned methods should - /// be instance methods (pass YES to specify instance methods). - /// @param outCount Upon return, contains the number of method description structures in the returned array. - /// - /// @return A C array of \c objc_method_description structures containing the names and types of \e p's methods - /// specified by \e isRequiredMethod and \e isInstanceMethod. The array contains \c *outCount pointers followed - /// by a \c NULL terminator. You must free the list with \c free(). - /// If the protocol declares no methods that meet the specification, \c NULL is returned and \c *outCount is 0. - /// - /// @note Methods in other protocols adopted by this protocol are not included. - ffi.Pointer protocol_copyMethodDescriptionList( - Protocol proto, - bool isRequiredMethod, - bool isInstanceMethod, - ffi.Pointer outCount, - ) { - return _protocol_copyMethodDescriptionList( - proto._id, - isRequiredMethod, - isInstanceMethod, - outCount, - ); - } - - late final _protocol_copyMethodDescriptionListPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Bool, - ffi.Bool, - ffi.Pointer)>>( - 'protocol_copyMethodDescriptionList'); - late final _protocol_copyMethodDescriptionList = - _protocol_copyMethodDescriptionListPtr.asFunction< - ffi.Pointer Function(ffi.Pointer, - bool, bool, ffi.Pointer)>(); - - /// Returns the specified property of a given protocol. - /// - /// @param proto A protocol. - /// @param name The name of a property. - /// @param isRequiredProperty \c YES searches for a required property, \c NO searches for an optional property. - /// @param isInstanceProperty \c YES searches for an instance property, \c NO searches for a class property. - /// - /// @return The property specified by \e name, \e isRequiredProperty, and \e isInstanceProperty for \e proto, - /// or \c NULL if none of \e proto's properties meets the specification. - ffi.Pointer protocol_getProperty( - Protocol proto, - ffi.Pointer name, - bool isRequiredProperty, - bool isInstanceProperty, - ) { - return _protocol_getProperty( - proto._id, - name, - isRequiredProperty, - isInstanceProperty, - ); - } - - late final _protocol_getPropertyPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Bool, - ffi.Bool)>>('protocol_getProperty'); - late final _protocol_getProperty = _protocol_getPropertyPtr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, bool, bool)>(); - - /// Returns an array of the required instance properties declared by a protocol. - /// - /// @note Identical to - /// \code - /// protocol_copyPropertyList2(proto, outCount, YES, YES); - /// \endcode - ffi.Pointer> protocol_copyPropertyList( - Protocol proto, - ffi.Pointer outCount, - ) { - return _protocol_copyPropertyList( - proto._id, - outCount, - ); - } - - late final _protocol_copyPropertyListPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer> Function( - ffi.Pointer, - ffi.Pointer)>>('protocol_copyPropertyList'); - late final _protocol_copyPropertyList = - _protocol_copyPropertyListPtr.asFunction< - ffi.Pointer> Function( - ffi.Pointer, ffi.Pointer)>(); - - /// Returns an array of properties declared by a protocol. - /// - /// @param proto A protocol. - /// @param outCount Upon return, contains the number of elements in the returned array. - /// @param isRequiredProperty \c YES returns required properties, \c NO returns optional properties. - /// @param isInstanceProperty \c YES returns instance properties, \c NO returns class properties. - /// - /// @return A C array of pointers of type \c objc_property_t describing the properties declared by \e proto. - /// Any properties declared by other protocols adopted by this protocol are not included. The array contains - /// \c *outCount pointers followed by a \c NULL terminator. You must free the array with \c free(). - /// If the protocol declares no matching properties, \c NULL is returned and \c *outCount is \c 0. - ffi.Pointer> protocol_copyPropertyList2( - Protocol proto, - ffi.Pointer outCount, - bool isRequiredProperty, - bool isInstanceProperty, - ) { - return _protocol_copyPropertyList2( - proto._id, - outCount, - isRequiredProperty, - isInstanceProperty, - ); - } - - late final _protocol_copyPropertyList2Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer> Function( - ffi.Pointer, - ffi.Pointer, - ffi.Bool, - ffi.Bool)>>('protocol_copyPropertyList2'); - late final _protocol_copyPropertyList2 = - _protocol_copyPropertyList2Ptr.asFunction< - ffi.Pointer> Function( - ffi.Pointer, - ffi.Pointer, - bool, - bool)>(); - - /// Returns an array of the protocols adopted by a protocol. - /// - /// @param proto A protocol. - /// @param outCount Upon return, contains the number of elements in the returned array. - /// - /// @return A C array of protocols adopted by \e proto. The array contains \e *outCount pointers - /// followed by a \c NULL terminator. You must free the array with \c free(). - /// If the protocol adopts no other protocols, \c NULL is returned and \c *outCount is \c 0. - ffi.Pointer> protocol_copyProtocolList( - Protocol proto, - ffi.Pointer outCount, - ) { - return _protocol_copyProtocolList( - proto._id, - outCount, - ); - } - - late final _protocol_copyProtocolListPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer> Function(ffi.Pointer, - ffi.Pointer)>>('protocol_copyProtocolList'); - late final _protocol_copyProtocolList = - _protocol_copyProtocolListPtr.asFunction< - ffi.Pointer> Function( - ffi.Pointer, ffi.Pointer)>(); - - /// Creates a new protocol instance that cannot be used until registered with - /// \c objc_registerProtocol() - /// - /// @param name The name of the protocol to create. - /// - /// @return The Protocol instance on success, \c nil if a protocol - /// with the same name already exists. - /// @note There is no dispose method for this. - Protocol? objc_allocateProtocol( - ffi.Pointer name, - ) { - return _objc_allocateProtocol( - name, - ).address == - 0 - ? null - : Protocol._( - _objc_allocateProtocol( - name, - ), - this, - retain: true, - release: true); - } - - late final _objc_allocateProtocolPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer)>>('objc_allocateProtocol'); - late final _objc_allocateProtocol = _objc_allocateProtocolPtr - .asFunction Function(ffi.Pointer)>(); - - /// Registers a newly constructed protocol with the runtime. The protocol - /// will be ready for use and is immutable after this. - /// - /// @param proto The protocol you want to register. - void objc_registerProtocol( - Protocol proto, - ) { - return _objc_registerProtocol( - proto._id, - ); - } - - late final _objc_registerProtocolPtr = - _lookup)>>( - 'objc_registerProtocol'); - late final _objc_registerProtocol = _objc_registerProtocolPtr - .asFunction)>(); - - /// Adds a method to a protocol. The protocol must be under construction. - /// - /// @param proto The protocol to add a method to. - /// @param name The name of the method to add. - /// @param types A C string that represents the method signature. - /// @param isRequiredMethod YES if the method is not an optional method. - /// @param isInstanceMethod YES if the method is an instance method. - void protocol_addMethodDescription( - Protocol proto, - ffi.Pointer name, - ffi.Pointer types, - bool isRequiredMethod, - bool isInstanceMethod, - ) { - return _protocol_addMethodDescription( - proto._id, - name, - types, - isRequiredMethod, - isInstanceMethod, - ); - } - - late final _protocol_addMethodDescriptionPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Bool, - ffi.Bool)>>('protocol_addMethodDescription'); - late final _protocol_addMethodDescription = - _protocol_addMethodDescriptionPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, bool, bool)>(); - - /// Adds an incorporated protocol to another protocol. The protocol being - /// added to must still be under construction, while the additional protocol - /// must be already constructed. - /// - /// @param proto The protocol you want to add to, it must be under construction. - /// @param addition The protocol you want to incorporate into \e proto, it must be registered. - void protocol_addProtocol( - Protocol proto, - Protocol addition, - ) { - return _protocol_addProtocol( - proto._id, - addition._id, - ); - } - - late final _protocol_addProtocolPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer)>>('protocol_addProtocol'); - late final _protocol_addProtocol = _protocol_addProtocolPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer)>(); - - /// Adds a property to a protocol. The protocol must be under construction. - /// - /// @param proto The protocol to add a property to. - /// @param name The name of the property. - /// @param attributes An array of property attributes. - /// @param attributeCount The number of attributes in \e attributes. - /// @param isRequiredProperty YES if the property (accessor methods) is not optional. - /// @param isInstanceProperty YES if the property (accessor methods) are instance methods. - /// This is the only case allowed fo a property, as a result, setting this to NO will - /// not add the property to the protocol at all. - void protocol_addProperty( - Protocol proto, - ffi.Pointer name, - ffi.Pointer attributes, - int attributeCount, - bool isRequiredProperty, - bool isInstanceProperty, - ) { - return _protocol_addProperty( - proto._id, - name, - attributes, - attributeCount, - isRequiredProperty, - isInstanceProperty, - ); - } - - late final _protocol_addPropertyPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedInt, - ffi.Bool, - ffi.Bool)>>('protocol_addProperty'); - late final _protocol_addProperty = _protocol_addPropertyPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, int, bool, bool)>(); - - /// Returns the names of all the loaded Objective-C frameworks and dynamic - /// libraries. - /// - /// @param outCount The number of names returned. - /// - /// @return An array of C strings of names. Must be free()'d by caller. - ffi.Pointer> objc_copyImageNames( - ffi.Pointer outCount, - ) { - return _objc_copyImageNames( - outCount, - ); - } - - late final _objc_copyImageNamesPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer> Function( - ffi.Pointer)>>('objc_copyImageNames'); - late final _objc_copyImageNames = _objc_copyImageNamesPtr.asFunction< - ffi.Pointer> Function( - ffi.Pointer)>(); - - /// Returns the names of all the classes within a library. - /// - /// @param image The library or framework you are inquiring about. - /// @param outCount The number of class names returned. - /// - /// @return An array of C strings representing the class names. - ffi.Pointer> objc_copyClassNamesForImage( - ffi.Pointer image, - ffi.Pointer outCount, - ) { - return _objc_copyClassNamesForImage( - image, - outCount, - ); - } - - late final _objc_copyClassNamesForImagePtr = _lookup< - ffi.NativeFunction< - ffi.Pointer> Function(ffi.Pointer, - ffi.Pointer)>>('objc_copyClassNamesForImage'); - late final _objc_copyClassNamesForImage = - _objc_copyClassNamesForImagePtr.asFunction< - ffi.Pointer> Function( - ffi.Pointer, ffi.Pointer)>(); - - /// This function is inserted by the compiler when a mutation - /// is detected during a foreach iteration. It gets called - /// when a mutation occurs, and the enumerationMutationHandler - /// is enacted if it is set up. A fatal error occurs if a handler is not set up. - /// - /// @param obj The object being mutated. - void objc_enumerationMutation( - NSObject obj, - ) { - return _objc_enumerationMutation( - obj._id, - ); - } - - late final _objc_enumerationMutationPtr = - _lookup)>>( - 'objc_enumerationMutation'); - late final _objc_enumerationMutation = _objc_enumerationMutationPtr - .asFunction)>(); - - /// Sets the current mutation handler. - /// - /// @param handler Function pointer to the new mutation handler. - void objc_setEnumerationMutationHandler( - ffi.Pointer)>> - handler, - ) { - return _objc_setEnumerationMutationHandler( - handler, - ); - } - - late final _objc_setEnumerationMutationHandlerPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer)>>)>>( - 'objc_setEnumerationMutationHandler'); - late final _objc_setEnumerationMutationHandler = - _objc_setEnumerationMutationHandlerPtr.asFunction< - void Function( - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer)>>)>(); - - /// Set the function to be called by objc_msgForward. - /// - /// @param fwd Function to be jumped to by objc_msgForward. - /// @param fwd_stret Function to be jumped to by objc_msgForward_stret. - /// - /// @see message.h::_objc_msgForward - void objc_setForwardHandler( - ffi.Pointer fwd, - ffi.Pointer fwd_stret, - ) { - return _objc_setForwardHandler( - fwd, - fwd_stret, - ); - } - - late final _objc_setForwardHandlerPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer)>>('objc_setForwardHandler'); - late final _objc_setForwardHandler = _objc_setForwardHandlerPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer)>(); - - /// This loads the object referenced by a weak pointer and returns it, after - /// retaining and autoreleasing the object to ensure that it stays alive - /// long enough for the caller to use it. This function would be used - /// anywhere a __weak variable is used in an expression. - /// - /// @param location The weak pointer address - /// - /// @return The object pointed to by \e location, or \c nil if \e *location is \c nil. - NSObject? objc_loadWeak( - ffi.Pointer> location, - ) { - return _objc_loadWeak( - location, - ).address == - 0 - ? null - : NSObject._( - _objc_loadWeak( - location, - ), - this, - retain: true, - release: true); - } - - late final _objc_loadWeakPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer>)>>('objc_loadWeak'); - late final _objc_loadWeak = _objc_loadWeakPtr.asFunction< - ffi.Pointer Function(ffi.Pointer>)>(); - - /// This function stores a new value into a __weak variable. It would - /// be used anywhere a __weak variable is the target of an assignment. - /// - /// @param location The address of the weak pointer itself - /// @param obj The new object this weak ptr should now point to - /// - /// @return The value stored into \e location, i.e. \e obj - NSObject? objc_storeWeak( - ffi.Pointer> location, - NSObject? obj, - ) { - return _objc_storeWeak( - location, - obj?._id ?? ffi.nullptr, - ).address == - 0 - ? null - : NSObject._( - _objc_storeWeak( - location, - obj?._id ?? ffi.nullptr, - ), - this, - retain: true, - release: true); - } - - late final _objc_storeWeakPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer>, - ffi.Pointer)>>('objc_storeWeak'); - late final _objc_storeWeak = _objc_storeWeakPtr.asFunction< - ffi.Pointer Function( - ffi.Pointer>, ffi.Pointer)>(); - - /// Sets an associated value for a given object using a given key and association policy. - /// - /// @param object The source object for the association. - /// @param key The key for the association. - /// @param value The value to associate with the key key for object. Pass nil to clear an existing association. - /// @param policy The policy for the association. For possible values, see “Associative Object Behaviors.” - /// - /// @see objc_setAssociatedObject - /// @see objc_removeAssociatedObjects - void objc_setAssociatedObject( - NSObject object, - ffi.Pointer key, - NSObject? value, - int policy, - ) { - return _objc_setAssociatedObject( - object._id, - key, - value?._id ?? ffi.nullptr, - policy, - ); - } - - late final _objc_setAssociatedObjectPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Int32)>>('objc_setAssociatedObject'); - late final _objc_setAssociatedObject = - _objc_setAssociatedObjectPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, int)>(); - - /// Returns the value associated with a given object for a given key. - /// - /// @param object The source object for the association. - /// @param key The key for the association. - /// - /// @return The value associated with the key \e key for \e object. - /// - /// @see objc_setAssociatedObject - NSObject? objc_getAssociatedObject( - NSObject object, - ffi.Pointer key, - ) { - return _objc_getAssociatedObject( - object._id, - key, - ).address == - 0 - ? null - : NSObject._( - _objc_getAssociatedObject( - object._id, - key, - ), - this, - retain: true, - release: true); - } - - late final _objc_getAssociatedObjectPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer)>>('objc_getAssociatedObject'); - late final _objc_getAssociatedObject = - _objc_getAssociatedObjectPtr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - /// Removes all associations for a given object. - /// - /// @param object An object that maintains associated objects. - /// - /// @note The main purpose of this function is to make it easy to return an object - /// to a "pristine state”. You should not use this function for general removal of - /// associations from objects, since it also removes associations that other clients - /// may have added to the object. Typically you should use \c objc_setAssociatedObject - /// with a nil value to clear an association. - /// - /// @see objc_setAssociatedObject - /// @see objc_getAssociatedObject - void objc_removeAssociatedObjects( - NSObject object, - ) { - return _objc_removeAssociatedObjects( - object._id, - ); - } - - late final _objc_removeAssociatedObjectsPtr = - _lookup)>>( - 'objc_removeAssociatedObjects'); - late final _objc_removeAssociatedObjects = _objc_removeAssociatedObjectsPtr - .asFunction)>(); - - /// Install a hook for class_getImageName(). - /// - /// @param newValue The hook function to install. - /// @param outOldValue The address of a function pointer variable. On return, - /// the old hook function is stored in the variable. - /// - /// @note The store to *outOldValue is thread-safe: the variable will be - /// updated before class_getImageName() calls your new hook to read it, - /// even if your new hook is called from another thread before this - /// setter completes. - /// @note The first hook in the chain is the native implementation of - /// class_getImageName(). Your hook should call the previous hook for - /// classes that you do not recognize. - /// - /// @see class_getImageName - /// @see objc_hook_getImageName - void objc_setHook_getImageName( - ffi.Pointer< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, - ffi.Pointer>)>> - newValue, - ffi.Pointer< - ffi.Pointer< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, - ffi.Pointer>)>>> - outOldValue, - ) { - return _objc_setHook_getImageName( - newValue, - outOldValue, - ); - } - - late final _objc_setHook_getImageNamePtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, - ffi.Pointer>)>>, - ffi.Pointer< - ffi.Pointer< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, - ffi.Pointer>)>>>)>>( - 'objc_setHook_getImageName'); - late final _objc_setHook_getImageName = - _objc_setHook_getImageNamePtr.asFunction< - void Function( - ffi.Pointer< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, - ffi.Pointer>)>>, - ffi.Pointer< - ffi.Pointer< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, - ffi.Pointer>)>>>)>(); - - void objc_setHook_getClass( - ffi.Pointer< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, - ffi.Pointer>)>> - newValue, - ffi.Pointer< - ffi.Pointer< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, - ffi.Pointer>)>>> - outOldValue, - ) { - return _objc_setHook_getClass( - newValue, - outOldValue, - ); - } - - late final _objc_setHook_getClassPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, - ffi.Pointer>)>>, - ffi.Pointer< - ffi.Pointer< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, - ffi.Pointer>)>>>)>>( - 'objc_setHook_getClass'); - late final _objc_setHook_getClass = _objc_setHook_getClassPtr.asFunction< - void Function( - ffi.Pointer< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, - ffi.Pointer>)>>, - ffi.Pointer< - ffi.Pointer< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, - ffi.Pointer>)>>>)>(); - - void objc_addLoadImageFunc( - ffi.Pointer)>> - func, - ) { - return _objc_addLoadImageFunc( - func, - ); - } - - late final _objc_addLoadImageFuncPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer)>>)>>( - 'objc_addLoadImageFunc'); - late final _objc_addLoadImageFunc = _objc_addLoadImageFuncPtr.asFunction< - void Function( - ffi.Pointer< - ffi - .NativeFunction)>>)>(); - - void objc_setHook_lazyClassNamer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer)>> - newValue, - ffi.Pointer< - ffi.Pointer< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer)>>> - oldOutValue, - ) { - return _objc_setHook_lazyClassNamer( - newValue, - oldOutValue, - ); - } - - late final _objc_setHook_lazyClassNamerPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi - .Pointer< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer)>>, - ffi.Pointer< - ffi.Pointer< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer)>>>)>>( - 'objc_setHook_lazyClassNamer'); - late final _objc_setHook_lazyClassNamer = - _objc_setHook_lazyClassNamerPtr.asFunction< - void Function( - ffi.Pointer< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer)>>, - ffi.Pointer< - ffi.Pointer< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer)>>>)>(); -} - -abstract class ASWebAuthenticationSessionErrorCode { - static const int ASWebAuthenticationSessionErrorCodeCanceledLogin = 1; - static const int - ASWebAuthenticationSessionErrorCodePresentationContextNotProvided = 2; - static const int - ASWebAuthenticationSessionErrorCodePresentationContextInvalid = 3; -} - -/// ! -/// @class ASWebAuthenticationSession -/// An ASWebAuthenticationSession object can be used to authenticate a user with a web service, even if the web service is run -/// by a third party. ASWebAuthenticationSession puts the user in control of whether they want to use their existing logged-in -/// session from Safari. The app provides a URL that points to the authentication webpage. The page will be loaded in a secure -/// view controller. From the webpage, the user can authenticate herself and grant access to the app. -/// On completion, the service will send a callback URL with an authentication token, and this URL will be passed to the app by -/// ASWebAuthenticationSessionCompletionHandler. -/// -/// The callback URL usually has a custom URL scheme. For the app to receive the callback URL, it needs to either register the -/// custom URL scheme in its Info.plist, or set the scheme to callbackURLScheme argument in the initializer. -/// -/// If the user has already logged into the web service in Safari or other apps via ASWebAuthenticationSession, it is possible to -/// share the existing login information. An alert will be presented to get the user's consent for sharing their existing login -/// information. If the user cancels the alert, the session will be canceled, and the completion handler will be called with -/// the error code ASWebAuthenticationSessionErrorCodeCanceledLogin. -/// -/// If the user taps Cancel when showing the login webpage for the web service, the session will be canceled, and the completion -/// handler will be called with the error code ASWebAuthenticationSessionErrorCodeCanceledLogin. -/// -/// The app can cancel the session by calling -[ASWebAuthenticationSession cancel]. This will also dismiss the view controller that -/// is showing the web service's login page. -class _ObjCWrapper implements ffi.Finalizable { - final ffi.Pointer _id; - final AuthenticationServices _lib; - bool _pendingRelease; - - _ObjCWrapper._(this._id, this._lib, - {bool retain = false, bool release = false}) - : _pendingRelease = release { - if (retain) { - _lib._objc_retain(_id.cast()); - } - if (release) { - _lib._objc_releaseFinalizer2.attach(this, _id.cast(), detach: this); - } - } - - /// Releases the reference to the underlying ObjC object held by this wrapper. - /// Throws a StateError if this wrapper doesn't currently hold a reference. - void release() { - if (_pendingRelease) { - _pendingRelease = false; - _lib._objc_release(_id.cast()); - _lib._objc_releaseFinalizer2.detach(this); - } else { - throw StateError( - 'Released an ObjC object that was unowned or already released.'); - } - } - - @override - bool operator ==(Object other) { - return other is _ObjCWrapper && _id == other._id; - } - - @override - int get hashCode => _id.hashCode; - - /// Return a pointer to this object. - ffi.Pointer get pointer => _id; - - ffi.Pointer _retainAndReturnId() { - _lib._objc_retain(_id.cast()); - return _id; - } -} - -class ASWebAuthenticationSession extends NSObject { - ASWebAuthenticationSession._( - ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [ASWebAuthenticationSession] that points to the same underlying object as [other]. - static ASWebAuthenticationSession castFrom(T other) { - return ASWebAuthenticationSession._(other._id, other._lib, - retain: true, release: true); - } - - /// Returns a [ASWebAuthenticationSession] that wraps the given raw object pointer. - static ASWebAuthenticationSession castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return ASWebAuthenticationSession._(other, lib, - retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [ASWebAuthenticationSession]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, - obj._lib._class_ASWebAuthenticationSession1); - } - - /// ! @abstract Returns an ASWebAuthenticationSession object. - /// @param URL the initial URL pointing to the authentication webpage. Only supports URLs with http:// or https:// schemes. - /// @param callbackURLScheme the custom URL scheme that the app expects in the callback URL. - /// @param completionHandler the completion handler which is called when the session is completed successfully or canceled by user. - ASWebAuthenticationSession initWithURL_callbackURLScheme_completionHandler_( - NSURL URL, - NSString? callbackURLScheme, - DartASWebAuthenticationSessionCompletionHandler completionHandler) { - final _ret = _lib._objc_msgSend_102( - _id, - _lib._sel_initWithURL_callbackURLScheme_completionHandler_1, - URL._id, - callbackURLScheme?._id ?? ffi.nullptr, - completionHandler._id); - return ASWebAuthenticationSession._(_ret, _lib, - retain: true, release: true); - } - - /// ! @abstract Provides context to target where in an application's UI the authorization view should be shown. A provider - /// must be set prior to calling -start, otherwise the authorization view cannot be displayed. If deploying to iOS prior to - /// 13.0, the desired window is inferred by the application's key window. - NSObject? get presentationContextProvider { - final _ret = - _lib._objc_msgSend_16(_id, _lib._sel_presentationContextProvider1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - /// ! @abstract Provides context to target where in an application's UI the authorization view should be shown. A provider - /// must be set prior to calling -start, otherwise the authorization view cannot be displayed. If deploying to iOS prior to - /// 13.0, the desired window is inferred by the application's key window. - set presentationContextProvider(NSObject? value) { - return _lib._objc_msgSend_17(_id, - _lib._sel_setPresentationContextProvider_1, value?._id ?? ffi.nullptr); - } - - /// ! @abstract Indicates whether this session should ask the browser for an ephemeral session. - /// @discussion Ephemeral web browser sessions do not not share cookies or other browsing data with a user's normal browser session. - /// This value is NO by default. Setting this property after calling -[ASWebAuthenticationSession start] has no effect. - bool get prefersEphemeralWebBrowserSession { - return _lib._objc_msgSend_12( - _id, _lib._sel_prefersEphemeralWebBrowserSession1); - } - - /// ! @abstract Indicates whether this session should ask the browser for an ephemeral session. - /// @discussion Ephemeral web browser sessions do not not share cookies or other browsing data with a user's normal browser session. - /// This value is NO by default. Setting this property after calling -[ASWebAuthenticationSession start] has no effect. - set prefersEphemeralWebBrowserSession(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setPrefersEphemeralWebBrowserSession_1, value); - } - - /// ! @abstract Returns whether the session can be successfully started. This property returns the same value as calling -start, - /// but without the side effect of actually starting the session. - bool get canStart { - return _lib._objc_msgSend_12(_id, _lib._sel_canStart1); - } - - /// ! @abstract Starts the ASWebAuthenticationSession instance after it is instantiated. - /// @discussion start can only be called once for an ASWebAuthenticationSession instance. This also means calling start on a - /// canceled session will fail. - /// @result Returns YES if the session starts successfully. - bool start() { - return _lib._objc_msgSend_12(_id, _lib._sel_start1); - } - - /// ! @abstract Cancel an ASWebAuthenticationSession. If the view controller is already presented to load the webpage for - /// authentication, it will be dismissed. Calling cancel on an already canceled session will have no effect. - void cancel() { - _lib._objc_msgSend_1(_id, _lib._sel_cancel1); - } - - static ASWebAuthenticationSession new1(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2( - _lib._class_ASWebAuthenticationSession1, _lib._sel_new1); - return ASWebAuthenticationSession._(_ret, _lib, - retain: false, release: true); - } - - @override - ASWebAuthenticationSession init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return ASWebAuthenticationSession._(_ret, _lib, - retain: true, release: true); - } - - static ASWebAuthenticationSession allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3(_lib._class_ASWebAuthenticationSession1, - _lib._sel_allocWithZone_1, zone); - return ASWebAuthenticationSession._(_ret, _lib, - retain: false, release: true); - } - - static ASWebAuthenticationSession alloc(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2( - _lib._class_ASWebAuthenticationSession1, _lib._sel_alloc1); - return ASWebAuthenticationSession._(_ret, _lib, - retain: false, release: true); - } -} - -final class ObjCSel extends ffi.Opaque {} - -final class ObjCObject extends ffi.Opaque {} - -class NSObject extends _ObjCWrapper { - NSObject._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSObject] that points to the same underlying object as [other]. - static NSObject castFrom(T other) { - return NSObject._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSObject] that wraps the given raw object pointer. - static NSObject castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSObject._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSObject]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSObject1); - } - - static void load(AuthenticationServices _lib) { - _lib._objc_msgSend_1(_lib._class_NSObject1, _lib._sel_load1); - } - - static void initialize(AuthenticationServices _lib) { - _lib._objc_msgSend_1(_lib._class_NSObject1, _lib._sel_initialize1); - } - - NSObject init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - static NSObject new1(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_new1); - return NSObject._(_ret, _lib, retain: false, release: true); - } - - static NSObject allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSObject1, _lib._sel_allocWithZone_1, zone); - return NSObject._(_ret, _lib, retain: false, release: true); - } - - static NSObject alloc(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_alloc1); - return NSObject._(_ret, _lib, retain: false, release: true); - } - - void dealloc() { - _lib._objc_msgSend_1(_id, _lib._sel_dealloc1); - } - - void finalize() { - _lib._objc_msgSend_1(_id, _lib._sel_finalize1); - } - - NSObject copy() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_copy1); - return NSObject._(_ret, _lib, retain: false, release: true); - } - - NSObject mutableCopy() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_mutableCopy1); - return NSObject._(_ret, _lib, retain: false, release: true); - } - - static NSObject copyWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSObject1, _lib._sel_copyWithZone_1, zone); - return NSObject._(_ret, _lib, retain: false, release: true); - } - - static NSObject mutableCopyWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSObject1, _lib._sel_mutableCopyWithZone_1, zone); - return NSObject._(_ret, _lib, retain: false, release: true); - } - - static bool instancesRespondToSelector_( - AuthenticationServices _lib, ffi.Pointer aSelector) { - return _lib._objc_msgSend_4(_lib._class_NSObject1, - _lib._sel_instancesRespondToSelector_1, aSelector); - } - - static bool conformsToProtocol_( - AuthenticationServices _lib, Protocol protocol) { - return _lib._objc_msgSend_5( - _lib._class_NSObject1, _lib._sel_conformsToProtocol_1, protocol._id); - } - - ffi.Pointer> methodForSelector_( - ffi.Pointer aSelector) { - return _lib._objc_msgSend_6(_id, _lib._sel_methodForSelector_1, aSelector); - } - - static ffi.Pointer> - instanceMethodForSelector_( - AuthenticationServices _lib, ffi.Pointer aSelector) { - return _lib._objc_msgSend_6(_lib._class_NSObject1, - _lib._sel_instanceMethodForSelector_1, aSelector); - } - - void doesNotRecognizeSelector_(ffi.Pointer aSelector) { - _lib._objc_msgSend_7(_id, _lib._sel_doesNotRecognizeSelector_1, aSelector); - } - - NSObject forwardingTargetForSelector_(ffi.Pointer aSelector) { - final _ret = _lib._objc_msgSend_8( - _id, _lib._sel_forwardingTargetForSelector_1, aSelector); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - void forwardInvocation_(NSInvocation anInvocation) { - _lib._objc_msgSend_24(_id, _lib._sel_forwardInvocation_1, anInvocation._id); - } - - NSMethodSignature methodSignatureForSelector_( - ffi.Pointer aSelector) { - final _ret = _lib._objc_msgSend_25( - _id, _lib._sel_methodSignatureForSelector_1, aSelector); - return NSMethodSignature._(_ret, _lib, retain: true, release: true); - } - - static NSMethodSignature instanceMethodSignatureForSelector_( - AuthenticationServices _lib, ffi.Pointer aSelector) { - final _ret = _lib._objc_msgSend_25(_lib._class_NSObject1, - _lib._sel_instanceMethodSignatureForSelector_1, aSelector); - return NSMethodSignature._(_ret, _lib, retain: true, release: true); - } - - bool allowsWeakReference() { - return _lib._objc_msgSend_12(_id, _lib._sel_allowsWeakReference1); - } - - bool retainWeakReference() { - return _lib._objc_msgSend_12(_id, _lib._sel_retainWeakReference1); - } - - static bool isSubclassOfClass_(AuthenticationServices _lib, NSObject aClass) { - return _lib._objc_msgSend_0( - _lib._class_NSObject1, _lib._sel_isSubclassOfClass_1, aClass._id); - } - - static bool resolveClassMethod_( - AuthenticationServices _lib, ffi.Pointer sel) { - return _lib._objc_msgSend_4( - _lib._class_NSObject1, _lib._sel_resolveClassMethod_1, sel); - } - - static bool resolveInstanceMethod_( - AuthenticationServices _lib, ffi.Pointer sel) { - return _lib._objc_msgSend_4( - _lib._class_NSObject1, _lib._sel_resolveInstanceMethod_1, sel); - } - - static int hash(AuthenticationServices _lib) { - return _lib._objc_msgSend_10(_lib._class_NSObject1, _lib._sel_hash1); - } - - static NSObject superclass(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_superclass1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - static NSObject class1(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_class1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - static NSString description(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_36(_lib._class_NSObject1, _lib._sel_description1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - static NSString debugDescription(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_36( - _lib._class_NSObject1, _lib._sel_debugDescription1); - return NSString._(_ret, _lib, retain: true, release: true); - } -} - -typedef instancetype = ffi.Pointer; -typedef Dartinstancetype = NSObject; - -final class _NSZone extends ffi.Opaque {} - -class Protocol extends _ObjCWrapper { - Protocol._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [Protocol] that points to the same underlying object as [other]. - static Protocol castFrom(T other) { - return Protocol._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [Protocol] that wraps the given raw object pointer. - static Protocol castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return Protocol._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [Protocol]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_Protocol1); - } -} - -class NSInvocation extends NSObject { - NSInvocation._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSInvocation] that points to the same underlying object as [other]. - static NSInvocation castFrom(T other) { - return NSInvocation._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSInvocation] that wraps the given raw object pointer. - static NSInvocation castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSInvocation._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSInvocation]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSInvocation1); - } - - static NSInvocation invocationWithMethodSignature_( - AuthenticationServices _lib, NSMethodSignature sig) { - final _ret = _lib._objc_msgSend_14(_lib._class_NSInvocation1, - _lib._sel_invocationWithMethodSignature_1, sig._id); - return NSInvocation._(_ret, _lib, retain: true, release: true); - } - - NSMethodSignature get methodSignature { - final _ret = _lib._objc_msgSend_15(_id, _lib._sel_methodSignature1); - return NSMethodSignature._(_ret, _lib, retain: true, release: true); - } - - void retainArguments() { - _lib._objc_msgSend_1(_id, _lib._sel_retainArguments1); - } - - bool get argumentsRetained { - return _lib._objc_msgSend_12(_id, _lib._sel_argumentsRetained1); - } - - NSObject? get target { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_target1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - set target(NSObject? value) { - return _lib._objc_msgSend_17( - _id, _lib._sel_setTarget_1, value?._id ?? ffi.nullptr); - } - - ffi.Pointer get selector { - return _lib._objc_msgSend_18(_id, _lib._sel_selector1); - } - - set selector(ffi.Pointer value) { - return _lib._objc_msgSend_19(_id, _lib._sel_setSelector_1, value); - } - - void getReturnValue_(ffi.Pointer retLoc) { - _lib._objc_msgSend_20(_id, _lib._sel_getReturnValue_1, retLoc); - } - - void setReturnValue_(ffi.Pointer retLoc) { - _lib._objc_msgSend_20(_id, _lib._sel_setReturnValue_1, retLoc); - } - - void getArgument_atIndex_(ffi.Pointer argumentLocation, int idx) { - _lib._objc_msgSend_21( - _id, _lib._sel_getArgument_atIndex_1, argumentLocation, idx); - } - - void setArgument_atIndex_(ffi.Pointer argumentLocation, int idx) { - _lib._objc_msgSend_21( - _id, _lib._sel_setArgument_atIndex_1, argumentLocation, idx); - } - - void invoke() { - _lib._objc_msgSend_1(_id, _lib._sel_invoke1); - } - - void invokeWithTarget_(NSObject target) { - _lib._objc_msgSend_22(_id, _lib._sel_invokeWithTarget_1, target._id); - } - - void invokeUsingIMP_( - ffi.Pointer> imp) { - _lib._objc_msgSend_23(_id, _lib._sel_invokeUsingIMP_1, imp); - } - - @override - NSInvocation init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSInvocation._(_ret, _lib, retain: true, release: true); - } - - static NSInvocation new1(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSInvocation1, _lib._sel_new1); - return NSInvocation._(_ret, _lib, retain: false, release: true); - } - - static NSInvocation allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSInvocation1, _lib._sel_allocWithZone_1, zone); - return NSInvocation._(_ret, _lib, retain: false, release: true); - } - - static NSInvocation alloc(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSInvocation1, _lib._sel_alloc1); - return NSInvocation._(_ret, _lib, retain: false, release: true); - } -} - -class NSMethodSignature extends NSObject { - NSMethodSignature._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSMethodSignature] that points to the same underlying object as [other]. - static NSMethodSignature castFrom(T other) { - return NSMethodSignature._(other._id, other._lib, - retain: true, release: true); - } - - /// Returns a [NSMethodSignature] that wraps the given raw object pointer. - static NSMethodSignature castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSMethodSignature._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSMethodSignature]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, - obj._lib._class_NSMethodSignature1); - } - - static NSMethodSignature? signatureWithObjCTypes_( - AuthenticationServices _lib, ffi.Pointer types) { - final _ret = _lib._objc_msgSend_9(_lib._class_NSMethodSignature1, - _lib._sel_signatureWithObjCTypes_1, types); - return _ret.address == 0 - ? null - : NSMethodSignature._(_ret, _lib, retain: true, release: true); - } - - int get numberOfArguments { - return _lib._objc_msgSend_10(_id, _lib._sel_numberOfArguments1); - } - - ffi.Pointer getArgumentTypeAtIndex_(int idx) { - return _lib._objc_msgSend_11(_id, _lib._sel_getArgumentTypeAtIndex_1, idx); - } - - int get frameLength { - return _lib._objc_msgSend_10(_id, _lib._sel_frameLength1); - } - - bool isOneway() { - return _lib._objc_msgSend_12(_id, _lib._sel_isOneway1); - } - - ffi.Pointer get methodReturnType { - return _lib._objc_msgSend_13(_id, _lib._sel_methodReturnType1); - } - - int get methodReturnLength { - return _lib._objc_msgSend_10(_id, _lib._sel_methodReturnLength1); - } - - @override - NSMethodSignature init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSMethodSignature._(_ret, _lib, retain: true, release: true); - } - - static NSMethodSignature new1(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSMethodSignature1, _lib._sel_new1); - return NSMethodSignature._(_ret, _lib, retain: false, release: true); - } - - static NSMethodSignature allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSMethodSignature1, _lib._sel_allocWithZone_1, zone); - return NSMethodSignature._(_ret, _lib, retain: false, release: true); - } - - static NSMethodSignature alloc(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSMethodSignature1, _lib._sel_alloc1); - return NSMethodSignature._(_ret, _lib, retain: false, release: true); - } -} - -class NSString extends NSObject { - NSString._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSString] that points to the same underlying object as [other]. - static NSString castFrom(T other) { - return NSString._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSString] that wraps the given raw object pointer. - static NSString castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSString._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSString]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSString1); - } - - factory NSString(AuthenticationServices _lib, String str) { - final cstr = str.toNativeUtf16(); - final nsstr = stringWithCharacters_length_(_lib, cstr.cast(), str.length); - pkg_ffi.calloc.free(cstr); - return nsstr; - } - - @override - String toString() { - final data = - dataUsingEncoding_(0x94000100 /* NSUTF16LittleEndianStringEncoding */); - return data!.bytes.cast().toDartString(length: length); - } - - int get length { - return _lib._objc_msgSend_10(_id, _lib._sel_length1); - } - - int characterAtIndex_(int index) { - return _lib._objc_msgSend_26(_id, _lib._sel_characterAtIndex_1, index); - } - - @override - NSString init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? initWithCoder_(NSCoder coder) { - final _ret = - _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - static NSString stringWithCharacters_length_(AuthenticationServices _lib, - ffi.Pointer characters, int length) { - final _ret = _lib._objc_msgSend_34(_lib._class_NSString1, - _lib._sel_stringWithCharacters_length_1, characters, length); - return NSString._(_ret, _lib, retain: true, release: true); - } - - NSData dataUsingEncoding_(int encoding) { - final _ret = - _lib._objc_msgSend_35(_id, _lib._sel_dataUsingEncoding_1, encoding); - return NSData._(_ret, _lib, retain: true, release: true); - } - - static NSString new1(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSString1, _lib._sel_new1); - return NSString._(_ret, _lib, retain: false, release: true); - } - - static NSString allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSString1, _lib._sel_allocWithZone_1, zone); - return NSString._(_ret, _lib, retain: false, release: true); - } - - static NSString alloc(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSString1, _lib._sel_alloc1); - return NSString._(_ret, _lib, retain: false, release: true); - } -} - -extension StringToNSString on String { - NSString toNSString(AuthenticationServices lib) => NSString(lib, this); -} - -class NSCoder extends NSObject { - NSCoder._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSCoder] that points to the same underlying object as [other]. - static NSCoder castFrom(T other) { - return NSCoder._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSCoder] that wraps the given raw object pointer. - static NSCoder castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSCoder._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSCoder]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSCoder1); - } - - void encodeValueOfObjCType_at_( - ffi.Pointer type, ffi.Pointer addr) { - _lib._objc_msgSend_27( - _id, _lib._sel_encodeValueOfObjCType_at_1, type, addr); - } - - void encodeDataObject_(NSData data) { - _lib._objc_msgSend_29(_id, _lib._sel_encodeDataObject_1, data._id); - } - - NSData? decodeDataObject() { - final _ret = _lib._objc_msgSend_30(_id, _lib._sel_decodeDataObject1); - return _ret.address == 0 - ? null - : NSData._(_ret, _lib, retain: true, release: true); - } - - void decodeValueOfObjCType_at_size_( - ffi.Pointer type, ffi.Pointer data, int size) { - _lib._objc_msgSend_31( - _id, _lib._sel_decodeValueOfObjCType_at_size_1, type, data, size); - } - - int versionForClassName_(NSString className) { - return _lib._objc_msgSend_32( - _id, _lib._sel_versionForClassName_1, className._id); - } - - @override - NSCoder init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSCoder._(_ret, _lib, retain: true, release: true); - } - - static NSCoder new1(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSCoder1, _lib._sel_new1); - return NSCoder._(_ret, _lib, retain: false, release: true); - } - - static NSCoder allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSCoder1, _lib._sel_allocWithZone_1, zone); - return NSCoder._(_ret, _lib, retain: false, release: true); - } - - static NSCoder alloc(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSCoder1, _lib._sel_alloc1); - return NSCoder._(_ret, _lib, retain: false, release: true); - } -} - -class NSData extends NSObject { - NSData._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSData] that points to the same underlying object as [other]. - static NSData castFrom(T other) { - return NSData._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSData] that wraps the given raw object pointer. - static NSData castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSData._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSData]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSData1); - } - - int get length { - return _lib._objc_msgSend_10(_id, _lib._sel_length1); - } - - ffi.Pointer get bytes { - return _lib._objc_msgSend_28(_id, _lib._sel_bytes1); - } - - @override - NSData init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSData._(_ret, _lib, retain: true, release: true); - } - - static NSData new1(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSData1, _lib._sel_new1); - return NSData._(_ret, _lib, retain: false, release: true); - } - - static NSData allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSData1, _lib._sel_allocWithZone_1, zone); - return NSData._(_ret, _lib, retain: false, release: true); - } - - static NSData alloc(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSData1, _lib._sel_alloc1); - return NSData._(_ret, _lib, retain: false, release: true); - } -} - -class NSURL extends NSObject { - NSURL._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSURL] that points to the same underlying object as [other]. - static NSURL castFrom(T other) { - return NSURL._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSURL] that wraps the given raw object pointer. - static NSURL castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSURL._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSURL]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSURL1); - } - - NSURL? initWithScheme_host_path_( - NSString scheme, NSString? host, NSString path) { - final _ret = _lib._objc_msgSend_37( - _id, - _lib._sel_initWithScheme_host_path_1, - scheme._id, - host?._id ?? ffi.nullptr, - path._id); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - NSURL initFileURLWithPath_isDirectory_relativeToURL_( - NSString path, bool isDir, NSURL? baseURL) { - final _ret = _lib._objc_msgSend_38( - _id, - _lib._sel_initFileURLWithPath_isDirectory_relativeToURL_1, - path._id, - isDir, - baseURL?._id ?? ffi.nullptr); - return NSURL._(_ret, _lib, retain: true, release: true); - } - - NSURL initFileURLWithPath_relativeToURL_(NSString path, NSURL? baseURL) { - final _ret = _lib._objc_msgSend_39( - _id, - _lib._sel_initFileURLWithPath_relativeToURL_1, - path._id, - baseURL?._id ?? ffi.nullptr); - return NSURL._(_ret, _lib, retain: true, release: true); - } - - NSURL initFileURLWithPath_isDirectory_(NSString path, bool isDir) { - final _ret = _lib._objc_msgSend_40( - _id, _lib._sel_initFileURLWithPath_isDirectory_1, path._id, isDir); - return NSURL._(_ret, _lib, retain: true, release: true); - } - - NSURL initFileURLWithPath_(NSString path) { - final _ret = - _lib._objc_msgSend_41(_id, _lib._sel_initFileURLWithPath_1, path._id); - return NSURL._(_ret, _lib, retain: true, release: true); - } - - static NSURL fileURLWithPath_isDirectory_relativeToURL_( - AuthenticationServices _lib, NSString path, bool isDir, NSURL? baseURL) { - final _ret = _lib._objc_msgSend_42( - _lib._class_NSURL1, - _lib._sel_fileURLWithPath_isDirectory_relativeToURL_1, - path._id, - isDir, - baseURL?._id ?? ffi.nullptr); - return NSURL._(_ret, _lib, retain: true, release: true); - } - - static NSURL fileURLWithPath_relativeToURL_( - AuthenticationServices _lib, NSString path, NSURL? baseURL) { - final _ret = _lib._objc_msgSend_43( - _lib._class_NSURL1, - _lib._sel_fileURLWithPath_relativeToURL_1, - path._id, - baseURL?._id ?? ffi.nullptr); - return NSURL._(_ret, _lib, retain: true, release: true); - } - - static NSURL fileURLWithPath_isDirectory_( - AuthenticationServices _lib, NSString path, bool isDir) { - final _ret = _lib._objc_msgSend_44(_lib._class_NSURL1, - _lib._sel_fileURLWithPath_isDirectory_1, path._id, isDir); - return NSURL._(_ret, _lib, retain: true, release: true); - } - - static NSURL fileURLWithPath_(AuthenticationServices _lib, NSString path) { - final _ret = _lib._objc_msgSend_45( - _lib._class_NSURL1, _lib._sel_fileURLWithPath_1, path._id); - return NSURL._(_ret, _lib, retain: true, release: true); - } - - NSURL initFileURLWithFileSystemRepresentation_isDirectory_relativeToURL_( - ffi.Pointer path, bool isDir, NSURL? baseURL) { - final _ret = _lib._objc_msgSend_46( - _id, - _lib._sel_initFileURLWithFileSystemRepresentation_isDirectory_relativeToURL_1, - path, - isDir, - baseURL?._id ?? ffi.nullptr); - return NSURL._(_ret, _lib, retain: true, release: true); - } - - static NSURL fileURLWithFileSystemRepresentation_isDirectory_relativeToURL_( - AuthenticationServices _lib, - ffi.Pointer path, - bool isDir, - NSURL? baseURL) { - final _ret = _lib._objc_msgSend_47( - _lib._class_NSURL1, - _lib._sel_fileURLWithFileSystemRepresentation_isDirectory_relativeToURL_1, - path, - isDir, - baseURL?._id ?? ffi.nullptr); - return NSURL._(_ret, _lib, retain: true, release: true); - } - - NSURL? initWithString_(NSString URLString) { - final _ret = - _lib._objc_msgSend_48(_id, _lib._sel_initWithString_1, URLString._id); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - NSURL? initWithString_relativeToURL_(NSString URLString, NSURL? baseURL) { - final _ret = _lib._objc_msgSend_49( - _id, - _lib._sel_initWithString_relativeToURL_1, - URLString._id, - baseURL?._id ?? ffi.nullptr); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - static NSURL? URLWithString_( - AuthenticationServices _lib, NSString URLString) { - final _ret = _lib._objc_msgSend_48( - _lib._class_NSURL1, _lib._sel_URLWithString_1, URLString._id); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - static NSURL? URLWithString_relativeToURL_( - AuthenticationServices _lib, NSString URLString, NSURL? baseURL) { - final _ret = _lib._objc_msgSend_49( - _lib._class_NSURL1, - _lib._sel_URLWithString_relativeToURL_1, - URLString._id, - baseURL?._id ?? ffi.nullptr); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - NSURL? initWithString_encodingInvalidCharacters_( - NSString URLString, bool encodingInvalidCharacters) { - final _ret = _lib._objc_msgSend_50( - _id, - _lib._sel_initWithString_encodingInvalidCharacters_1, - URLString._id, - encodingInvalidCharacters); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - static NSURL? URLWithString_encodingInvalidCharacters_( - AuthenticationServices _lib, - NSString URLString, - bool encodingInvalidCharacters) { - final _ret = _lib._objc_msgSend_50( - _lib._class_NSURL1, - _lib._sel_URLWithString_encodingInvalidCharacters_1, - URLString._id, - encodingInvalidCharacters); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - NSURL initWithDataRepresentation_relativeToURL_(NSData data, NSURL? baseURL) { - final _ret = _lib._objc_msgSend_51( - _id, - _lib._sel_initWithDataRepresentation_relativeToURL_1, - data._id, - baseURL?._id ?? ffi.nullptr); - return NSURL._(_ret, _lib, retain: true, release: true); - } - - static NSURL URLWithDataRepresentation_relativeToURL_( - AuthenticationServices _lib, NSData data, NSURL? baseURL) { - final _ret = _lib._objc_msgSend_52( - _lib._class_NSURL1, - _lib._sel_URLWithDataRepresentation_relativeToURL_1, - data._id, - baseURL?._id ?? ffi.nullptr); - return NSURL._(_ret, _lib, retain: true, release: true); - } - - NSURL initAbsoluteURLWithDataRepresentation_relativeToURL_( - NSData data, NSURL? baseURL) { - final _ret = _lib._objc_msgSend_51( - _id, - _lib._sel_initAbsoluteURLWithDataRepresentation_relativeToURL_1, - data._id, - baseURL?._id ?? ffi.nullptr); - return NSURL._(_ret, _lib, retain: true, release: true); - } - - static NSURL absoluteURLWithDataRepresentation_relativeToURL_( - AuthenticationServices _lib, NSData data, NSURL? baseURL) { - final _ret = _lib._objc_msgSend_52( - _lib._class_NSURL1, - _lib._sel_absoluteURLWithDataRepresentation_relativeToURL_1, - data._id, - baseURL?._id ?? ffi.nullptr); - return NSURL._(_ret, _lib, retain: true, release: true); - } - - NSData get dataRepresentation { - final _ret = _lib._objc_msgSend_53(_id, _lib._sel_dataRepresentation1); - return NSData._(_ret, _lib, retain: true, release: true); - } - - NSString? get absoluteString { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_absoluteString1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSString get relativeString { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_relativeString1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - NSURL? get baseURL { - final _ret = _lib._objc_msgSend_55(_id, _lib._sel_baseURL1); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - NSURL? get absoluteURL { - final _ret = _lib._objc_msgSend_55(_id, _lib._sel_absoluteURL1); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - NSString? get scheme { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_scheme1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? get resourceSpecifier { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_resourceSpecifier1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? get host { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_host1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSNumber? get port { - final _ret = _lib._objc_msgSend_85(_id, _lib._sel_port1); - return _ret.address == 0 - ? null - : NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSString? get user { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_user1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? get password { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_password1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? get path { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_path1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? get fragment { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_fragment1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? get parameterString { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_parameterString1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? get query { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_query1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? get relativePath { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_relativePath1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - bool get hasDirectoryPath { - return _lib._objc_msgSend_12(_id, _lib._sel_hasDirectoryPath1); - } - - bool getFileSystemRepresentation_maxLength_( - ffi.Pointer buffer, int maxBufferLength) { - return _lib._objc_msgSend_86( - _id, - _lib._sel_getFileSystemRepresentation_maxLength_1, - buffer, - maxBufferLength); - } - - ffi.Pointer get fileSystemRepresentation { - return _lib._objc_msgSend_13(_id, _lib._sel_fileSystemRepresentation1); - } - - bool get fileURL { - return _lib._objc_msgSend_12(_id, _lib._sel_isFileURL1); - } - - NSURL? get standardizedURL { - final _ret = _lib._objc_msgSend_55(_id, _lib._sel_standardizedURL1); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - bool isFileReferenceURL() { - return _lib._objc_msgSend_12(_id, _lib._sel_isFileReferenceURL1); - } - - NSURL? fileReferenceURL() { - final _ret = _lib._objc_msgSend_55(_id, _lib._sel_fileReferenceURL1); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - NSURL? get filePathURL { - final _ret = _lib._objc_msgSend_55(_id, _lib._sel_filePathURL1); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - bool getResourceValue_forKey_error_( - ffi.Pointer> value, - NSString key, - ffi.Pointer> error) { - return _lib._objc_msgSend_90( - _id, _lib._sel_getResourceValue_forKey_error_1, value, key._id, error); - } - - NSObject? resourceValuesForKeys_error_( - NSObject keys, ffi.Pointer> error) { - final _ret = _lib._objc_msgSend_91( - _id, _lib._sel_resourceValuesForKeys_error_1, keys._id, error); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - bool setResourceValue_forKey_error_(NSObject? value, NSString key, - ffi.Pointer> error) { - return _lib._objc_msgSend_92(_id, _lib._sel_setResourceValue_forKey_error_1, - value?._id ?? ffi.nullptr, key._id, error); - } - - bool setResourceValues_error_( - NSObject keyedValues, ffi.Pointer> error) { - return _lib._objc_msgSend_93( - _id, _lib._sel_setResourceValues_error_1, keyedValues._id, error); - } - - void removeCachedResourceValueForKey_(NSString key) { - _lib._objc_msgSend_94( - _id, _lib._sel_removeCachedResourceValueForKey_1, key._id); - } - - void removeAllCachedResourceValues() { - _lib._objc_msgSend_1(_id, _lib._sel_removeAllCachedResourceValues1); - } - - void setTemporaryResourceValue_forKey_(NSObject? value, NSString key) { - _lib._objc_msgSend_95(_id, _lib._sel_setTemporaryResourceValue_forKey_1, - value?._id ?? ffi.nullptr, key._id); - } - - NSData? - bookmarkDataWithOptions_includingResourceValuesForKeys_relativeToURL_error_( - int options, - NSObject? keys, - NSURL? relativeURL, - ffi.Pointer> error) { - final _ret = _lib._objc_msgSend_96( - _id, - _lib._sel_bookmarkDataWithOptions_includingResourceValuesForKeys_relativeToURL_error_1, - options, - keys?._id ?? ffi.nullptr, - relativeURL?._id ?? ffi.nullptr, - error); - return _ret.address == 0 - ? null - : NSData._(_ret, _lib, retain: true, release: true); - } - - NSURL? - initByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_( - NSData bookmarkData, - int options, - NSURL? relativeURL, - ffi.Pointer isStale, - ffi.Pointer> error) { - final _ret = _lib._objc_msgSend_97( - _id, - _lib._sel_initByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_1, - bookmarkData._id, - options, - relativeURL?._id ?? ffi.nullptr, - isStale, - error); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - static NSURL? - URLByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_( - AuthenticationServices _lib, - NSData bookmarkData, - int options, - NSURL? relativeURL, - ffi.Pointer isStale, - ffi.Pointer> error) { - final _ret = _lib._objc_msgSend_97( - _lib._class_NSURL1, - _lib._sel_URLByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_1, - bookmarkData._id, - options, - relativeURL?._id ?? ffi.nullptr, - isStale, - error); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - static NSObject? resourceValuesForKeys_fromBookmarkData_( - AuthenticationServices _lib, NSObject keys, NSData bookmarkData) { - final _ret = _lib._objc_msgSend_98( - _lib._class_NSURL1, - _lib._sel_resourceValuesForKeys_fromBookmarkData_1, - keys._id, - bookmarkData._id); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - static bool writeBookmarkData_toURL_options_error_( - AuthenticationServices _lib, - NSData bookmarkData, - NSURL bookmarkFileURL, - int options, - ffi.Pointer> error) { - return _lib._objc_msgSend_99( - _lib._class_NSURL1, - _lib._sel_writeBookmarkData_toURL_options_error_1, - bookmarkData._id, - bookmarkFileURL._id, - options, - error); - } - - static NSData? bookmarkDataWithContentsOfURL_error_( - AuthenticationServices _lib, - NSURL bookmarkFileURL, - ffi.Pointer> error) { - final _ret = _lib._objc_msgSend_100( - _lib._class_NSURL1, - _lib._sel_bookmarkDataWithContentsOfURL_error_1, - bookmarkFileURL._id, - error); - return _ret.address == 0 - ? null - : NSData._(_ret, _lib, retain: true, release: true); - } - - static NSURL? URLByResolvingAliasFileAtURL_options_error_( - AuthenticationServices _lib, - NSURL url, - int options, - ffi.Pointer> error) { - final _ret = _lib._objc_msgSend_101( - _lib._class_NSURL1, - _lib._sel_URLByResolvingAliasFileAtURL_options_error_1, - url._id, - options, - error); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - bool startAccessingSecurityScopedResource() { - return _lib._objc_msgSend_12( - _id, _lib._sel_startAccessingSecurityScopedResource1); - } - - void stopAccessingSecurityScopedResource() { - _lib._objc_msgSend_1(_id, _lib._sel_stopAccessingSecurityScopedResource1); - } - - @override - NSURL init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSURL._(_ret, _lib, retain: true, release: true); - } - - static NSURL new1(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSURL1, _lib._sel_new1); - return NSURL._(_ret, _lib, retain: false, release: true); - } - - static NSURL allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSURL1, _lib._sel_allocWithZone_1, zone); - return NSURL._(_ret, _lib, retain: false, release: true); - } - - static NSURL alloc(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSURL1, _lib._sel_alloc1); - return NSURL._(_ret, _lib, retain: false, release: true); - } -} - -class NSNumber extends NSValue { - NSNumber._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSNumber] that points to the same underlying object as [other]. - static NSNumber castFrom(T other) { - return NSNumber._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSNumber] that wraps the given raw object pointer. - static NSNumber castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSNumber._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSNumber]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSNumber1); - } - - @override - NSNumber? initWithCoder_(NSCoder coder) { - final _ret = - _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); - return _ret.address == 0 - ? null - : NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithChar_(int value) { - final _ret = _lib._objc_msgSend_58(_id, _lib._sel_initWithChar_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithUnsignedChar_(int value) { - final _ret = - _lib._objc_msgSend_59(_id, _lib._sel_initWithUnsignedChar_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithShort_(int value) { - final _ret = _lib._objc_msgSend_60(_id, _lib._sel_initWithShort_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithUnsignedShort_(int value) { - final _ret = - _lib._objc_msgSend_61(_id, _lib._sel_initWithUnsignedShort_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithInt_(int value) { - final _ret = _lib._objc_msgSend_62(_id, _lib._sel_initWithInt_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithUnsignedInt_(int value) { - final _ret = - _lib._objc_msgSend_63(_id, _lib._sel_initWithUnsignedInt_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithLong_(int value) { - final _ret = _lib._objc_msgSend_64(_id, _lib._sel_initWithLong_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithUnsignedLong_(int value) { - final _ret = - _lib._objc_msgSend_65(_id, _lib._sel_initWithUnsignedLong_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithLongLong_(int value) { - final _ret = - _lib._objc_msgSend_66(_id, _lib._sel_initWithLongLong_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithUnsignedLongLong_(int value) { - final _ret = - _lib._objc_msgSend_67(_id, _lib._sel_initWithUnsignedLongLong_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithFloat_(double value) { - final _ret = _lib._objc_msgSend_68(_id, _lib._sel_initWithFloat_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithDouble_(double value) { - final _ret = _lib._objc_msgSend_69(_id, _lib._sel_initWithDouble_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithBool_(bool value) { - final _ret = _lib._objc_msgSend_70(_id, _lib._sel_initWithBool_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithInteger_(int value) { - final _ret = _lib._objc_msgSend_64(_id, _lib._sel_initWithInteger_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithUnsignedInteger_(int value) { - final _ret = - _lib._objc_msgSend_65(_id, _lib._sel_initWithUnsignedInteger_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - int get charValue { - return _lib._objc_msgSend_71(_id, _lib._sel_charValue1); - } - - int get unsignedCharValue { - return _lib._objc_msgSend_72(_id, _lib._sel_unsignedCharValue1); - } - - int get shortValue { - return _lib._objc_msgSend_73(_id, _lib._sel_shortValue1); - } - - int get unsignedShortValue { - return _lib._objc_msgSend_74(_id, _lib._sel_unsignedShortValue1); - } - - int get intValue { - return _lib._objc_msgSend_75(_id, _lib._sel_intValue1); - } - - int get unsignedIntValue { - return _lib._objc_msgSend_76(_id, _lib._sel_unsignedIntValue1); - } - - int get longValue { - return _lib._objc_msgSend_77(_id, _lib._sel_longValue1); - } - - int get unsignedLongValue { - return _lib._objc_msgSend_10(_id, _lib._sel_unsignedLongValue1); - } - - int get longLongValue { - return _lib._objc_msgSend_78(_id, _lib._sel_longLongValue1); - } - - int get unsignedLongLongValue { - return _lib._objc_msgSend_79(_id, _lib._sel_unsignedLongLongValue1); - } - - double get floatValue { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_80_fpret(_id, _lib._sel_floatValue1) - : _lib._objc_msgSend_80(_id, _lib._sel_floatValue1); - } - - double get doubleValue { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_doubleValue1) - : _lib._objc_msgSend_81(_id, _lib._sel_doubleValue1); - } - - bool get boolValue { - return _lib._objc_msgSend_12(_id, _lib._sel_boolValue1); - } - - int get integerValue { - return _lib._objc_msgSend_77(_id, _lib._sel_integerValue1); - } - - int get unsignedIntegerValue { - return _lib._objc_msgSend_10(_id, _lib._sel_unsignedIntegerValue1); - } - - NSString get stringValue { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_stringValue1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - int compare_(NSNumber otherNumber) { - return _lib._objc_msgSend_82(_id, _lib._sel_compare_1, otherNumber._id); - } - - bool isEqualToNumber_(NSNumber number) { - return _lib._objc_msgSend_83(_id, _lib._sel_isEqualToNumber_1, number._id); - } - - NSString descriptionWithLocale_(NSObject? locale) { - final _ret = _lib._objc_msgSend_84( - _id, _lib._sel_descriptionWithLocale_1, locale?._id ?? ffi.nullptr); - return NSString._(_ret, _lib, retain: true, release: true); - } - - @override - NSNumber initWithBytes_objCType_( - ffi.Pointer value, ffi.Pointer type) { - final _ret = _lib._objc_msgSend_57( - _id, _lib._sel_initWithBytes_objCType_1, value, type); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - @override - NSNumber init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - static NSNumber new1(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSNumber1, _lib._sel_new1); - return NSNumber._(_ret, _lib, retain: false, release: true); - } - - static NSNumber allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSNumber1, _lib._sel_allocWithZone_1, zone); - return NSNumber._(_ret, _lib, retain: false, release: true); - } - - static NSNumber alloc(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSNumber1, _lib._sel_alloc1); - return NSNumber._(_ret, _lib, retain: false, release: true); - } -} - -class NSValue extends NSObject { - NSValue._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSValue] that points to the same underlying object as [other]. - static NSValue castFrom(T other) { - return NSValue._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSValue] that wraps the given raw object pointer. - static NSValue castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSValue._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSValue]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSValue1); - } - - void getValue_size_(ffi.Pointer value, int size) { - _lib._objc_msgSend_56(_id, _lib._sel_getValue_size_1, value, size); - } - - ffi.Pointer get objCType { - return _lib._objc_msgSend_13(_id, _lib._sel_objCType1); - } - - NSValue initWithBytes_objCType_( - ffi.Pointer value, ffi.Pointer type) { - final _ret = _lib._objc_msgSend_57( - _id, _lib._sel_initWithBytes_objCType_1, value, type); - return NSValue._(_ret, _lib, retain: true, release: true); - } - - NSValue? initWithCoder_(NSCoder coder) { - final _ret = - _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); - return _ret.address == 0 - ? null - : NSValue._(_ret, _lib, retain: true, release: true); - } - - @override - NSValue init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSValue._(_ret, _lib, retain: true, release: true); - } - - static NSValue new1(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSValue1, _lib._sel_new1); - return NSValue._(_ret, _lib, retain: false, release: true); - } - - static NSValue allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSValue1, _lib._sel_allocWithZone_1, zone); - return NSValue._(_ret, _lib, retain: false, release: true); - } - - static NSValue alloc(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSValue1, _lib._sel_alloc1); - return NSValue._(_ret, _lib, retain: false, release: true); - } -} - -abstract class NSComparisonResult { - static const int NSOrderedAscending = -1; - static const int NSOrderedSame = 0; - static const int NSOrderedDescending = 1; -} - -class NSError extends NSObject { - NSError._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSError] that points to the same underlying object as [other]. - static NSError castFrom(T other) { - return NSError._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSError] that wraps the given raw object pointer. - static NSError castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSError._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSError]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSError1); - } - - NSError initWithDomain_code_userInfo_( - NSString domain, int code, NSObject? dict) { - final _ret = _lib._objc_msgSend_87( - _id, - _lib._sel_initWithDomain_code_userInfo_1, - domain._id, - code, - dict?._id ?? ffi.nullptr); - return NSError._(_ret, _lib, retain: true, release: true); - } - - static NSError errorWithDomain_code_userInfo_( - AuthenticationServices _lib, NSString domain, int code, NSObject? dict) { - final _ret = _lib._objc_msgSend_87( - _lib._class_NSError1, - _lib._sel_errorWithDomain_code_userInfo_1, - domain._id, - code, - dict?._id ?? ffi.nullptr); - return NSError._(_ret, _lib, retain: true, release: true); - } - - NSString get domain { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_domain1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - int get code { - return _lib._objc_msgSend_77(_id, _lib._sel_code1); - } - - NSObject get userInfo { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_userInfo1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - NSString get localizedDescription { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_localizedDescription1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? get localizedFailureReason { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_localizedFailureReason1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? get localizedRecoverySuggestion { - final _ret = - _lib._objc_msgSend_54(_id, _lib._sel_localizedRecoverySuggestion1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSObject? get localizedRecoveryOptions { - final _ret = - _lib._objc_msgSend_16(_id, _lib._sel_localizedRecoveryOptions1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - NSObject? get recoveryAttempter { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_recoveryAttempter1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - NSString? get helpAnchor { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_helpAnchor1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSObject get underlyingErrors { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_underlyingErrors1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - static void setUserInfoValueProviderForDomain_provider_( - AuthenticationServices _lib, - NSString errorDomain, - ObjCBlock_ObjCObject_NSError_NSString? provider) { - _lib._objc_msgSend_88( - _lib._class_NSError1, - _lib._sel_setUserInfoValueProviderForDomain_provider_1, - errorDomain._id, - provider?._id ?? ffi.nullptr); - } - - static ObjCBlock_ObjCObject_NSError_NSString? userInfoValueProviderForDomain_( - AuthenticationServices _lib, - NSError err, - NSString userInfoKey, - NSString errorDomain) { - final _ret = _lib._objc_msgSend_89( - _lib._class_NSError1, - _lib._sel_userInfoValueProviderForDomain_1, - err._id, - userInfoKey._id, - errorDomain._id); - return _ret.address == 0 - ? null - : ObjCBlock_ObjCObject_NSError_NSString._(_ret, _lib, - retain: true, release: true); - } - - @override - NSError init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSError._(_ret, _lib, retain: true, release: true); - } - - static NSError new1(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSError1, _lib._sel_new1); - return NSError._(_ret, _lib, retain: false, release: true); - } - - static NSError allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSError1, _lib._sel_allocWithZone_1, zone); - return NSError._(_ret, _lib, retain: false, release: true); - } - - static NSError alloc(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSError1, _lib._sel_alloc1); - return NSError._(_ret, _lib, retain: false, release: true); - } -} - -class _ObjCBlockBase implements ffi.Finalizable { - final ffi.Pointer<_ObjCBlock> _id; - final AuthenticationServices _lib; - bool _pendingRelease; - - _ObjCBlockBase._(this._id, this._lib, - {bool retain = false, bool release = false}) - : _pendingRelease = release { - if (retain) { - _lib._Block_copy(_id.cast()); - } - if (release) { - _lib._objc_releaseFinalizer11.attach(this, _id.cast(), detach: this); - } - } - - /// Releases the reference to the underlying ObjC block held by this wrapper. - /// Throws a StateError if this wrapper doesn't currently hold a reference. - void release() { - if (_pendingRelease) { - _pendingRelease = false; - _lib._Block_release(_id.cast()); - _lib._objc_releaseFinalizer11.detach(this); - } else { - throw StateError( - 'Released an ObjC block that was unowned or already released.'); - } - } - - @override - bool operator ==(Object other) { - return other is _ObjCBlockBase && _id == other._id; - } - - @override - int get hashCode => _id.hashCode; - - /// Return a pointer to this object. - ffi.Pointer<_ObjCBlock> get pointer => _id; - - ffi.Pointer<_ObjCBlock> _retainAndReturnId() { - _lib._Block_copy(_id.cast()); - return _id; - } -} - -ffi.Pointer _ObjCBlock_ObjCObject_NSError_NSString_fnPtrTrampoline( - ffi.Pointer<_ObjCBlock> block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer)>()(arg0, arg1); -final _ObjCBlock_ObjCObject_NSError_NSString_closureRegistry = Function( - ffi.Pointer, ffi.Pointer)>{}; -int _ObjCBlock_ObjCObject_NSError_NSString_closureRegistryIndex = 0; -ffi.Pointer _ObjCBlock_ObjCObject_NSError_NSString_registerClosure( - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer) - fn) { - final id = ++_ObjCBlock_ObjCObject_NSError_NSString_closureRegistryIndex; - _ObjCBlock_ObjCObject_NSError_NSString_closureRegistry[id] = fn; - return ffi.Pointer.fromAddress(id); -} - -ffi.Pointer - _ObjCBlock_ObjCObject_NSError_NSString_closureTrampoline( - ffi.Pointer<_ObjCBlock> block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - _ObjCBlock_ObjCObject_NSError_NSString_closureRegistry[ - block.ref.target.address]!(arg0, arg1); - -class ObjCBlock_ObjCObject_NSError_NSString extends _ObjCBlockBase { - ObjCBlock_ObjCObject_NSError_NSString._( - ffi.Pointer<_ObjCBlock> id, AuthenticationServices lib, - {bool retain = false, bool release = true}) - : super._(id, lib, retain: retain, release: release); - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ObjCObject_NSError_NSString.fromFunctionPointer( - AuthenticationServices lib, - ffi.Pointer< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer arg0, - ffi.Pointer arg1)>> - ptr) - : this._( - lib._newBlock1( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Pointer Function( - ffi.Pointer<_ObjCBlock>, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ObjCObject_NSError_NSString_fnPtrTrampoline) - .cast(), - ptr.cast()), - lib); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ObjCObject_NSError_NSString.fromFunction( - AuthenticationServices lib, NSObject? Function(NSError, NSString) fn) - : this._( - lib._newBlock1( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Pointer Function( - ffi.Pointer<_ObjCBlock>, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ObjCObject_NSError_NSString_closureTrampoline) - .cast(), - _ObjCBlock_ObjCObject_NSError_NSString_registerClosure( - (ffi.Pointer arg0, ffi.Pointer arg1) => - fn(NSError._(arg0, lib, retain: true, release: true), NSString._(arg1, lib, retain: true, release: true)) - ?._retainAndReturnId() ?? - ffi.nullptr)), - lib); - static ffi.Pointer? _dartFuncTrampoline; - - NSObject? call(NSError arg0, NSString arg1) => _id.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer<_ObjCBlock> block, - ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, ffi.Pointer)>() - (_id, arg0._id, arg1._id) - .address == - 0 - ? null - : NSObject._( - _id.ref.invoke - .cast Function(ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0, ffi.Pointer arg1)>>() - .asFunction Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, ffi.Pointer)>()(_id, arg0._id, arg1._id), - _lib, - retain: false, - release: true); -} - -final class _ObjCBlockDesc extends ffi.Struct { - @ffi.UnsignedLong() - external int reserved; - - @ffi.UnsignedLong() - external int size; - - external ffi.Pointer copy_helper; - - external ffi.Pointer dispose_helper; - - external ffi.Pointer signature; -} - -final class _ObjCBlock extends ffi.Struct { - external ffi.Pointer isa; - - @ffi.Int() - external int flags; - - @ffi.Int() - external int reserved; - - external ffi.Pointer invoke; - - external ffi.Pointer<_ObjCBlockDesc> descriptor; - - external ffi.Pointer target; -} - -abstract class NSURLBookmarkCreationOptions { - static const int NSURLBookmarkCreationPreferFileIDResolution = 256; - static const int NSURLBookmarkCreationMinimalBookmark = 512; - static const int NSURLBookmarkCreationSuitableForBookmarkFile = 1024; - static const int NSURLBookmarkCreationWithSecurityScope = 2048; - static const int NSURLBookmarkCreationSecurityScopeAllowOnlyReadAccess = 4096; - static const int NSURLBookmarkCreationWithoutImplicitSecurityScope = - 536870912; -} - -abstract class NSURLBookmarkResolutionOptions { - static const int NSURLBookmarkResolutionWithoutUI = 256; - static const int NSURLBookmarkResolutionWithoutMounting = 512; - static const int NSURLBookmarkResolutionWithSecurityScope = 1024; - static const int NSURLBookmarkResolutionWithoutImplicitStartAccessing = 32768; -} - -typedef ASWebAuthenticationSessionCompletionHandler = ffi.Pointer<_ObjCBlock>; -typedef DartASWebAuthenticationSessionCompletionHandler - = ObjCBlock_ffiVoid_NSURL_NSError; -void _ObjCBlock_ffiVoid_NSURL_NSError_fnPtrTrampoline( - ffi.Pointer<_ObjCBlock> block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer)>()(arg0, arg1); -final _ObjCBlock_ffiVoid_NSURL_NSError_closureRegistry = - , ffi.Pointer)>{}; -int _ObjCBlock_ffiVoid_NSURL_NSError_closureRegistryIndex = 0; -ffi.Pointer _ObjCBlock_ffiVoid_NSURL_NSError_registerClosure( - void Function(ffi.Pointer, ffi.Pointer) fn) { - final id = ++_ObjCBlock_ffiVoid_NSURL_NSError_closureRegistryIndex; - _ObjCBlock_ffiVoid_NSURL_NSError_closureRegistry[id] = fn; - return ffi.Pointer.fromAddress(id); -} - -void _ObjCBlock_ffiVoid_NSURL_NSError_closureTrampoline( - ffi.Pointer<_ObjCBlock> block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - _ObjCBlock_ffiVoid_NSURL_NSError_closureRegistry[block.ref.target.address]!( - arg0, arg1); - -class ObjCBlock_ffiVoid_NSURL_NSError extends _ObjCBlockBase { - ObjCBlock_ffiVoid_NSURL_NSError._( - ffi.Pointer<_ObjCBlock> id, AuthenticationServices lib, - {bool retain = false, bool release = true}) - : super._(id, lib, retain: retain, release: release); - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_NSURL_NSError.fromFunctionPointer( - AuthenticationServices lib, - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>> - ptr) - : this._( - lib._newBlock1( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer<_ObjCBlock>, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSURL_NSError_fnPtrTrampoline) - .cast(), - ptr.cast()), - lib); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_NSURL_NSError.fromFunction( - AuthenticationServices lib, void Function(NSURL?, NSError?) fn) - : this._( - lib._newBlock1( - _dartFuncTrampoline ??= - ffi.Pointer.fromFunction, ffi.Pointer, ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSURL_NSError_closureTrampoline) - .cast(), - _ObjCBlock_ffiVoid_NSURL_NSError_registerClosure( - (ffi.Pointer arg0, ffi.Pointer arg1) => fn( - arg0.address == 0 - ? null - : NSURL._(arg0, lib, retain: true, release: true), - arg1.address == 0 - ? null - : NSError._(arg1, lib, retain: true, release: true)))), - lib); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_NSURL_NSError.listener( - AuthenticationServices lib, void Function(NSURL?, NSError?) fn) - : this._( - lib._newBlock1( - (_dartFuncListenerTrampoline ??= - ffi.NativeCallable, ffi.Pointer, ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_NSURL_NSError_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - _ObjCBlock_ffiVoid_NSURL_NSError_registerClosure( - (ffi.Pointer arg0, ffi.Pointer arg1) => fn( - arg0.address == 0 - ? null - : NSURL._(arg0, lib, retain: true, release: true), - arg1.address == 0 - ? null - : NSError._(arg1, lib, retain: true, release: true)))), - lib); - static ffi.NativeCallable< - ffi.Void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, - ffi.Pointer)>? _dartFuncListenerTrampoline; - - void call(NSURL? arg0, NSError? arg1) => _id.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer<_ObjCBlock> block, - ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, - ffi.Pointer)>()( - _id, arg0?._id ?? ffi.nullptr, arg1?._id ?? ffi.nullptr); -} - -class NSWindow extends NSResponder { - NSWindow._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSWindow] that points to the same underlying object as [other]. - static NSWindow castFrom(T other) { - return NSWindow._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSWindow] that wraps the given raw object pointer. - static NSWindow castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSWindow._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSWindow]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSWindow1); - } - - static void frameRectForContentRect_styleMask_(AuthenticationServices _lib, - ffi.Pointer stret, CGRect cRect, int style) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_240_stret(stret, _lib._class_NSWindow1, - _lib._sel_frameRectForContentRect_styleMask_1, cRect, style) - : stret.ref = _lib._objc_msgSend_240(_lib._class_NSWindow1, - _lib._sel_frameRectForContentRect_styleMask_1, cRect, style); - } - - static void contentRectForFrameRect_styleMask_(AuthenticationServices _lib, - ffi.Pointer stret, CGRect fRect, int style) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_240_stret(stret, _lib._class_NSWindow1, - _lib._sel_contentRectForFrameRect_styleMask_1, fRect, style) - : stret.ref = _lib._objc_msgSend_240(_lib._class_NSWindow1, - _lib._sel_contentRectForFrameRect_styleMask_1, fRect, style); - } - - static double minFrameWidthWithTitle_styleMask_( - AuthenticationServices _lib, NSString title, int style) { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_241_fpret(_lib._class_NSWindow1, - _lib._sel_minFrameWidthWithTitle_styleMask_1, title._id, style) - : _lib._objc_msgSend_241(_lib._class_NSWindow1, - _lib._sel_minFrameWidthWithTitle_styleMask_1, title._id, style); - } - - static int getDefaultDepthLimit(AuthenticationServices _lib) { - return _lib._objc_msgSend_242( - _lib._class_NSWindow1, _lib._sel_defaultDepthLimit1); - } - - void frameRectForContentRect_(ffi.Pointer stret, CGRect contentRect) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_146_stret( - stret, _id, _lib._sel_frameRectForContentRect_1, contentRect) - : stret.ref = _lib._objc_msgSend_146( - _id, _lib._sel_frameRectForContentRect_1, contentRect); - } - - void contentRectForFrameRect_(ffi.Pointer stret, CGRect frameRect) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_146_stret( - stret, _id, _lib._sel_contentRectForFrameRect_1, frameRect) - : stret.ref = _lib._objc_msgSend_146( - _id, _lib._sel_contentRectForFrameRect_1, frameRect); - } - - NSWindow initWithContentRect_styleMask_backing_defer_( - CGRect contentRect, int style, int backingStoreType, bool flag) { - final _ret = _lib._objc_msgSend_243( - _id, - _lib._sel_initWithContentRect_styleMask_backing_defer_1, - contentRect, - style, - backingStoreType, - flag); - return NSWindow._(_ret, _lib, retain: true, release: true); - } - - NSWindow initWithContentRect_styleMask_backing_defer_screen_( - CGRect contentRect, - int style, - int backingStoreType, - bool flag, - NSScreen? screen) { - final _ret = _lib._objc_msgSend_244( - _id, - _lib._sel_initWithContentRect_styleMask_backing_defer_screen_1, - contentRect, - style, - backingStoreType, - flag, - screen?._id ?? ffi.nullptr); - return NSWindow._(_ret, _lib, retain: true, release: true); - } - - /// Use initWithContentRect:. This method will throw an exception for coders that support allowsKeyedCoding, and is only available for compatibility with non keyed coding. - NSWindow initWithCoder_(NSCoder coder) { - final _ret = - _lib._objc_msgSend_172(_id, _lib._sel_initWithCoder_1, coder._id); - return NSWindow._(_ret, _lib, retain: true, release: true); - } - - NSString get title { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_title1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - set title(NSString value) { - return _lib._objc_msgSend_173(_id, _lib._sel_setTitle_1, value._id); - } - - /// ! - /// Secondary text that may be displayed adjacent to or below the primary title depending on the configuration of the window. - /// A value of empty string will remove the subtitle from the window layout. - NSString get subtitle { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_subtitle1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - /// ! - /// Secondary text that may be displayed adjacent to or below the primary title depending on the configuration of the window. - /// A value of empty string will remove the subtitle from the window layout. - set subtitle(NSString value) { - return _lib._objc_msgSend_173(_id, _lib._sel_setSubtitle_1, value._id); - } - - /// Default value is NSWindowTitleVisible - int get titleVisibility { - return _lib._objc_msgSend_245(_id, _lib._sel_titleVisibility1); - } - - /// Default value is NSWindowTitleVisible - set titleVisibility(int value) { - return _lib._objc_msgSend_246(_id, _lib._sel_setTitleVisibility_1, value); - } - - /// When \c YES, the titlebar doesn't draw its background, allowing all buttons to show through, and "click through" to happen. In general, this is only useful when \c NSFullSizeContentViewWindowMask is set. - bool get titlebarAppearsTransparent { - return _lib._objc_msgSend_12(_id, _lib._sel_titlebarAppearsTransparent1); - } - - /// When \c YES, the titlebar doesn't draw its background, allowing all buttons to show through, and "click through" to happen. In general, this is only useful when \c NSFullSizeContentViewWindowMask is set. - set titlebarAppearsTransparent(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setTitlebarAppearsTransparent_1, value); - } - - /// Specifies how the titlebar area of the window should appear when the window displays an NSToolbar - int get toolbarStyle { - return _lib._objc_msgSend_247(_id, _lib._sel_toolbarStyle1); - } - - /// Specifies how the titlebar area of the window should appear when the window displays an NSToolbar - set toolbarStyle(int value) { - return _lib._objc_msgSend_248(_id, _lib._sel_setToolbarStyle_1, value); - } - - /// The \c contentLayoutRect will return the area inside the window that is for non-obscured content. Typically, this is the same thing as the `contentView`'s frame. However, for windows with the \c NSFullSizeContentViewWindowMask set, there needs to be a way to determine the portion that is not under the toolbar. The \c contentLayoutRect returns the portion of the layout that is not obscured under the toolbar. \c contentLayoutRect is in window coordinates. It is KVO compliant. */ - void getContentLayoutRect(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_138_stret(stret, _id, _lib._sel_contentLayoutRect1) - : stret.ref = _lib._objc_msgSend_138(_id, _lib._sel_contentLayoutRect1); - } - - /// \c contentLayoutGuide is a corollary to \c contentLayoutRect. It can be used by autolayout constraints to automatically bind to the \c contentLayoutRect. - NSObject? get contentLayoutGuide { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_contentLayoutGuide1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - /// The following methods allow you to add accessory views to the titlebar/toolbar area of a window. See NSTitlebarAccessoryViewController for more details. - NSObject get titlebarAccessoryViewControllers { - final _ret = - _lib._objc_msgSend_2(_id, _lib._sel_titlebarAccessoryViewControllers1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - /// The following methods allow you to add accessory views to the titlebar/toolbar area of a window. See NSTitlebarAccessoryViewController for more details. - set titlebarAccessoryViewControllers(NSObject value) { - return _lib._objc_msgSend_123( - _id, _lib._sel_setTitlebarAccessoryViewControllers_1, value._id); - } - - void addTitlebarAccessoryViewController_( - NSTitlebarAccessoryViewController childViewController) { - _lib._objc_msgSend_249(_id, _lib._sel_addTitlebarAccessoryViewController_1, - childViewController._id); - } - - void insertTitlebarAccessoryViewController_atIndex_( - NSTitlebarAccessoryViewController childViewController, int index) { - _lib._objc_msgSend_250( - _id, - _lib._sel_insertTitlebarAccessoryViewController_atIndex_1, - childViewController._id, - index); - } - - /// NOTE: you can use this method, or removeFromParentViewController, which ever is easier. - void removeTitlebarAccessoryViewControllerAtIndex_(int index) { - _lib._objc_msgSend_200( - _id, _lib._sel_removeTitlebarAccessoryViewControllerAtIndex_1, index); - } - - /// ! - /// If url is not nil and its path is not empty, the window will show a document icon in the titlebar. - /// If the url represents a filename or other resource with a known icon, that icon will be used as the document icon. Otherwise the default document icon will be used. The icon can be customized using `-[[NSWindow standardWindowButton:NSWindowDocumentIconButton] setImage:customImage]`. If url is not nil and its path is not empty, the window will have a pop-up menu which can be shown via command-click on the area containing the document icon and title. By default, this menu will display the path components of the url. The presence and contents of this menu can be controlled by the delegate method `-[window:shouldPopUpDocumentPathMenu:]` - /// If the url is nil or has an empty path, the window will not show a document icon and will not have a pop-up menu available via command-click. - NSURL? get representedURL { - final _ret = _lib._objc_msgSend_55(_id, _lib._sel_representedURL1); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - /// ! - /// If url is not nil and its path is not empty, the window will show a document icon in the titlebar. - /// If the url represents a filename or other resource with a known icon, that icon will be used as the document icon. Otherwise the default document icon will be used. The icon can be customized using `-[[NSWindow standardWindowButton:NSWindowDocumentIconButton] setImage:customImage]`. If url is not nil and its path is not empty, the window will have a pop-up menu which can be shown via command-click on the area containing the document icon and title. By default, this menu will display the path components of the url. The presence and contents of this menu can be controlled by the delegate method `-[window:shouldPopUpDocumentPathMenu:]` - /// If the url is nil or has an empty path, the window will not show a document icon and will not have a pop-up menu available via command-click. - set representedURL(NSURL? value) { - return _lib._objc_msgSend_251( - _id, _lib._sel_setRepresentedURL_1, value?._id ?? ffi.nullptr); - } - - NSString get representedFilename { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_representedFilename1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - set representedFilename(NSString value) { - return _lib._objc_msgSend_173( - _id, _lib._sel_setRepresentedFilename_1, value._id); - } - - void setTitleWithRepresentedFilename_(NSString filename) { - _lib._objc_msgSend_94( - _id, _lib._sel_setTitleWithRepresentedFilename_1, filename._id); - } - - bool get excludedFromWindowsMenu { - return _lib._objc_msgSend_12(_id, _lib._sel_isExcludedFromWindowsMenu1); - } - - set excludedFromWindowsMenu(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setExcludedFromWindowsMenu_1, value); - } - - NSView? get contentView { - final _ret = _lib._objc_msgSend_122(_id, _lib._sel_contentView1); - return _ret.address == 0 - ? null - : NSView._(_ret, _lib, retain: true, release: true); - } - - set contentView(NSView? value) { - return _lib._objc_msgSend_190( - _id, _lib._sel_setContentView_1, value?._id ?? ffi.nullptr); - } - - NSObject? get delegate { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_delegate1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - set delegate(NSObject? value) { - return _lib._objc_msgSend_17( - _id, _lib._sel_setDelegate_1, value?._id ?? ffi.nullptr); - } - - int get windowNumber { - return _lib._objc_msgSend_77(_id, _lib._sel_windowNumber1); - } - - /// @note The styleMask can only be set on macOS 10.6 and later. Valid \c styleMask settings have the same restrictions as the \c styleMask passed to `-initWithContentRect:styleMask:backing:defer:`. Some \c styleMask changes will cause the view hierarchy to be rebuilt, since there is a different subclass for the top level view of a borderless window than for the top level view of a titled window. - int get styleMask { - return _lib._objc_msgSend_252(_id, _lib._sel_styleMask1); - } - - /// @note The styleMask can only be set on macOS 10.6 and later. Valid \c styleMask settings have the same restrictions as the \c styleMask passed to `-initWithContentRect:styleMask:backing:defer:`. Some \c styleMask changes will cause the view hierarchy to be rebuilt, since there is a different subclass for the top level view of a borderless window than for the top level view of a titled window. - set styleMask(int value) { - return _lib._objc_msgSend_253(_id, _lib._sel_setStyleMask_1, value); - } - - NSText? fieldEditor_forObject_(bool createFlag, NSObject? object) { - final _ret = _lib._objc_msgSend_273(_id, _lib._sel_fieldEditor_forObject_1, - createFlag, object?._id ?? ffi.nullptr); - return _ret.address == 0 - ? null - : NSText._(_ret, _lib, retain: true, release: true); - } - - void endEditingFor_(NSObject? object) { - _lib._objc_msgSend_237( - _id, _lib._sel_endEditingFor_1, object?._id ?? ffi.nullptr); - } - - void constrainFrameRect_toScreen_( - ffi.Pointer stret, CGRect frameRect, NSScreen? screen) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_274_stret( - stret, - _id, - _lib._sel_constrainFrameRect_toScreen_1, - frameRect, - screen?._id ?? ffi.nullptr) - : stret.ref = _lib._objc_msgSend_274( - _id, - _lib._sel_constrainFrameRect_toScreen_1, - frameRect, - screen?._id ?? ffi.nullptr); - } - - void setFrame_display_(CGRect frameRect, bool flag) { - _lib._objc_msgSend_275(_id, _lib._sel_setFrame_display_1, frameRect, flag); - } - - void setContentSize_(CGSize size) { - _lib._objc_msgSend_134(_id, _lib._sel_setContentSize_1, size); - } - - void setFrameOrigin_(CGPoint point) { - _lib._objc_msgSend_137(_id, _lib._sel_setFrameOrigin_1, point); - } - - void setFrameTopLeftPoint_(CGPoint point) { - _lib._objc_msgSend_137(_id, _lib._sel_setFrameTopLeftPoint_1, point); - } - - void cascadeTopLeftFromPoint_( - ffi.Pointer stret, CGPoint topLeftPoint) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_147_stret( - stret, _id, _lib._sel_cascadeTopLeftFromPoint_1, topLeftPoint) - : stret.ref = _lib._objc_msgSend_147( - _id, _lib._sel_cascadeTopLeftFromPoint_1, topLeftPoint); - } - - void getFrame(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_138_stret(stret, _id, _lib._sel_frame1) - : stret.ref = _lib._objc_msgSend_138(_id, _lib._sel_frame1); - } - - /// ! Subclasses can override \c animationResizeTime: to control the total time for the frame change. - /// \c newFrame is the rect passed into \c setFrame:display:animate: - double animationResizeTime_(CGRect newFrame) { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_276_fpret( - _id, _lib._sel_animationResizeTime_1, newFrame) - : _lib._objc_msgSend_276( - _id, _lib._sel_animationResizeTime_1, newFrame); - } - - /// ! \c setFrame:display:animate: is equivalent to \c setFrame:display: if the \c animateFlag is NO. - /// If the \c animationFlag is YES, this method will perform a smooth resize of the window, where the total time for the resize is specified by \c -animationResizeTime: - void setFrame_display_animate_( - CGRect frameRect, bool displayFlag, bool animateFlag) { - _lib._objc_msgSend_277(_id, _lib._sel_setFrame_display_animate_1, frameRect, - displayFlag, animateFlag); - } - - bool get inLiveResize { - return _lib._objc_msgSend_12(_id, _lib._sel_inLiveResize1); - } - - void getResizeIncrements(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_209_stret(stret, _id, _lib._sel_resizeIncrements1) - : stret.ref = _lib._objc_msgSend_209(_id, _lib._sel_resizeIncrements1); - } - - set resizeIncrements(CGSize value) { - return _lib._objc_msgSend_272(_id, _lib._sel_setResizeIncrements_1, value); - } - - void getAspectRatio(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_209_stret(stret, _id, _lib._sel_aspectRatio1) - : stret.ref = _lib._objc_msgSend_209(_id, _lib._sel_aspectRatio1); - } - - set aspectRatio(CGSize value) { - return _lib._objc_msgSend_272(_id, _lib._sel_setAspectRatio_1, value); - } - - void getContentResizeIncrements(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_209_stret( - stret, _id, _lib._sel_contentResizeIncrements1) - : stret.ref = - _lib._objc_msgSend_209(_id, _lib._sel_contentResizeIncrements1); - } - - set contentResizeIncrements(CGSize value) { - return _lib._objc_msgSend_272( - _id, _lib._sel_setContentResizeIncrements_1, value); - } - - void getContentAspectRatio(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_209_stret( - stret, _id, _lib._sel_contentAspectRatio1) - : stret.ref = - _lib._objc_msgSend_209(_id, _lib._sel_contentAspectRatio1); - } - - set contentAspectRatio(CGSize value) { - return _lib._objc_msgSend_272( - _id, _lib._sel_setContentAspectRatio_1, value); - } - - bool get viewsNeedDisplay { - return _lib._objc_msgSend_12(_id, _lib._sel_viewsNeedDisplay1); - } - - set viewsNeedDisplay(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setViewsNeedDisplay_1, value); - } - - void displayIfNeeded() { - _lib._objc_msgSend_1(_id, _lib._sel_displayIfNeeded1); - } - - void display() { - _lib._objc_msgSend_1(_id, _lib._sel_display1); - } - - bool get preservesContentDuringLiveResize { - return _lib._objc_msgSend_12( - _id, _lib._sel_preservesContentDuringLiveResize1); - } - - set preservesContentDuringLiveResize(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setPreservesContentDuringLiveResize_1, value); - } - - void update() { - _lib._objc_msgSend_1(_id, _lib._sel_update1); - } - - bool makeFirstResponder_(NSResponder? responder) { - return _lib._objc_msgSend_278( - _id, _lib._sel_makeFirstResponder_1, responder?._id ?? ffi.nullptr); - } - - /// firstResponder is Key Value Observing (KVO) compliant. - NSResponder? get firstResponder { - final _ret = _lib._objc_msgSend_104(_id, _lib._sel_firstResponder1); - return _ret.address == 0 - ? null - : NSResponder._(_ret, _lib, retain: true, release: true); - } - - int get resizeFlags { - return _lib._objc_msgSend_108(_id, _lib._sel_resizeFlags1); - } - - void close() { - _lib._objc_msgSend_1(_id, _lib._sel_close1); - } - - bool get releasedWhenClosed { - return _lib._objc_msgSend_12(_id, _lib._sel_isReleasedWhenClosed1); - } - - set releasedWhenClosed(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setReleasedWhenClosed_1, value); - } - - void miniaturize_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_miniaturize_1, sender?._id ?? ffi.nullptr); - } - - void deminiaturize_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_deminiaturize_1, sender?._id ?? ffi.nullptr); - } - - bool get zoomed { - return _lib._objc_msgSend_12(_id, _lib._sel_isZoomed1); - } - - void zoom_(NSObject? sender) { - _lib._objc_msgSend_237(_id, _lib._sel_zoom_1, sender?._id ?? ffi.nullptr); - } - - bool get miniaturized { - return _lib._objc_msgSend_12(_id, _lib._sel_isMiniaturized1); - } - - @override - bool tryToPerform_with_(ffi.Pointer action, NSObject? object) { - return _lib._objc_msgSend_106( - _id, _lib._sel_tryToPerform_with_1, action, object?._id ?? ffi.nullptr); - } - - @override - NSObject? validRequestorForSendType_returnType_( - NSString? sendType, NSString? returnType) { - final _ret = _lib._objc_msgSend_235( - _id, - _lib._sel_validRequestorForSendType_returnType_1, - sendType?._id ?? ffi.nullptr, - returnType?._id ?? ffi.nullptr); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - NSColor get backgroundColor { - final _ret = _lib._objc_msgSend_279(_id, _lib._sel_backgroundColor1); - return NSColor._(_ret, _lib, retain: true, release: true); - } - - set backgroundColor(NSColor value) { - return _lib._objc_msgSend_280( - _id, _lib._sel_setBackgroundColor_1, value._id); - } - - /// Indicates the thickness of a given border of the window. NSMinYEdge is the bottom edge of the window, while NSMaxYEdge is the top edge of the window. This method may throw an exception for values that don't apply to the current window styleMask; specifically, passing NSMaxYEdge for a non-textured window will always raise. The contentBorder does not include the titlebar or toolbar. - void setContentBorderThickness_forEdge_(double thickness, int edge) { - _lib._objc_msgSend_281( - _id, _lib._sel_setContentBorderThickness_forEdge_1, thickness, edge); - } - - double contentBorderThicknessForEdge_(int edge) { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_282_fpret( - _id, _lib._sel_contentBorderThicknessForEdge_1, edge) - : _lib._objc_msgSend_282( - _id, _lib._sel_contentBorderThicknessForEdge_1, edge); - } - - void setAutorecalculatesContentBorderThickness_forEdge_(bool flag, int edge) { - _lib._objc_msgSend_283( - _id, - _lib._sel_setAutorecalculatesContentBorderThickness_forEdge_1, - flag, - edge); - } - - bool autorecalculatesContentBorderThicknessForEdge_(int edge) { - return _lib._objc_msgSend_284( - _id, _lib._sel_autorecalculatesContentBorderThicknessForEdge_1, edge); - } - - /// Calling -setMovable with a flag of NO will disable server-side dragging of the window via titlebar or background. -setMovableByWindowBackground:YES is ignored on a window that returns NO from -isMovable. When a window returns NO for -isMovable, it can be assigned to a different space with its relative screen position preserved. Note that a resizable window may still be resized, and the window frame may be changed programmatically. Applications may choose to enable application-controlled window dragging after disabling server-side dragging (perhaps to achieve snapping or pinning) by handling the mouseDown/mouseDragged/mouseUp sequence in -sendEvent: in an NSWindow subclass. Note that a non movable window will also not be moved (or resized) by the system in response to a display reconfiguration. - bool get movable { - return _lib._objc_msgSend_12(_id, _lib._sel_isMovable1); - } - - /// Calling -setMovable with a flag of NO will disable server-side dragging of the window via titlebar or background. -setMovableByWindowBackground:YES is ignored on a window that returns NO from -isMovable. When a window returns NO for -isMovable, it can be assigned to a different space with its relative screen position preserved. Note that a resizable window may still be resized, and the window frame may be changed programmatically. Applications may choose to enable application-controlled window dragging after disabling server-side dragging (perhaps to achieve snapping or pinning) by handling the mouseDown/mouseDragged/mouseUp sequence in -sendEvent: in an NSWindow subclass. Note that a non movable window will also not be moved (or resized) by the system in response to a display reconfiguration. - set movable(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setMovable_1, value); - } - - bool get movableByWindowBackground { - return _lib._objc_msgSend_12(_id, _lib._sel_isMovableByWindowBackground1); - } - - set movableByWindowBackground(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setMovableByWindowBackground_1, value); - } - - bool get hidesOnDeactivate { - return _lib._objc_msgSend_12(_id, _lib._sel_hidesOnDeactivate1); - } - - set hidesOnDeactivate(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setHidesOnDeactivate_1, value); - } - - /// Indicates whether a window can be hidden during `-[NSApplication hide:]`. Default is \c YES. - bool get canHide { - return _lib._objc_msgSend_12(_id, _lib._sel_canHide1); - } - - /// Indicates whether a window can be hidden during `-[NSApplication hide:]`. Default is \c YES. - set canHide(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setCanHide_1, value); - } - - void center() { - _lib._objc_msgSend_1(_id, _lib._sel_center1); - } - - void makeKeyAndOrderFront_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_makeKeyAndOrderFront_1, sender?._id ?? ffi.nullptr); - } - - void orderFront_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_orderFront_1, sender?._id ?? ffi.nullptr); - } - - void orderBack_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_orderBack_1, sender?._id ?? ffi.nullptr); - } - - void orderOut_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_orderOut_1, sender?._id ?? ffi.nullptr); - } - - void orderWindow_relativeTo_(int place, int otherWin) { - _lib._objc_msgSend_285( - _id, _lib._sel_orderWindow_relativeTo_1, place, otherWin); - } - - void orderFrontRegardless() { - _lib._objc_msgSend_1(_id, _lib._sel_orderFrontRegardless1); - } - - NSImage? get miniwindowImage { - final _ret = _lib._objc_msgSend_185(_id, _lib._sel_miniwindowImage1); - return _ret.address == 0 - ? null - : NSImage._(_ret, _lib, retain: true, release: true); - } - - set miniwindowImage(NSImage? value) { - return _lib._objc_msgSend_186( - _id, _lib._sel_setMiniwindowImage_1, value?._id ?? ffi.nullptr); - } - - NSString get miniwindowTitle { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_miniwindowTitle1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - set miniwindowTitle(NSString value) { - return _lib._objc_msgSend_173( - _id, _lib._sel_setMiniwindowTitle_1, value._id); - } - - NSDockTile get dockTile { - final _ret = _lib._objc_msgSend_286(_id, _lib._sel_dockTile1); - return NSDockTile._(_ret, _lib, retain: true, release: true); - } - - bool get documentEdited { - return _lib._objc_msgSend_12(_id, _lib._sel_isDocumentEdited1); - } - - set documentEdited(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setDocumentEdited_1, value); - } - - bool get visible { - return _lib._objc_msgSend_12(_id, _lib._sel_isVisible1); - } - - bool get keyWindow { - return _lib._objc_msgSend_12(_id, _lib._sel_isKeyWindow1); - } - - bool get mainWindow { - return _lib._objc_msgSend_12(_id, _lib._sel_isMainWindow1); - } - - bool get canBecomeKeyWindow { - return _lib._objc_msgSend_12(_id, _lib._sel_canBecomeKeyWindow1); - } - - bool get canBecomeMainWindow { - return _lib._objc_msgSend_12(_id, _lib._sel_canBecomeMainWindow1); - } - - /// ! Makes the window key and main if eligible, updating NSAppication's `-keyWindow` and `-mainWindow` properties. - void makeKeyWindow() { - _lib._objc_msgSend_1(_id, _lib._sel_makeKeyWindow1); - } - - /// ! Makes the window main if eligible. Updates NSApplication's `-mainWindow` property. - void makeMainWindow() { - _lib._objc_msgSend_1(_id, _lib._sel_makeMainWindow1); - } - - /// ! Informs the window that it has become the key window. This method exists as an override point. Do not invoke directly. Instead, invoke `-makeKeyWindow`. - void becomeKeyWindow() { - _lib._objc_msgSend_1(_id, _lib._sel_becomeKeyWindow1); - } - - /// ! Informs the window that it has stopped being the key window. This method exists as an override point. Do not invoke directly. Windows automatically receive this message when deactivating or when another window has become key. - void resignKeyWindow() { - _lib._objc_msgSend_1(_id, _lib._sel_resignKeyWindow1); - } - - /// ! Informs the window that it has become the main window. This method exists as an override point. Do not invoke directly. Instead, invoke `-makeMainWindow`. - void becomeMainWindow() { - _lib._objc_msgSend_1(_id, _lib._sel_becomeMainWindow1); - } - - /// ! Informs the window that it has stopped being the main window. This method exists as an override point. Do not invoke directly. Windows automatically receive this message when deactivating or when another window has become main. - void resignMainWindow() { - _lib._objc_msgSend_1(_id, _lib._sel_resignMainWindow1); - } - - bool get worksWhenModal { - return _lib._objc_msgSend_12(_id, _lib._sel_worksWhenModal1); - } - - /// ! Normally, application termination is prohibited when a modal window or sheet is open, without consulting the application delegate. Some windows like the open panel or toolbar customization sheet should not prevent application termination. `-setPreventsApplicationTerminationWhenModal:NO` on a modal window or sheet will override the default behavior and allow application termination to proceed, either through the sudden termination path if enabled, or on to the next step of consulting the application delegate. By default, `-preventsApplicationTerminationWhenModal` returns \c YES - bool get preventsApplicationTerminationWhenModal { - return _lib._objc_msgSend_12( - _id, _lib._sel_preventsApplicationTerminationWhenModal1); - } - - /// ! Normally, application termination is prohibited when a modal window or sheet is open, without consulting the application delegate. Some windows like the open panel or toolbar customization sheet should not prevent application termination. `-setPreventsApplicationTerminationWhenModal:NO` on a modal window or sheet will override the default behavior and allow application termination to proceed, either through the sudden termination path if enabled, or on to the next step of consulting the application delegate. By default, `-preventsApplicationTerminationWhenModal` returns \c YES - set preventsApplicationTerminationWhenModal(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setPreventsApplicationTerminationWhenModal_1, value); - } - - /// Methods to convert window coordinates to screen coordinates - void convertRectToScreen_(ffi.Pointer stret, CGRect rect) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_146_stret( - stret, _id, _lib._sel_convertRectToScreen_1, rect) - : stret.ref = - _lib._objc_msgSend_146(_id, _lib._sel_convertRectToScreen_1, rect); - } - - void convertRectFromScreen_(ffi.Pointer stret, CGRect rect) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_146_stret( - stret, _id, _lib._sel_convertRectFromScreen_1, rect) - : stret.ref = _lib._objc_msgSend_146( - _id, _lib._sel_convertRectFromScreen_1, rect); - } - - void convertPointToScreen_(ffi.Pointer stret, CGPoint point) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_147_stret( - stret, _id, _lib._sel_convertPointToScreen_1, point) - : stret.ref = _lib._objc_msgSend_147( - _id, _lib._sel_convertPointToScreen_1, point); - } - - void convertPointFromScreen_(ffi.Pointer stret, CGPoint point) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_147_stret( - stret, _id, _lib._sel_convertPointFromScreen_1, point) - : stret.ref = _lib._objc_msgSend_147( - _id, _lib._sel_convertPointFromScreen_1, point); - } - - /// Methods to convert to/from a pixel integral backing store space - void convertRectToBacking_(ffi.Pointer stret, CGRect rect) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_146_stret( - stret, _id, _lib._sel_convertRectToBacking_1, rect) - : stret.ref = - _lib._objc_msgSend_146(_id, _lib._sel_convertRectToBacking_1, rect); - } - - void convertRectFromBacking_(ffi.Pointer stret, CGRect rect) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_146_stret( - stret, _id, _lib._sel_convertRectFromBacking_1, rect) - : stret.ref = _lib._objc_msgSend_146( - _id, _lib._sel_convertRectFromBacking_1, rect); - } - - void convertPointToBacking_(ffi.Pointer stret, CGPoint point) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_147_stret( - stret, _id, _lib._sel_convertPointToBacking_1, point) - : stret.ref = _lib._objc_msgSend_147( - _id, _lib._sel_convertPointToBacking_1, point); - } - - void convertPointFromBacking_(ffi.Pointer stret, CGPoint point) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_147_stret( - stret, _id, _lib._sel_convertPointFromBacking_1, point) - : stret.ref = _lib._objc_msgSend_147( - _id, _lib._sel_convertPointFromBacking_1, point); - } - - /// Use `NSIntegralRectWithOptions()` to produce a backing store pixel aligned rectangle from the given input rectangle in window coordinates. - void backingAlignedRect_options_( - ffi.Pointer stret, CGRect rect, int options) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_145_stret( - stret, _id, _lib._sel_backingAlignedRect_options_1, rect, options) - : stret.ref = _lib._objc_msgSend_145( - _id, _lib._sel_backingAlignedRect_options_1, rect, options); - } - - /// Returns the scale factor representing the number of backing store pixels corresponding to each linear unit in window space on this \c NSWindow. This method is provided for rare cases when the explicit scale factor is needed. Please use `-convert*ToBacking:` methods whenever possible. - double get backingScaleFactor { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_backingScaleFactor1) - : _lib._objc_msgSend_81(_id, _lib._sel_backingScaleFactor1); - } - - void performClose_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_performClose_1, sender?._id ?? ffi.nullptr); - } - - void performMiniaturize_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_performMiniaturize_1, sender?._id ?? ffi.nullptr); - } - - void performZoom_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_performZoom_1, sender?._id ?? ffi.nullptr); - } - - NSData dataWithEPSInsideRect_(CGRect rect) { - final _ret = - _lib._objc_msgSend_287(_id, _lib._sel_dataWithEPSInsideRect_1, rect); - return NSData._(_ret, _lib, retain: true, release: true); - } - - NSData dataWithPDFInsideRect_(CGRect rect) { - final _ret = - _lib._objc_msgSend_287(_id, _lib._sel_dataWithPDFInsideRect_1, rect); - return NSData._(_ret, _lib, retain: true, release: true); - } - - void print_(NSObject? sender) { - _lib._objc_msgSend_237(_id, _lib._sel_print_1, sender?._id ?? ffi.nullptr); - } - - /// ! - /// Default is \c NO. Set to \c YES to allow a window to display tooltips even when the application is in the background. Note that, enabling tooltips in an inactive application will cause the app to do work any time the mouse passes over the window. This can degrade system performance. - /// Returns \c YES if this window displays tooltips even when the application is in the background. To configure this setting you should call `-setAllowsToolTipsWhenApplicationIsInactive:` instead of overriding `-allowsToolTipsWhenApplicationIsInactive`. - bool get allowsToolTipsWhenApplicationIsInactive { - return _lib._objc_msgSend_12( - _id, _lib._sel_allowsToolTipsWhenApplicationIsInactive1); - } - - /// ! - /// Default is \c NO. Set to \c YES to allow a window to display tooltips even when the application is in the background. Note that, enabling tooltips in an inactive application will cause the app to do work any time the mouse passes over the window. This can degrade system performance. - /// Returns \c YES if this window displays tooltips even when the application is in the background. To configure this setting you should call `-setAllowsToolTipsWhenApplicationIsInactive:` instead of overriding `-allowsToolTipsWhenApplicationIsInactive`. - set allowsToolTipsWhenApplicationIsInactive(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setAllowsToolTipsWhenApplicationIsInactive_1, value); - } - - int get backingType { - return _lib._objc_msgSend_288(_id, _lib._sel_backingType1); - } - - set backingType(int value) { - return _lib._objc_msgSend_289(_id, _lib._sel_setBackingType_1, value); - } - - int get level { - return _lib._objc_msgSend_77(_id, _lib._sel_level1); - } - - set level(int value) { - return _lib._objc_msgSend_187(_id, _lib._sel_setLevel_1, value); - } - - int get depthLimit { - return _lib._objc_msgSend_242(_id, _lib._sel_depthLimit1); - } - - set depthLimit(int value) { - return _lib._objc_msgSend_290(_id, _lib._sel_setDepthLimit_1, value); - } - - void setDynamicDepthLimit_(bool flag) { - _lib._objc_msgSend_195(_id, _lib._sel_setDynamicDepthLimit_1, flag); - } - - bool get hasDynamicDepthLimit { - return _lib._objc_msgSend_12(_id, _lib._sel_hasDynamicDepthLimit1); - } - - /// ! The screen property returns the best screen for the window. If the window only intersects one screen, it returns that screen. If it intersects more than one screen, then it resolves the tie through based on what space it is mostly on. It may return nil if there are no available screens, or it is completely off screen. - NSScreen? get screen { - final _ret = _lib._objc_msgSend_291(_id, _lib._sel_screen1); - return _ret.address == 0 - ? null - : NSScreen._(_ret, _lib, retain: true, release: true); - } - - NSScreen? get deepestScreen { - final _ret = _lib._objc_msgSend_291(_id, _lib._sel_deepestScreen1); - return _ret.address == 0 - ? null - : NSScreen._(_ret, _lib, retain: true, release: true); - } - - bool get hasShadow { - return _lib._objc_msgSend_12(_id, _lib._sel_hasShadow1); - } - - set hasShadow(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setHasShadow_1, value); - } - - void invalidateShadow() { - _lib._objc_msgSend_1(_id, _lib._sel_invalidateShadow1); - } - - double get alphaValue { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_alphaValue1) - : _lib._objc_msgSend_81(_id, _lib._sel_alphaValue1); - } - - set alphaValue(double value) { - return _lib._objc_msgSend_140(_id, _lib._sel_setAlphaValue_1, value); - } - - bool get opaque { - return _lib._objc_msgSend_12(_id, _lib._sel_isOpaque1); - } - - set opaque(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setOpaque_1, value); - } - - /// ! `-setSharingType:` specifies whether the window content can be read and/or written from another process. The default sharing type is \c NSWindowSharingReadOnly, which means other processes can read the window content (eg. for window capture) but cannot modify it. If you set your window sharing type to \c NSWindowSharingNone, so that the content cannot be captured, your window will also not be able to participate in a number of system services, so this setting should be used with caution. If you set your window sharing type to \c NSWindowSharingReadWrite, other processes can both read and modify the window content. - int get sharingType { - return _lib._objc_msgSend_292(_id, _lib._sel_sharingType1); - } - - /// ! `-setSharingType:` specifies whether the window content can be read and/or written from another process. The default sharing type is \c NSWindowSharingReadOnly, which means other processes can read the window content (eg. for window capture) but cannot modify it. If you set your window sharing type to \c NSWindowSharingNone, so that the content cannot be captured, your window will also not be able to participate in a number of system services, so this setting should be used with caution. If you set your window sharing type to \c NSWindowSharingReadWrite, other processes can both read and modify the window content. - set sharingType(int value) { - return _lib._objc_msgSend_293(_id, _lib._sel_setSharingType_1, value); - } - - /// ! Controls whether threading of view drawing should be enabled for this window. Defaults to \c YES. When this is set to \c YES, AppKit's view system is allowed to perform `-drawRect:` activity for the window's views on threads other than the main thread, for views that have `canDrawConcurrently == YES`. When this is set to \c NO, the window's views will be drawn serially as on 10.5 and earlier, even though some of the views may have `canDrawConcurrently == YES`. - bool get allowsConcurrentViewDrawing { - return _lib._objc_msgSend_12(_id, _lib._sel_allowsConcurrentViewDrawing1); - } - - /// ! Controls whether threading of view drawing should be enabled for this window. Defaults to \c YES. When this is set to \c YES, AppKit's view system is allowed to perform `-drawRect:` activity for the window's views on threads other than the main thread, for views that have `canDrawConcurrently == YES`. When this is set to \c NO, the window's views will be drawn serially as on 10.5 and earlier, even though some of the views may have `canDrawConcurrently == YES`. - set allowsConcurrentViewDrawing(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setAllowsConcurrentViewDrawing_1, value); - } - - bool get displaysWhenScreenProfileChanges { - return _lib._objc_msgSend_12( - _id, _lib._sel_displaysWhenScreenProfileChanges1); - } - - set displaysWhenScreenProfileChanges(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setDisplaysWhenScreenProfileChanges_1, value); - } - - /// ! - /// In recent macOS versions this method does not do anything and should not be called. - void disableScreenUpdatesUntilFlush() { - _lib._objc_msgSend_1(_id, _lib._sel_disableScreenUpdatesUntilFlush1); - } - - /// ! This API controls whether the receiver is permitted onscreen before the user has logged in. This property is off by default. Alert panels and windows presented by input managers are examples of windows which should have this property set. - bool get canBecomeVisibleWithoutLogin { - return _lib._objc_msgSend_12(_id, _lib._sel_canBecomeVisibleWithoutLogin1); - } - - /// ! This API controls whether the receiver is permitted onscreen before the user has logged in. This property is off by default. Alert panels and windows presented by input managers are examples of windows which should have this property set. - set canBecomeVisibleWithoutLogin(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setCanBecomeVisibleWithoutLogin_1, value); - } - - int get collectionBehavior { - return _lib._objc_msgSend_294(_id, _lib._sel_collectionBehavior1); - } - - set collectionBehavior(int value) { - return _lib._objc_msgSend_295( - _id, _lib._sel_setCollectionBehavior_1, value); - } - - /// ! Provides for per-window control over automatic orderFront/orderOut animation behaviors added in 10.7. Can be set to \c NSWindowAnimationBehaviorNone to disable Appkit's automatic animations for a given window, or to one of the other non-Default \c NSWindowAnimationBehavior values to override AppKit's automatic inference of appropriate animation behavior based on the window's apparent type. - int get animationBehavior { - return _lib._objc_msgSend_296(_id, _lib._sel_animationBehavior1); - } - - /// ! Provides for per-window control over automatic orderFront/orderOut animation behaviors added in 10.7. Can be set to \c NSWindowAnimationBehaviorNone to disable Appkit's automatic animations for a given window, or to one of the other non-Default \c NSWindowAnimationBehavior values to override AppKit's automatic inference of appropriate animation behavior based on the window's apparent type. - set animationBehavior(int value) { - return _lib._objc_msgSend_297(_id, _lib._sel_setAnimationBehavior_1, value); - } - - /// ! Returns \c YES if this window is associated with the active space. For visible windows, this API indicates whether the window is currently visible on the active space. For offscreen windows, it indicates whether ordering the window onscreen would make it bring it onto the active space - bool get onActiveSpace { - return _lib._objc_msgSend_12(_id, _lib._sel_isOnActiveSpace1); - } - - /// ! `-toggleFullScreen:` enters or exits for full screen. A window must have \c NSWindowCollectionBehaviorFullScreenAuxiliary or \c NSWindowCollectionBehaviorFullScreenPrimary included in the \c collectionBehavior property; if it does not, this method may simply do nothing. - void toggleFullScreen_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_toggleFullScreen_1, sender?._id ?? ffi.nullptr); - } - - NSString get stringWithSavedFrame { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_stringWithSavedFrame1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - void setFrameFromString_(NSString string) { - _lib._objc_msgSend_94(_id, _lib._sel_setFrameFromString_1, string._id); - } - - void saveFrameUsingName_(NSString name) { - _lib._objc_msgSend_94(_id, _lib._sel_saveFrameUsingName_1, name._id); - } - - /// Set force=YES to use setFrameUsingName on a non-resizable window - bool setFrameUsingName_force_(NSString name, bool force) { - return _lib._objc_msgSend_257( - _id, _lib._sel_setFrameUsingName_force_1, name._id, force); - } - - bool setFrameUsingName_(NSString name) { - return _lib._objc_msgSend_258(_id, _lib._sel_setFrameUsingName_1, name._id); - } - - bool setFrameAutosaveName_(NSString name) { - return _lib._objc_msgSend_258( - _id, _lib._sel_setFrameAutosaveName_1, name._id); - } - - NSString get frameAutosaveName { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_frameAutosaveName1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - static void removeFrameUsingName_( - AuthenticationServices _lib, NSString name) { - _lib._objc_msgSend_94( - _lib._class_NSWindow1, _lib._sel_removeFrameUsingName_1, name._id); - } - - /// NOTE: minSize/contentMinSize and maxSize/contentMaxSize are ignored when using autolayout. - void getMinSize(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_209_stret(stret, _id, _lib._sel_minSize1) - : stret.ref = _lib._objc_msgSend_209(_id, _lib._sel_minSize1); - } - - /// NOTE: minSize/contentMinSize and maxSize/contentMaxSize are ignored when using autolayout. - set minSize(CGSize value) { - return _lib._objc_msgSend_272(_id, _lib._sel_setMinSize_1, value); - } - - void getMaxSize(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_209_stret(stret, _id, _lib._sel_maxSize1) - : stret.ref = _lib._objc_msgSend_209(_id, _lib._sel_maxSize1); - } - - set maxSize(CGSize value) { - return _lib._objc_msgSend_272(_id, _lib._sel_setMaxSize_1, value); - } - - void getContentMinSize(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_209_stret(stret, _id, _lib._sel_contentMinSize1) - : stret.ref = _lib._objc_msgSend_209(_id, _lib._sel_contentMinSize1); - } - - set contentMinSize(CGSize value) { - return _lib._objc_msgSend_272(_id, _lib._sel_setContentMinSize_1, value); - } - - void getContentMaxSize(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_209_stret(stret, _id, _lib._sel_contentMaxSize1) - : stret.ref = _lib._objc_msgSend_209(_id, _lib._sel_contentMaxSize1); - } - - set contentMaxSize(CGSize value) { - return _lib._objc_msgSend_272(_id, _lib._sel_setContentMaxSize_1, value); - } - - /// These are the min and max values for a full screen tiled window. - /// - /// In general, one should not need to explicitly set the min/maxFullScreenContentSize. If an application does not change its window content upon entering full screen, then the normal auto layout min and max size will be sufficient, and one should not set these values. If an application does significantly rework the UI in full screen, then it may be necessary to set a min/maxFullScreenContentSize. This size is what is used to determine if a window can fit when it is in full screen in a tile. This property may be used even if the window does not support full screen, but are implicitly opted into supporting a full screen tile based on resizing behavior and window properties (see the collectionBehavior property). By default, the system uses auto layout to determine the min and max sizes. If auto layout is not used, contentMinSize and contentMaxSize are queried. - void getMinFullScreenContentSize(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_209_stret( - stret, _id, _lib._sel_minFullScreenContentSize1) - : stret.ref = - _lib._objc_msgSend_209(_id, _lib._sel_minFullScreenContentSize1); - } - - /// These are the min and max values for a full screen tiled window. - /// - /// In general, one should not need to explicitly set the min/maxFullScreenContentSize. If an application does not change its window content upon entering full screen, then the normal auto layout min and max size will be sufficient, and one should not set these values. If an application does significantly rework the UI in full screen, then it may be necessary to set a min/maxFullScreenContentSize. This size is what is used to determine if a window can fit when it is in full screen in a tile. This property may be used even if the window does not support full screen, but are implicitly opted into supporting a full screen tile based on resizing behavior and window properties (see the collectionBehavior property). By default, the system uses auto layout to determine the min and max sizes. If auto layout is not used, contentMinSize and contentMaxSize are queried. - set minFullScreenContentSize(CGSize value) { - return _lib._objc_msgSend_272( - _id, _lib._sel_setMinFullScreenContentSize_1, value); - } - - void getMaxFullScreenContentSize(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_209_stret( - stret, _id, _lib._sel_maxFullScreenContentSize1) - : stret.ref = - _lib._objc_msgSend_209(_id, _lib._sel_maxFullScreenContentSize1); - } - - set maxFullScreenContentSize(CGSize value) { - return _lib._objc_msgSend_272( - _id, _lib._sel_setMaxFullScreenContentSize_1, value); - } - - NSObject get deviceDescription { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_deviceDescription1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - NSWindowController? get windowController { - final _ret = _lib._objc_msgSend_298(_id, _lib._sel_windowController1); - return _ret.address == 0 - ? null - : NSWindowController._(_ret, _lib, retain: true, release: true); - } - - set windowController(NSWindowController? value) { - return _lib._objc_msgSend_299( - _id, _lib._sel_setWindowController_1, value?._id ?? ffi.nullptr); - } - - /// This API presents modal-sheets on this window. It replaces NSApp's -beginSheet:modalForWindow:modalDelegate:didEndSelector:contextInfo:. - /// - /// If the window already has a presented sheet, it will queue up sheets presented after that. Once the presented sheet is dismissed, the next queued sheet will be presented, and so forth. - /// Critical sheets will skip this queuing process and be immediately presented on top of existing sheets. The presented sheet will be temporarily disabled and be able to be interacted with after the critical sheet is dismissed, and will then continue as normal. Critical sheets should only be used for time-critical or important events, when the presentation of the sheet needs to be guaranteed (Critical Alerts will automatically use this API). - void beginSheet_completionHandler_( - NSWindow sheetWindow, ObjCBlock_ffiVoid_ffiLong? handler) { - _lib._objc_msgSend_300(_id, _lib._sel_beginSheet_completionHandler_1, - sheetWindow._id, handler?._id ?? ffi.nullptr); - } - - void beginCriticalSheet_completionHandler_( - NSWindow sheetWindow, ObjCBlock_ffiVoid_ffiLong? handler) { - _lib._objc_msgSend_300( - _id, - _lib._sel_beginCriticalSheet_completionHandler_1, - sheetWindow._id, - handler?._id ?? ffi.nullptr); - } - - void endSheet_(NSWindow sheetWindow) { - _lib._objc_msgSend_301(_id, _lib._sel_endSheet_1, sheetWindow._id); - } - - void endSheet_returnCode_(NSWindow sheetWindow, int returnCode) { - _lib._objc_msgSend_302( - _id, _lib._sel_endSheet_returnCode_1, sheetWindow._id, returnCode); - } - - /// An ordered array of the sheets on the window. This consists of the presented sheets in top-to-bottom order, followed by queued sheets in the order they were queued. This does not include nested/sub-sheets. - NSObject get sheets { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_sheets1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - /// Returns the top-most sheet if there is one or more sheets, or nil if there is no sheet. - NSWindow? get attachedSheet { - final _ret = _lib._objc_msgSend_109(_id, _lib._sel_attachedSheet1); - return _ret.address == 0 - ? null - : NSWindow._(_ret, _lib, retain: true, release: true); - } - - bool get sheet { - return _lib._objc_msgSend_12(_id, _lib._sel_isSheet1); - } - - /// ! - /// Returns the window that the sheet is directly attached to. This is based on the logical attachment of the sheet, not visual attachment. - /// This relationship exists starting when the sheet is begun (using \c NSApplication's `-beginSheet:modalForWindow:modalDelegate:didEndSelector:contextInfo: or NSWindow's -beginSheet:completionHandler:`), and ending once it is ordered out. - /// Returns nil if the window is not a sheet or has no sheet parent. - NSWindow? get sheetParent { - final _ret = _lib._objc_msgSend_109(_id, _lib._sel_sheetParent1); - return _ret.address == 0 - ? null - : NSWindow._(_ret, _lib, retain: true, release: true); - } - - static NSButton? standardWindowButton_forStyleMask_( - AuthenticationServices _lib, int b, int styleMask) { - final _ret = _lib._objc_msgSend_303(_lib._class_NSWindow1, - _lib._sel_standardWindowButton_forStyleMask_1, b, styleMask); - return _ret.address == 0 - ? null - : NSButton._(_ret, _lib, retain: true, release: true); - } - - NSButton? standardWindowButton_(int b) { - final _ret = - _lib._objc_msgSend_304(_id, _lib._sel_standardWindowButton_1, b); - return _ret.address == 0 - ? null - : NSButton._(_ret, _lib, retain: true, release: true); - } - - void addChildWindow_ordered_(NSWindow childWin, int place) { - _lib._objc_msgSend_305( - _id, _lib._sel_addChildWindow_ordered_1, childWin._id, place); - } - - void removeChildWindow_(NSWindow childWin) { - _lib._objc_msgSend_301(_id, _lib._sel_removeChildWindow_1, childWin._id); - } - - NSObject? get childWindows { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_childWindows1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - NSWindow? get parentWindow { - final _ret = _lib._objc_msgSend_109(_id, _lib._sel_parentWindow1); - return _ret.address == 0 - ? null - : NSWindow._(_ret, _lib, retain: true, release: true); - } - - set parentWindow(NSWindow? value) { - return _lib._objc_msgSend_306( - _id, _lib._sel_setParentWindow_1, value?._id ?? ffi.nullptr); - } - - /// If set, the receiver will inherit the appearance of that object, as well as use KVO to observe its effectiveAppearance for changes. Typically this is used for child windows that are shown from a parent window or specific view. Defaults to NSApp. - NSObject get appearanceSource { - final _ret = _lib._objc_msgSend_307(_id, _lib._sel_appearanceSource1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - /// If set, the receiver will inherit the appearance of that object, as well as use KVO to observe its effectiveAppearance for changes. Typically this is used for child windows that are shown from a parent window or specific view. Defaults to NSApp. - set appearanceSource(NSObject value) { - return _lib._objc_msgSend_308( - _id, _lib._sel_setAppearanceSource_1, value._id); - } - - NSColorSpace? get colorSpace { - final _ret = _lib._objc_msgSend_309(_id, _lib._sel_colorSpace1); - return _ret.address == 0 - ? null - : NSColorSpace._(_ret, _lib, retain: true, release: true); - } - - set colorSpace(NSColorSpace? value) { - return _lib._objc_msgSend_310( - _id, _lib._sel_setColorSpace_1, value?._id ?? ffi.nullptr); - } - - /// ! `-canRepresentDisplayGamut:` returns \c YES if the colorSpace of the receiving window, and the \c colorSpace of the screen containing that window, are capable of representing the given display gamut - bool canRepresentDisplayGamut_(int displayGamut) { - return _lib._objc_msgSend_311( - _id, _lib._sel_canRepresentDisplayGamut_1, displayGamut); - } - - /// ! `+windowNumbersWithOptions:` returns an autoreleased array of \c NSNumbers containing windowNumbers for all visible windows satisfying options. If no options are specified, only visible windows belonging to the calling application and on the active space are included. If options include \c NSWindowNumberListAllApplications, visible windows belonging to all applications are included. If options include \c NSWindowNumberListAllSpaces, visible windows on all spaces are included. Windows on the active space are returned in z-order. - /// Examples: - /// To get an array of windowNumbers visible on the current space and belonging to the calling application: - /// `windowNumbers = [NSWindow windowNumbersWithOptions:0];` - /// To get an array of windowNumbers visible on any space and belonging to any application: - /// `windowNumbers = [NSWindow windowNumbersWithOptions:NSWindowNumberListAllApplications|NSWindowNumberListAllSpaces];` - /// To get an array of windowNumbers visible on any space and belonging to the calling application: - /// `windowNumbers = [NSWindow windowNumbersWithOptions:NSWindowNumberListAllSpaces];` - static NSObject? windowNumbersWithOptions_( - AuthenticationServices _lib, int options) { - final _ret = _lib._objc_msgSend_312( - _lib._class_NSWindow1, _lib._sel_windowNumbersWithOptions_1, options); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - /// ! `+windowNumberAtPoint:belowWindowWithWindowNumber:` returns the number of the frontmost window that would be hit by a mouseDown at the screen location "point". "windowNum" can be specified to exclude a given window along with all windows above it, and may belong to any application. If no windows are to be excluded, specify 0 for "windowNum". The windowNumber returned may correspond to a window in another application. - static int windowNumberAtPoint_belowWindowWithWindowNumber_( - AuthenticationServices _lib, CGPoint point, int windowNumber) { - return _lib._objc_msgSend_313( - _lib._class_NSWindow1, - _lib._sel_windowNumberAtPoint_belowWindowWithWindowNumber_1, - point, - windowNumber); - } - - int get occlusionState { - return _lib._objc_msgSend_314(_id, _lib._sel_occlusionState1); - } - - /// ! Specifies the style of separator displayed between the window's titlebar and content. - /// - /// The default value is NSTitlebarSeparatorStyleAutomatic. Changing this value will override any preference made by `NSSplitViewItem`. - int get titlebarSeparatorStyle { - return _lib._objc_msgSend_315(_id, _lib._sel_titlebarSeparatorStyle1); - } - - /// ! Specifies the style of separator displayed between the window's titlebar and content. - /// - /// The default value is NSTitlebarSeparatorStyleAutomatic. Changing this value will override any preference made by `NSSplitViewItem`. - set titlebarSeparatorStyle(int value) { - return _lib._objc_msgSend_316( - _id, _lib._sel_setTitlebarSeparatorStyle_1, value); - } - - /// ! The main content view controller for the window. This provides the contentView of the window. Assigning this value will remove the existing contentView and will make the contentViewController.view the main contentView for the window. The default value is nil. The contentViewController only controls the contentView, and not the title of the window. The window title can easily be bound to the contentViewController with the following: [window bind:NSTitleBinding toObject:contentViewController withKeyPath:@"title" options:nil]. Setting the contentViewController will cause the window to resize based on the current size of the contentViewController. Autolayout should be used to restrict the size of the window. The value of the contentViewController is encoded in the NIB. Directly assigning a contentView will clear out the contentViewController. - NSViewController? get contentViewController { - final _ret = _lib._objc_msgSend_317(_id, _lib._sel_contentViewController1); - return _ret.address == 0 - ? null - : NSViewController._(_ret, _lib, retain: true, release: true); - } - - /// ! The main content view controller for the window. This provides the contentView of the window. Assigning this value will remove the existing contentView and will make the contentViewController.view the main contentView for the window. The default value is nil. The contentViewController only controls the contentView, and not the title of the window. The window title can easily be bound to the contentViewController with the following: [window bind:NSTitleBinding toObject:contentViewController withKeyPath:@"title" options:nil]. Setting the contentViewController will cause the window to resize based on the current size of the contentViewController. Autolayout should be used to restrict the size of the window. The value of the contentViewController is encoded in the NIB. Directly assigning a contentView will clear out the contentViewController. - set contentViewController(NSViewController? value) { - return _lib._objc_msgSend_318( - _id, _lib._sel_setContentViewController_1, value?._id ?? ffi.nullptr); - } - - /// ! Convenience method for creating an autoreleased titled window with the given contentViewController. A basic NSWindow with the following attributes is made: titled, closable, resizable, miniaturizable. The window's title is automatically bound to the contentViewController's title. The size of the window can easily be controlled by utilizing autolayout and applying size constraints to the view (or its subviews). The window has isReleasedWhenClosed set to NO, and it must be explicitly retained to keep the window instance alive. To have it automatically be freed when it is closed, do the following: [window retain] and [window setReleasedWhenClosed:YES]. - static NSWindow windowWithContentViewController_( - AuthenticationServices _lib, NSViewController contentViewController) { - final _ret = _lib._objc_msgSend_319(_lib._class_NSWindow1, - _lib._sel_windowWithContentViewController_1, contentViewController._id); - return NSWindow._(_ret, _lib, retain: true, release: true); - } - - /// ! Call to start a drag (moving the window) in the Window Server process. In general, this can be done after a mouseDown event has come in and been examined by an application or view. The view may determine it wants to allow that portion of the window to start a window drag, and can hand off the work to the Window Server process by calling this method. This allows the window to participate in space switching, and other system features. Pass the original mouseDown event to the method. The method will return right away, and a mouseUp may not get sent. - void performWindowDragWithEvent_(NSEvent event) { - _lib._objc_msgSend_236( - _id, _lib._sel_performWindowDragWithEvent_1, event._id); - } - - NSView? get initialFirstResponder { - final _ret = _lib._objc_msgSend_122(_id, _lib._sel_initialFirstResponder1); - return _ret.address == 0 - ? null - : NSView._(_ret, _lib, retain: true, release: true); - } - - set initialFirstResponder(NSView? value) { - return _lib._objc_msgSend_190( - _id, _lib._sel_setInitialFirstResponder_1, value?._id ?? ffi.nullptr); - } - - void selectNextKeyView_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_selectNextKeyView_1, sender?._id ?? ffi.nullptr); - } - - void selectPreviousKeyView_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_selectPreviousKeyView_1, sender?._id ?? ffi.nullptr); - } - - void selectKeyViewFollowingView_(NSView view) { - _lib._objc_msgSend_128( - _id, _lib._sel_selectKeyViewFollowingView_1, view._id); - } - - void selectKeyViewPrecedingView_(NSView view) { - _lib._objc_msgSend_128( - _id, _lib._sel_selectKeyViewPrecedingView_1, view._id); - } - - int get keyViewSelectionDirection { - return _lib._objc_msgSend_320(_id, _lib._sel_keyViewSelectionDirection1); - } - - NSButtonCell? get defaultButtonCell { - final _ret = _lib._objc_msgSend_321(_id, _lib._sel_defaultButtonCell1); - return _ret.address == 0 - ? null - : NSButtonCell._(_ret, _lib, retain: true, release: true); - } - - set defaultButtonCell(NSButtonCell? value) { - return _lib._objc_msgSend_322( - _id, _lib._sel_setDefaultButtonCell_1, value?._id ?? ffi.nullptr); - } - - void disableKeyEquivalentForDefaultButtonCell() { - _lib._objc_msgSend_1( - _id, _lib._sel_disableKeyEquivalentForDefaultButtonCell1); - } - - void enableKeyEquivalentForDefaultButtonCell() { - _lib._objc_msgSend_1( - _id, _lib._sel_enableKeyEquivalentForDefaultButtonCell1); - } - - bool get autorecalculatesKeyViewLoop { - return _lib._objc_msgSend_12(_id, _lib._sel_autorecalculatesKeyViewLoop1); - } - - set autorecalculatesKeyViewLoop(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setAutorecalculatesKeyViewLoop_1, value); - } - - void recalculateKeyViewLoop() { - _lib._objc_msgSend_1(_id, _lib._sel_recalculateKeyViewLoop1); - } - - NSToolbar? get toolbar { - final _ret = _lib._objc_msgSend_323(_id, _lib._sel_toolbar1); - return _ret.address == 0 - ? null - : NSToolbar._(_ret, _lib, retain: true, release: true); - } - - set toolbar(NSToolbar? value) { - return _lib._objc_msgSend_324( - _id, _lib._sel_setToolbar_1, value?._id ?? ffi.nullptr); - } - - void toggleToolbarShown_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_toggleToolbarShown_1, sender?._id ?? ffi.nullptr); - } - - void runToolbarCustomizationPalette_(NSObject? sender) { - _lib._objc_msgSend_237(_id, _lib._sel_runToolbarCustomizationPalette_1, - sender?._id ?? ffi.nullptr); - } - - bool get showsToolbarButton { - return _lib._objc_msgSend_12(_id, _lib._sel_showsToolbarButton1); - } - - set showsToolbarButton(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setShowsToolbarButton_1, value); - } - - /// ! Allows automatic window tabbing when the value is \c YES. By default, this will be set to \c YES, but applications can explicitly opt out of all automatic tabbing by setting it to NO, and can still adopted explicit window tabbing, if desired. - static bool getAllowsAutomaticWindowTabbing(AuthenticationServices _lib) { - return _lib._objc_msgSend_12( - _lib._class_NSWindow1, _lib._sel_allowsAutomaticWindowTabbing1); - } - - /// ! Allows automatic window tabbing when the value is \c YES. By default, this will be set to \c YES, but applications can explicitly opt out of all automatic tabbing by setting it to NO, and can still adopted explicit window tabbing, if desired. - static void setAllowsAutomaticWindowTabbing( - AuthenticationServices _lib, bool value) { - return _lib._objc_msgSend_103(_lib._class_NSWindow1, - _lib._sel_setAllowsAutomaticWindowTabbing_1, value); - } - - /// ! Returns the user's tabbing preference as set in System Preferences. This value should be queried anytime a new window is made to see if the user wants to automatically show it in tabs. - static int getUserTabbingPreference(AuthenticationServices _lib) { - return _lib._objc_msgSend_325( - _lib._class_NSWindow1, _lib._sel_userTabbingPreference1); - } - - /// ! Get and set the tabbing mode for this window. This should be set before a window is shown. The default value is \c NSWindowTabbingModeAutomatic. When the value is \c NSWindowTabbingModeAutomatic, the system will look at the \c userTabbingPreference and automatically tab windows together based on the tabbingIdentifier, when it is appropriate to do so. - int get tabbingMode { - return _lib._objc_msgSend_326(_id, _lib._sel_tabbingMode1); - } - - /// ! Get and set the tabbing mode for this window. This should be set before a window is shown. The default value is \c NSWindowTabbingModeAutomatic. When the value is \c NSWindowTabbingModeAutomatic, the system will look at the \c userTabbingPreference and automatically tab windows together based on the tabbingIdentifier, when it is appropriate to do so. - set tabbingMode(int value) { - return _lib._objc_msgSend_327(_id, _lib._sel_setTabbingMode_1, value); - } - - /// ! Windows with the same \c tabbingIdentifier will have the ability to be tabbed together when a window is being shown. This allows aggregation of similar windows. By default, the \c tabbingIdentifier will be generated based on inherent window properties, such as the window class name, the delegate class name, the window controller class name, and some additional state. Windows can be explicitly made to group together by using the same \c tabbingIdentifier. - NSString get tabbingIdentifier { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_tabbingIdentifier1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - /// ! Windows with the same \c tabbingIdentifier will have the ability to be tabbed together when a window is being shown. This allows aggregation of similar windows. By default, the \c tabbingIdentifier will be generated based on inherent window properties, such as the window class name, the delegate class name, the window controller class name, and some additional state. Windows can be explicitly made to group together by using the same \c tabbingIdentifier. - set tabbingIdentifier(NSString value) { - return _lib._objc_msgSend_173( - _id, _lib._sel_setTabbingIdentifier_1, value._id); - } - - /// ! Actions that can be called to perform various tabbed window behaviors. UI that is hooked up to these items can be automatically validated by calling `NSWindow`'s \c validateUserInterfaceItem. - void selectNextTab_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_selectNextTab_1, sender?._id ?? ffi.nullptr); - } - - void selectPreviousTab_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_selectPreviousTab_1, sender?._id ?? ffi.nullptr); - } - - void moveTabToNewWindow_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_moveTabToNewWindow_1, sender?._id ?? ffi.nullptr); - } - - void mergeAllWindows_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_mergeAllWindows_1, sender?._id ?? ffi.nullptr); - } - - void toggleTabBar_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_toggleTabBar_1, sender?._id ?? ffi.nullptr); - } - - /// ! Toggle the Tab Picker / Tab Overview UI which is invoked via "Show All Tabs". Performs the toggle in an animated fashion. Use `tabGroup.isOverviewVisible` to find out if it is visible or not at a given time. - void toggleTabOverview_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_toggleTabOverview_1, sender?._id ?? ffi.nullptr); - } - - /// ! This is now a cover for `self.tabGroup.windows`, but will return nil if the window is not showing a tab bar. - NSObject? get tabbedWindows { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_tabbedWindows1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - /// ! This is now a cover for `-[self.tabGroup addWindow:]`, which allows more precise placement. - void addTabbedWindow_ordered_(NSWindow window, int ordered) { - _lib._objc_msgSend_305( - _id, _lib._sel_addTabbedWindow_ordered_1, window._id, ordered); - } - - /// ! Access the properties for this window when it is a tabbed window environment. See the \c NSWindowTab header and comments for more information. - NSWindowTab get tab { - final _ret = _lib._objc_msgSend_328(_id, _lib._sel_tab1); - return NSWindowTab._(_ret, _lib, retain: true, release: true); - } - - /// ! Represents a tab group of windows. This \c tabGroup is lazily created on demand. - NSWindowTabGroup? get tabGroup { - final _ret = _lib._objc_msgSend_329(_id, _lib._sel_tabGroup1); - return _ret.address == 0 - ? null - : NSWindowTabGroup._(_ret, _lib, retain: true, release: true); - } - - /// ! - /// @abstract Attempt to move window sharing (i.e. within a SharePlay session) from the receiver to another window. In response to this request, the user may choose to transfer sharing to the new window, or simply stop sharing the content. - /// @param window - /// A window that is replacing the reciever in representing the user's current activity. - /// @param completionHandler - /// A completion block that is called after the request finishes. - /// @param error - /// In the event of a failed transfer request, a non-nil error contains details about the failure. - void transferWindowSharingToWindow_completionHandler_( - NSWindow window, ObjCBlock_ffiVoid_NSError completionHandler) { - _lib._objc_msgSend_330( - _id, - _lib._sel_transferWindowSharingToWindow_completionHandler_1, - window._id, - completionHandler._id); - } - - /// ! - /// @abstract Indicates whether the receiver is the subject of an active SharePlay sharing session. - bool get hasActiveWindowSharingSession { - return _lib._objc_msgSend_12(_id, _lib._sel_hasActiveWindowSharingSession1); - } - - /// ! Retrieve the layout direction of the window titlebar: this includes the standard window buttons (close/minimize/maximize buttons) and the title for this window. In general, this will return "right to left" (RTL) if the primary system language is RTL. The layout direction may be RTL even in applications that do not have a RTL language localization. This value should be utilized if an application uses titlebarAppearsTransparent and places controls underneath the titlebar. - int get windowTitlebarLayoutDirection { - return _lib._objc_msgSend_212( - _id, _lib._sel_windowTitlebarLayoutDirection1); - } - - /// ! Tracks events matching the supplied mask with the supplied tracking handler until the tracking handler explicitly terminates tracking. Each event is removed from the event queue then passed to the tracking handler. If a matching event does not exist in the event queue, then the main thread blocks in the specified runloop mode until an event of the requested type is received or the timeout expires. If the timeout expires, the tracking handler is called with a nil event. A negative timeout is interpreted as 0. Use \c NSEventDurationForever to never timeout. Tracking continues until `*stop` is set to \c YES. Calls to `-nextEventMatchingMask:…` are allowed inside the trackingHandler block. This method returns once tracking is terminated. - void trackEventsMatchingMask_timeout_mode_handler_(int mask, double timeout, - NSString mode, ObjCBlock_ffiVoid_NSEvent_bool trackingHandler) { - _lib._objc_msgSend_331( - _id, - _lib._sel_trackEventsMatchingMask_timeout_mode_handler_1, - mask, - timeout, - mode._id, - trackingHandler._id); - } - - NSEvent? nextEventMatchingMask_(int mask) { - final _ret = - _lib._objc_msgSend_332(_id, _lib._sel_nextEventMatchingMask_1, mask); - return _ret.address == 0 - ? null - : NSEvent._(_ret, _lib, retain: true, release: true); - } - - NSEvent? nextEventMatchingMask_untilDate_inMode_dequeue_( - int mask, NSDate? expiration, NSString mode, bool deqFlag) { - final _ret = _lib._objc_msgSend_334( - _id, - _lib._sel_nextEventMatchingMask_untilDate_inMode_dequeue_1, - mask, - expiration?._id ?? ffi.nullptr, - mode._id, - deqFlag); - return _ret.address == 0 - ? null - : NSEvent._(_ret, _lib, retain: true, release: true); - } - - void discardEventsMatchingMask_beforeEvent_(int mask, NSEvent? lastEvent) { - _lib._objc_msgSend_335( - _id, - _lib._sel_discardEventsMatchingMask_beforeEvent_1, - mask, - lastEvent?._id ?? ffi.nullptr); - } - - void postEvent_atStart_(NSEvent event, bool flag) { - _lib._objc_msgSend_336(_id, _lib._sel_postEvent_atStart_1, event._id, flag); - } - - void sendEvent_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_sendEvent_1, event._id); - } - - NSEvent? get currentEvent { - final _ret = _lib._objc_msgSend_337(_id, _lib._sel_currentEvent1); - return _ret.address == 0 - ? null - : NSEvent._(_ret, _lib, retain: true, release: true); - } - - bool get acceptsMouseMovedEvents { - return _lib._objc_msgSend_12(_id, _lib._sel_acceptsMouseMovedEvents1); - } - - set acceptsMouseMovedEvents(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setAcceptsMouseMovedEvents_1, value); - } - - bool get ignoresMouseEvents { - return _lib._objc_msgSend_12(_id, _lib._sel_ignoresMouseEvents1); - } - - set ignoresMouseEvents(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setIgnoresMouseEvents_1, value); - } - - void getMouseLocationOutsideOfEventStream(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_111_stret( - stret, _id, _lib._sel_mouseLocationOutsideOfEventStream1) - : stret.ref = _lib._objc_msgSend_111( - _id, _lib._sel_mouseLocationOutsideOfEventStream1); - } - - void disableCursorRects() { - _lib._objc_msgSend_1(_id, _lib._sel_disableCursorRects1); - } - - void enableCursorRects() { - _lib._objc_msgSend_1(_id, _lib._sel_enableCursorRects1); - } - - void discardCursorRects() { - _lib._objc_msgSend_1(_id, _lib._sel_discardCursorRects1); - } - - bool get areCursorRectsEnabled { - return _lib._objc_msgSend_12(_id, _lib._sel_areCursorRectsEnabled1); - } - - void invalidateCursorRectsForView_(NSView view) { - _lib._objc_msgSend_128( - _id, _lib._sel_invalidateCursorRectsForView_1, view._id); - } - - void resetCursorRects() { - _lib._objc_msgSend_1(_id, _lib._sel_resetCursorRects1); - } - - void dragImage_at_offset_event_pasteboard_source_slideBack_( - NSImage image, - CGPoint baseLocation, - CGSize initialOffset, - NSEvent event, - NSPasteboard pboard, - NSObject sourceObj, - bool slideFlag) { - _lib._objc_msgSend_355( - _id, - _lib._sel_dragImage_at_offset_event_pasteboard_source_slideBack_1, - image._id, - baseLocation, - initialOffset, - event._id, - pboard._id, - sourceObj._id, - slideFlag); - } - - void registerForDraggedTypes_(NSArray newTypes) { - _lib._objc_msgSend_356( - _id, _lib._sel_registerForDraggedTypes_1, newTypes._id); - } - - void unregisterDraggedTypes() { - _lib._objc_msgSend_1(_id, _lib._sel_unregisterDraggedTypes1); - } - - /// WindowRef - NSWindow? initWithWindowRef_(ffi.Pointer windowRef) { - final _ret = - _lib._objc_msgSend_357(_id, _lib._sel_initWithWindowRef_1, windowRef); - return _ret.address == 0 - ? null - : NSWindow._(_ret, _lib, retain: true, release: true); - } - - /// WindowRef - ffi.Pointer get windowRef { - return _lib._objc_msgSend_28(_id, _lib._sel_windowRef1); - } - - /// Returns a new display link whose callback will be invoked in-sync with the display the window is on. If the window is not on any display the callback will not be invoked. - CADisplayLink displayLinkWithTarget_selector_( - NSObject target, ffi.Pointer selector) { - final _ret = _lib._objc_msgSend_358( - _id, _lib._sel_displayLinkWithTarget_selector_1, target._id, selector); - return CADisplayLink._(_ret, _lib, retain: true, release: true); - } - - void cacheImageInRect_(CGRect rect) { - _lib._objc_msgSend_149(_id, _lib._sel_cacheImageInRect_1, rect); - } - - void restoreCachedImage() { - _lib._objc_msgSend_1(_id, _lib._sel_restoreCachedImage1); - } - - void discardCachedImage() { - _lib._objc_msgSend_1(_id, _lib._sel_discardCachedImage1); - } - - static void menuChanged_(AuthenticationServices _lib, NSMenu menu) { - _lib._objc_msgSend_359( - _lib._class_NSWindow1, _lib._sel_menuChanged_1, menu._id); - } - - /// gState is unused and should not be called. - int gState() { - return _lib._objc_msgSend_77(_id, _lib._sel_gState1); - } - - /// The base/screen conversion methods are deprecated in 10.7 and later. Please use one of convertRectToScreen:, convertRectFromScreen:, convertPointToScreen:, or convertPointFromScreen: instead. - void convertBaseToScreen_(ffi.Pointer stret, CGPoint point) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_147_stret( - stret, _id, _lib._sel_convertBaseToScreen_1, point) - : stret.ref = - _lib._objc_msgSend_147(_id, _lib._sel_convertBaseToScreen_1, point); - } - - void convertScreenToBase_(ffi.Pointer stret, CGPoint point) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_147_stret( - stret, _id, _lib._sel_convertScreenToBase_1, point) - : stret.ref = - _lib._objc_msgSend_147(_id, _lib._sel_convertScreenToBase_1, point); - } - - /// This method is deprecated and should not be used by applications targeting Mac OS X 10.7 or later. - /// The implementation of this method will always return 1.0. Please use -convertRectToBacking: and -backingScaleFactor instead. - double userSpaceScaleFactor() { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_userSpaceScaleFactor1) - : _lib._objc_msgSend_81(_id, _lib._sel_userSpaceScaleFactor1); - } - - void useOptimizedDrawing_(bool flag) { - _lib._objc_msgSend_195(_id, _lib._sel_useOptimizedDrawing_1, flag); - } - - /// canStoreColor has not been needed or used in a while and is deprecated. - bool canStoreColor() { - return _lib._objc_msgSend_12(_id, _lib._sel_canStoreColor1); - } - - void disableFlushWindow() { - _lib._objc_msgSend_1(_id, _lib._sel_disableFlushWindow1); - } - - void enableFlushWindow() { - _lib._objc_msgSend_1(_id, _lib._sel_enableFlushWindow1); - } - - bool get flushWindowDisabled { - return _lib._objc_msgSend_12(_id, _lib._sel_isFlushWindowDisabled1); - } - - void flushWindow() { - _lib._objc_msgSend_1(_id, _lib._sel_flushWindow1); - } - - void flushWindowIfNeeded() { - _lib._objc_msgSend_1(_id, _lib._sel_flushWindowIfNeeded1); - } - - bool get autodisplay { - return _lib._objc_msgSend_12(_id, _lib._sel_isAutodisplay1); - } - - set autodisplay(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setAutodisplay_1, value); - } - - /// Returns NSGraphicsContext used to render the receiver's content on the screen for the calling thread. - NSGraphicsContext? get graphicsContext { - final _ret = _lib._objc_msgSend_110(_id, _lib._sel_graphicsContext1); - return _ret.address == 0 - ? null - : NSGraphicsContext._(_ret, _lib, retain: true, release: true); - } - - bool get oneShot { - return _lib._objc_msgSend_12(_id, _lib._sel_isOneShot1); - } - - set oneShot(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setOneShot_1, value); - } - - int get preferredBackingLocation { - return _lib._objc_msgSend_360(_id, _lib._sel_preferredBackingLocation1); - } - - set preferredBackingLocation(int value) { - return _lib._objc_msgSend_361( - _id, _lib._sel_setPreferredBackingLocation_1, value); - } - - int get backingLocation { - return _lib._objc_msgSend_360(_id, _lib._sel_backingLocation1); - } - - /// showsResizeIndicator is soft-deprecated in 10.14. It is ignored on 10.7 and newer, and should not be used. - bool get showsResizeIndicator { - return _lib._objc_msgSend_12(_id, _lib._sel_showsResizeIndicator1); - } - - /// showsResizeIndicator is soft-deprecated in 10.14. It is ignored on 10.7 and newer, and should not be used. - set showsResizeIndicator(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setShowsResizeIndicator_1, value); - } - - @override - NSWindow init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSWindow._(_ret, _lib, retain: true, release: true); - } - - static NSWindow new1(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSWindow1, _lib._sel_new1); - return NSWindow._(_ret, _lib, retain: false, release: true); - } - - static NSWindow allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSWindow1, _lib._sel_allocWithZone_1, zone); - return NSWindow._(_ret, _lib, retain: false, release: true); - } - - static NSWindow alloc(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSWindow1, _lib._sel_alloc1); - return NSWindow._(_ret, _lib, retain: false, release: true); - } -} - -class NSResponder extends NSObject { - NSResponder._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSResponder] that points to the same underlying object as [other]. - static NSResponder castFrom(T other) { - return NSResponder._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSResponder] that wraps the given raw object pointer. - static NSResponder castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSResponder._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSResponder]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSResponder1); - } - - @override - NSResponder init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSResponder._(_ret, _lib, retain: true, release: true); - } - - NSResponder? initWithCoder_(NSCoder coder) { - final _ret = - _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); - return _ret.address == 0 - ? null - : NSResponder._(_ret, _lib, retain: true, release: true); - } - - NSResponder? get nextResponder { - final _ret = _lib._objc_msgSend_104(_id, _lib._sel_nextResponder1); - return _ret.address == 0 - ? null - : NSResponder._(_ret, _lib, retain: true, release: true); - } - - set nextResponder(NSResponder? value) { - return _lib._objc_msgSend_105( - _id, _lib._sel_setNextResponder_1, value?._id ?? ffi.nullptr); - } - - bool tryToPerform_with_(ffi.Pointer action, NSObject? object) { - return _lib._objc_msgSend_106( - _id, _lib._sel_tryToPerform_with_1, action, object?._id ?? ffi.nullptr); - } - - bool performKeyEquivalent_(NSEvent event) { - return _lib._objc_msgSend_154( - _id, _lib._sel_performKeyEquivalent_1, event._id); - } - - NSObject? validRequestorForSendType_returnType_( - NSString? sendType, NSString? returnType) { - final _ret = _lib._objc_msgSend_235( - _id, - _lib._sel_validRequestorForSendType_returnType_1, - sendType?._id ?? ffi.nullptr, - returnType?._id ?? ffi.nullptr); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - void mouseDown_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_mouseDown_1, event._id); - } - - void rightMouseDown_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_rightMouseDown_1, event._id); - } - - void otherMouseDown_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_otherMouseDown_1, event._id); - } - - void mouseUp_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_mouseUp_1, event._id); - } - - void rightMouseUp_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_rightMouseUp_1, event._id); - } - - void otherMouseUp_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_otherMouseUp_1, event._id); - } - - void mouseMoved_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_mouseMoved_1, event._id); - } - - void mouseDragged_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_mouseDragged_1, event._id); - } - - void scrollWheel_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_scrollWheel_1, event._id); - } - - void rightMouseDragged_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_rightMouseDragged_1, event._id); - } - - void otherMouseDragged_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_otherMouseDragged_1, event._id); - } - - void mouseEntered_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_mouseEntered_1, event._id); - } - - void mouseExited_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_mouseExited_1, event._id); - } - - void keyDown_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_keyDown_1, event._id); - } - - void keyUp_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_keyUp_1, event._id); - } - - void flagsChanged_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_flagsChanged_1, event._id); - } - - void tabletPoint_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_tabletPoint_1, event._id); - } - - void tabletProximity_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_tabletProximity_1, event._id); - } - - void cursorUpdate_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_cursorUpdate_1, event._id); - } - - void magnifyWithEvent_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_magnifyWithEvent_1, event._id); - } - - void rotateWithEvent_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_rotateWithEvent_1, event._id); - } - - void swipeWithEvent_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_swipeWithEvent_1, event._id); - } - - void beginGestureWithEvent_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_beginGestureWithEvent_1, event._id); - } - - void endGestureWithEvent_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_endGestureWithEvent_1, event._id); - } - - void smartMagnifyWithEvent_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_smartMagnifyWithEvent_1, event._id); - } - - void changeModeWithEvent_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_changeModeWithEvent_1, event._id); - } - - void touchesBeganWithEvent_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_touchesBeganWithEvent_1, event._id); - } - - void touchesMovedWithEvent_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_touchesMovedWithEvent_1, event._id); - } - - void touchesEndedWithEvent_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_touchesEndedWithEvent_1, event._id); - } - - void touchesCancelledWithEvent_(NSEvent event) { - _lib._objc_msgSend_236( - _id, _lib._sel_touchesCancelledWithEvent_1, event._id); - } - - void quickLookWithEvent_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_quickLookWithEvent_1, event._id); - } - - void pressureChangeWithEvent_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_pressureChangeWithEvent_1, event._id); - } - - void noResponderFor_(ffi.Pointer eventSelector) { - _lib._objc_msgSend_7(_id, _lib._sel_noResponderFor_1, eventSelector); - } - - bool get acceptsFirstResponder { - return _lib._objc_msgSend_12(_id, _lib._sel_acceptsFirstResponder1); - } - - bool becomeFirstResponder() { - return _lib._objc_msgSend_12(_id, _lib._sel_becomeFirstResponder1); - } - - bool resignFirstResponder() { - return _lib._objc_msgSend_12(_id, _lib._sel_resignFirstResponder1); - } - - void interpretKeyEvents_(NSObject eventArray) { - _lib._objc_msgSend_22(_id, _lib._sel_interpretKeyEvents_1, eventArray._id); - } - - void flushBufferedKeyEvents() { - _lib._objc_msgSend_1(_id, _lib._sel_flushBufferedKeyEvents1); - } - - NSMenu? get menu { - final _ret = _lib._objc_msgSend_178(_id, _lib._sel_menu1); - return _ret.address == 0 - ? null - : NSMenu._(_ret, _lib, retain: true, release: true); - } - - set menu(NSMenu? value) { - return _lib._objc_msgSend_179( - _id, _lib._sel_setMenu_1, value?._id ?? ffi.nullptr); - } - - void showContextHelp_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_showContextHelp_1, sender?._id ?? ffi.nullptr); - } - - void helpRequested_(NSEvent eventPtr) { - _lib._objc_msgSend_236(_id, _lib._sel_helpRequested_1, eventPtr._id); - } - - bool shouldBeTreatedAsInkEvent_(NSEvent event) { - return _lib._objc_msgSend_154( - _id, _lib._sel_shouldBeTreatedAsInkEvent_1, event._id); - } - - bool wantsScrollEventsForSwipeTrackingOnAxis_(int axis) { - return _lib._objc_msgSend_238( - _id, _lib._sel_wantsScrollEventsForSwipeTrackingOnAxis_1, axis); - } - - bool wantsForwardedScrollEventsForAxis_(int axis) { - return _lib._objc_msgSend_238( - _id, _lib._sel_wantsForwardedScrollEventsForAxis_1, axis); - } - - NSObject? supplementalTargetForAction_sender_( - ffi.Pointer action, NSObject? sender) { - final _ret = _lib._objc_msgSend_239( - _id, - _lib._sel_supplementalTargetForAction_sender_1, - action, - sender?._id ?? ffi.nullptr); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - static NSResponder new1(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSResponder1, _lib._sel_new1); - return NSResponder._(_ret, _lib, retain: false, release: true); - } - - static NSResponder allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSResponder1, _lib._sel_allocWithZone_1, zone); - return NSResponder._(_ret, _lib, retain: false, release: true); - } - - static NSResponder alloc(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSResponder1, _lib._sel_alloc1); - return NSResponder._(_ret, _lib, retain: false, release: true); - } -} - -class NSEvent extends NSObject { - NSEvent._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSEvent] that points to the same underlying object as [other]. - static NSEvent castFrom(T other) { - return NSEvent._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSEvent] that wraps the given raw object pointer. - static NSEvent castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSEvent._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSEvent]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSEvent1); - } - - int get type { - return _lib._objc_msgSend_107(_id, _lib._sel_type1); - } - - int get modifierFlags { - return _lib._objc_msgSend_108(_id, _lib._sel_modifierFlags1); - } - - double get timestamp { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_timestamp1) - : _lib._objc_msgSend_81(_id, _lib._sel_timestamp1); - } - - NSWindow? get window { - final _ret = _lib._objc_msgSend_109(_id, _lib._sel_window1); - return _ret.address == 0 - ? null - : NSWindow._(_ret, _lib, retain: true, release: true); - } - - int get windowNumber { - return _lib._objc_msgSend_77(_id, _lib._sel_windowNumber1); - } - - NSGraphicsContext? get context { - final _ret = _lib._objc_msgSend_110(_id, _lib._sel_context1); - return _ret.address == 0 - ? null - : NSGraphicsContext._(_ret, _lib, retain: true, release: true); - } - - int get clickCount { - return _lib._objc_msgSend_77(_id, _lib._sel_clickCount1); - } - - int get buttonNumber { - return _lib._objc_msgSend_77(_id, _lib._sel_buttonNumber1); - } - - int get eventNumber { - return _lib._objc_msgSend_77(_id, _lib._sel_eventNumber1); - } - - double get pressure { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_80_fpret(_id, _lib._sel_pressure1) - : _lib._objc_msgSend_80(_id, _lib._sel_pressure1); - } - - void getLocationInWindow(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_111_stret(stret, _id, _lib._sel_locationInWindow1) - : stret.ref = _lib._objc_msgSend_111(_id, _lib._sel_locationInWindow1); - } - - double get deltaX { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_deltaX1) - : _lib._objc_msgSend_81(_id, _lib._sel_deltaX1); - } - - double get deltaY { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_deltaY1) - : _lib._objc_msgSend_81(_id, _lib._sel_deltaY1); - } - - double get deltaZ { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_deltaZ1) - : _lib._objc_msgSend_81(_id, _lib._sel_deltaZ1); - } - - bool get hasPreciseScrollingDeltas { - return _lib._objc_msgSend_12(_id, _lib._sel_hasPreciseScrollingDeltas1); - } - - double get scrollingDeltaX { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_scrollingDeltaX1) - : _lib._objc_msgSend_81(_id, _lib._sel_scrollingDeltaX1); - } - - double get scrollingDeltaY { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_scrollingDeltaY1) - : _lib._objc_msgSend_81(_id, _lib._sel_scrollingDeltaY1); - } - - int get momentumPhase { - return _lib._objc_msgSend_112(_id, _lib._sel_momentumPhase1); - } - - bool get directionInvertedFromDevice { - return _lib._objc_msgSend_12(_id, _lib._sel_isDirectionInvertedFromDevice1); - } - - NSString? get characters { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_characters1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? get charactersIgnoringModifiers { - final _ret = - _lib._objc_msgSend_54(_id, _lib._sel_charactersIgnoringModifiers1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? charactersByApplyingModifiers_(int modifiers) { - final _ret = _lib._objc_msgSend_113( - _id, _lib._sel_charactersByApplyingModifiers_1, modifiers); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - bool get ARepeat { - return _lib._objc_msgSend_12(_id, _lib._sel_isARepeat1); - } - - int get keyCode { - return _lib._objc_msgSend_74(_id, _lib._sel_keyCode1); - } - - int get trackingNumber { - return _lib._objc_msgSend_77(_id, _lib._sel_trackingNumber1); - } - - ffi.Pointer get userData { - return _lib._objc_msgSend_28(_id, _lib._sel_userData1); - } - - NSTrackingArea? get trackingArea { - final _ret = _lib._objc_msgSend_114(_id, _lib._sel_trackingArea1); - return _ret.address == 0 - ? null - : NSTrackingArea._(_ret, _lib, retain: true, release: true); - } - - int get subtype { - return _lib._objc_msgSend_115(_id, _lib._sel_subtype1); - } - - int get data1 { - return _lib._objc_msgSend_77(_id, _lib._sel_data11); - } - - int get data2 { - return _lib._objc_msgSend_77(_id, _lib._sel_data21); - } - - ffi.Pointer get eventRef { - return _lib._objc_msgSend_28(_id, _lib._sel_eventRef1); - } - - static NSEvent? eventWithEventRef_( - AuthenticationServices _lib, ffi.Pointer eventRef) { - final _ret = _lib._objc_msgSend_116( - _lib._class_NSEvent1, _lib._sel_eventWithEventRef_1, eventRef); - return _ret.address == 0 - ? null - : NSEvent._(_ret, _lib, retain: true, release: true); - } - - ffi.Pointer<__CGEvent> get CGEvent { - return _lib._objc_msgSend_117(_id, _lib._sel_CGEvent1); - } - - static NSEvent? eventWithCGEvent_( - AuthenticationServices _lib, ffi.Pointer<__CGEvent> cgEvent) { - final _ret = _lib._objc_msgSend_118( - _lib._class_NSEvent1, _lib._sel_eventWithCGEvent_1, cgEvent); - return _ret.address == 0 - ? null - : NSEvent._(_ret, _lib, retain: true, release: true); - } - - static bool getMouseCoalescingEnabled(AuthenticationServices _lib) { - return _lib._objc_msgSend_12( - _lib._class_NSEvent1, _lib._sel_isMouseCoalescingEnabled1); - } - - static void setMouseCoalescingEnabled( - AuthenticationServices _lib, bool value) { - return _lib._objc_msgSend_103( - _lib._class_NSEvent1, _lib._sel_setMouseCoalescingEnabled_1, value); - } - - double get magnification { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_magnification1) - : _lib._objc_msgSend_81(_id, _lib._sel_magnification1); - } - - int get deviceID { - return _lib._objc_msgSend_10(_id, _lib._sel_deviceID1); - } - - double get rotation { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_80_fpret(_id, _lib._sel_rotation1) - : _lib._objc_msgSend_80(_id, _lib._sel_rotation1); - } - - int get absoluteX { - return _lib._objc_msgSend_77(_id, _lib._sel_absoluteX1); - } - - int get absoluteY { - return _lib._objc_msgSend_77(_id, _lib._sel_absoluteY1); - } - - int get absoluteZ { - return _lib._objc_msgSend_77(_id, _lib._sel_absoluteZ1); - } - - int get buttonMask { - return _lib._objc_msgSend_119(_id, _lib._sel_buttonMask1); - } - - void getTilt(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_111_stret(stret, _id, _lib._sel_tilt1) - : stret.ref = _lib._objc_msgSend_111(_id, _lib._sel_tilt1); - } - - double get tangentialPressure { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_80_fpret(_id, _lib._sel_tangentialPressure1) - : _lib._objc_msgSend_80(_id, _lib._sel_tangentialPressure1); - } - - NSObject get vendorDefined { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_vendorDefined1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - int get vendorID { - return _lib._objc_msgSend_10(_id, _lib._sel_vendorID1); - } - - int get tabletID { - return _lib._objc_msgSend_10(_id, _lib._sel_tabletID1); - } - - int get pointingDeviceID { - return _lib._objc_msgSend_10(_id, _lib._sel_pointingDeviceID1); - } - - int get systemTabletID { - return _lib._objc_msgSend_10(_id, _lib._sel_systemTabletID1); - } - - int get vendorPointingDeviceType { - return _lib._objc_msgSend_10(_id, _lib._sel_vendorPointingDeviceType1); - } - - int get pointingDeviceSerialNumber { - return _lib._objc_msgSend_10(_id, _lib._sel_pointingDeviceSerialNumber1); - } - - int get uniqueID { - return _lib._objc_msgSend_79(_id, _lib._sel_uniqueID1); - } - - int get capabilityMask { - return _lib._objc_msgSend_10(_id, _lib._sel_capabilityMask1); - } - - int get pointingDeviceType { - return _lib._objc_msgSend_120(_id, _lib._sel_pointingDeviceType1); - } - - bool get enteringProximity { - return _lib._objc_msgSend_12(_id, _lib._sel_isEnteringProximity1); - } - - NSObject touchesMatchingPhase_inView_(int phase, NSView? view) { - final _ret = _lib._objc_msgSend_221( - _id, - _lib._sel_touchesMatchingPhase_inView_1, - phase, - view?._id ?? ffi.nullptr); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - NSObject allTouches() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_allTouches1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - NSObject touchesForView_(NSView view) { - final _ret = - _lib._objc_msgSend_222(_id, _lib._sel_touchesForView_1, view._id); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - NSObject coalescedTouchesForTouch_(NSTouch touch) { - final _ret = _lib._objc_msgSend_224( - _id, _lib._sel_coalescedTouchesForTouch_1, touch._id); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - int get phase { - return _lib._objc_msgSend_112(_id, _lib._sel_phase1); - } - - int get stage { - return _lib._objc_msgSend_77(_id, _lib._sel_stage1); - } - - double get stageTransition { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_stageTransition1) - : _lib._objc_msgSend_81(_id, _lib._sel_stageTransition1); - } - - int get associatedEventsMask { - return _lib._objc_msgSend_225(_id, _lib._sel_associatedEventsMask1); - } - - int get pressureBehavior { - return _lib._objc_msgSend_226(_id, _lib._sel_pressureBehavior1); - } - - static bool getSwipeTrackingFromScrollEventsEnabled( - AuthenticationServices _lib) { - return _lib._objc_msgSend_12(_lib._class_NSEvent1, - _lib._sel_isSwipeTrackingFromScrollEventsEnabled1); - } - - void trackSwipeEventWithOptions_dampenAmountThresholdMin_max_usingHandler_( - int options, - double minDampenThreshold, - double maxDampenThreshold, - ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool trackingHandler) { - _lib._objc_msgSend_227( - _id, - _lib._sel_trackSwipeEventWithOptions_dampenAmountThresholdMin_max_usingHandler_1, - options, - minDampenThreshold, - maxDampenThreshold, - trackingHandler._id); - } - - static void startPeriodicEventsAfterDelay_withPeriod_( - AuthenticationServices _lib, double delay, double period) { - _lib._objc_msgSend_228(_lib._class_NSEvent1, - _lib._sel_startPeriodicEventsAfterDelay_withPeriod_1, delay, period); - } - - static void stopPeriodicEvents(AuthenticationServices _lib) { - _lib._objc_msgSend_1(_lib._class_NSEvent1, _lib._sel_stopPeriodicEvents1); - } - - static NSEvent? - mouseEventWithType_location_modifierFlags_timestamp_windowNumber_context_eventNumber_clickCount_pressure_( - AuthenticationServices _lib, - int type, - CGPoint location, - int flags, - double time, - int wNum, - NSGraphicsContext? unusedPassNil, - int eNum, - int cNum, - double pressure) { - final _ret = _lib._objc_msgSend_229( - _lib._class_NSEvent1, - _lib._sel_mouseEventWithType_location_modifierFlags_timestamp_windowNumber_context_eventNumber_clickCount_pressure_1, - type, - location, - flags, - time, - wNum, - unusedPassNil?._id ?? ffi.nullptr, - eNum, - cNum, - pressure); - return _ret.address == 0 - ? null - : NSEvent._(_ret, _lib, retain: true, release: true); - } - - static NSEvent? - keyEventWithType_location_modifierFlags_timestamp_windowNumber_context_characters_charactersIgnoringModifiers_isARepeat_keyCode_( - AuthenticationServices _lib, - int type, - CGPoint location, - int flags, - double time, - int wNum, - NSGraphicsContext? unusedPassNil, - NSString keys, - NSString ukeys, - bool flag, - int code) { - final _ret = _lib._objc_msgSend_230( - _lib._class_NSEvent1, - _lib._sel_keyEventWithType_location_modifierFlags_timestamp_windowNumber_context_characters_charactersIgnoringModifiers_isARepeat_keyCode_1, - type, - location, - flags, - time, - wNum, - unusedPassNil?._id ?? ffi.nullptr, - keys._id, - ukeys._id, - flag, - code); - return _ret.address == 0 - ? null - : NSEvent._(_ret, _lib, retain: true, release: true); - } - - static NSEvent? - enterExitEventWithType_location_modifierFlags_timestamp_windowNumber_context_eventNumber_trackingNumber_userData_( - AuthenticationServices _lib, - int type, - CGPoint location, - int flags, - double time, - int wNum, - NSGraphicsContext? unusedPassNil, - int eNum, - int tNum, - ffi.Pointer data) { - final _ret = _lib._objc_msgSend_231( - _lib._class_NSEvent1, - _lib._sel_enterExitEventWithType_location_modifierFlags_timestamp_windowNumber_context_eventNumber_trackingNumber_userData_1, - type, - location, - flags, - time, - wNum, - unusedPassNil?._id ?? ffi.nullptr, - eNum, - tNum, - data); - return _ret.address == 0 - ? null - : NSEvent._(_ret, _lib, retain: true, release: true); - } - - static NSEvent? - otherEventWithType_location_modifierFlags_timestamp_windowNumber_context_subtype_data1_data2_( - AuthenticationServices _lib, - int type, - CGPoint location, - int flags, - double time, - int wNum, - NSGraphicsContext? unusedPassNil, - int subtype, - int d1, - int d2) { - final _ret = _lib._objc_msgSend_232( - _lib._class_NSEvent1, - _lib._sel_otherEventWithType_location_modifierFlags_timestamp_windowNumber_context_subtype_data1_data2_1, - type, - location, - flags, - time, - wNum, - unusedPassNil?._id ?? ffi.nullptr, - subtype, - d1, - d2); - return _ret.address == 0 - ? null - : NSEvent._(_ret, _lib, retain: true, release: true); - } - - static void getMouseLocation( - AuthenticationServices _lib, ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_111_stret( - stret, _lib._class_NSEvent1, _lib._sel_mouseLocation1) - : stret.ref = _lib._objc_msgSend_111( - _lib._class_NSEvent1, _lib._sel_mouseLocation1); - } - - static int getPressedMouseButtons(AuthenticationServices _lib) { - return _lib._objc_msgSend_10( - _lib._class_NSEvent1, _lib._sel_pressedMouseButtons1); - } - - static double getDoubleClickInterval(AuthenticationServices _lib) { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_81_fpret( - _lib._class_NSEvent1, _lib._sel_doubleClickInterval1) - : _lib._objc_msgSend_81( - _lib._class_NSEvent1, _lib._sel_doubleClickInterval1); - } - - static double getKeyRepeatDelay(AuthenticationServices _lib) { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_81_fpret( - _lib._class_NSEvent1, _lib._sel_keyRepeatDelay1) - : _lib._objc_msgSend_81( - _lib._class_NSEvent1, _lib._sel_keyRepeatDelay1); - } - - static double getKeyRepeatInterval(AuthenticationServices _lib) { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_81_fpret( - _lib._class_NSEvent1, _lib._sel_keyRepeatInterval1) - : _lib._objc_msgSend_81( - _lib._class_NSEvent1, _lib._sel_keyRepeatInterval1); - } - - static NSObject? addGlobalMonitorForEventsMatchingMask_handler_( - AuthenticationServices _lib, int mask, ObjCBlock_ffiVoid_NSEvent block) { - final _ret = _lib._objc_msgSend_233( - _lib._class_NSEvent1, - _lib._sel_addGlobalMonitorForEventsMatchingMask_handler_1, - mask, - block._id); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - static NSObject? addLocalMonitorForEventsMatchingMask_handler_( - AuthenticationServices _lib, int mask, ObjCBlock_NSEvent_NSEvent block) { - final _ret = _lib._objc_msgSend_234( - _lib._class_NSEvent1, - _lib._sel_addLocalMonitorForEventsMatchingMask_handler_1, - mask, - block._id); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - static void removeMonitor_( - AuthenticationServices _lib, NSObject eventMonitor) { - _lib._objc_msgSend_22( - _lib._class_NSEvent1, _lib._sel_removeMonitor_1, eventMonitor._id); - } - - @override - NSEvent init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSEvent._(_ret, _lib, retain: true, release: true); - } - - static NSEvent new1(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSEvent1, _lib._sel_new1); - return NSEvent._(_ret, _lib, retain: false, release: true); - } - - static NSEvent allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSEvent1, _lib._sel_allocWithZone_1, zone); - return NSEvent._(_ret, _lib, retain: false, release: true); - } - - static NSEvent alloc(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSEvent1, _lib._sel_alloc1); - return NSEvent._(_ret, _lib, retain: false, release: true); - } -} - -abstract class NSEventType { - static const int NSEventTypeLeftMouseDown = 1; - static const int NSEventTypeLeftMouseUp = 2; - static const int NSEventTypeRightMouseDown = 3; - static const int NSEventTypeRightMouseUp = 4; - static const int NSEventTypeMouseMoved = 5; - static const int NSEventTypeLeftMouseDragged = 6; - static const int NSEventTypeRightMouseDragged = 7; - static const int NSEventTypeMouseEntered = 8; - static const int NSEventTypeMouseExited = 9; - static const int NSEventTypeKeyDown = 10; - static const int NSEventTypeKeyUp = 11; - static const int NSEventTypeFlagsChanged = 12; - static const int NSEventTypeAppKitDefined = 13; - static const int NSEventTypeSystemDefined = 14; - static const int NSEventTypeApplicationDefined = 15; - static const int NSEventTypePeriodic = 16; - static const int NSEventTypeCursorUpdate = 17; - static const int NSEventTypeScrollWheel = 22; - static const int NSEventTypeTabletPoint = 23; - static const int NSEventTypeTabletProximity = 24; - static const int NSEventTypeOtherMouseDown = 25; - static const int NSEventTypeOtherMouseUp = 26; - static const int NSEventTypeOtherMouseDragged = 27; - static const int NSEventTypeGesture = 29; - static const int NSEventTypeMagnify = 30; - static const int NSEventTypeSwipe = 31; - static const int NSEventTypeRotate = 18; - static const int NSEventTypeBeginGesture = 19; - static const int NSEventTypeEndGesture = 20; - static const int NSEventTypeSmartMagnify = 32; - static const int NSEventTypeQuickLook = 33; - static const int NSEventTypePressure = 34; - static const int NSEventTypeDirectTouch = 37; - static const int NSEventTypeChangeMode = 38; -} - -abstract class NSEventModifierFlags { - static const int NSEventModifierFlagCapsLock = 65536; - static const int NSEventModifierFlagShift = 131072; - static const int NSEventModifierFlagControl = 262144; - static const int NSEventModifierFlagOption = 524288; - static const int NSEventModifierFlagCommand = 1048576; - static const int NSEventModifierFlagNumericPad = 2097152; - static const int NSEventModifierFlagHelp = 4194304; - static const int NSEventModifierFlagFunction = 8388608; - static const int NSEventModifierFlagDeviceIndependentFlagsMask = 4294901760; -} - -class NSGraphicsContext extends _ObjCWrapper { - NSGraphicsContext._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSGraphicsContext] that points to the same underlying object as [other]. - static NSGraphicsContext castFrom(T other) { - return NSGraphicsContext._(other._id, other._lib, - retain: true, release: true); - } - - /// Returns a [NSGraphicsContext] that wraps the given raw object pointer. - static NSGraphicsContext castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSGraphicsContext._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSGraphicsContext]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, - obj._lib._class_NSGraphicsContext1); - } -} - -final class CGPoint extends ffi.Struct { - @ffi.Double() - external double x; - - @ffi.Double() - external double y; -} - -abstract class NSEventPhase { - static const int NSEventPhaseNone = 0; - static const int NSEventPhaseBegan = 1; - static const int NSEventPhaseStationary = 2; - static const int NSEventPhaseChanged = 4; - static const int NSEventPhaseEnded = 8; - static const int NSEventPhaseCancelled = 16; - static const int NSEventPhaseMayBegin = 32; -} - -class NSTrackingArea extends _ObjCWrapper { - NSTrackingArea._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSTrackingArea] that points to the same underlying object as [other]. - static NSTrackingArea castFrom(T other) { - return NSTrackingArea._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSTrackingArea] that wraps the given raw object pointer. - static NSTrackingArea castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSTrackingArea._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSTrackingArea]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, - obj._lib._class_NSTrackingArea1); - } -} - -abstract class NSEventSubtype { - static const int NSEventSubtypeWindowExposed = 0; - static const int NSEventSubtypeApplicationActivated = 1; - static const int NSEventSubtypeApplicationDeactivated = 2; - static const int NSEventSubtypeWindowMoved = 4; - static const int NSEventSubtypeScreenChanged = 8; - static const int NSEventSubtypePowerOff = 1; - static const int NSEventSubtypeMouseEvent = 0; - static const int NSEventSubtypeTabletPoint = 1; - static const int NSEventSubtypeTabletProximity = 2; - static const int NSEventSubtypeTouch = 3; -} - -final class __CGEvent extends ffi.Opaque {} - -abstract class NSEventButtonMask { - static const int NSEventButtonMaskPenTip = 1; - static const int NSEventButtonMaskPenLowerSide = 2; - static const int NSEventButtonMaskPenUpperSide = 4; -} - -abstract class NSPointingDeviceType { - static const int NSPointingDeviceTypeUnknown = 0; - static const int NSPointingDeviceTypePen = 1; - static const int NSPointingDeviceTypeCursor = 2; - static const int NSPointingDeviceTypeEraser = 3; -} - -abstract class NSTouchPhase { - static const int NSTouchPhaseBegan = 1; - static const int NSTouchPhaseMoved = 2; - static const int NSTouchPhaseStationary = 4; - static const int NSTouchPhaseEnded = 8; - static const int NSTouchPhaseCancelled = 16; - static const int NSTouchPhaseTouching = 7; - static const int NSTouchPhaseAny = -1; -} - -class NSView extends NSResponder { - NSView._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSView] that points to the same underlying object as [other]. - static NSView castFrom(T other) { - return NSView._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSView] that wraps the given raw object pointer. - static NSView castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSView._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSView]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSView1); - } - - NSView initWithFrame_(CGRect frameRect) { - final _ret = - _lib._objc_msgSend_121(_id, _lib._sel_initWithFrame_1, frameRect); - return NSView._(_ret, _lib, retain: true, release: true); - } - - @override - NSView? initWithCoder_(NSCoder coder) { - final _ret = - _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); - return _ret.address == 0 - ? null - : NSView._(_ret, _lib, retain: true, release: true); - } - - NSWindow? get window { - final _ret = _lib._objc_msgSend_109(_id, _lib._sel_window1); - return _ret.address == 0 - ? null - : NSWindow._(_ret, _lib, retain: true, release: true); - } - - NSView? get superview { - final _ret = _lib._objc_msgSend_122(_id, _lib._sel_superview1); - return _ret.address == 0 - ? null - : NSView._(_ret, _lib, retain: true, release: true); - } - - NSObject get subviews { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_subviews1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - set subviews(NSObject value) { - return _lib._objc_msgSend_123(_id, _lib._sel_setSubviews_1, value._id); - } - - bool isDescendantOf_(NSView view) { - return _lib._objc_msgSend_124(_id, _lib._sel_isDescendantOf_1, view._id); - } - - NSView? ancestorSharedWithView_(NSView view) { - final _ret = _lib._objc_msgSend_125( - _id, _lib._sel_ancestorSharedWithView_1, view._id); - return _ret.address == 0 - ? null - : NSView._(_ret, _lib, retain: true, release: true); - } - - NSView? get opaqueAncestor { - final _ret = _lib._objc_msgSend_122(_id, _lib._sel_opaqueAncestor1); - return _ret.address == 0 - ? null - : NSView._(_ret, _lib, retain: true, release: true); - } - - bool get hidden { - return _lib._objc_msgSend_12(_id, _lib._sel_isHidden1); - } - - set hidden(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setHidden_1, value); - } - - bool get hiddenOrHasHiddenAncestor { - return _lib._objc_msgSend_12(_id, _lib._sel_isHiddenOrHasHiddenAncestor1); - } - - void getRectsBeingDrawn_count_( - ffi.Pointer> rects, ffi.Pointer count) { - _lib._objc_msgSend_126( - _id, _lib._sel_getRectsBeingDrawn_count_1, rects, count); - } - - bool needsToDrawRect_(CGRect rect) { - return _lib._objc_msgSend_127(_id, _lib._sel_needsToDrawRect_1, rect); - } - - bool get wantsDefaultClipping { - return _lib._objc_msgSend_12(_id, _lib._sel_wantsDefaultClipping1); - } - - void viewDidHide() { - _lib._objc_msgSend_1(_id, _lib._sel_viewDidHide1); - } - - void viewDidUnhide() { - _lib._objc_msgSend_1(_id, _lib._sel_viewDidUnhide1); - } - - void addSubview_(NSView view) { - _lib._objc_msgSend_128(_id, _lib._sel_addSubview_1, view._id); - } - - void addSubview_positioned_relativeTo_( - NSView view, int place, NSView? otherView) { - _lib._objc_msgSend_129(_id, _lib._sel_addSubview_positioned_relativeTo_1, - view._id, place, otherView?._id ?? ffi.nullptr); - } - - void sortSubviewsUsingFunction_context_( - ffi.Pointer< - ffi.NativeFunction< - ffi.Int32 Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>> - compare, - ffi.Pointer context) { - _lib._objc_msgSend_130( - _id, _lib._sel_sortSubviewsUsingFunction_context_1, compare, context); - } - - void viewWillMoveToWindow_(NSWindow? newWindow) { - _lib._objc_msgSend_131( - _id, _lib._sel_viewWillMoveToWindow_1, newWindow?._id ?? ffi.nullptr); - } - - void viewDidMoveToWindow() { - _lib._objc_msgSend_1(_id, _lib._sel_viewDidMoveToWindow1); - } - - void viewWillMoveToSuperview_(NSView? newSuperview) { - _lib._objc_msgSend_132(_id, _lib._sel_viewWillMoveToSuperview_1, - newSuperview?._id ?? ffi.nullptr); - } - - void viewDidMoveToSuperview() { - _lib._objc_msgSend_1(_id, _lib._sel_viewDidMoveToSuperview1); - } - - void didAddSubview_(NSView subview) { - _lib._objc_msgSend_128(_id, _lib._sel_didAddSubview_1, subview._id); - } - - void willRemoveSubview_(NSView subview) { - _lib._objc_msgSend_128(_id, _lib._sel_willRemoveSubview_1, subview._id); - } - - void removeFromSuperview() { - _lib._objc_msgSend_1(_id, _lib._sel_removeFromSuperview1); - } - - void replaceSubview_with_(NSView oldView, NSView newView) { - _lib._objc_msgSend_133( - _id, _lib._sel_replaceSubview_with_1, oldView._id, newView._id); - } - - void removeFromSuperviewWithoutNeedingDisplay() { - _lib._objc_msgSend_1( - _id, _lib._sel_removeFromSuperviewWithoutNeedingDisplay1); - } - - void viewDidChangeBackingProperties() { - _lib._objc_msgSend_1(_id, _lib._sel_viewDidChangeBackingProperties1); - } - - bool get postsFrameChangedNotifications { - return _lib._objc_msgSend_12( - _id, _lib._sel_postsFrameChangedNotifications1); - } - - set postsFrameChangedNotifications(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setPostsFrameChangedNotifications_1, value); - } - - void resizeSubviewsWithOldSize_(CGSize oldSize) { - _lib._objc_msgSend_134(_id, _lib._sel_resizeSubviewsWithOldSize_1, oldSize); - } - - void resizeWithOldSuperviewSize_(CGSize oldSize) { - _lib._objc_msgSend_134( - _id, _lib._sel_resizeWithOldSuperviewSize_1, oldSize); - } - - bool get autoresizesSubviews { - return _lib._objc_msgSend_12(_id, _lib._sel_autoresizesSubviews1); - } - - set autoresizesSubviews(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setAutoresizesSubviews_1, value); - } - - int get autoresizingMask { - return _lib._objc_msgSend_135(_id, _lib._sel_autoresizingMask1); - } - - set autoresizingMask(int value) { - return _lib._objc_msgSend_136(_id, _lib._sel_setAutoresizingMask_1, value); - } - - void setFrameOrigin_(CGPoint newOrigin) { - _lib._objc_msgSend_137(_id, _lib._sel_setFrameOrigin_1, newOrigin); - } - - void setFrameSize_(CGSize newSize) { - _lib._objc_msgSend_134(_id, _lib._sel_setFrameSize_1, newSize); - } - - void getFrame(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_138_stret(stret, _id, _lib._sel_frame1) - : stret.ref = _lib._objc_msgSend_138(_id, _lib._sel_frame1); - } - - set frame(CGRect value) { - return _lib._objc_msgSend_139(_id, _lib._sel_setFrame_1, value); - } - - double get frameRotation { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_frameRotation1) - : _lib._objc_msgSend_81(_id, _lib._sel_frameRotation1); - } - - set frameRotation(double value) { - return _lib._objc_msgSend_140(_id, _lib._sel_setFrameRotation_1, value); - } - - double get frameCenterRotation { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_frameCenterRotation1) - : _lib._objc_msgSend_81(_id, _lib._sel_frameCenterRotation1); - } - - set frameCenterRotation(double value) { - return _lib._objc_msgSend_140( - _id, _lib._sel_setFrameCenterRotation_1, value); - } - - void setBoundsOrigin_(CGPoint newOrigin) { - _lib._objc_msgSend_137(_id, _lib._sel_setBoundsOrigin_1, newOrigin); - } - - void setBoundsSize_(CGSize newSize) { - _lib._objc_msgSend_134(_id, _lib._sel_setBoundsSize_1, newSize); - } - - double get boundsRotation { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_boundsRotation1) - : _lib._objc_msgSend_81(_id, _lib._sel_boundsRotation1); - } - - set boundsRotation(double value) { - return _lib._objc_msgSend_140(_id, _lib._sel_setBoundsRotation_1, value); - } - - void translateOriginToPoint_(CGPoint translation) { - _lib._objc_msgSend_137( - _id, _lib._sel_translateOriginToPoint_1, translation); - } - - void scaleUnitSquareToSize_(CGSize newUnitSize) { - _lib._objc_msgSend_134(_id, _lib._sel_scaleUnitSquareToSize_1, newUnitSize); - } - - void rotateByAngle_(double angle) { - _lib._objc_msgSend_141(_id, _lib._sel_rotateByAngle_1, angle); - } - - void getBounds(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_138_stret(stret, _id, _lib._sel_bounds1) - : stret.ref = _lib._objc_msgSend_138(_id, _lib._sel_bounds1); - } - - set bounds(CGRect value) { - return _lib._objc_msgSend_139(_id, _lib._sel_setBounds_1, value); - } - - bool get flipped { - return _lib._objc_msgSend_12(_id, _lib._sel_isFlipped1); - } - - bool get rotatedFromBase { - return _lib._objc_msgSend_12(_id, _lib._sel_isRotatedFromBase1); - } - - bool get rotatedOrScaledFromBase { - return _lib._objc_msgSend_12(_id, _lib._sel_isRotatedOrScaledFromBase1); - } - - bool get opaque { - return _lib._objc_msgSend_12(_id, _lib._sel_isOpaque1); - } - - void convertPoint_fromView_( - ffi.Pointer stret, CGPoint point, NSView? view) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_142_stret(stret, _id, - _lib._sel_convertPoint_fromView_1, point, view?._id ?? ffi.nullptr) - : stret.ref = _lib._objc_msgSend_142(_id, - _lib._sel_convertPoint_fromView_1, point, view?._id ?? ffi.nullptr); - } - - void convertPoint_toView_( - ffi.Pointer stret, CGPoint point, NSView? view) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_142_stret(stret, _id, - _lib._sel_convertPoint_toView_1, point, view?._id ?? ffi.nullptr) - : stret.ref = _lib._objc_msgSend_142(_id, - _lib._sel_convertPoint_toView_1, point, view?._id ?? ffi.nullptr); - } - - void convertSize_fromView_( - ffi.Pointer stret, CGSize size, NSView? view) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_143_stret(stret, _id, - _lib._sel_convertSize_fromView_1, size, view?._id ?? ffi.nullptr) - : stret.ref = _lib._objc_msgSend_143(_id, - _lib._sel_convertSize_fromView_1, size, view?._id ?? ffi.nullptr); - } - - void convertSize_toView_( - ffi.Pointer stret, CGSize size, NSView? view) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_143_stret(stret, _id, - _lib._sel_convertSize_toView_1, size, view?._id ?? ffi.nullptr) - : stret.ref = _lib._objc_msgSend_143(_id, - _lib._sel_convertSize_toView_1, size, view?._id ?? ffi.nullptr); - } - - void convertRect_fromView_( - ffi.Pointer stret, CGRect rect, NSView? view) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_144_stret(stret, _id, - _lib._sel_convertRect_fromView_1, rect, view?._id ?? ffi.nullptr) - : stret.ref = _lib._objc_msgSend_144(_id, - _lib._sel_convertRect_fromView_1, rect, view?._id ?? ffi.nullptr); - } - - void convertRect_toView_( - ffi.Pointer stret, CGRect rect, NSView? view) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_144_stret(stret, _id, - _lib._sel_convertRect_toView_1, rect, view?._id ?? ffi.nullptr) - : stret.ref = _lib._objc_msgSend_144(_id, - _lib._sel_convertRect_toView_1, rect, view?._id ?? ffi.nullptr); - } - - void backingAlignedRect_options_( - ffi.Pointer stret, CGRect rect, int options) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_145_stret( - stret, _id, _lib._sel_backingAlignedRect_options_1, rect, options) - : stret.ref = _lib._objc_msgSend_145( - _id, _lib._sel_backingAlignedRect_options_1, rect, options); - } - - void centerScanRect_(ffi.Pointer stret, CGRect rect) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_146_stret( - stret, _id, _lib._sel_centerScanRect_1, rect) - : stret.ref = - _lib._objc_msgSend_146(_id, _lib._sel_centerScanRect_1, rect); - } - - void convertPointToBacking_(ffi.Pointer stret, CGPoint point) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_147_stret( - stret, _id, _lib._sel_convertPointToBacking_1, point) - : stret.ref = _lib._objc_msgSend_147( - _id, _lib._sel_convertPointToBacking_1, point); - } - - void convertPointFromBacking_(ffi.Pointer stret, CGPoint point) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_147_stret( - stret, _id, _lib._sel_convertPointFromBacking_1, point) - : stret.ref = _lib._objc_msgSend_147( - _id, _lib._sel_convertPointFromBacking_1, point); - } - - void convertSizeToBacking_(ffi.Pointer stret, CGSize size) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_148_stret( - stret, _id, _lib._sel_convertSizeToBacking_1, size) - : stret.ref = - _lib._objc_msgSend_148(_id, _lib._sel_convertSizeToBacking_1, size); - } - - void convertSizeFromBacking_(ffi.Pointer stret, CGSize size) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_148_stret( - stret, _id, _lib._sel_convertSizeFromBacking_1, size) - : stret.ref = _lib._objc_msgSend_148( - _id, _lib._sel_convertSizeFromBacking_1, size); - } - - void convertRectToBacking_(ffi.Pointer stret, CGRect rect) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_146_stret( - stret, _id, _lib._sel_convertRectToBacking_1, rect) - : stret.ref = - _lib._objc_msgSend_146(_id, _lib._sel_convertRectToBacking_1, rect); - } - - void convertRectFromBacking_(ffi.Pointer stret, CGRect rect) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_146_stret( - stret, _id, _lib._sel_convertRectFromBacking_1, rect) - : stret.ref = _lib._objc_msgSend_146( - _id, _lib._sel_convertRectFromBacking_1, rect); - } - - void convertPointToLayer_(ffi.Pointer stret, CGPoint point) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_147_stret( - stret, _id, _lib._sel_convertPointToLayer_1, point) - : stret.ref = - _lib._objc_msgSend_147(_id, _lib._sel_convertPointToLayer_1, point); - } - - void convertPointFromLayer_(ffi.Pointer stret, CGPoint point) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_147_stret( - stret, _id, _lib._sel_convertPointFromLayer_1, point) - : stret.ref = _lib._objc_msgSend_147( - _id, _lib._sel_convertPointFromLayer_1, point); - } - - void convertSizeToLayer_(ffi.Pointer stret, CGSize size) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_148_stret( - stret, _id, _lib._sel_convertSizeToLayer_1, size) - : stret.ref = - _lib._objc_msgSend_148(_id, _lib._sel_convertSizeToLayer_1, size); - } - - void convertSizeFromLayer_(ffi.Pointer stret, CGSize size) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_148_stret( - stret, _id, _lib._sel_convertSizeFromLayer_1, size) - : stret.ref = - _lib._objc_msgSend_148(_id, _lib._sel_convertSizeFromLayer_1, size); - } - - void convertRectToLayer_(ffi.Pointer stret, CGRect rect) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_146_stret( - stret, _id, _lib._sel_convertRectToLayer_1, rect) - : stret.ref = - _lib._objc_msgSend_146(_id, _lib._sel_convertRectToLayer_1, rect); - } - - void convertRectFromLayer_(ffi.Pointer stret, CGRect rect) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_146_stret( - stret, _id, _lib._sel_convertRectFromLayer_1, rect) - : stret.ref = - _lib._objc_msgSend_146(_id, _lib._sel_convertRectFromLayer_1, rect); - } - - bool get canDrawConcurrently { - return _lib._objc_msgSend_12(_id, _lib._sel_canDrawConcurrently1); - } - - set canDrawConcurrently(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setCanDrawConcurrently_1, value); - } - - bool get canDraw { - return _lib._objc_msgSend_12(_id, _lib._sel_canDraw1); - } - - void setNeedsDisplayInRect_(CGRect invalidRect) { - _lib._objc_msgSend_149(_id, _lib._sel_setNeedsDisplayInRect_1, invalidRect); - } - - bool get needsDisplay { - return _lib._objc_msgSend_12(_id, _lib._sel_needsDisplay1); - } - - set needsDisplay(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setNeedsDisplay_1, value); - } - - void lockFocus() { - _lib._objc_msgSend_1(_id, _lib._sel_lockFocus1); - } - - void unlockFocus() { - _lib._objc_msgSend_1(_id, _lib._sel_unlockFocus1); - } - - bool lockFocusIfCanDraw() { - return _lib._objc_msgSend_12(_id, _lib._sel_lockFocusIfCanDraw1); - } - - bool lockFocusIfCanDrawInContext_(NSGraphicsContext context) { - return _lib._objc_msgSend_150( - _id, _lib._sel_lockFocusIfCanDrawInContext_1, context._id); - } - - static NSView? getFocusView(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_122(_lib._class_NSView1, _lib._sel_focusView1); - return _ret.address == 0 - ? null - : NSView._(_ret, _lib, retain: true, release: true); - } - - void getVisibleRect(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_138_stret(stret, _id, _lib._sel_visibleRect1) - : stret.ref = _lib._objc_msgSend_138(_id, _lib._sel_visibleRect1); - } - - void display() { - _lib._objc_msgSend_1(_id, _lib._sel_display1); - } - - void displayIfNeeded() { - _lib._objc_msgSend_1(_id, _lib._sel_displayIfNeeded1); - } - - void displayIfNeededIgnoringOpacity() { - _lib._objc_msgSend_1(_id, _lib._sel_displayIfNeededIgnoringOpacity1); - } - - void displayRect_(CGRect rect) { - _lib._objc_msgSend_149(_id, _lib._sel_displayRect_1, rect); - } - - void displayIfNeededInRect_(CGRect rect) { - _lib._objc_msgSend_149(_id, _lib._sel_displayIfNeededInRect_1, rect); - } - - void displayRectIgnoringOpacity_(CGRect rect) { - _lib._objc_msgSend_149(_id, _lib._sel_displayRectIgnoringOpacity_1, rect); - } - - void displayIfNeededInRectIgnoringOpacity_(CGRect rect) { - _lib._objc_msgSend_149( - _id, _lib._sel_displayIfNeededInRectIgnoringOpacity_1, rect); - } - - void drawRect_(CGRect dirtyRect) { - _lib._objc_msgSend_149(_id, _lib._sel_drawRect_1, dirtyRect); - } - - void displayRectIgnoringOpacity_inContext_( - CGRect rect, NSGraphicsContext context) { - _lib._objc_msgSend_151(_id, - _lib._sel_displayRectIgnoringOpacity_inContext_1, rect, context._id); - } - - NSBitmapImageRep? bitmapImageRepForCachingDisplayInRect_(CGRect rect) { - final _ret = _lib._objc_msgSend_152( - _id, _lib._sel_bitmapImageRepForCachingDisplayInRect_1, rect); - return _ret.address == 0 - ? null - : NSBitmapImageRep._(_ret, _lib, retain: true, release: true); - } - - void cacheDisplayInRect_toBitmapImageRep_( - CGRect rect, NSBitmapImageRep bitmapImageRep) { - _lib._objc_msgSend_153(_id, _lib._sel_cacheDisplayInRect_toBitmapImageRep_1, - rect, bitmapImageRep._id); - } - - void viewWillDraw() { - _lib._objc_msgSend_1(_id, _lib._sel_viewWillDraw1); - } - - void scrollPoint_(CGPoint point) { - _lib._objc_msgSend_137(_id, _lib._sel_scrollPoint_1, point); - } - - bool scrollRectToVisible_(CGRect rect) { - return _lib._objc_msgSend_127(_id, _lib._sel_scrollRectToVisible_1, rect); - } - - bool autoscroll_(NSEvent event) { - return _lib._objc_msgSend_154(_id, _lib._sel_autoscroll_1, event._id); - } - - void adjustScroll_(ffi.Pointer stret, CGRect newVisible) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_146_stret( - stret, _id, _lib._sel_adjustScroll_1, newVisible) - : stret.ref = - _lib._objc_msgSend_146(_id, _lib._sel_adjustScroll_1, newVisible); - } - - void scrollRect_by_(CGRect rect, CGSize delta) { - _lib._objc_msgSend_155(_id, _lib._sel_scrollRect_by_1, rect, delta); - } - - void translateRectsNeedingDisplayInRect_by_(CGRect clipRect, CGSize delta) { - _lib._objc_msgSend_155(_id, - _lib._sel_translateRectsNeedingDisplayInRect_by_1, clipRect, delta); - } - - NSView? hitTest_(CGPoint point) { - final _ret = _lib._objc_msgSend_156(_id, _lib._sel_hitTest_1, point); - return _ret.address == 0 - ? null - : NSView._(_ret, _lib, retain: true, release: true); - } - - bool mouse_inRect_(CGPoint point, CGRect rect) { - return _lib._objc_msgSend_157(_id, _lib._sel_mouse_inRect_1, point, rect); - } - - NSView? viewWithTag_(int tag) { - final _ret = _lib._objc_msgSend_158(_id, _lib._sel_viewWithTag_1, tag); - return _ret.address == 0 - ? null - : NSView._(_ret, _lib, retain: true, release: true); - } - - int get tag { - return _lib._objc_msgSend_77(_id, _lib._sel_tag1); - } - - @override - bool performKeyEquivalent_(NSEvent event) { - return _lib._objc_msgSend_154( - _id, _lib._sel_performKeyEquivalent_1, event._id); - } - - bool acceptsFirstMouse_(NSEvent? event) { - return _lib._objc_msgSend_159( - _id, _lib._sel_acceptsFirstMouse_1, event?._id ?? ffi.nullptr); - } - - bool shouldDelayWindowOrderingForEvent_(NSEvent event) { - return _lib._objc_msgSend_154( - _id, _lib._sel_shouldDelayWindowOrderingForEvent_1, event._id); - } - - bool get needsPanelToBecomeKey { - return _lib._objc_msgSend_12(_id, _lib._sel_needsPanelToBecomeKey1); - } - - bool get mouseDownCanMoveWindow { - return _lib._objc_msgSend_12(_id, _lib._sel_mouseDownCanMoveWindow1); - } - - bool get acceptsTouchEvents { - return _lib._objc_msgSend_12(_id, _lib._sel_acceptsTouchEvents1); - } - - set acceptsTouchEvents(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setAcceptsTouchEvents_1, value); - } - - bool get wantsRestingTouches { - return _lib._objc_msgSend_12(_id, _lib._sel_wantsRestingTouches1); - } - - set wantsRestingTouches(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setWantsRestingTouches_1, value); - } - - CALayer makeBackingLayer() { - final _ret = _lib._objc_msgSend_160(_id, _lib._sel_makeBackingLayer1); - return CALayer._(_ret, _lib, retain: true, release: true); - } - - int get layerContentsRedrawPolicy { - return _lib._objc_msgSend_161(_id, _lib._sel_layerContentsRedrawPolicy1); - } - - set layerContentsRedrawPolicy(int value) { - return _lib._objc_msgSend_162( - _id, _lib._sel_setLayerContentsRedrawPolicy_1, value); - } - - int get layerContentsPlacement { - return _lib._objc_msgSend_163(_id, _lib._sel_layerContentsPlacement1); - } - - set layerContentsPlacement(int value) { - return _lib._objc_msgSend_164( - _id, _lib._sel_setLayerContentsPlacement_1, value); - } - - bool get wantsLayer { - return _lib._objc_msgSend_12(_id, _lib._sel_wantsLayer1); - } - - set wantsLayer(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setWantsLayer_1, value); - } - - CALayer? get layer { - final _ret = _lib._objc_msgSend_165(_id, _lib._sel_layer1); - return _ret.address == 0 - ? null - : CALayer._(_ret, _lib, retain: true, release: true); - } - - set layer(CALayer? value) { - return _lib._objc_msgSend_166( - _id, _lib._sel_setLayer_1, value?._id ?? ffi.nullptr); - } - - bool get wantsUpdateLayer { - return _lib._objc_msgSend_12(_id, _lib._sel_wantsUpdateLayer1); - } - - void updateLayer() { - _lib._objc_msgSend_1(_id, _lib._sel_updateLayer1); - } - - bool get canDrawSubviewsIntoLayer { - return _lib._objc_msgSend_12(_id, _lib._sel_canDrawSubviewsIntoLayer1); - } - - set canDrawSubviewsIntoLayer(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setCanDrawSubviewsIntoLayer_1, value); - } - - void layoutSubtreeIfNeeded() { - _lib._objc_msgSend_1(_id, _lib._sel_layoutSubtreeIfNeeded1); - } - - void layout() { - _lib._objc_msgSend_1(_id, _lib._sel_layout1); - } - - bool get needsLayout { - return _lib._objc_msgSend_12(_id, _lib._sel_needsLayout1); - } - - set needsLayout(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setNeedsLayout_1, value); - } - - double get alphaValue { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_alphaValue1) - : _lib._objc_msgSend_81(_id, _lib._sel_alphaValue1); - } - - set alphaValue(double value) { - return _lib._objc_msgSend_140(_id, _lib._sel_setAlphaValue_1, value); - } - - bool get layerUsesCoreImageFilters { - return _lib._objc_msgSend_12(_id, _lib._sel_layerUsesCoreImageFilters1); - } - - set layerUsesCoreImageFilters(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setLayerUsesCoreImageFilters_1, value); - } - - NSObject get backgroundFilters { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_backgroundFilters1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - set backgroundFilters(NSObject value) { - return _lib._objc_msgSend_123( - _id, _lib._sel_setBackgroundFilters_1, value._id); - } - - CIFilter? get compositingFilter { - final _ret = _lib._objc_msgSend_167(_id, _lib._sel_compositingFilter1); - return _ret.address == 0 - ? null - : CIFilter._(_ret, _lib, retain: true, release: true); - } - - set compositingFilter(CIFilter? value) { - return _lib._objc_msgSend_168( - _id, _lib._sel_setCompositingFilter_1, value?._id ?? ffi.nullptr); - } - - NSObject get contentFilters { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_contentFilters1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - set contentFilters(NSObject value) { - return _lib._objc_msgSend_123( - _id, _lib._sel_setContentFilters_1, value._id); - } - - NSShadow? get shadow { - final _ret = _lib._objc_msgSend_169(_id, _lib._sel_shadow1); - return _ret.address == 0 - ? null - : NSShadow._(_ret, _lib, retain: true, release: true); - } - - set shadow(NSShadow? value) { - return _lib._objc_msgSend_170( - _id, _lib._sel_setShadow_1, value?._id ?? ffi.nullptr); - } - - bool get clipsToBounds { - return _lib._objc_msgSend_12(_id, _lib._sel_clipsToBounds1); - } - - set clipsToBounds(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setClipsToBounds_1, value); - } - - bool get postsBoundsChangedNotifications { - return _lib._objc_msgSend_12( - _id, _lib._sel_postsBoundsChangedNotifications1); - } - - set postsBoundsChangedNotifications(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setPostsBoundsChangedNotifications_1, value); - } - - NSScrollView? get enclosingScrollView { - final _ret = _lib._objc_msgSend_171(_id, _lib._sel_enclosingScrollView1); - return _ret.address == 0 - ? null - : NSScrollView._(_ret, _lib, retain: true, release: true); - } - - NSMenu? menuForEvent_(NSEvent event) { - final _ret = - _lib._objc_msgSend_214(_id, _lib._sel_menuForEvent_1, event._id); - return _ret.address == 0 - ? null - : NSMenu._(_ret, _lib, retain: true, release: true); - } - - static NSMenu? getDefaultMenu(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_178(_lib._class_NSView1, _lib._sel_defaultMenu1); - return _ret.address == 0 - ? null - : NSMenu._(_ret, _lib, retain: true, release: true); - } - - void willOpenMenu_withEvent_(NSMenu menu, NSEvent event) { - _lib._objc_msgSend_215( - _id, _lib._sel_willOpenMenu_withEvent_1, menu._id, event._id); - } - - void didCloseMenu_withEvent_(NSMenu menu, NSEvent? event) { - _lib._objc_msgSend_216(_id, _lib._sel_didCloseMenu_withEvent_1, menu._id, - event?._id ?? ffi.nullptr); - } - - NSString? get toolTip { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_toolTip1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - set toolTip(NSString? value) { - return _lib._objc_msgSend_191( - _id, _lib._sel_setToolTip_1, value?._id ?? ffi.nullptr); - } - - int addToolTipRect_owner_userData_( - CGRect rect, NSObject owner, ffi.Pointer data) { - return _lib._objc_msgSend_217( - _id, _lib._sel_addToolTipRect_owner_userData_1, rect, owner._id, data); - } - - void removeToolTip_(int tag) { - _lib._objc_msgSend_200(_id, _lib._sel_removeToolTip_1, tag); - } - - void removeAllToolTips() { - _lib._objc_msgSend_1(_id, _lib._sel_removeAllToolTips1); - } - - void viewWillStartLiveResize() { - _lib._objc_msgSend_1(_id, _lib._sel_viewWillStartLiveResize1); - } - - void viewDidEndLiveResize() { - _lib._objc_msgSend_1(_id, _lib._sel_viewDidEndLiveResize1); - } - - bool get inLiveResize { - return _lib._objc_msgSend_12(_id, _lib._sel_inLiveResize1); - } - - bool get preservesContentDuringLiveResize { - return _lib._objc_msgSend_12( - _id, _lib._sel_preservesContentDuringLiveResize1); - } - - void getRectPreservedDuringLiveResize(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_138_stret( - stret, _id, _lib._sel_rectPreservedDuringLiveResize1) - : stret.ref = _lib._objc_msgSend_138( - _id, _lib._sel_rectPreservedDuringLiveResize1); - } - - void getRectsExposedDuringLiveResize_count_( - ffi.Pointer exposedRects, ffi.Pointer count) { - _lib._objc_msgSend_218(_id, - _lib._sel_getRectsExposedDuringLiveResize_count_1, exposedRects, count); - } - - NSTextInputContext? get inputContext { - final _ret = _lib._objc_msgSend_219(_id, _lib._sel_inputContext1); - return _ret.address == 0 - ? null - : NSTextInputContext._(_ret, _lib, retain: true, release: true); - } - - void rectForSmartMagnificationAtPoint_inRect_( - ffi.Pointer stret, CGPoint location, CGRect visibleRect) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_220_stret( - stret, - _id, - _lib._sel_rectForSmartMagnificationAtPoint_inRect_1, - location, - visibleRect) - : stret.ref = _lib._objc_msgSend_220( - _id, - _lib._sel_rectForSmartMagnificationAtPoint_inRect_1, - location, - visibleRect); - } - - int get userInterfaceLayoutDirection { - return _lib._objc_msgSend_212(_id, _lib._sel_userInterfaceLayoutDirection1); - } - - set userInterfaceLayoutDirection(int value) { - return _lib._objc_msgSend_213( - _id, _lib._sel_setUserInterfaceLayoutDirection_1, value); - } - - void prepareForReuse() { - _lib._objc_msgSend_1(_id, _lib._sel_prepareForReuse1); - } - - static bool getCompatibleWithResponsiveScrolling( - AuthenticationServices _lib) { - return _lib._objc_msgSend_12( - _lib._class_NSView1, _lib._sel_isCompatibleWithResponsiveScrolling1); - } - - void prepareContentInRect_(CGRect rect) { - _lib._objc_msgSend_149(_id, _lib._sel_prepareContentInRect_1, rect); - } - - void getPreparedContentRect(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_138_stret( - stret, _id, _lib._sel_preparedContentRect1) - : stret.ref = - _lib._objc_msgSend_138(_id, _lib._sel_preparedContentRect1); - } - - set preparedContentRect(CGRect value) { - return _lib._objc_msgSend_139( - _id, _lib._sel_setPreparedContentRect_1, value); - } - - bool get allowsVibrancy { - return _lib._objc_msgSend_12(_id, _lib._sel_allowsVibrancy1); - } - - void viewDidChangeEffectiveAppearance() { - _lib._objc_msgSend_1(_id, _lib._sel_viewDidChangeEffectiveAppearance1); - } - - @override - NSView init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSView._(_ret, _lib, retain: true, release: true); - } - - static NSView new1(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSView1, _lib._sel_new1); - return NSView._(_ret, _lib, retain: false, release: true); - } - - static NSView allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSView1, _lib._sel_allocWithZone_1, zone); - return NSView._(_ret, _lib, retain: false, release: true); - } - - static NSView alloc(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSView1, _lib._sel_alloc1); - return NSView._(_ret, _lib, retain: false, release: true); - } -} - -final class CGRect extends ffi.Struct { - external CGPoint origin; - - external CGSize size; -} - -final class CGSize extends ffi.Struct { - @ffi.Double() - external double width; - - @ffi.Double() - external double height; -} - -abstract class NSWindowOrderingMode { - static const int NSWindowAbove = 1; - static const int NSWindowBelow = -1; - static const int NSWindowOut = 0; -} - -abstract class NSAutoresizingMaskOptions { - static const int NSViewNotSizable = 0; - static const int NSViewMinXMargin = 1; - static const int NSViewWidthSizable = 2; - static const int NSViewMaxXMargin = 4; - static const int NSViewMinYMargin = 8; - static const int NSViewHeightSizable = 16; - static const int NSViewMaxYMargin = 32; -} - -abstract class NSAlignmentOptions { - static const int NSAlignMinXInward = 1; - static const int NSAlignMinYInward = 2; - static const int NSAlignMaxXInward = 4; - static const int NSAlignMaxYInward = 8; - static const int NSAlignWidthInward = 16; - static const int NSAlignHeightInward = 32; - static const int NSAlignMinXOutward = 256; - static const int NSAlignMinYOutward = 512; - static const int NSAlignMaxXOutward = 1024; - static const int NSAlignMaxYOutward = 2048; - static const int NSAlignWidthOutward = 4096; - static const int NSAlignHeightOutward = 8192; - static const int NSAlignMinXNearest = 65536; - static const int NSAlignMinYNearest = 131072; - static const int NSAlignMaxXNearest = 262144; - static const int NSAlignMaxYNearest = 524288; - static const int NSAlignWidthNearest = 1048576; - static const int NSAlignHeightNearest = 2097152; - static const int NSAlignRectFlipped = -9223372036854775808; - static const int NSAlignAllEdgesInward = 15; - static const int NSAlignAllEdgesOutward = 3840; - static const int NSAlignAllEdgesNearest = 983040; -} - -class NSBitmapImageRep extends _ObjCWrapper { - NSBitmapImageRep._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSBitmapImageRep] that points to the same underlying object as [other]. - static NSBitmapImageRep castFrom(T other) { - return NSBitmapImageRep._(other._id, other._lib, - retain: true, release: true); - } - - /// Returns a [NSBitmapImageRep] that wraps the given raw object pointer. - static NSBitmapImageRep castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSBitmapImageRep._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSBitmapImageRep]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, - obj._lib._class_NSBitmapImageRep1); - } -} - -class CALayer extends _ObjCWrapper { - CALayer._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [CALayer] that points to the same underlying object as [other]. - static CALayer castFrom(T other) { - return CALayer._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [CALayer] that wraps the given raw object pointer. - static CALayer castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return CALayer._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [CALayer]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_CALayer1); - } -} - -abstract class NSViewLayerContentsRedrawPolicy { - static const int NSViewLayerContentsRedrawNever = 0; - static const int NSViewLayerContentsRedrawOnSetNeedsDisplay = 1; - static const int NSViewLayerContentsRedrawDuringViewResize = 2; - static const int NSViewLayerContentsRedrawBeforeViewResize = 3; - static const int NSViewLayerContentsRedrawCrossfade = 4; -} - -abstract class NSViewLayerContentsPlacement { - static const int NSViewLayerContentsPlacementScaleAxesIndependently = 0; - static const int NSViewLayerContentsPlacementScaleProportionallyToFit = 1; - static const int NSViewLayerContentsPlacementScaleProportionallyToFill = 2; - static const int NSViewLayerContentsPlacementCenter = 3; - static const int NSViewLayerContentsPlacementTop = 4; - static const int NSViewLayerContentsPlacementTopRight = 5; - static const int NSViewLayerContentsPlacementRight = 6; - static const int NSViewLayerContentsPlacementBottomRight = 7; - static const int NSViewLayerContentsPlacementBottom = 8; - static const int NSViewLayerContentsPlacementBottomLeft = 9; - static const int NSViewLayerContentsPlacementLeft = 10; - static const int NSViewLayerContentsPlacementTopLeft = 11; -} - -class CIFilter extends _ObjCWrapper { - CIFilter._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [CIFilter] that points to the same underlying object as [other]. - static CIFilter castFrom(T other) { - return CIFilter._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [CIFilter] that wraps the given raw object pointer. - static CIFilter castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return CIFilter._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [CIFilter]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_CIFilter1); - } -} - -class NSShadow extends _ObjCWrapper { - NSShadow._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSShadow] that points to the same underlying object as [other]. - static NSShadow castFrom(T other) { - return NSShadow._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSShadow] that wraps the given raw object pointer. - static NSShadow castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSShadow._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSShadow]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSShadow1); - } -} - -class NSScrollView extends _ObjCWrapper { - NSScrollView._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSScrollView] that points to the same underlying object as [other]. - static NSScrollView castFrom(T other) { - return NSScrollView._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSScrollView] that wraps the given raw object pointer. - static NSScrollView castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSScrollView._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSScrollView]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSScrollView1); - } -} - -class NSMenu extends NSObject { - NSMenu._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSMenu] that points to the same underlying object as [other]. - static NSMenu castFrom(T other) { - return NSMenu._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSMenu] that wraps the given raw object pointer. - static NSMenu castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSMenu._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSMenu]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSMenu1); - } - - NSMenu initWithTitle_(NSString title) { - final _ret = - _lib._objc_msgSend_41(_id, _lib._sel_initWithTitle_1, title._id); - return NSMenu._(_ret, _lib, retain: true, release: true); - } - - NSMenu initWithCoder_(NSCoder coder) { - final _ret = - _lib._objc_msgSend_172(_id, _lib._sel_initWithCoder_1, coder._id); - return NSMenu._(_ret, _lib, retain: true, release: true); - } - - NSString get title { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_title1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - set title(NSString value) { - return _lib._objc_msgSend_173(_id, _lib._sel_setTitle_1, value._id); - } - - static void popUpContextMenu_withEvent_forView_( - AuthenticationServices _lib, NSMenu menu, NSEvent event, NSView view) { - _lib._objc_msgSend_174( - _lib._class_NSMenu1, - _lib._sel_popUpContextMenu_withEvent_forView_1, - menu._id, - event._id, - view._id); - } - - static void popUpContextMenu_withEvent_forView_withFont_( - AuthenticationServices _lib, - NSMenu menu, - NSEvent event, - NSView view, - NSFont? font) { - _lib._objc_msgSend_175( - _lib._class_NSMenu1, - _lib._sel_popUpContextMenu_withEvent_forView_withFont_1, - menu._id, - event._id, - view._id, - font?._id ?? ffi.nullptr); - } - - bool popUpMenuPositioningItem_atLocation_inView_( - NSMenuItem? item, CGPoint location, NSView? view) { - return _lib._objc_msgSend_194( - _id, - _lib._sel_popUpMenuPositioningItem_atLocation_inView_1, - item?._id ?? ffi.nullptr, - location, - view?._id ?? ffi.nullptr); - } - - static void setMenuBarVisible_(AuthenticationServices _lib, bool visible) { - _lib._objc_msgSend_195( - _lib._class_NSMenu1, _lib._sel_setMenuBarVisible_1, visible); - } - - static bool menuBarVisible(AuthenticationServices _lib) { - return _lib._objc_msgSend_12( - _lib._class_NSMenu1, _lib._sel_menuBarVisible1); - } - - NSMenu? get supermenu { - final _ret = _lib._objc_msgSend_178(_id, _lib._sel_supermenu1); - return _ret.address == 0 - ? null - : NSMenu._(_ret, _lib, retain: true, release: true); - } - - set supermenu(NSMenu? value) { - return _lib._objc_msgSend_179( - _id, _lib._sel_setSupermenu_1, value?._id ?? ffi.nullptr); - } - - void insertItem_atIndex_(NSMenuItem newItem, int index) { - _lib._objc_msgSend_196( - _id, _lib._sel_insertItem_atIndex_1, newItem._id, index); - } - - void addItem_(NSMenuItem newItem) { - _lib._objc_msgSend_197(_id, _lib._sel_addItem_1, newItem._id); - } - - NSMenuItem insertItemWithTitle_action_keyEquivalent_atIndex_(NSString string, - ffi.Pointer selector, NSString charCode, int index) { - final _ret = _lib._objc_msgSend_198( - _id, - _lib._sel_insertItemWithTitle_action_keyEquivalent_atIndex_1, - string._id, - selector, - charCode._id, - index); - return NSMenuItem._(_ret, _lib, retain: true, release: true); - } - - NSMenuItem addItemWithTitle_action_keyEquivalent_( - NSString string, ffi.Pointer selector, NSString charCode) { - final _ret = _lib._objc_msgSend_199( - _id, - _lib._sel_addItemWithTitle_action_keyEquivalent_1, - string._id, - selector, - charCode._id); - return NSMenuItem._(_ret, _lib, retain: true, release: true); - } - - void removeItemAtIndex_(int index) { - _lib._objc_msgSend_200(_id, _lib._sel_removeItemAtIndex_1, index); - } - - void removeItem_(NSMenuItem item) { - _lib._objc_msgSend_197(_id, _lib._sel_removeItem_1, item._id); - } - - void setSubmenu_forItem_(NSMenu? menu, NSMenuItem item) { - _lib._objc_msgSend_201(_id, _lib._sel_setSubmenu_forItem_1, - menu?._id ?? ffi.nullptr, item._id); - } - - void removeAllItems() { - _lib._objc_msgSend_1(_id, _lib._sel_removeAllItems1); - } - - NSObject get itemArray { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_itemArray1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - set itemArray(NSObject value) { - return _lib._objc_msgSend_123(_id, _lib._sel_setItemArray_1, value._id); - } - - int get numberOfItems { - return _lib._objc_msgSend_77(_id, _lib._sel_numberOfItems1); - } - - NSMenuItem? itemAtIndex_(int index) { - final _ret = _lib._objc_msgSend_202(_id, _lib._sel_itemAtIndex_1, index); - return _ret.address == 0 - ? null - : NSMenuItem._(_ret, _lib, retain: true, release: true); - } - - int indexOfItem_(NSMenuItem item) { - return _lib._objc_msgSend_203(_id, _lib._sel_indexOfItem_1, item._id); - } - - int indexOfItemWithTitle_(NSString title) { - return _lib._objc_msgSend_32( - _id, _lib._sel_indexOfItemWithTitle_1, title._id); - } - - int indexOfItemWithTag_(int tag) { - return _lib._objc_msgSend_204(_id, _lib._sel_indexOfItemWithTag_1, tag); - } - - int indexOfItemWithRepresentedObject_(NSObject? object) { - return _lib._objc_msgSend_205( - _id, - _lib._sel_indexOfItemWithRepresentedObject_1, - object?._id ?? ffi.nullptr); - } - - int indexOfItemWithSubmenu_(NSMenu? submenu) { - return _lib._objc_msgSend_206( - _id, _lib._sel_indexOfItemWithSubmenu_1, submenu?._id ?? ffi.nullptr); - } - - int indexOfItemWithTarget_andAction_( - NSObject? target, ffi.Pointer actionSelector) { - return _lib._objc_msgSend_207( - _id, - _lib._sel_indexOfItemWithTarget_andAction_1, - target?._id ?? ffi.nullptr, - actionSelector); - } - - NSMenuItem? itemWithTitle_(NSString title) { - final _ret = - _lib._objc_msgSend_208(_id, _lib._sel_itemWithTitle_1, title._id); - return _ret.address == 0 - ? null - : NSMenuItem._(_ret, _lib, retain: true, release: true); - } - - NSMenuItem? itemWithTag_(int tag) { - final _ret = _lib._objc_msgSend_202(_id, _lib._sel_itemWithTag_1, tag); - return _ret.address == 0 - ? null - : NSMenuItem._(_ret, _lib, retain: true, release: true); - } - - bool get autoenablesItems { - return _lib._objc_msgSend_12(_id, _lib._sel_autoenablesItems1); - } - - set autoenablesItems(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setAutoenablesItems_1, value); - } - - void update() { - _lib._objc_msgSend_1(_id, _lib._sel_update1); - } - - bool performKeyEquivalent_(NSEvent event) { - return _lib._objc_msgSend_154( - _id, _lib._sel_performKeyEquivalent_1, event._id); - } - - void itemChanged_(NSMenuItem item) { - _lib._objc_msgSend_197(_id, _lib._sel_itemChanged_1, item._id); - } - - void performActionForItemAtIndex_(int index) { - _lib._objc_msgSend_200(_id, _lib._sel_performActionForItemAtIndex_1, index); - } - - NSObject? get delegate { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_delegate1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - set delegate(NSObject? value) { - return _lib._objc_msgSend_17( - _id, _lib._sel_setDelegate_1, value?._id ?? ffi.nullptr); - } - - double get menuBarHeight { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_menuBarHeight1) - : _lib._objc_msgSend_81(_id, _lib._sel_menuBarHeight1); - } - - void cancelTracking() { - _lib._objc_msgSend_1(_id, _lib._sel_cancelTracking1); - } - - void cancelTrackingWithoutAnimation() { - _lib._objc_msgSend_1(_id, _lib._sel_cancelTrackingWithoutAnimation1); - } - - NSMenuItem? get highlightedItem { - final _ret = _lib._objc_msgSend_180(_id, _lib._sel_highlightedItem1); - return _ret.address == 0 - ? null - : NSMenuItem._(_ret, _lib, retain: true, release: true); - } - - double get minimumWidth { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_81_fpret(_id, _lib._sel_minimumWidth1) - : _lib._objc_msgSend_81(_id, _lib._sel_minimumWidth1); - } - - set minimumWidth(double value) { - return _lib._objc_msgSend_140(_id, _lib._sel_setMinimumWidth_1, value); - } - - void getSize(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_209_stret(stret, _id, _lib._sel_size1) - : stret.ref = _lib._objc_msgSend_209(_id, _lib._sel_size1); - } - - NSFont get font { - final _ret = _lib._objc_msgSend_210(_id, _lib._sel_font1); - return NSFont._(_ret, _lib, retain: true, release: true); - } - - set font(NSFont value) { - return _lib._objc_msgSend_211(_id, _lib._sel_setFont_1, value._id); - } - - bool get allowsContextMenuPlugIns { - return _lib._objc_msgSend_12(_id, _lib._sel_allowsContextMenuPlugIns1); - } - - set allowsContextMenuPlugIns(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setAllowsContextMenuPlugIns_1, value); - } - - bool get showsStateColumn { - return _lib._objc_msgSend_12(_id, _lib._sel_showsStateColumn1); - } - - set showsStateColumn(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setShowsStateColumn_1, value); - } - - int get userInterfaceLayoutDirection { - return _lib._objc_msgSend_212(_id, _lib._sel_userInterfaceLayoutDirection1); - } - - set userInterfaceLayoutDirection(int value) { - return _lib._objc_msgSend_213( - _id, _lib._sel_setUserInterfaceLayoutDirection_1, value); - } - - @override - NSMenu init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSMenu._(_ret, _lib, retain: true, release: true); - } - - static NSMenu new1(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSMenu1, _lib._sel_new1); - return NSMenu._(_ret, _lib, retain: false, release: true); - } - - static NSMenu allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSMenu1, _lib._sel_allocWithZone_1, zone); - return NSMenu._(_ret, _lib, retain: false, release: true); - } - - static NSMenu alloc(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSMenu1, _lib._sel_alloc1); - return NSMenu._(_ret, _lib, retain: false, release: true); - } -} - -class NSFont extends _ObjCWrapper { - NSFont._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSFont] that points to the same underlying object as [other]. - static NSFont castFrom(T other) { - return NSFont._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSFont] that wraps the given raw object pointer. - static NSFont castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSFont._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSFont]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSFont1); - } -} - -class NSMenuItem extends NSObject { - NSMenuItem._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSMenuItem] that points to the same underlying object as [other]. - static NSMenuItem castFrom(T other) { - return NSMenuItem._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSMenuItem] that wraps the given raw object pointer. - static NSMenuItem castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSMenuItem._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSMenuItem]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSMenuItem1); - } - - static bool getUsesUserKeyEquivalents(AuthenticationServices _lib) { - return _lib._objc_msgSend_12( - _lib._class_NSMenuItem1, _lib._sel_usesUserKeyEquivalents1); - } - - static void setUsesUserKeyEquivalents( - AuthenticationServices _lib, bool value) { - return _lib._objc_msgSend_103( - _lib._class_NSMenuItem1, _lib._sel_setUsesUserKeyEquivalents_1, value); - } - - static NSMenuItem separatorItem(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_176( - _lib._class_NSMenuItem1, _lib._sel_separatorItem1); - return NSMenuItem._(_ret, _lib, retain: true, release: true); - } - - static NSMenuItem sectionHeaderWithTitle_( - AuthenticationServices _lib, NSString title) { - final _ret = _lib._objc_msgSend_41( - _lib._class_NSMenuItem1, _lib._sel_sectionHeaderWithTitle_1, title._id); - return NSMenuItem._(_ret, _lib, retain: true, release: true); - } - - NSMenuItem initWithTitle_action_keyEquivalent_( - NSString string, ffi.Pointer selector, NSString charCode) { - final _ret = _lib._objc_msgSend_177( - _id, - _lib._sel_initWithTitle_action_keyEquivalent_1, - string._id, - selector, - charCode._id); - return NSMenuItem._(_ret, _lib, retain: true, release: true); - } - - NSMenuItem initWithCoder_(NSCoder coder) { - final _ret = - _lib._objc_msgSend_172(_id, _lib._sel_initWithCoder_1, coder._id); - return NSMenuItem._(_ret, _lib, retain: true, release: true); - } - - NSMenu? get menu { - final _ret = _lib._objc_msgSend_178(_id, _lib._sel_menu1); - return _ret.address == 0 - ? null - : NSMenu._(_ret, _lib, retain: true, release: true); - } - - set menu(NSMenu? value) { - return _lib._objc_msgSend_179( - _id, _lib._sel_setMenu_1, value?._id ?? ffi.nullptr); - } - - bool get hasSubmenu { - return _lib._objc_msgSend_12(_id, _lib._sel_hasSubmenu1); - } - - NSMenu? get submenu { - final _ret = _lib._objc_msgSend_178(_id, _lib._sel_submenu1); - return _ret.address == 0 - ? null - : NSMenu._(_ret, _lib, retain: true, release: true); - } - - set submenu(NSMenu? value) { - return _lib._objc_msgSend_179( - _id, _lib._sel_setSubmenu_1, value?._id ?? ffi.nullptr); - } - - NSMenuItem? get parentItem { - final _ret = _lib._objc_msgSend_180(_id, _lib._sel_parentItem1); - return _ret.address == 0 - ? null - : NSMenuItem._(_ret, _lib, retain: true, release: true); - } - - NSString get title { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_title1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - set title(NSString value) { - return _lib._objc_msgSend_173(_id, _lib._sel_setTitle_1, value._id); - } - - NSAttributedString? get attributedTitle { - final _ret = _lib._objc_msgSend_182(_id, _lib._sel_attributedTitle1); - return _ret.address == 0 - ? null - : NSAttributedString._(_ret, _lib, retain: true, release: true); - } - - set attributedTitle(NSAttributedString? value) { - return _lib._objc_msgSend_183( - _id, _lib._sel_setAttributedTitle_1, value?._id ?? ffi.nullptr); - } - - bool get separatorItem1 { - return _lib._objc_msgSend_12(_id, _lib._sel_isSeparatorItem1); - } - - bool get sectionHeader { - return _lib._objc_msgSend_12(_id, _lib._sel_isSectionHeader1); - } - - NSString get keyEquivalent { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_keyEquivalent1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - set keyEquivalent(NSString value) { - return _lib._objc_msgSend_173(_id, _lib._sel_setKeyEquivalent_1, value._id); - } - - int get keyEquivalentModifierMask { - return _lib._objc_msgSend_108(_id, _lib._sel_keyEquivalentModifierMask1); - } - - set keyEquivalentModifierMask(int value) { - return _lib._objc_msgSend_184( - _id, _lib._sel_setKeyEquivalentModifierMask_1, value); - } - - NSString get userKeyEquivalent { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_userKeyEquivalent1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - bool get allowsKeyEquivalentWhenHidden { - return _lib._objc_msgSend_12(_id, _lib._sel_allowsKeyEquivalentWhenHidden1); - } - - set allowsKeyEquivalentWhenHidden(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setAllowsKeyEquivalentWhenHidden_1, value); - } - - bool get allowsAutomaticKeyEquivalentLocalization { - return _lib._objc_msgSend_12( - _id, _lib._sel_allowsAutomaticKeyEquivalentLocalization1); - } - - set allowsAutomaticKeyEquivalentLocalization(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setAllowsAutomaticKeyEquivalentLocalization_1, value); - } - - bool get allowsAutomaticKeyEquivalentMirroring { - return _lib._objc_msgSend_12( - _id, _lib._sel_allowsAutomaticKeyEquivalentMirroring1); - } - - set allowsAutomaticKeyEquivalentMirroring(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setAllowsAutomaticKeyEquivalentMirroring_1, value); - } - - NSImage? get image { - final _ret = _lib._objc_msgSend_185(_id, _lib._sel_image1); - return _ret.address == 0 - ? null - : NSImage._(_ret, _lib, retain: true, release: true); - } - - set image(NSImage? value) { - return _lib._objc_msgSend_186( - _id, _lib._sel_setImage_1, value?._id ?? ffi.nullptr); - } - - int get state { - return _lib._objc_msgSend_77(_id, _lib._sel_state1); - } - - set state(int value) { - return _lib._objc_msgSend_187(_id, _lib._sel_setState_1, value); - } - - NSImage get onStateImage { - final _ret = _lib._objc_msgSend_188(_id, _lib._sel_onStateImage1); - return NSImage._(_ret, _lib, retain: true, release: true); - } - - set onStateImage(NSImage value) { - return _lib._objc_msgSend_189(_id, _lib._sel_setOnStateImage_1, value._id); - } - - NSImage? get offStateImage { - final _ret = _lib._objc_msgSend_185(_id, _lib._sel_offStateImage1); - return _ret.address == 0 - ? null - : NSImage._(_ret, _lib, retain: true, release: true); - } - - set offStateImage(NSImage? value) { - return _lib._objc_msgSend_186( - _id, _lib._sel_setOffStateImage_1, value?._id ?? ffi.nullptr); - } - - NSImage get mixedStateImage { - final _ret = _lib._objc_msgSend_188(_id, _lib._sel_mixedStateImage1); - return NSImage._(_ret, _lib, retain: true, release: true); - } - - set mixedStateImage(NSImage value) { - return _lib._objc_msgSend_189( - _id, _lib._sel_setMixedStateImage_1, value._id); - } - - bool get enabled { - return _lib._objc_msgSend_12(_id, _lib._sel_isEnabled1); - } - - set enabled(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setEnabled_1, value); - } - - bool get alternate { - return _lib._objc_msgSend_12(_id, _lib._sel_isAlternate1); - } - - set alternate(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setAlternate_1, value); - } - - int get indentationLevel { - return _lib._objc_msgSend_77(_id, _lib._sel_indentationLevel1); - } - - set indentationLevel(int value) { - return _lib._objc_msgSend_187(_id, _lib._sel_setIndentationLevel_1, value); - } - - NSObject? get target { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_target1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - set target(NSObject? value) { - return _lib._objc_msgSend_17( - _id, _lib._sel_setTarget_1, value?._id ?? ffi.nullptr); - } - - ffi.Pointer get action { - return _lib._objc_msgSend_18(_id, _lib._sel_action1); - } - - set action(ffi.Pointer value) { - return _lib._objc_msgSend_19(_id, _lib._sel_setAction_1, value); - } - - int get tag { - return _lib._objc_msgSend_77(_id, _lib._sel_tag1); - } - - set tag(int value) { - return _lib._objc_msgSend_187(_id, _lib._sel_setTag_1, value); - } - - NSObject? get representedObject { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_representedObject1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - set representedObject(NSObject? value) { - return _lib._objc_msgSend_17( - _id, _lib._sel_setRepresentedObject_1, value?._id ?? ffi.nullptr); - } - - NSView? get view { - final _ret = _lib._objc_msgSend_122(_id, _lib._sel_view1); - return _ret.address == 0 - ? null - : NSView._(_ret, _lib, retain: true, release: true); - } - - set view(NSView? value) { - return _lib._objc_msgSend_190( - _id, _lib._sel_setView_1, value?._id ?? ffi.nullptr); - } - - bool get highlighted { - return _lib._objc_msgSend_12(_id, _lib._sel_isHighlighted1); - } - - bool get hidden { - return _lib._objc_msgSend_12(_id, _lib._sel_isHidden1); - } - - set hidden(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setHidden_1, value); - } - - bool get hiddenOrHasHiddenAncestor { - return _lib._objc_msgSend_12(_id, _lib._sel_isHiddenOrHasHiddenAncestor1); - } - - NSString? get toolTip { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_toolTip1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - set toolTip(NSString? value) { - return _lib._objc_msgSend_191( - _id, _lib._sel_setToolTip_1, value?._id ?? ffi.nullptr); - } - - NSMenuItemBadge? get badge { - final _ret = _lib._objc_msgSend_192(_id, _lib._sel_badge1); - return _ret.address == 0 - ? null - : NSMenuItemBadge._(_ret, _lib, retain: true, release: true); - } - - set badge(NSMenuItemBadge? value) { - return _lib._objc_msgSend_193( - _id, _lib._sel_setBadge_1, value?._id ?? ffi.nullptr); - } - - @override - NSMenuItem init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSMenuItem._(_ret, _lib, retain: true, release: true); - } - - static NSMenuItem new1(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSMenuItem1, _lib._sel_new1); - return NSMenuItem._(_ret, _lib, retain: false, release: true); - } - - static NSMenuItem allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSMenuItem1, _lib._sel_allocWithZone_1, zone); - return NSMenuItem._(_ret, _lib, retain: false, release: true); - } - - static NSMenuItem alloc(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSMenuItem1, _lib._sel_alloc1); - return NSMenuItem._(_ret, _lib, retain: false, release: true); - } -} - -class NSAttributedString extends NSObject { - NSAttributedString._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSAttributedString] that points to the same underlying object as [other]. - static NSAttributedString castFrom(T other) { - return NSAttributedString._(other._id, other._lib, - retain: true, release: true); - } - - /// Returns a [NSAttributedString] that wraps the given raw object pointer. - static NSAttributedString castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSAttributedString._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSAttributedString]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, - obj._lib._class_NSAttributedString1); - } - - NSString get string { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_string1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - NSObject attributesAtIndex_effectiveRange_( - int location, ffi.Pointer<_NSRange> range) { - final _ret = _lib._objc_msgSend_181( - _id, _lib._sel_attributesAtIndex_effectiveRange_1, location, range); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - @override - NSAttributedString init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSAttributedString._(_ret, _lib, retain: true, release: true); - } - - static NSAttributedString new1(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSAttributedString1, _lib._sel_new1); - return NSAttributedString._(_ret, _lib, retain: false, release: true); - } - - static NSAttributedString allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSAttributedString1, _lib._sel_allocWithZone_1, zone); - return NSAttributedString._(_ret, _lib, retain: false, release: true); - } - - static NSAttributedString alloc(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSAttributedString1, _lib._sel_alloc1); - return NSAttributedString._(_ret, _lib, retain: false, release: true); - } -} - -final class _NSRange extends ffi.Struct { - @ffi.UnsignedLong() - external int location; - - @ffi.UnsignedLong() - external int length; -} - -class NSImage extends _ObjCWrapper { - NSImage._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSImage] that points to the same underlying object as [other]. - static NSImage castFrom(T other) { - return NSImage._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSImage] that wraps the given raw object pointer. - static NSImage castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSImage._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSImage]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSImage1); - } -} - -class NSMenuItemBadge extends _ObjCWrapper { - NSMenuItemBadge._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSMenuItemBadge] that points to the same underlying object as [other]. - static NSMenuItemBadge castFrom(T other) { - return NSMenuItemBadge._(other._id, other._lib, - retain: true, release: true); - } - - /// Returns a [NSMenuItemBadge] that wraps the given raw object pointer. - static NSMenuItemBadge castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSMenuItemBadge._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSMenuItemBadge]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, - obj._lib._class_NSMenuItemBadge1); - } -} - -abstract class NSUserInterfaceLayoutDirection { - static const int NSUserInterfaceLayoutDirectionLeftToRight = 0; - static const int NSUserInterfaceLayoutDirectionRightToLeft = 1; -} - -class NSTextInputContext extends _ObjCWrapper { - NSTextInputContext._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSTextInputContext] that points to the same underlying object as [other]. - static NSTextInputContext castFrom(T other) { - return NSTextInputContext._(other._id, other._lib, - retain: true, release: true); - } - - /// Returns a [NSTextInputContext] that wraps the given raw object pointer. - static NSTextInputContext castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSTextInputContext._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSTextInputContext]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, - obj._lib._class_NSTextInputContext1); - } -} - -class NSTouch extends NSObject { - NSTouch._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSTouch] that points to the same underlying object as [other]. - static NSTouch castFrom(T other) { - return NSTouch._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSTouch] that wraps the given raw object pointer. - static NSTouch castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSTouch._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSTouch]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSTouch1); - } - - NSObject get identity { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_identity1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - int get phase { - return _lib._objc_msgSend_223(_id, _lib._sel_phase1); - } - - void getNormalizedPosition(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_111_stret( - stret, _id, _lib._sel_normalizedPosition1) - : stret.ref = - _lib._objc_msgSend_111(_id, _lib._sel_normalizedPosition1); - } - - bool get resting { - return _lib._objc_msgSend_12(_id, _lib._sel_isResting1); - } - - NSObject? get device { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_device1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - void getDeviceSize(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_209_stret(stret, _id, _lib._sel_deviceSize1) - : stret.ref = _lib._objc_msgSend_209(_id, _lib._sel_deviceSize1); - } - - @override - NSTouch init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSTouch._(_ret, _lib, retain: true, release: true); - } - - static NSTouch new1(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSTouch1, _lib._sel_new1); - return NSTouch._(_ret, _lib, retain: false, release: true); - } - - static NSTouch allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSTouch1, _lib._sel_allocWithZone_1, zone); - return NSTouch._(_ret, _lib, retain: false, release: true); - } - - static NSTouch alloc(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSTouch1, _lib._sel_alloc1); - return NSTouch._(_ret, _lib, retain: false, release: true); - } -} - -abstract class NSEventMask { - static const int NSEventMaskLeftMouseDown = 2; - static const int NSEventMaskLeftMouseUp = 4; - static const int NSEventMaskRightMouseDown = 8; - static const int NSEventMaskRightMouseUp = 16; - static const int NSEventMaskMouseMoved = 32; - static const int NSEventMaskLeftMouseDragged = 64; - static const int NSEventMaskRightMouseDragged = 128; - static const int NSEventMaskMouseEntered = 256; - static const int NSEventMaskMouseExited = 512; - static const int NSEventMaskKeyDown = 1024; - static const int NSEventMaskKeyUp = 2048; - static const int NSEventMaskFlagsChanged = 4096; - static const int NSEventMaskAppKitDefined = 8192; - static const int NSEventMaskSystemDefined = 16384; - static const int NSEventMaskApplicationDefined = 32768; - static const int NSEventMaskPeriodic = 65536; - static const int NSEventMaskCursorUpdate = 131072; - static const int NSEventMaskScrollWheel = 4194304; - static const int NSEventMaskTabletPoint = 8388608; - static const int NSEventMaskTabletProximity = 16777216; - static const int NSEventMaskOtherMouseDown = 33554432; - static const int NSEventMaskOtherMouseUp = 67108864; - static const int NSEventMaskOtherMouseDragged = 134217728; - static const int NSEventMaskGesture = 536870912; - static const int NSEventMaskMagnify = 1073741824; - static const int NSEventMaskSwipe = 2147483648; - static const int NSEventMaskRotate = 262144; - static const int NSEventMaskBeginGesture = 524288; - static const int NSEventMaskEndGesture = 1048576; - static const int NSEventMaskSmartMagnify = 4294967296; - static const int NSEventMaskPressure = 17179869184; - static const int NSEventMaskDirectTouch = 137438953472; - static const int NSEventMaskChangeMode = 274877906944; - static const int NSEventMaskAny = -1; -} - -abstract class NSPressureBehavior { - static const int NSPressureBehaviorUnknown = -1; - static const int NSPressureBehaviorPrimaryDefault = 0; - static const int NSPressureBehaviorPrimaryClick = 1; - static const int NSPressureBehaviorPrimaryGeneric = 2; - static const int NSPressureBehaviorPrimaryAccelerator = 3; - static const int NSPressureBehaviorPrimaryDeepClick = 5; - static const int NSPressureBehaviorPrimaryDeepDrag = 6; -} - -abstract class NSEventSwipeTrackingOptions { - static const int NSEventSwipeTrackingLockDirection = 1; - static const int NSEventSwipeTrackingClampGestureAmount = 2; -} - -void _ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_fnPtrTrampoline( - ffi.Pointer<_ObjCBlock> block, - double arg0, - int arg1, - bool arg2, - ffi.Pointer arg3) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Double arg0, ffi.Int32 arg1, - ffi.Bool arg2, ffi.Pointer arg3)>>() - .asFunction< - void Function(double, int, bool, ffi.Pointer)>()( - arg0, arg1, arg2, arg3); -final _ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_closureRegistry = - )>{}; -int _ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_closureRegistryIndex = - 0; -ffi.Pointer - _ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_registerClosure( - void Function(double, int, bool, ffi.Pointer) fn) { - final id = - ++_ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_closureRegistryIndex; - _ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_closureRegistry[id] = fn; - return ffi.Pointer.fromAddress(id); -} - -void _ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_closureTrampoline( - ffi.Pointer<_ObjCBlock> block, - double arg0, - int arg1, - bool arg2, - ffi.Pointer arg3) => - _ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_closureRegistry[ - block.ref.target.address]!(arg0, arg1, arg2, arg3); - -class ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool - extends _ObjCBlockBase { - ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool._( - ffi.Pointer<_ObjCBlock> id, AuthenticationServices lib, - {bool retain = false, bool release = true}) - : super._(id, lib, retain: retain, release: release); - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool.fromFunctionPointer( - AuthenticationServices lib, - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function(ffi.Double arg0, ffi.Int32 arg1, - ffi.Bool arg2, ffi.Pointer arg3)>> - ptr) - : this._( - lib._newBlock1( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer<_ObjCBlock>, - ffi.Double, - ffi.Int32, - ffi.Bool, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_fnPtrTrampoline) - .cast(), - ptr.cast()), - lib); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool.fromFunction( - AuthenticationServices lib, - void Function(double, int, bool, ffi.Pointer) fn) - : this._( - lib._newBlock1( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer<_ObjCBlock>, - ffi.Double, - ffi.Int32, - ffi.Bool, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_closureTrampoline) - .cast(), - _ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_registerClosure( - (double arg0, int arg1, bool arg2, - ffi.Pointer arg3) => - fn(arg0, arg1, arg2, arg3))), - lib); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool.listener( - AuthenticationServices lib, - void Function(double, int, bool, ffi.Pointer) fn) - : this._( - lib._newBlock1( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer<_ObjCBlock>, - ffi.Double, - ffi.Int32, - ffi.Bool, - ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - _ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool_registerClosure( - (double arg0, int arg1, bool arg2, - ffi.Pointer arg3) => - fn(arg0, arg1, arg2, arg3))), - lib); - static ffi.NativeCallable< - ffi.Void Function(ffi.Pointer<_ObjCBlock>, ffi.Double, ffi.Int32, - ffi.Bool, ffi.Pointer)>? _dartFuncListenerTrampoline; - - void call(double arg0, int arg1, bool arg2, ffi.Pointer arg3) => - _id.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer<_ObjCBlock> block, - ffi.Double arg0, - ffi.Int32 arg1, - ffi.Bool arg2, - ffi.Pointer arg3)>>() - .asFunction< - void Function(ffi.Pointer<_ObjCBlock>, double, int, bool, - ffi.Pointer)>()(_id, arg0, arg1, arg2, arg3); -} - -void _ObjCBlock_ffiVoid_NSEvent_fnPtrTrampoline( - ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0) => - block.ref.target - .cast< - ffi - .NativeFunction arg0)>>() - .asFunction)>()(arg0); -final _ObjCBlock_ffiVoid_NSEvent_closureRegistry = - )>{}; -int _ObjCBlock_ffiVoid_NSEvent_closureRegistryIndex = 0; -ffi.Pointer _ObjCBlock_ffiVoid_NSEvent_registerClosure( - void Function(ffi.Pointer) fn) { - final id = ++_ObjCBlock_ffiVoid_NSEvent_closureRegistryIndex; - _ObjCBlock_ffiVoid_NSEvent_closureRegistry[id] = fn; - return ffi.Pointer.fromAddress(id); -} - -void _ObjCBlock_ffiVoid_NSEvent_closureTrampoline( - ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0) => - _ObjCBlock_ffiVoid_NSEvent_closureRegistry[block.ref.target.address]!(arg0); - -class ObjCBlock_ffiVoid_NSEvent extends _ObjCBlockBase { - ObjCBlock_ffiVoid_NSEvent._( - ffi.Pointer<_ObjCBlock> id, AuthenticationServices lib, - {bool retain = false, bool release = true}) - : super._(id, lib, retain: retain, release: release); - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_NSEvent.fromFunctionPointer( - AuthenticationServices lib, - ffi - .Pointer< - ffi - .NativeFunction arg0)>> - ptr) - : this._( - lib._newBlock1( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function(ffi.Pointer<_ObjCBlock>, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSEvent_fnPtrTrampoline) - .cast(), - ptr.cast()), - lib); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_NSEvent.fromFunction( - AuthenticationServices lib, void Function(NSEvent) fn) - : this._( - lib._newBlock1( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function(ffi.Pointer<_ObjCBlock>, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSEvent_closureTrampoline) - .cast(), - _ObjCBlock_ffiVoid_NSEvent_registerClosure( - (ffi.Pointer arg0) => - fn(NSEvent._(arg0, lib, retain: true, release: true)))), - lib); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_NSEvent.listener( - AuthenticationServices lib, void Function(NSEvent) fn) - : this._( - lib._newBlock1( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function(ffi.Pointer<_ObjCBlock>, - ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_NSEvent_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - _ObjCBlock_ffiVoid_NSEvent_registerClosure( - (ffi.Pointer arg0) => - fn(NSEvent._(arg0, lib, retain: true, release: true)))), - lib); - static ffi.NativeCallable< - ffi.Void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer)>? - _dartFuncListenerTrampoline; - - void call(NSEvent arg0) => _id.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer<_ObjCBlock> block, - ffi.Pointer arg0)>>() - .asFunction< - void Function(ffi.Pointer<_ObjCBlock>, - ffi.Pointer)>()(_id, arg0._id); -} - -ffi.Pointer _ObjCBlock_NSEvent_NSEvent_fnPtrTrampoline( - ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer arg0)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer)>()(arg0); -final _ObjCBlock_NSEvent_NSEvent_closureRegistry = - Function(ffi.Pointer)>{}; -int _ObjCBlock_NSEvent_NSEvent_closureRegistryIndex = 0; -ffi.Pointer _ObjCBlock_NSEvent_NSEvent_registerClosure( - ffi.Pointer Function(ffi.Pointer) fn) { - final id = ++_ObjCBlock_NSEvent_NSEvent_closureRegistryIndex; - _ObjCBlock_NSEvent_NSEvent_closureRegistry[id] = fn; - return ffi.Pointer.fromAddress(id); -} - -ffi.Pointer _ObjCBlock_NSEvent_NSEvent_closureTrampoline( - ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0) => - _ObjCBlock_NSEvent_NSEvent_closureRegistry[block.ref.target.address]!(arg0); - -class ObjCBlock_NSEvent_NSEvent extends _ObjCBlockBase { - ObjCBlock_NSEvent_NSEvent._( - ffi.Pointer<_ObjCBlock> id, AuthenticationServices lib, - {bool retain = false, bool release = true}) - : super._(id, lib, retain: retain, release: release); - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_NSEvent_NSEvent.fromFunctionPointer( - AuthenticationServices lib, - ffi.Pointer< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer arg0)>> - ptr) - : this._( - lib._newBlock1( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Pointer Function( - ffi.Pointer<_ObjCBlock>, - ffi.Pointer)>( - _ObjCBlock_NSEvent_NSEvent_fnPtrTrampoline) - .cast(), - ptr.cast()), - lib); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_NSEvent_NSEvent.fromFunction( - AuthenticationServices lib, NSEvent? Function(NSEvent) fn) - : this._( - lib._newBlock1( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Pointer Function( - ffi.Pointer<_ObjCBlock>, - ffi.Pointer)>( - _ObjCBlock_NSEvent_NSEvent_closureTrampoline) - .cast(), - _ObjCBlock_NSEvent_NSEvent_registerClosure( - (ffi.Pointer arg0) => - fn(NSEvent._(arg0, lib, retain: true, release: true)) - ?._retainAndReturnId() ?? - ffi.nullptr)), - lib); - static ffi.Pointer? _dartFuncTrampoline; - - NSEvent? call(NSEvent arg0) => _id.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer<_ObjCBlock> block, - ffi.Pointer arg0)>>() - .asFunction Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer)>() - (_id, arg0._id) - .address == - 0 - ? null - : NSEvent._( - _id.ref.invoke - .cast Function(ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0)>>() - .asFunction Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer)>()(_id, arg0._id), - _lib, - retain: false, - release: true); -} - -abstract class NSEventGestureAxis { - static const int NSEventGestureAxisNone = 0; - static const int NSEventGestureAxisHorizontal = 1; - static const int NSEventGestureAxisVertical = 2; -} - -/// ! -/// @typedef NSWindowStyleMask -/// -/// @const NSWindowStyleMaskBorderless -/// @const NSWindowStyleMaskTitled -/// @const NSWindowStyleMaskClosable -/// @const NSWindowStyleMaskMiniaturizable -/// @const NSWindowStyleMaskResizable -/// @const NSWindowStyleMaskTexturedBackground Textured window style is deprecated and should no longer be used. Specifies a window with textured background. Textured windows generally don't draw a top border line under the titlebar/toolbar. To get that line, use the \c NSUnifiedTitleAndToolbarWindowMask mask. -/// @const NSWindowStyleMaskUnifiedTitleAndToolbar Specifies a window whose titlebar and toolbar have a unified look - that is, a continuous background. Under the titlebar and toolbar a horizontal separator line will appear. -/// @const NSWindowStyleMaskFullScreen When present, the window will appear full screen. This mask is automatically toggled when \c -toggleFullScreen: is called. -/// @const NSWindowStyleMaskFullSizeContentView If set, the \c contentView will consume the full size of the window; it can be combined with other window style masks, but is only respected for windows with a titlebar. Utilizing this mask opts-in to layer-backing. Utilize the \c contentLayoutRect or auto-layout \c contentLayoutGuide to layout views underneath the titlebar/toolbar area. -/// @const NSWindowStyleMaskUtilityWindow Only applicable for \c NSPanel (or a subclass thereof). -/// @const NSWindowStyleMaskDocModalWindow Only applicable for \c NSPanel (or a subclass thereof). -/// @const NSWindowStyleMaskNonactivatingPanel Specifies that a panel that does not activate the owning application. Only applicable for \c NSPanel (or a subclass thereof). -/// @const NSWindowStyleMaskHUDWindow Specifies a heads up display panel. Only applicable for \c NSPanel (or a subclass thereof). -abstract class NSWindowStyleMask { - static const int NSWindowStyleMaskBorderless = 0; - static const int NSWindowStyleMaskTitled = 1; - static const int NSWindowStyleMaskClosable = 2; - static const int NSWindowStyleMaskMiniaturizable = 4; - static const int NSWindowStyleMaskResizable = 8; - static const int NSWindowStyleMaskTexturedBackground = 256; - static const int NSWindowStyleMaskUnifiedTitleAndToolbar = 4096; - static const int NSWindowStyleMaskFullScreen = 16384; - static const int NSWindowStyleMaskFullSizeContentView = 32768; - static const int NSWindowStyleMaskUtilityWindow = 16; - static const int NSWindowStyleMaskDocModalWindow = 64; - static const int NSWindowStyleMaskNonactivatingPanel = 128; - static const int NSWindowStyleMaskHUDWindow = 8192; -} - -abstract class NSWindowDepth { - static const int NSWindowDepthTwentyfourBitRGB = 520; - static const int NSWindowDepthSixtyfourBitRGB = 528; - static const int NSWindowDepthOnehundredtwentyeightBitRGB = 544; -} - -abstract class NSBackingStoreType { - static const int NSBackingStoreRetained = 0; - static const int NSBackingStoreNonretained = 1; - static const int NSBackingStoreBuffered = 2; -} - -class NSScreen extends _ObjCWrapper { - NSScreen._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSScreen] that points to the same underlying object as [other]. - static NSScreen castFrom(T other) { - return NSScreen._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSScreen] that wraps the given raw object pointer. - static NSScreen castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSScreen._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSScreen]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSScreen1); - } -} - -/// ! -/// @typedef NSWindowTitleVisibility -/// -/// @const NSWindowTitleVisible The default mode has a normal window title and titlebar buttons. -/// @const NSWindowTitleHidden The always hidden mode hides the title and moves the toolbar up into the area previously occupied by the title. -abstract class NSWindowTitleVisibility { - static const int NSWindowTitleVisible = 0; - static const int NSWindowTitleHidden = 1; -} - -/// ! -/// @typedef NSWindowToolbarStyle -/// -/// @const NSWindowToolbarStyleAutomatic The default value. The style will be determined by the window's given configuration. -/// @const NSWindowToolbarStyleExpanded The toolbar will appear below the window title. -/// @const NSWindowToolbarStylePreference The toolbar will appear below the window title and the items in the toolbar will attempt to have equal widths when possible. -/// @const NSWindowToolbarStyleUnified The window title will appear inline with the toolbar when visible. -/// @const NSWindowToolbarStyleUnifiedCompact Same as \c NSWindowToolbarStyleUnified, but with reduced margins in the toolbar allowing more focus to be on the contents of the window. -abstract class NSWindowToolbarStyle { - static const int NSWindowToolbarStyleAutomatic = 0; - static const int NSWindowToolbarStyleExpanded = 1; - static const int NSWindowToolbarStylePreference = 2; - static const int NSWindowToolbarStyleUnified = 3; - static const int NSWindowToolbarStyleUnifiedCompact = 4; -} - -class NSTitlebarAccessoryViewController extends _ObjCWrapper { - NSTitlebarAccessoryViewController._( - ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSTitlebarAccessoryViewController] that points to the same underlying object as [other]. - static NSTitlebarAccessoryViewController castFrom( - T other) { - return NSTitlebarAccessoryViewController._(other._id, other._lib, - retain: true, release: true); - } - - /// Returns a [NSTitlebarAccessoryViewController] that wraps the given raw object pointer. - static NSTitlebarAccessoryViewController castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSTitlebarAccessoryViewController._(other, lib, - retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSTitlebarAccessoryViewController]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, - obj._lib._class_NSTitlebarAccessoryViewController1); - } -} - -class NSText extends NSView { - NSText._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSText] that points to the same underlying object as [other]. - static NSText castFrom(T other) { - return NSText._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSText] that wraps the given raw object pointer. - static NSText castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSText._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSText]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSText1); - } - - @override - NSText initWithFrame_(CGRect frameRect) { - final _ret = - _lib._objc_msgSend_121(_id, _lib._sel_initWithFrame_1, frameRect); - return NSText._(_ret, _lib, retain: true, release: true); - } - - @override - NSText? initWithCoder_(NSCoder coder) { - final _ret = - _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); - return _ret.address == 0 - ? null - : NSText._(_ret, _lib, retain: true, release: true); - } - - NSString get string { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_string1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - set string(NSString value) { - return _lib._objc_msgSend_173(_id, _lib._sel_setString_1, value._id); - } - - void replaceCharactersInRange_withString_(_NSRange range, NSString string) { - _lib._objc_msgSend_254(_id, _lib._sel_replaceCharactersInRange_withString_1, - range, string._id); - } - - void replaceCharactersInRange_withRTF_(_NSRange range, NSData rtfData) { - _lib._objc_msgSend_255( - _id, _lib._sel_replaceCharactersInRange_withRTF_1, range, rtfData._id); - } - - void replaceCharactersInRange_withRTFD_(_NSRange range, NSData rtfdData) { - _lib._objc_msgSend_255(_id, _lib._sel_replaceCharactersInRange_withRTFD_1, - range, rtfdData._id); - } - - NSData? RTFFromRange_(_NSRange range) { - final _ret = _lib._objc_msgSend_256(_id, _lib._sel_RTFFromRange_1, range); - return _ret.address == 0 - ? null - : NSData._(_ret, _lib, retain: true, release: true); - } - - NSData? RTFDFromRange_(_NSRange range) { - final _ret = _lib._objc_msgSend_256(_id, _lib._sel_RTFDFromRange_1, range); - return _ret.address == 0 - ? null - : NSData._(_ret, _lib, retain: true, release: true); - } - - bool writeRTFDToFile_atomically_(NSString path, bool flag) { - return _lib._objc_msgSend_257( - _id, _lib._sel_writeRTFDToFile_atomically_1, path._id, flag); - } - - bool readRTFDFromFile_(NSString path) { - return _lib._objc_msgSend_258(_id, _lib._sel_readRTFDFromFile_1, path._id); - } - - NSObject? get delegate { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_delegate1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - set delegate(NSObject? value) { - return _lib._objc_msgSend_17( - _id, _lib._sel_setDelegate_1, value?._id ?? ffi.nullptr); - } - - bool get editable { - return _lib._objc_msgSend_12(_id, _lib._sel_isEditable1); - } - - set editable(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setEditable_1, value); - } - - bool get selectable { - return _lib._objc_msgSend_12(_id, _lib._sel_isSelectable1); - } - - set selectable(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setSelectable_1, value); - } - - bool get richText { - return _lib._objc_msgSend_12(_id, _lib._sel_isRichText1); - } - - set richText(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setRichText_1, value); - } - - bool get importsGraphics { - return _lib._objc_msgSend_12(_id, _lib._sel_importsGraphics1); - } - - set importsGraphics(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setImportsGraphics_1, value); - } - - bool get fieldEditor { - return _lib._objc_msgSend_12(_id, _lib._sel_isFieldEditor1); - } - - set fieldEditor(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setFieldEditor_1, value); - } - - bool get usesFontPanel { - return _lib._objc_msgSend_12(_id, _lib._sel_usesFontPanel1); - } - - set usesFontPanel(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setUsesFontPanel_1, value); - } - - bool get drawsBackground { - return _lib._objc_msgSend_12(_id, _lib._sel_drawsBackground1); - } - - set drawsBackground(bool value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setDrawsBackground_1, value); - } - - NSColor? get backgroundColor { - final _ret = _lib._objc_msgSend_259(_id, _lib._sel_backgroundColor1); - return _ret.address == 0 - ? null - : NSColor._(_ret, _lib, retain: true, release: true); - } - - set backgroundColor(NSColor? value) { - return _lib._objc_msgSend_260( - _id, _lib._sel_setBackgroundColor_1, value?._id ?? ffi.nullptr); - } - - bool get rulerVisible { - return _lib._objc_msgSend_12(_id, _lib._sel_isRulerVisible1); - } - - void getSelectedRange(ffi.Pointer<_NSRange> stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_261_stret(stret, _id, _lib._sel_selectedRange1) - : stret.ref = _lib._objc_msgSend_261(_id, _lib._sel_selectedRange1); - } - - set selectedRange(_NSRange value) { - return _lib._objc_msgSend_262(_id, _lib._sel_setSelectedRange_1, value); - } - - void scrollRangeToVisible_(_NSRange range) { - _lib._objc_msgSend_263(_id, _lib._sel_scrollRangeToVisible_1, range); - } - - NSFont? get font { - final _ret = _lib._objc_msgSend_264(_id, _lib._sel_font1); - return _ret.address == 0 - ? null - : NSFont._(_ret, _lib, retain: true, release: true); - } - - set font(NSFont? value) { - return _lib._objc_msgSend_265( - _id, _lib._sel_setFont_1, value?._id ?? ffi.nullptr); - } - - NSColor? get textColor { - final _ret = _lib._objc_msgSend_259(_id, _lib._sel_textColor1); - return _ret.address == 0 - ? null - : NSColor._(_ret, _lib, retain: true, release: true); - } - - set textColor(NSColor? value) { - return _lib._objc_msgSend_260( - _id, _lib._sel_setTextColor_1, value?._id ?? ffi.nullptr); - } - - int get alignment { - return _lib._objc_msgSend_266(_id, _lib._sel_alignment1); - } - - set alignment(int value) { - return _lib._objc_msgSend_267(_id, _lib._sel_setAlignment_1, value); - } - - int get baseWritingDirection { - return _lib._objc_msgSend_268(_id, _lib._sel_baseWritingDirection1); - } - - set baseWritingDirection(int value) { - return _lib._objc_msgSend_269( - _id, _lib._sel_setBaseWritingDirection_1, value); - } - - void setTextColor_range_(NSColor? color, _NSRange range) { - _lib._objc_msgSend_270( - _id, _lib._sel_setTextColor_range_1, color?._id ?? ffi.nullptr, range); - } - - void setFont_range_(NSFont font, _NSRange range) { - _lib._objc_msgSend_271(_id, _lib._sel_setFont_range_1, font._id, range); - } - - void getMaxSize(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_209_stret(stret, _id, _lib._sel_maxSize1) - : stret.ref = _lib._objc_msgSend_209(_id, _lib._sel_maxSize1); - } - - set maxSize(CGSize value) { - return _lib._objc_msgSend_272(_id, _lib._sel_setMaxSize_1, value); - } - - void getMinSize(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_209_stret(stret, _id, _lib._sel_minSize1) - : stret.ref = _lib._objc_msgSend_209(_id, _lib._sel_minSize1); - } - - set minSize(CGSize value) { - return _lib._objc_msgSend_272(_id, _lib._sel_setMinSize_1, value); - } - - bool get horizontallyResizable { - return _lib._objc_msgSend_12(_id, _lib._sel_isHorizontallyResizable1); - } - - set horizontallyResizable(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setHorizontallyResizable_1, value); - } - - bool get verticallyResizable { - return _lib._objc_msgSend_12(_id, _lib._sel_isVerticallyResizable1); - } - - set verticallyResizable(bool value) { - return _lib._objc_msgSend_103( - _id, _lib._sel_setVerticallyResizable_1, value); - } - - void sizeToFit() { - _lib._objc_msgSend_1(_id, _lib._sel_sizeToFit1); - } - - void copy_(NSObject? sender) { - _lib._objc_msgSend_237(_id, _lib._sel_copy_1, sender?._id ?? ffi.nullptr); - } - - void copyFont_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_copyFont_1, sender?._id ?? ffi.nullptr); - } - - void copyRuler_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_copyRuler_1, sender?._id ?? ffi.nullptr); - } - - void cut_(NSObject? sender) { - _lib._objc_msgSend_237(_id, _lib._sel_cut_1, sender?._id ?? ffi.nullptr); - } - - void delete_(NSObject? sender) { - _lib._objc_msgSend_237(_id, _lib._sel_delete_1, sender?._id ?? ffi.nullptr); - } - - void paste_(NSObject? sender) { - _lib._objc_msgSend_237(_id, _lib._sel_paste_1, sender?._id ?? ffi.nullptr); - } - - void pasteFont_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_pasteFont_1, sender?._id ?? ffi.nullptr); - } - - void pasteRuler_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_pasteRuler_1, sender?._id ?? ffi.nullptr); - } - - void selectAll_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_selectAll_1, sender?._id ?? ffi.nullptr); - } - - void changeFont_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_changeFont_1, sender?._id ?? ffi.nullptr); - } - - void alignLeft_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_alignLeft_1, sender?._id ?? ffi.nullptr); - } - - void alignRight_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_alignRight_1, sender?._id ?? ffi.nullptr); - } - - void alignCenter_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_alignCenter_1, sender?._id ?? ffi.nullptr); - } - - void subscript_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_subscript_1, sender?._id ?? ffi.nullptr); - } - - void superscript_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_superscript_1, sender?._id ?? ffi.nullptr); - } - - void underline_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_underline_1, sender?._id ?? ffi.nullptr); - } - - void unscript_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_unscript_1, sender?._id ?? ffi.nullptr); - } - - void showGuessPanel_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_showGuessPanel_1, sender?._id ?? ffi.nullptr); - } - - void checkSpelling_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_checkSpelling_1, sender?._id ?? ffi.nullptr); - } - - void toggleRuler_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_toggleRuler_1, sender?._id ?? ffi.nullptr); - } - - static NSView? getFocusView(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_122(_lib._class_NSText1, _lib._sel_focusView1); - return _ret.address == 0 - ? null - : NSView._(_ret, _lib, retain: true, release: true); - } - - static NSMenu? getDefaultMenu(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_178(_lib._class_NSText1, _lib._sel_defaultMenu1); - return _ret.address == 0 - ? null - : NSMenu._(_ret, _lib, retain: true, release: true); - } - - static bool getCompatibleWithResponsiveScrolling( - AuthenticationServices _lib) { - return _lib._objc_msgSend_12( - _lib._class_NSText1, _lib._sel_isCompatibleWithResponsiveScrolling1); - } - - @override - NSText init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSText._(_ret, _lib, retain: true, release: true); - } - - static NSText new1(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSText1, _lib._sel_new1); - return NSText._(_ret, _lib, retain: false, release: true); - } - - static NSText allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSText1, _lib._sel_allocWithZone_1, zone); - return NSText._(_ret, _lib, retain: false, release: true); - } - - static NSText alloc(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSText1, _lib._sel_alloc1); - return NSText._(_ret, _lib, retain: false, release: true); - } -} - -class NSColor extends _ObjCWrapper { - NSColor._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSColor] that points to the same underlying object as [other]. - static NSColor castFrom(T other) { - return NSColor._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSColor] that wraps the given raw object pointer. - static NSColor castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSColor._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSColor]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSColor1); - } -} - -abstract class NSTextAlignment { - static const int NSTextAlignmentLeft = 0; - static const int NSTextAlignmentCenter = 1; - static const int NSTextAlignmentRight = 2; - static const int NSTextAlignmentJustified = 3; - static const int NSTextAlignmentNatural = 4; -} - -abstract class NSWritingDirection { - static const int NSWritingDirectionNatural = -1; - static const int NSWritingDirectionLeftToRight = 0; - static const int NSWritingDirectionRightToLeft = 1; -} - -abstract class NSRectEdge { - static const int NSRectEdgeMinX = 0; - static const int NSRectEdgeMinY = 1; - static const int NSRectEdgeMaxX = 2; - static const int NSRectEdgeMaxY = 3; - static const int NSMinXEdge = 0; - static const int NSMinYEdge = 1; - static const int NSMaxXEdge = 2; - static const int NSMaxYEdge = 3; -} - -class NSDockTile extends _ObjCWrapper { - NSDockTile._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSDockTile] that points to the same underlying object as [other]. - static NSDockTile castFrom(T other) { - return NSDockTile._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSDockTile] that wraps the given raw object pointer. - static NSDockTile castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSDockTile._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSDockTile]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSDockTile1); - } -} - -/// ! -/// @typedef NSWindowSharingType -/// -/// @const NSWindowSharingNone Window contents may not be read by another process. -/// @const NSWindowSharingReadOnly Window contents may be read but not modified by another process. -/// @const NSWindowSharingReadWrite Window contents may be read or modified by another process. -abstract class NSWindowSharingType { - static const int NSWindowSharingNone = 0; - static const int NSWindowSharingReadOnly = 1; - static const int NSWindowSharingReadWrite = 2; -} - -/// ! -/// @typedef NSWindowCollectionBehavior -/// -/// @const NSWindowCollectionBehaviorPrimary Marks a window as primary. This collection behavior should commonly be used for document or viewer windows. -/// @const NSWindowCollectionBehaviorAuxiliary Marks a window as auxiliary. This collection behavior should commonly be used for About or Settings windows, as well as utility panes. -/// @const NSWindowCollectionBehaviorCanJoinAllApplications Marks a window as able to join all applications, allowing it to join other apps' sets and full screen spaces when eligible. This collection behavior should commonly be used for floating windows and system overlays. -/// -/// @discussion You may specify at most one of @c NSWindowCollectionBehaviorPrimary, @c NSWindowCollectionBehaviorAuxiliary, or @c NSWindowCollectionBehaviorCanJoinAllApplications. If unspecified, the window gets the default treatment determined by its other collection behaviors. -/// -/// @const NSWindowCollectionBehaviorDefault -/// @const NSWindowCollectionBehaviorCanJoinAllSpaces -/// @const NSWindowCollectionBehaviorMoveToActiveSpace -/// -/// @discussion You may specify at most one of \c NSWindowCollectionBehaviorManaged, \c NSWindowCollectionBehaviorTransient, or \c NSWindowCollectionBehaviorStationary. If neither is specified, the window gets the default behavior determined by its window level. -/// -/// @const NSWindowCollectionBehaviorManaged Participates in spaces, exposé. Default behavior if `windowLevel == NSNormalWindowLevel`. -/// @const NSWindowCollectionBehaviorTransient Floats in spaces, hidden by exposé. Default behavior if `windowLevel != NSNormalWindowLevel`. -/// @const NSWindowCollectionBehaviorStationary Unaffected by exposé. Stays visible and stationary, like desktop window. -/// -/// @discussion You may specify at most one of \c NSWindowCollectionBehaviorParticipatesInCycle or \c NSWindowCollectionBehaviorIgnoresCycle. If unspecified, the window gets the default behavior determined by its window level. -/// -/// @const NSWindowCollectionBehaviorParticipatesInCycle Default behavior if `windowLevel != NSNormalWindowLevel`. -/// @const NSWindowCollectionBehaviorIgnoresCycle Default behavior if `windowLevel != NSNormalWindowLevel`. -/// -/// @discussion You may specify at most one of \c NSWindowCollectionBehaviorFullScreenPrimary, \c NSWindowCollectionBehaviorFullScreenAuxiliary, or \c NSWindowCollectionBehaviorFullScreenNone. -/// -/// @const NSWindowCollectionBehaviorFullScreenPrimary The frontmost window with this collection behavior will be the fullscreen window. -/// @const NSWindowCollectionBehaviorFullScreenAuxiliary Windows with this collection behavior can be shown with the fullscreen window. -/// @const NSWindowCollectionBehaviorFullScreenNone The window can not be made fullscreen when this bit is set. -/// -/// @discussion You may specify at most one of \c NSWindowCollectionBehaviorFullScreenAllowsTiling or \c NSWindowCollectionBehaviorFullScreenDisallowsTiling, or an assertion will be raised. -/// -/// The default behavior is to allow any window to participate in full screen tiling, as long as it meets certain requirements, such as being resizable and not a panel or sheet. Windows which are not full screen capable can still become a secondary tile in full screen. A window can explicitly allow itself to be placed into a full screen tile by including \c NSWindowCollectionBehaviorFullScreenAllowsTiling. Even if a window allows itself to be placed in a tile, it still may not be put in the tile if its \c minFullScreenContentSize is too large to fit. A window can explicitly disallow itself from being placed in a full screen tile by including \c NSWindowCollectionBehaviorFullScreenDisallowsTiling. This is useful for non-full screen capable windows to explicitly prevent themselves from being tiled. It can also be used by a full screen window to prevent any other windows from being placed in its full screen tile. -/// -/// @const NSWindowCollectionBehaviorFullScreenAllowsTiling This window can be a full screen tile window. It does not have to have \c NSWindowCollectionBehaviorFullScreenPrimary set. -/// @const NSWindowCollectionBehaviorFullScreenDisallowsTiling This window can NOT be made a full screen tile window; it still may be allowed to be a regular \c NSWindowCollectionBehaviorFullScreenPrimary window. -abstract class NSWindowCollectionBehavior { - static const int NSWindowCollectionBehaviorDefault = 0; - static const int NSWindowCollectionBehaviorCanJoinAllSpaces = 1; - static const int NSWindowCollectionBehaviorMoveToActiveSpace = 2; - static const int NSWindowCollectionBehaviorManaged = 4; - static const int NSWindowCollectionBehaviorTransient = 8; - static const int NSWindowCollectionBehaviorStationary = 16; - static const int NSWindowCollectionBehaviorParticipatesInCycle = 32; - static const int NSWindowCollectionBehaviorIgnoresCycle = 64; - static const int NSWindowCollectionBehaviorFullScreenPrimary = 128; - static const int NSWindowCollectionBehaviorFullScreenAuxiliary = 256; - static const int NSWindowCollectionBehaviorFullScreenNone = 512; - static const int NSWindowCollectionBehaviorFullScreenAllowsTiling = 2048; - static const int NSWindowCollectionBehaviorFullScreenDisallowsTiling = 4096; - static const int NSWindowCollectionBehaviorPrimary = 65536; - static const int NSWindowCollectionBehaviorAuxiliary = 131072; - static const int NSWindowCollectionBehaviorCanJoinAllApplications = 262144; -} - -/// ! -/// @typedef NSWindowAnimationBehavior -/// -/// @const NSWindowAnimationBehaviorDefault Let AppKit infer animation behavior for this window. -/// @const NSWindowAnimationBehaviorNone Suppress inferred animations (don't animate). -/// @const NSWindowAnimationBehaviorDocumentWindow -/// @const NSWindowAnimationBehaviorUtilityWindow -/// @const NSWindowAnimationBehaviorAlertPanel -abstract class NSWindowAnimationBehavior { - static const int NSWindowAnimationBehaviorDefault = 0; - static const int NSWindowAnimationBehaviorNone = 2; - static const int NSWindowAnimationBehaviorDocumentWindow = 3; - static const int NSWindowAnimationBehaviorUtilityWindow = 4; - static const int NSWindowAnimationBehaviorAlertPanel = 5; -} - -class NSWindowController extends _ObjCWrapper { - NSWindowController._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSWindowController] that points to the same underlying object as [other]. - static NSWindowController castFrom(T other) { - return NSWindowController._(other._id, other._lib, - retain: true, release: true); - } - - /// Returns a [NSWindowController] that wraps the given raw object pointer. - static NSWindowController castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSWindowController._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSWindowController]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, - obj._lib._class_NSWindowController1); - } -} - -void _ObjCBlock_ffiVoid_ffiLong_fnPtrTrampoline( - ffi.Pointer<_ObjCBlock> block, int arg0) => - block.ref.target - .cast>() - .asFunction()(arg0); -final _ObjCBlock_ffiVoid_ffiLong_closureRegistry = {}; -int _ObjCBlock_ffiVoid_ffiLong_closureRegistryIndex = 0; -ffi.Pointer _ObjCBlock_ffiVoid_ffiLong_registerClosure( - void Function(int) fn) { - final id = ++_ObjCBlock_ffiVoid_ffiLong_closureRegistryIndex; - _ObjCBlock_ffiVoid_ffiLong_closureRegistry[id] = fn; - return ffi.Pointer.fromAddress(id); -} - -void _ObjCBlock_ffiVoid_ffiLong_closureTrampoline( - ffi.Pointer<_ObjCBlock> block, int arg0) => - _ObjCBlock_ffiVoid_ffiLong_closureRegistry[block.ref.target.address]!(arg0); - -class ObjCBlock_ffiVoid_ffiLong extends _ObjCBlockBase { - ObjCBlock_ffiVoid_ffiLong._( - ffi.Pointer<_ObjCBlock> id, AuthenticationServices lib, - {bool retain = false, bool release = true}) - : super._(id, lib, retain: retain, release: release); - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_ffiLong.fromFunctionPointer(AuthenticationServices lib, - ffi.Pointer> ptr) - : this._( - lib._newBlock1( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer<_ObjCBlock>, ffi.Long)>( - _ObjCBlock_ffiVoid_ffiLong_fnPtrTrampoline) - .cast(), - ptr.cast()), - lib); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_ffiLong.fromFunction( - AuthenticationServices lib, void Function(int) fn) - : this._( - lib._newBlock1( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer<_ObjCBlock>, ffi.Long)>( - _ObjCBlock_ffiVoid_ffiLong_closureTrampoline) - .cast(), - _ObjCBlock_ffiVoid_ffiLong_registerClosure( - (int arg0) => fn(arg0))), - lib); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_ffiLong.listener( - AuthenticationServices lib, void Function(int) fn) - : this._( - lib._newBlock1( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer<_ObjCBlock>, ffi.Long)>.listener( - _ObjCBlock_ffiVoid_ffiLong_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - _ObjCBlock_ffiVoid_ffiLong_registerClosure( - (int arg0) => fn(arg0))), - lib); - static ffi - .NativeCallable, ffi.Long)>? - _dartFuncListenerTrampoline; - - void call(int arg0) => _id.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer<_ObjCBlock> block, ffi.Long arg0)>>() - .asFunction, int)>()(_id, arg0); -} - -class NSButton extends _ObjCWrapper { - NSButton._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSButton] that points to the same underlying object as [other]. - static NSButton castFrom(T other) { - return NSButton._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSButton] that wraps the given raw object pointer. - static NSButton castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSButton._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSButton]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSButton1); - } -} - -/// ! -/// @typedef NSWindowButton -/// -/// Standard window buttons. -abstract class NSWindowButton { - static const int NSWindowCloseButton = 0; - static const int NSWindowMiniaturizeButton = 1; - static const int NSWindowZoomButton = 2; - static const int NSWindowToolbarButton = 3; - static const int NSWindowDocumentIconButton = 4; - static const int NSWindowDocumentVersionsButton = 6; -} - -class NSColorSpace extends _ObjCWrapper { - NSColorSpace._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSColorSpace] that points to the same underlying object as [other]. - static NSColorSpace castFrom(T other) { - return NSColorSpace._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSColorSpace] that wraps the given raw object pointer. - static NSColorSpace castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSColorSpace._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSColorSpace]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSColorSpace1); - } -} - -abstract class NSDisplayGamut { - static const int NSDisplayGamutSRGB = 1; - static const int NSDisplayGamutP3 = 2; -} - -/// ! -/// @typedef NSWindowNumberListOptions -/// -/// Options used in `+windowNumbersWithOptions:`. If no options are specified, the returned list contains window numbers for visible windows on the active space belonging to the calling application. -/// -/// @const NSWindowNumberListAllApplications -/// @const NSWindowNumberListAllSpaces -abstract class NSWindowNumberListOptions { - static const int NSWindowNumberListAllApplications = 1; - static const int NSWindowNumberListAllSpaces = 16; -} - -/// ! -/// @typedef NSWindowOcclusionState -/// -/// @const NSWindowOcclusionStateVisible If set, at least part of the window is visible. If not set, the entire window is occluded. Windows with non-rectangular shapes may be completely occluded on screen but still count as visible, if their bounding box falls into a visible region. Windows that are completely transparent may also still count as visible. -abstract class NSWindowOcclusionState { - static const int NSWindowOcclusionStateVisible = 2; -} - -abstract class NSTitlebarSeparatorStyle { - static const int NSTitlebarSeparatorStyleAutomatic = 0; - static const int NSTitlebarSeparatorStyleNone = 1; - static const int NSTitlebarSeparatorStyleLine = 2; - static const int NSTitlebarSeparatorStyleShadow = 3; -} - -class NSViewController extends _ObjCWrapper { - NSViewController._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSViewController] that points to the same underlying object as [other]. - static NSViewController castFrom(T other) { - return NSViewController._(other._id, other._lib, - retain: true, release: true); - } - - /// Returns a [NSViewController] that wraps the given raw object pointer. - static NSViewController castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSViewController._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSViewController]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, - obj._lib._class_NSViewController1); - } -} - -abstract class NSSelectionDirection { - static const int NSDirectSelection = 0; - static const int NSSelectingNext = 1; - static const int NSSelectingPrevious = 2; -} - -class NSButtonCell extends _ObjCWrapper { - NSButtonCell._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSButtonCell] that points to the same underlying object as [other]. - static NSButtonCell castFrom(T other) { - return NSButtonCell._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSButtonCell] that wraps the given raw object pointer. - static NSButtonCell castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSButtonCell._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSButtonCell]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSButtonCell1); - } -} - -class NSToolbar extends _ObjCWrapper { - NSToolbar._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSToolbar] that points to the same underlying object as [other]. - static NSToolbar castFrom(T other) { - return NSToolbar._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSToolbar] that wraps the given raw object pointer. - static NSToolbar castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSToolbar._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSToolbar]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSToolbar1); - } -} - -abstract class NSWindowUserTabbingPreference { - static const int NSWindowUserTabbingPreferenceManual = 0; - static const int NSWindowUserTabbingPreferenceAlways = 1; - static const int NSWindowUserTabbingPreferenceInFullScreen = 2; -} - -/// ! -/// @typedef NSWindowTabbingMode -/// -/// @const NSWindowTabbingModeAutomatic The system automatically prefers to tab this window when appropriate. -/// @const NSWindowTabbingModePreferred The window explicitly should prefer to tab when shown. -/// @const NSWindowTabbingModeDisallowed The window explicitly should not prefer to tab when shown. -abstract class NSWindowTabbingMode { - static const int NSWindowTabbingModeAutomatic = 0; - static const int NSWindowTabbingModePreferred = 1; - static const int NSWindowTabbingModeDisallowed = 2; -} - -class NSWindowTab extends _ObjCWrapper { - NSWindowTab._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSWindowTab] that points to the same underlying object as [other]. - static NSWindowTab castFrom(T other) { - return NSWindowTab._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSWindowTab] that wraps the given raw object pointer. - static NSWindowTab castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSWindowTab._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSWindowTab]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSWindowTab1); - } -} - -class NSWindowTabGroup extends _ObjCWrapper { - NSWindowTabGroup._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSWindowTabGroup] that points to the same underlying object as [other]. - static NSWindowTabGroup castFrom(T other) { - return NSWindowTabGroup._(other._id, other._lib, - retain: true, release: true); - } - - /// Returns a [NSWindowTabGroup] that wraps the given raw object pointer. - static NSWindowTabGroup castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSWindowTabGroup._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSWindowTabGroup]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, - obj._lib._class_NSWindowTabGroup1); - } -} - -void _ObjCBlock_ffiVoid_NSError_fnPtrTrampoline( - ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0) => - block.ref.target - .cast< - ffi - .NativeFunction arg0)>>() - .asFunction)>()(arg0); -final _ObjCBlock_ffiVoid_NSError_closureRegistry = - )>{}; -int _ObjCBlock_ffiVoid_NSError_closureRegistryIndex = 0; -ffi.Pointer _ObjCBlock_ffiVoid_NSError_registerClosure( - void Function(ffi.Pointer) fn) { - final id = ++_ObjCBlock_ffiVoid_NSError_closureRegistryIndex; - _ObjCBlock_ffiVoid_NSError_closureRegistry[id] = fn; - return ffi.Pointer.fromAddress(id); -} - -void _ObjCBlock_ffiVoid_NSError_closureTrampoline( - ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0) => - _ObjCBlock_ffiVoid_NSError_closureRegistry[block.ref.target.address]!(arg0); - -class ObjCBlock_ffiVoid_NSError extends _ObjCBlockBase { - ObjCBlock_ffiVoid_NSError._( - ffi.Pointer<_ObjCBlock> id, AuthenticationServices lib, - {bool retain = false, bool release = true}) - : super._(id, lib, retain: retain, release: release); - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_NSError.fromFunctionPointer( - AuthenticationServices lib, - ffi - .Pointer< - ffi - .NativeFunction arg0)>> - ptr) - : this._( - lib._newBlock1( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function(ffi.Pointer<_ObjCBlock>, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSError_fnPtrTrampoline) - .cast(), - ptr.cast()), - lib); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_NSError.fromFunction( - AuthenticationServices lib, void Function(NSError?) fn) - : this._( - lib._newBlock1( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function(ffi.Pointer<_ObjCBlock>, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSError_closureTrampoline) - .cast(), - _ObjCBlock_ffiVoid_NSError_registerClosure( - (ffi.Pointer arg0) => fn(arg0.address == 0 - ? null - : NSError._(arg0, lib, retain: true, release: true)))), - lib); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_NSError.listener( - AuthenticationServices lib, void Function(NSError?) fn) - : this._( - lib._newBlock1( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function(ffi.Pointer<_ObjCBlock>, - ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_NSError_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - _ObjCBlock_ffiVoid_NSError_registerClosure( - (ffi.Pointer arg0) => fn(arg0.address == 0 - ? null - : NSError._(arg0, lib, retain: true, release: true)))), - lib); - static ffi.NativeCallable< - ffi.Void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer)>? - _dartFuncListenerTrampoline; - - void call(NSError? arg0) => _id.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer<_ObjCBlock> block, - ffi.Pointer arg0)>>() - .asFunction< - void Function(ffi.Pointer<_ObjCBlock>, - ffi.Pointer)>()(_id, arg0?._id ?? ffi.nullptr); -} - -void _ObjCBlock_ffiVoid_NSEvent_bool_fnPtrTrampoline( - ffi.Pointer<_ObjCBlock> block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - void Function( - ffi.Pointer, ffi.Pointer)>()(arg0, arg1); -final _ObjCBlock_ffiVoid_NSEvent_bool_closureRegistry = - , ffi.Pointer)>{}; -int _ObjCBlock_ffiVoid_NSEvent_bool_closureRegistryIndex = 0; -ffi.Pointer _ObjCBlock_ffiVoid_NSEvent_bool_registerClosure( - void Function(ffi.Pointer, ffi.Pointer) fn) { - final id = ++_ObjCBlock_ffiVoid_NSEvent_bool_closureRegistryIndex; - _ObjCBlock_ffiVoid_NSEvent_bool_closureRegistry[id] = fn; - return ffi.Pointer.fromAddress(id); -} - -void _ObjCBlock_ffiVoid_NSEvent_bool_closureTrampoline( - ffi.Pointer<_ObjCBlock> block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - _ObjCBlock_ffiVoid_NSEvent_bool_closureRegistry[block.ref.target.address]!( - arg0, arg1); - -class ObjCBlock_ffiVoid_NSEvent_bool extends _ObjCBlockBase { - ObjCBlock_ffiVoid_NSEvent_bool._( - ffi.Pointer<_ObjCBlock> id, AuthenticationServices lib, - {bool retain = false, bool release = true}) - : super._(id, lib, retain: retain, release: release); - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_NSEvent_bool.fromFunctionPointer( - AuthenticationServices lib, - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>> - ptr) - : this._( - lib._newBlock1( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer<_ObjCBlock>, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSEvent_bool_fnPtrTrampoline) - .cast(), - ptr.cast()), - lib); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_NSEvent_bool.fromFunction(AuthenticationServices lib, - void Function(NSEvent?, ffi.Pointer) fn) - : this._( - lib._newBlock1( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer<_ObjCBlock>, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSEvent_bool_closureTrampoline) - .cast(), - _ObjCBlock_ffiVoid_NSEvent_bool_registerClosure( - (ffi.Pointer arg0, ffi.Pointer arg1) => fn( - arg0.address == 0 ? null : NSEvent._(arg0, lib, retain: true, release: true), - arg1))), - lib); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_NSEvent_bool.listener(AuthenticationServices lib, - void Function(NSEvent?, ffi.Pointer) fn) - : this._( - lib._newBlock1( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer<_ObjCBlock>, - ffi.Pointer, - ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_NSEvent_bool_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - _ObjCBlock_ffiVoid_NSEvent_bool_registerClosure( - (ffi.Pointer arg0, ffi.Pointer arg1) => - fn(arg0.address == 0 ? null : NSEvent._(arg0, lib, retain: true, release: true), - arg1))), - lib); - static ffi.NativeCallable< - ffi.Void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, - ffi.Pointer)>? _dartFuncListenerTrampoline; - - void call(NSEvent? arg0, ffi.Pointer arg1) => _id.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer<_ObjCBlock> block, - ffi.Pointer arg0, ffi.Pointer arg1)>>() - .asFunction< - void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, - ffi.Pointer)>()(_id, arg0?._id ?? ffi.nullptr, arg1); -} - -class NSDate extends NSObject { - NSDate._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSDate] that points to the same underlying object as [other]. - static NSDate castFrom(T other) { - return NSDate._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSDate] that wraps the given raw object pointer. - static NSDate castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSDate._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSDate]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSDate1); - } - - double get timeIntervalSinceReferenceDate { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_81_fpret( - _id, _lib._sel_timeIntervalSinceReferenceDate1) - : _lib._objc_msgSend_81(_id, _lib._sel_timeIntervalSinceReferenceDate1); - } - - @override - NSDate init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSDate._(_ret, _lib, retain: true, release: true); - } - - NSDate initWithTimeIntervalSinceReferenceDate_(double ti) { - final _ret = _lib._objc_msgSend_333( - _id, _lib._sel_initWithTimeIntervalSinceReferenceDate_1, ti); - return NSDate._(_ret, _lib, retain: true, release: true); - } - - NSDate? initWithCoder_(NSCoder coder) { - final _ret = - _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); - return _ret.address == 0 - ? null - : NSDate._(_ret, _lib, retain: true, release: true); - } - - static NSDate new1(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSDate1, _lib._sel_new1); - return NSDate._(_ret, _lib, retain: false, release: true); - } - - static NSDate allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSDate1, _lib._sel_allocWithZone_1, zone); - return NSDate._(_ret, _lib, retain: false, release: true); - } - - static NSDate alloc(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSDate1, _lib._sel_alloc1); - return NSDate._(_ret, _lib, retain: false, release: true); - } -} - -class NSPasteboard extends NSObject { - NSPasteboard._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSPasteboard] that points to the same underlying object as [other]. - static NSPasteboard castFrom(T other) { - return NSPasteboard._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSPasteboard] that wraps the given raw object pointer. - static NSPasteboard castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSPasteboard._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSPasteboard]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSPasteboard1); - } - - static NSPasteboard getGeneralPasteboard(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_338( - _lib._class_NSPasteboard1, _lib._sel_generalPasteboard1); - return NSPasteboard._(_ret, _lib, retain: true, release: true); - } - - static NSPasteboard pasteboardWithName_( - AuthenticationServices _lib, NSString name) { - final _ret = _lib._objc_msgSend_339( - _lib._class_NSPasteboard1, _lib._sel_pasteboardWithName_1, name._id); - return NSPasteboard._(_ret, _lib, retain: true, release: true); - } - - static NSPasteboard pasteboardWithUniqueName(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_338( - _lib._class_NSPasteboard1, _lib._sel_pasteboardWithUniqueName1); - return NSPasteboard._(_ret, _lib, retain: true, release: true); - } - - NSString get name { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_name1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - int get changeCount { - return _lib._objc_msgSend_77(_id, _lib._sel_changeCount1); - } - - void releaseGlobally() { - _lib._objc_msgSend_1(_id, _lib._sel_releaseGlobally1); - } - - int prepareForNewContentsWithOptions_(int options) { - return _lib._objc_msgSend_340( - _id, _lib._sel_prepareForNewContentsWithOptions_1, options); - } - - int clearContents() { - return _lib._objc_msgSend_77(_id, _lib._sel_clearContents1); - } - - bool writeObjects_(NSObject objects) { - return _lib._objc_msgSend_0(_id, _lib._sel_writeObjects_1, objects._id); - } - - NSArray? readObjectsForClasses_options_( - NSArray classArray, NSObject? options) { - final _ret = _lib._objc_msgSend_343( - _id, - _lib._sel_readObjectsForClasses_options_1, - classArray._id, - options?._id ?? ffi.nullptr); - return _ret.address == 0 - ? null - : NSArray._(_ret, _lib, retain: true, release: true); - } - - NSArray? get pasteboardItems { - final _ret = _lib._objc_msgSend_344(_id, _lib._sel_pasteboardItems1); - return _ret.address == 0 - ? null - : NSArray._(_ret, _lib, retain: true, release: true); - } - - int indexOfPasteboardItem_(NSPasteboardItem pasteboardItem) { - return _lib._objc_msgSend_345( - _id, _lib._sel_indexOfPasteboardItem_1, pasteboardItem._id); - } - - bool canReadItemWithDataConformingToTypes_(NSArray types) { - return _lib._objc_msgSend_346( - _id, _lib._sel_canReadItemWithDataConformingToTypes_1, types._id); - } - - bool canReadObjectForClasses_options_(NSArray classArray, NSObject? options) { - return _lib._objc_msgSend_347( - _id, - _lib._sel_canReadObjectForClasses_options_1, - classArray._id, - options?._id ?? ffi.nullptr); - } - - int declareTypes_owner_(NSArray newTypes, NSObject? newOwner) { - return _lib._objc_msgSend_348(_id, _lib._sel_declareTypes_owner_1, - newTypes._id, newOwner?._id ?? ffi.nullptr); - } - - int addTypes_owner_(NSArray newTypes, NSObject? newOwner) { - return _lib._objc_msgSend_348(_id, _lib._sel_addTypes_owner_1, newTypes._id, - newOwner?._id ?? ffi.nullptr); - } - - NSArray? get types { - final _ret = _lib._objc_msgSend_344(_id, _lib._sel_types1); - return _ret.address == 0 - ? null - : NSArray._(_ret, _lib, retain: true, release: true); - } - - NSString? availableTypeFromArray_(NSArray types) { - final _ret = _lib._objc_msgSend_349( - _id, _lib._sel_availableTypeFromArray_1, types._id); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - bool setData_forType_(NSData? data, NSString dataType) { - return _lib._objc_msgSend_350(_id, _lib._sel_setData_forType_1, - data?._id ?? ffi.nullptr, dataType._id); - } - - bool setPropertyList_forType_(NSObject plist, NSString dataType) { - return _lib._objc_msgSend_351( - _id, _lib._sel_setPropertyList_forType_1, plist._id, dataType._id); - } - - bool setString_forType_(NSString string, NSString dataType) { - return _lib._objc_msgSend_352( - _id, _lib._sel_setString_forType_1, string._id, dataType._id); - } - - NSData? dataForType_(NSString dataType) { - final _ret = - _lib._objc_msgSend_353(_id, _lib._sel_dataForType_1, dataType._id); - return _ret.address == 0 - ? null - : NSData._(_ret, _lib, retain: true, release: true); - } - - NSObject? propertyListForType_(NSString dataType) { - final _ret = _lib._objc_msgSend_48( - _id, _lib._sel_propertyListForType_1, dataType._id); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - NSString? stringForType_(NSString dataType) { - final _ret = - _lib._objc_msgSend_354(_id, _lib._sel_stringForType_1, dataType._id); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - @override - NSPasteboard init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSPasteboard._(_ret, _lib, retain: true, release: true); - } - - static NSPasteboard new1(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSPasteboard1, _lib._sel_new1); - return NSPasteboard._(_ret, _lib, retain: false, release: true); - } - - static NSPasteboard allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSPasteboard1, _lib._sel_allocWithZone_1, zone); - return NSPasteboard._(_ret, _lib, retain: false, release: true); - } - - static NSPasteboard alloc(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSPasteboard1, _lib._sel_alloc1); - return NSPasteboard._(_ret, _lib, retain: false, release: true); - } -} - -abstract class NSPasteboardContentsOptions { - static const int NSPasteboardContentsCurrentHostOnly = 1; -} - -class NSArray extends NSObject { - NSArray._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSArray] that points to the same underlying object as [other]. - static NSArray castFrom(T other) { - return NSArray._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSArray] that wraps the given raw object pointer. - static NSArray castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSArray._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSArray]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSArray1); - } - - int get count { - return _lib._objc_msgSend_10(_id, _lib._sel_count1); - } - - NSObject objectAtIndex_(int index) { - final _ret = _lib._objc_msgSend_341(_id, _lib._sel_objectAtIndex_1, index); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - @override - NSArray init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSArray._(_ret, _lib, retain: true, release: true); - } - - NSArray initWithObjects_count_( - ffi.Pointer> objects, int cnt) { - final _ret = _lib._objc_msgSend_342( - _id, _lib._sel_initWithObjects_count_1, objects, cnt); - return NSArray._(_ret, _lib, retain: true, release: true); - } - - NSArray? initWithCoder_(NSCoder coder) { - final _ret = - _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); - return _ret.address == 0 - ? null - : NSArray._(_ret, _lib, retain: true, release: true); - } - - static NSArray new1(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSArray1, _lib._sel_new1); - return NSArray._(_ret, _lib, retain: false, release: true); - } - - static NSArray allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSArray1, _lib._sel_allocWithZone_1, zone); - return NSArray._(_ret, _lib, retain: false, release: true); - } - - static NSArray alloc(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSArray1, _lib._sel_alloc1); - return NSArray._(_ret, _lib, retain: false, release: true); - } -} - -class NSPasteboardItem extends _ObjCWrapper { - NSPasteboardItem._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSPasteboardItem] that points to the same underlying object as [other]. - static NSPasteboardItem castFrom(T other) { - return NSPasteboardItem._(other._id, other._lib, - retain: true, release: true); - } - - /// Returns a [NSPasteboardItem] that wraps the given raw object pointer. - static NSPasteboardItem castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSPasteboardItem._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSPasteboardItem]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, - obj._lib._class_NSPasteboardItem1); - } -} - -class CADisplayLink extends _ObjCWrapper { - CADisplayLink._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [CADisplayLink] that points to the same underlying object as [other]. - static CADisplayLink castFrom(T other) { - return CADisplayLink._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [CADisplayLink] that wraps the given raw object pointer. - static CADisplayLink castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return CADisplayLink._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [CADisplayLink]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_CADisplayLink1); - } -} - -abstract class NSWindowBackingLocation { - /// System determines if window backing store is in VRAM or main memory - static const int NSWindowBackingLocationDefault = 0; - - /// Window backing store is in VRAM - static const int NSWindowBackingLocationVideoMemory = 1; - - /// Window backing store is in main memory - static const int NSWindowBackingLocationMainMemory = 2; -} - -class NSApplication extends NSResponder { - NSApplication._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSApplication] that points to the same underlying object as [other]. - static NSApplication castFrom(T other) { - return NSApplication._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSApplication] that wraps the given raw object pointer. - static NSApplication castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSApplication._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSApplication]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSApplication1); - } - - static NSApplication getSharedApplication(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_362( - _lib._class_NSApplication1, _lib._sel_sharedApplication1); - return NSApplication._(_ret, _lib, retain: true, release: true); - } - - NSObject? get delegate { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_delegate1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - set delegate(NSObject? value) { - return _lib._objc_msgSend_17( - _id, _lib._sel_setDelegate_1, value?._id ?? ffi.nullptr); - } - - void hide_(NSObject? sender) { - _lib._objc_msgSend_237(_id, _lib._sel_hide_1, sender?._id ?? ffi.nullptr); - } - - void unhide_(NSObject? sender) { - _lib._objc_msgSend_237(_id, _lib._sel_unhide_1, sender?._id ?? ffi.nullptr); - } - - void unhideWithoutActivation() { - _lib._objc_msgSend_1(_id, _lib._sel_unhideWithoutActivation1); - } - - NSWindow? windowWithWindowNumber_(int windowNum) { - final _ret = _lib._objc_msgSend_363( - _id, _lib._sel_windowWithWindowNumber_1, windowNum); - return _ret.address == 0 - ? null - : NSWindow._(_ret, _lib, retain: true, release: true); - } - - NSWindow? get mainWindow { - final _ret = _lib._objc_msgSend_109(_id, _lib._sel_mainWindow1); - return _ret.address == 0 - ? null - : NSWindow._(_ret, _lib, retain: true, release: true); - } - - NSWindow? get keyWindow { - final _ret = _lib._objc_msgSend_109(_id, _lib._sel_keyWindow1); - return _ret.address == 0 - ? null - : NSWindow._(_ret, _lib, retain: true, release: true); - } - - bool get active { - return _lib._objc_msgSend_12(_id, _lib._sel_isActive1); - } - - bool get hidden { - return _lib._objc_msgSend_12(_id, _lib._sel_isHidden1); - } - - bool get running { - return _lib._objc_msgSend_12(_id, _lib._sel_isRunning1); - } - - void deactivate() { - _lib._objc_msgSend_1(_id, _lib._sel_deactivate1); - } - - /// Makes the receiver the active app. - void activateIgnoringOtherApps_(bool flag) { - _lib._objc_msgSend_195(_id, _lib._sel_activateIgnoringOtherApps_1, flag); - } - - /// Makes the receiver the active app, if possible. - /// - /// You shouldn’t assume the app will be active immediately - /// after sending this message. The framework also does not - /// guarantee that the app will be activated at all. - /// - /// For cooperative activation, the other application should - /// call `-yieldActivationToApplication:` or equivalent prior - /// to the target application invoking `-activate`. - /// - /// Invoking `-activate` on an already-active application - /// cancels any pending activation yields by the receiver. - void activate() { - _lib._objc_msgSend_1(_id, _lib._sel_activate1); - } - - /// Explicitly allows another application to make itself active. - /// - /// Calling this method will not deactivate the current app, nor - /// will it activate the other app. For cooperative or coordinated - /// activation, the other app should request to be activated at - /// some point in the future by calling `activate` or equivalent. - void yieldActivationToApplication_(NSRunningApplication application) { - _lib._objc_msgSend_371( - _id, _lib._sel_yieldActivationToApplication_1, application._id); - } - - /// Same as `-yieldActivationToApplication:`, but the provided - /// bundle identifier does not have to correspond to a currently - /// running application. - /// - /// This method should be used to yield activation to apps that - /// may not be running at the time of invoking it. If it is known - /// that the target application is currently running, use - /// `-yieldActivationToApplication:` instead. - void yieldActivationToApplicationWithBundleIdentifier_( - NSString bundleIdentifier) { - _lib._objc_msgSend_94( - _id, - _lib._sel_yieldActivationToApplicationWithBundleIdentifier_1, - bundleIdentifier._id); - } - - void hideOtherApplications_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_hideOtherApplications_1, sender?._id ?? ffi.nullptr); - } - - void unhideAllApplications_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_unhideAllApplications_1, sender?._id ?? ffi.nullptr); - } - - void finishLaunching() { - _lib._objc_msgSend_1(_id, _lib._sel_finishLaunching1); - } - - void run() { - _lib._objc_msgSend_1(_id, _lib._sel_run1); - } - - int runModalForWindow_(NSWindow window) { - return _lib._objc_msgSend_372( - _id, _lib._sel_runModalForWindow_1, window._id); - } - - void stop_(NSObject? sender) { - _lib._objc_msgSend_237(_id, _lib._sel_stop_1, sender?._id ?? ffi.nullptr); - } - - void stopModal() { - _lib._objc_msgSend_1(_id, _lib._sel_stopModal1); - } - - void stopModalWithCode_(int returnCode) { - _lib._objc_msgSend_200(_id, _lib._sel_stopModalWithCode_1, returnCode); - } - - void abortModal() { - _lib._objc_msgSend_1(_id, _lib._sel_abortModal1); - } - - NSWindow? get modalWindow { - final _ret = _lib._objc_msgSend_109(_id, _lib._sel_modalWindow1); - return _ret.address == 0 - ? null - : NSWindow._(_ret, _lib, retain: true, release: true); - } - - ffi.Pointer<_NSModalSession> beginModalSessionForWindow_(NSWindow window) { - return _lib._objc_msgSend_373( - _id, _lib._sel_beginModalSessionForWindow_1, window._id); - } - - int runModalSession_(ffi.Pointer<_NSModalSession> session) { - return _lib._objc_msgSend_374(_id, _lib._sel_runModalSession_1, session); - } - - void endModalSession_(ffi.Pointer<_NSModalSession> session) { - _lib._objc_msgSend_375(_id, _lib._sel_endModalSession_1, session); - } - - void terminate_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_terminate_1, sender?._id ?? ffi.nullptr); - } - - /// Inform the user that this application needs attention - call this method only if your application is not already active. - int requestUserAttention_(int requestType) { - return _lib._objc_msgSend_376( - _id, _lib._sel_requestUserAttention_1, requestType); - } - - void cancelUserAttentionRequest_(int request) { - _lib._objc_msgSend_200( - _id, _lib._sel_cancelUserAttentionRequest_1, request); - } - - /// Execute a block for each of the app's windows. Set `*stop = YES` if desired, to halt the enumeration early. - void enumerateWindowsWithOptions_usingBlock_( - int options, ObjCBlock_ffiVoid_NSWindow_bool block) { - _lib._objc_msgSend_377(_id, - _lib._sel_enumerateWindowsWithOptions_usingBlock_1, options, block._id); - } - - void preventWindowOrdering() { - _lib._objc_msgSend_1(_id, _lib._sel_preventWindowOrdering1); - } - - NSArray get windows { - final _ret = _lib._objc_msgSend_378(_id, _lib._sel_windows1); - return NSArray._(_ret, _lib, retain: true, release: true); - } - - void setWindowsNeedUpdate_(bool needUpdate) { - _lib._objc_msgSend_195(_id, _lib._sel_setWindowsNeedUpdate_1, needUpdate); - } - - void updateWindows() { - _lib._objc_msgSend_1(_id, _lib._sel_updateWindows1); - } - - NSMenu? get mainMenu { - final _ret = _lib._objc_msgSend_178(_id, _lib._sel_mainMenu1); - return _ret.address == 0 - ? null - : NSMenu._(_ret, _lib, retain: true, release: true); - } - - set mainMenu(NSMenu? value) { - return _lib._objc_msgSend_179( - _id, _lib._sel_setMainMenu_1, value?._id ?? ffi.nullptr); - } - - /// Set or get the Help menu for the app. If a non-nil menu is set as the Help menu, Spotlight for Help will be installed in it; otherwise AppKit will install Spotlight for Help into a menu of its choosing (and that menu is not returned from `-helpMenu`). If you wish to completely suppress Spotlight for Help, you can set a menu that does not appear in the menu bar. @c NSApplication retains its Help menu and releases it when a different menu is set. - NSMenu? get helpMenu { - final _ret = _lib._objc_msgSend_178(_id, _lib._sel_helpMenu1); - return _ret.address == 0 - ? null - : NSMenu._(_ret, _lib, retain: true, release: true); - } - - /// Set or get the Help menu for the app. If a non-nil menu is set as the Help menu, Spotlight for Help will be installed in it; otherwise AppKit will install Spotlight for Help into a menu of its choosing (and that menu is not returned from `-helpMenu`). If you wish to completely suppress Spotlight for Help, you can set a menu that does not appear in the menu bar. @c NSApplication retains its Help menu and releases it when a different menu is set. - set helpMenu(NSMenu? value) { - return _lib._objc_msgSend_179( - _id, _lib._sel_setHelpMenu_1, value?._id ?? ffi.nullptr); - } - - NSImage get applicationIconImage { - final _ret = _lib._objc_msgSend_188(_id, _lib._sel_applicationIconImage1); - return NSImage._(_ret, _lib, retain: true, release: true); - } - - set applicationIconImage(NSImage value) { - return _lib._objc_msgSend_189( - _id, _lib._sel_setApplicationIconImage_1, value._id); - } - - /// @return The activation policy of the application. - int activationPolicy() { - return _lib._objc_msgSend_364(_id, _lib._sel_activationPolicy1); - } - - /// Attempts to modify the application's activation policy. In OS X 10.9, any policy may be set; prior to 10.9, the activation policy may be changed to @c NSApplicationActivationPolicyProhibited or @c NSApplicationActivationPolicyRegular, but may not be changed to @c NSApplicationActivationPolicyAccessory. This returns @c YES if setting the activation policy is successful, and @c NO if not. - bool setActivationPolicy_(int activationPolicy) { - return _lib._objc_msgSend_379( - _id, _lib._sel_setActivationPolicy_1, activationPolicy); - } - - NSDockTile get dockTile { - final _ret = _lib._objc_msgSend_286(_id, _lib._sel_dockTile1); - return NSDockTile._(_ret, _lib, retain: true, release: true); - } - - void reportException_(NSException exception) { - _lib._objc_msgSend_385(_id, _lib._sel_reportException_1, exception._id); - } - - static void detachDrawingThread_toTarget_withObject_( - AuthenticationServices _lib, - ffi.Pointer selector, - NSObject target, - NSObject? argument) { - _lib._objc_msgSend_386( - _lib._class_NSApplication1, - _lib._sel_detachDrawingThread_toTarget_withObject_1, - selector, - target._id, - argument?._id ?? ffi.nullptr); - } - - /// If an application delegate returns NSTerminateLater from -applicationShouldTerminate:, -replyToApplicationShouldTerminate: must be called with YES or NO once the application decides if it can terminate. - void replyToApplicationShouldTerminate_(bool shouldTerminate) { - _lib._objc_msgSend_195( - _id, _lib._sel_replyToApplicationShouldTerminate_1, shouldTerminate); - } - - /// If an application delegate encounters an error while handling `-application:openFiles:` or` -application:printFiles:`, `-replyToOpenOrPrint:` should be called with @c NSApplicationDelegateReplyFailure. If the user cancels the operation, @c NSApplicationDelegateReplyCancel should be used, and if the operation succeeds, @c NSApplicationDelegateReplySuccess should be used . - void replyToOpenOrPrint_(int reply) { - _lib._objc_msgSend_387(_id, _lib._sel_replyToOpenOrPrint_1, reply); - } - - /// Opens the character palette. - void orderFrontCharacterPalette_(NSObject? sender) { - _lib._objc_msgSend_237(_id, _lib._sel_orderFrontCharacterPalette_1, - sender?._id ?? ffi.nullptr); - } - - /// Gets or sets the @c presentationOptions that should be in effect for the system when this application is the active application. Only certain combinations of @c NSApplicationPresentationOptions flags are allowed, as detailed in the AppKit Release Notes and the reference documentation for `-setPresentationOptions:`. When given an invalid combination of option flags, `-setPresentationOptions:` raises an exception. - int get presentationOptions { - return _lib._objc_msgSend_388(_id, _lib._sel_presentationOptions1); - } - - /// Gets or sets the @c presentationOptions that should be in effect for the system when this application is the active application. Only certain combinations of @c NSApplicationPresentationOptions flags are allowed, as detailed in the AppKit Release Notes and the reference documentation for `-setPresentationOptions:`. When given an invalid combination of option flags, `-setPresentationOptions:` raises an exception. - set presentationOptions(int value) { - return _lib._objc_msgSend_389( - _id, _lib._sel_setPresentationOptions_1, value); - } - - /// @return The set of application presentation options that are currently in effect for the system. - /// These are the presentation options that have been put into effect by the currently active application. - int get currentSystemPresentationOptions { - return _lib._objc_msgSend_388( - _id, _lib._sel_currentSystemPresentationOptions1); - } - - int get occlusionState { - return _lib._objc_msgSend_390(_id, _lib._sel_occlusionState1); - } - - bool get protectedDataAvailable { - return _lib._objc_msgSend_12(_id, _lib._sel_isProtectedDataAvailable1); - } - - NSAppearance? get appearance { - final _ret = _lib._objc_msgSend_419(_id, _lib._sel_appearance1); - return _ret.address == 0 - ? null - : NSAppearance._(_ret, _lib, retain: true, release: true); - } - - set appearance(NSAppearance? value) { - return _lib._objc_msgSend_420( - _id, _lib._sel_setAppearance_1, value?._id ?? ffi.nullptr); - } - - NSAppearance get effectiveAppearance { - final _ret = _lib._objc_msgSend_391(_id, _lib._sel_effectiveAppearance1); - return NSAppearance._(_ret, _lib, retain: true, release: true); - } - - void sendEvent_(NSEvent event) { - _lib._objc_msgSend_236(_id, _lib._sel_sendEvent_1, event._id); - } - - void postEvent_atStart_(NSEvent event, bool flag) { - _lib._objc_msgSend_336(_id, _lib._sel_postEvent_atStart_1, event._id, flag); - } - - NSEvent? get currentEvent { - final _ret = _lib._objc_msgSend_337(_id, _lib._sel_currentEvent1); - return _ret.address == 0 - ? null - : NSEvent._(_ret, _lib, retain: true, release: true); - } - - NSEvent? nextEventMatchingMask_untilDate_inMode_dequeue_( - int mask, NSDate? expiration, NSString mode, bool deqFlag) { - final _ret = _lib._objc_msgSend_334( - _id, - _lib._sel_nextEventMatchingMask_untilDate_inMode_dequeue_1, - mask, - expiration?._id ?? ffi.nullptr, - mode._id, - deqFlag); - return _ret.address == 0 - ? null - : NSEvent._(_ret, _lib, retain: true, release: true); - } - - void discardEventsMatchingMask_beforeEvent_(int mask, NSEvent? lastEvent) { - _lib._objc_msgSend_335( - _id, - _lib._sel_discardEventsMatchingMask_beforeEvent_1, - mask, - lastEvent?._id ?? ffi.nullptr); - } - - bool sendAction_to_from_( - ffi.Pointer action, NSObject? target, NSObject? sender) { - return _lib._objc_msgSend_421(_id, _lib._sel_sendAction_to_from_1, action, - target?._id ?? ffi.nullptr, sender?._id ?? ffi.nullptr); - } - - NSObject? targetForAction_(ffi.Pointer action) { - final _ret = - _lib._objc_msgSend_422(_id, _lib._sel_targetForAction_1, action); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - NSObject? targetForAction_to_from_( - ffi.Pointer action, NSObject? target, NSObject? sender) { - final _ret = _lib._objc_msgSend_423( - _id, - _lib._sel_targetForAction_to_from_1, - action, - target?._id ?? ffi.nullptr, - sender?._id ?? ffi.nullptr); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - @override - bool tryToPerform_with_(ffi.Pointer action, NSObject? object) { - return _lib._objc_msgSend_106( - _id, _lib._sel_tryToPerform_with_1, action, object?._id ?? ffi.nullptr); - } - - @override - NSObject? validRequestorForSendType_returnType_( - NSString? sendType, NSString? returnType) { - final _ret = _lib._objc_msgSend_235( - _id, - _lib._sel_validRequestorForSendType_returnType_1, - sendType?._id ?? ffi.nullptr, - returnType?._id ?? ffi.nullptr); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - NSMenu? get windowsMenu { - final _ret = _lib._objc_msgSend_178(_id, _lib._sel_windowsMenu1); - return _ret.address == 0 - ? null - : NSMenu._(_ret, _lib, retain: true, release: true); - } - - set windowsMenu(NSMenu? value) { - return _lib._objc_msgSend_179( - _id, _lib._sel_setWindowsMenu_1, value?._id ?? ffi.nullptr); - } - - void arrangeInFront_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_arrangeInFront_1, sender?._id ?? ffi.nullptr); - } - - void removeWindowsItem_(NSWindow win) { - _lib._objc_msgSend_301(_id, _lib._sel_removeWindowsItem_1, win._id); - } - - void addWindowsItem_title_filename_( - NSWindow win, NSString string, bool isFilename) { - _lib._objc_msgSend_424(_id, _lib._sel_addWindowsItem_title_filename_1, - win._id, string._id, isFilename); - } - - void changeWindowsItem_title_filename_( - NSWindow win, NSString string, bool isFilename) { - _lib._objc_msgSend_424(_id, _lib._sel_changeWindowsItem_title_filename_1, - win._id, string._id, isFilename); - } - - void updateWindowsItem_(NSWindow win) { - _lib._objc_msgSend_301(_id, _lib._sel_updateWindowsItem_1, win._id); - } - - void miniaturizeAll_(NSObject? sender) { - _lib._objc_msgSend_237( - _id, _lib._sel_miniaturizeAll_1, sender?._id ?? ffi.nullptr); - } - - /// Use this method to get the status of Full Keyboard Access, as configured in the Keyboard preference pane. You may use this status to implement your own key loop or to implement in-control tabbing behavior similar to @c NSTableView. Because of the nature of the preference storage, you will not be notified of changes to the key if you attempt to observe it via key-value observing; however, calling this method is fairly inexpensive, so you should always call it when you need the underlying value instead of caching it. - bool get fullKeyboardAccessEnabled { - return _lib._objc_msgSend_12(_id, _lib._sel_isFullKeyboardAccessEnabled1); - } - - NSMenu? get servicesMenu { - final _ret = _lib._objc_msgSend_178(_id, _lib._sel_servicesMenu1); - return _ret.address == 0 - ? null - : NSMenu._(_ret, _lib, retain: true, release: true); - } - - set servicesMenu(NSMenu? value) { - return _lib._objc_msgSend_179( - _id, _lib._sel_setServicesMenu_1, value?._id ?? ffi.nullptr); - } - - void registerServicesMenuSendTypes_returnTypes_( - NSArray sendTypes, NSArray returnTypes) { - _lib._objc_msgSend_425( - _id, - _lib._sel_registerServicesMenuSendTypes_returnTypes_1, - sendTypes._id, - returnTypes._id); - } - - NSObject? get servicesProvider { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_servicesProvider1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - set servicesProvider(NSObject? value) { - return _lib._objc_msgSend_17( - _id, _lib._sel_setServicesProvider_1, value?._id ?? ffi.nullptr); - } - - void orderFrontStandardAboutPanel_(NSObject? sender) { - _lib._objc_msgSend_237(_id, _lib._sel_orderFrontStandardAboutPanel_1, - sender?._id ?? ffi.nullptr); - } - - void orderFrontStandardAboutPanelWithOptions_( - NSDictionary optionsDictionary) { - _lib._objc_msgSend_426( - _id, - _lib._sel_orderFrontStandardAboutPanelWithOptions_1, - optionsDictionary._id); - } - - /// Returns the application-wide user interface layout direction. - int get userInterfaceLayoutDirection { - return _lib._objc_msgSend_212(_id, _lib._sel_userInterfaceLayoutDirection1); - } - - /// Disable or reenable relaunching this app on login, if the app was running at the time the user logged out. These methods increment and decrement a counter respectively; if the counter is 0 at the time the user logs out, then the app may be relaunched when the user logs back in. The counter is initially zero, so by default apps are relaunched. - /// - /// If your app should not be relaunched because it launches via some other mechanism (e.g. launchd), then the recommended usage is to call `-[NSApp disableRelaunchOnLogin]` once, and never pair it with an -enable call. - /// - /// If your app should not be relaunched because it triggers a restart (e.g. an installer), then the recommended usage is to call `-[NSApp disableRelaunchOnLogin]` immediately before you attempt to trigger a restart, and `-[NSApp enableRelaunchOnLogin]` immediately after. This is because the user may cancel restarting; if the user later restarts for another reason, then your app should be brought back. - /// - /// These methods are thread safe. - void disableRelaunchOnLogin() { - _lib._objc_msgSend_1(_id, _lib._sel_disableRelaunchOnLogin1); - } - - void enableRelaunchOnLogin() { - _lib._objc_msgSend_1(_id, _lib._sel_enableRelaunchOnLogin1); - } - - void registerForRemoteNotifications() { - _lib._objc_msgSend_1(_id, _lib._sel_registerForRemoteNotifications1); - } - - void unregisterForRemoteNotifications() { - _lib._objc_msgSend_1(_id, _lib._sel_unregisterForRemoteNotifications1); - } - - /// @return @c YES if the application is currently registered for remote notifications, taking into account any systemwide settings; doesn't relate to connectivity. - bool get registeredForRemoteNotifications { - return _lib._objc_msgSend_12( - _id, _lib._sel_isRegisteredForRemoteNotifications1); - } - - /// The following are soft deprecated. - /// Please use the `-registerForRemoteNotifications` above and `-requestAuthorizationWithOptions:` from `UserNotifications.framework`. - void registerForRemoteNotificationTypes_(int types) { - _lib._objc_msgSend_427( - _id, _lib._sel_registerForRemoteNotificationTypes_1, types); - } - - int get enabledRemoteNotificationTypes { - return _lib._objc_msgSend_428( - _id, _lib._sel_enabledRemoteNotificationTypes1); - } - - /// `-runModalForWindow:relativeToWindow:` was deprecated in Mac OS X 10.0. Please use `-[NSWindow beginSheet:completionHandler:]` instead. - int runModalForWindow_relativeToWindow_(NSWindow window, NSWindow docWindow) { - return _lib._objc_msgSend_429( - _id, - _lib._sel_runModalForWindow_relativeToWindow_1, - window._id, - docWindow._id); - } - - /// `-beginModalSessionForWindow:relativeToWindow:` was deprecated in Mac OS X 10.0. Please use `-[NSWindow beginSheet:completionHandler:]` instead. - ffi.Pointer<_NSModalSession> beginModalSessionForWindow_relativeToWindow_( - NSWindow window, NSWindow docWindow) { - return _lib._objc_msgSend_430( - _id, - _lib._sel_beginModalSessionForWindow_relativeToWindow_1, - window._id, - docWindow._id); - } - - /// `-application:printFiles:` was deprecated in Mac OS X 10.4. - /// Implement `-application:printFiles:withSettings:showPrintPanels:` in your application delegate instead. - void application_printFiles_(NSApplication sender, NSArray filenames) { - _lib._objc_msgSend_431( - _id, _lib._sel_application_printFiles_1, sender._id, filenames._id); - } - - /// `NSWindow`'s `-beginSheet:completionHandler:` and `-endSheet:returnCode:` should be used instead. `NSApplication`'s `-beginSheet:modalForWindow:modalDelegate:didEndSelector:contextInfo:` will continue to work as it previously did, leaking contextInfo and failing when there is already an existing sheet. - void beginSheet_modalForWindow_modalDelegate_didEndSelector_contextInfo_( - NSWindow sheet, - NSWindow docWindow, - NSObject? modalDelegate, - ffi.Pointer didEndSelector, - ffi.Pointer contextInfo) { - _lib._objc_msgSend_432( - _id, - _lib._sel_beginSheet_modalForWindow_modalDelegate_didEndSelector_contextInfo_1, - sheet._id, - docWindow._id, - modalDelegate?._id ?? ffi.nullptr, - didEndSelector, - contextInfo); - } - - void endSheet_(NSWindow sheet) { - _lib._objc_msgSend_301(_id, _lib._sel_endSheet_1, sheet._id); - } - - void endSheet_returnCode_(NSWindow sheet, int returnCode) { - _lib._objc_msgSend_302( - _id, _lib._sel_endSheet_returnCode_1, sheet._id, returnCode); - } - - NSWindow? makeWindowsPerform_inOrder_( - ffi.Pointer selector, bool flag) { - final _ret = _lib._objc_msgSend_433( - _id, _lib._sel_makeWindowsPerform_inOrder_1, selector, flag); - return _ret.address == 0 - ? null - : NSWindow._(_ret, _lib, retain: true, release: true); - } - - /// This method is deprecated as of macOS 10.12. Beginning in OS X 10.11 it would always return nil. Prior to this it would return an undefined graphics context that was not generally suitable for drawing. - NSGraphicsContext? get context { - final _ret = _lib._objc_msgSend_110(_id, _lib._sel_context1); - return _ret.address == 0 - ? null - : NSGraphicsContext._(_ret, _lib, retain: true, release: true); - } - - @override - NSApplication init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSApplication._(_ret, _lib, retain: true, release: true); - } - - @override - NSApplication? initWithCoder_(NSCoder coder) { - final _ret = - _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); - return _ret.address == 0 - ? null - : NSApplication._(_ret, _lib, retain: true, release: true); - } - - static NSApplication new1(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSApplication1, _lib._sel_new1); - return NSApplication._(_ret, _lib, retain: false, release: true); - } - - static NSApplication allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSApplication1, _lib._sel_allocWithZone_1, zone); - return NSApplication._(_ret, _lib, retain: false, release: true); - } - - static NSApplication alloc(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSApplication1, _lib._sel_alloc1); - return NSApplication._(_ret, _lib, retain: false, release: true); - } -} - -class NSRunningApplication extends NSObject { - NSRunningApplication._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSRunningApplication] that points to the same underlying object as [other]. - static NSRunningApplication castFrom(T other) { - return NSRunningApplication._(other._id, other._lib, - retain: true, release: true); - } - - /// Returns a [NSRunningApplication] that wraps the given raw object pointer. - static NSRunningApplication castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSRunningApplication._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSRunningApplication]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, - obj._lib._class_NSRunningApplication1); - } - - bool get terminated { - return _lib._objc_msgSend_12(_id, _lib._sel_isTerminated1); - } - - bool get finishedLaunching { - return _lib._objc_msgSend_12(_id, _lib._sel_isFinishedLaunching1); - } - - bool get hidden { - return _lib._objc_msgSend_12(_id, _lib._sel_isHidden1); - } - - bool get active { - return _lib._objc_msgSend_12(_id, _lib._sel_isActive1); - } - - bool get ownsMenuBar { - return _lib._objc_msgSend_12(_id, _lib._sel_ownsMenuBar1); - } - - int get activationPolicy { - return _lib._objc_msgSend_364(_id, _lib._sel_activationPolicy1); - } - - NSString? get localizedName { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_localizedName1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? get bundleIdentifier { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_bundleIdentifier1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSURL? get bundleURL { - final _ret = _lib._objc_msgSend_55(_id, _lib._sel_bundleURL1); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - NSURL? get executableURL { - final _ret = _lib._objc_msgSend_55(_id, _lib._sel_executableURL1); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - int get processIdentifier { - return _lib._objc_msgSend_75(_id, _lib._sel_processIdentifier1); - } - - NSDate? get launchDate { - final _ret = _lib._objc_msgSend_365(_id, _lib._sel_launchDate1); - return _ret.address == 0 - ? null - : NSDate._(_ret, _lib, retain: true, release: true); - } - - NSImage? get icon { - final _ret = _lib._objc_msgSend_185(_id, _lib._sel_icon1); - return _ret.address == 0 - ? null - : NSImage._(_ret, _lib, retain: true, release: true); - } - - int get executableArchitecture { - return _lib._objc_msgSend_77(_id, _lib._sel_executableArchitecture1); - } - - bool hide1() { - return _lib._objc_msgSend_12(_id, _lib._sel_hide1); - } - - bool unhide() { - return _lib._objc_msgSend_12(_id, _lib._sel_unhide1); - } - - bool activateFromApplication_options_( - NSRunningApplication application, int options) { - return _lib._objc_msgSend_366(_id, - _lib._sel_activateFromApplication_options_1, application._id, options); - } - - bool activateWithOptions_(int options) { - return _lib._objc_msgSend_367( - _id, _lib._sel_activateWithOptions_1, options); - } - - bool terminate() { - return _lib._objc_msgSend_12(_id, _lib._sel_terminate1); - } - - bool forceTerminate() { - return _lib._objc_msgSend_12(_id, _lib._sel_forceTerminate1); - } - - static NSArray runningApplicationsWithBundleIdentifier_( - AuthenticationServices _lib, NSString bundleIdentifier) { - final _ret = _lib._objc_msgSend_368( - _lib._class_NSRunningApplication1, - _lib._sel_runningApplicationsWithBundleIdentifier_1, - bundleIdentifier._id); - return NSArray._(_ret, _lib, retain: true, release: true); - } - - static NSRunningApplication? runningApplicationWithProcessIdentifier_( - AuthenticationServices _lib, int pid) { - final _ret = _lib._objc_msgSend_369(_lib._class_NSRunningApplication1, - _lib._sel_runningApplicationWithProcessIdentifier_1, pid); - return _ret.address == 0 - ? null - : NSRunningApplication._(_ret, _lib, retain: true, release: true); - } - - static NSRunningApplication getCurrentApplication( - AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_370( - _lib._class_NSRunningApplication1, _lib._sel_currentApplication1); - return NSRunningApplication._(_ret, _lib, retain: true, release: true); - } - - static void terminateAutomaticallyTerminableApplications( - AuthenticationServices _lib) { - _lib._objc_msgSend_1(_lib._class_NSRunningApplication1, - _lib._sel_terminateAutomaticallyTerminableApplications1); - } - - @override - NSRunningApplication init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSRunningApplication._(_ret, _lib, retain: true, release: true); - } - - static NSRunningApplication new1(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSRunningApplication1, _lib._sel_new1); - return NSRunningApplication._(_ret, _lib, retain: false, release: true); - } - - static NSRunningApplication allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSRunningApplication1, _lib._sel_allocWithZone_1, zone); - return NSRunningApplication._(_ret, _lib, retain: false, release: true); - } - - static NSRunningApplication alloc(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2( - _lib._class_NSRunningApplication1, _lib._sel_alloc1); - return NSRunningApplication._(_ret, _lib, retain: false, release: true); - } -} - -abstract class NSApplicationActivationPolicy { - static const int NSApplicationActivationPolicyRegular = 0; - static const int NSApplicationActivationPolicyAccessory = 1; - static const int NSApplicationActivationPolicyProhibited = 2; -} - -abstract class NSApplicationActivationOptions { - static const int NSApplicationActivateAllWindows = 1; - static const int NSApplicationActivateIgnoringOtherApps = 2; -} - -final class _NSModalSession extends ffi.Opaque {} - -abstract class NSRequestUserAttentionType { - static const int NSCriticalRequest = 0; - static const int NSInformationalRequest = 10; -} - -abstract class NSWindowListOptions { - /// Onscreen application windows in front to back order. By default, -[NSApp windows] is used. - static const int NSWindowListOrderedFrontToBack = 1; -} - -void _ObjCBlock_ffiVoid_NSWindow_bool_fnPtrTrampoline( - ffi.Pointer<_ObjCBlock> block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - void Function( - ffi.Pointer, ffi.Pointer)>()(arg0, arg1); -final _ObjCBlock_ffiVoid_NSWindow_bool_closureRegistry = - , ffi.Pointer)>{}; -int _ObjCBlock_ffiVoid_NSWindow_bool_closureRegistryIndex = 0; -ffi.Pointer _ObjCBlock_ffiVoid_NSWindow_bool_registerClosure( - void Function(ffi.Pointer, ffi.Pointer) fn) { - final id = ++_ObjCBlock_ffiVoid_NSWindow_bool_closureRegistryIndex; - _ObjCBlock_ffiVoid_NSWindow_bool_closureRegistry[id] = fn; - return ffi.Pointer.fromAddress(id); -} - -void _ObjCBlock_ffiVoid_NSWindow_bool_closureTrampoline( - ffi.Pointer<_ObjCBlock> block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - _ObjCBlock_ffiVoid_NSWindow_bool_closureRegistry[block.ref.target.address]!( - arg0, arg1); - -class ObjCBlock_ffiVoid_NSWindow_bool extends _ObjCBlockBase { - ObjCBlock_ffiVoid_NSWindow_bool._( - ffi.Pointer<_ObjCBlock> id, AuthenticationServices lib, - {bool retain = false, bool release = true}) - : super._(id, lib, retain: retain, release: release); - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_NSWindow_bool.fromFunctionPointer( - AuthenticationServices lib, - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>> - ptr) - : this._( - lib._newBlock1( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer<_ObjCBlock>, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSWindow_bool_fnPtrTrampoline) - .cast(), - ptr.cast()), - lib); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_NSWindow_bool.fromFunction(AuthenticationServices lib, - void Function(NSWindow, ffi.Pointer) fn) - : this._( - lib._newBlock1( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer<_ObjCBlock>, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSWindow_bool_closureTrampoline) - .cast(), - _ObjCBlock_ffiVoid_NSWindow_bool_registerClosure( - (ffi.Pointer arg0, ffi.Pointer arg1) => - fn(NSWindow._(arg0, lib, retain: true, release: true), - arg1))), - lib); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_NSWindow_bool.listener(AuthenticationServices lib, - void Function(NSWindow, ffi.Pointer) fn) - : this._( - lib._newBlock1( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer<_ObjCBlock>, - ffi.Pointer, - ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_NSWindow_bool_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - _ObjCBlock_ffiVoid_NSWindow_bool_registerClosure( - (ffi.Pointer arg0, - ffi.Pointer arg1) => - fn(NSWindow._(arg0, lib, retain: true, release: true), - arg1))), - lib); - static ffi.NativeCallable< - ffi.Void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, - ffi.Pointer)>? _dartFuncListenerTrampoline; - - void call(NSWindow arg0, ffi.Pointer arg1) => _id.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer<_ObjCBlock> block, - ffi.Pointer arg0, ffi.Pointer arg1)>>() - .asFunction< - void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, - ffi.Pointer)>()(_id, arg0._id, arg1); -} - -class NSException extends NSObject { - NSException._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSException] that points to the same underlying object as [other]. - static NSException castFrom(T other) { - return NSException._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSException] that wraps the given raw object pointer. - static NSException castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSException._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSException]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSException1); - } - - static NSException exceptionWithName_reason_userInfo_( - AuthenticationServices _lib, - NSString name, - NSString? reason, - NSDictionary? userInfo) { - final _ret = _lib._objc_msgSend_382( - _lib._class_NSException1, - _lib._sel_exceptionWithName_reason_userInfo_1, - name._id, - reason?._id ?? ffi.nullptr, - userInfo?._id ?? ffi.nullptr); - return NSException._(_ret, _lib, retain: true, release: true); - } - - NSException initWithName_reason_userInfo_( - NSString aName, NSString? aReason, NSDictionary? aUserInfo) { - final _ret = _lib._objc_msgSend_383( - _id, - _lib._sel_initWithName_reason_userInfo_1, - aName._id, - aReason?._id ?? ffi.nullptr, - aUserInfo?._id ?? ffi.nullptr); - return NSException._(_ret, _lib, retain: true, release: true); - } - - NSString get name { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_name1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? get reason { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_reason1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSDictionary? get userInfo { - final _ret = _lib._objc_msgSend_384(_id, _lib._sel_userInfo1); - return _ret.address == 0 - ? null - : NSDictionary._(_ret, _lib, retain: true, release: true); - } - - NSArray get callStackReturnAddresses { - final _ret = - _lib._objc_msgSend_378(_id, _lib._sel_callStackReturnAddresses1); - return NSArray._(_ret, _lib, retain: true, release: true); - } - - NSArray get callStackSymbols { - final _ret = _lib._objc_msgSend_378(_id, _lib._sel_callStackSymbols1); - return NSArray._(_ret, _lib, retain: true, release: true); - } - - void raise() { - _lib._objc_msgSend_1(_id, _lib._sel_raise1); - } - - @override - NSException init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSException._(_ret, _lib, retain: true, release: true); - } - - static NSException new1(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSException1, _lib._sel_new1); - return NSException._(_ret, _lib, retain: false, release: true); - } - - static NSException allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSException1, _lib._sel_allocWithZone_1, zone); - return NSException._(_ret, _lib, retain: false, release: true); - } - - static NSException alloc(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSException1, _lib._sel_alloc1); - return NSException._(_ret, _lib, retain: false, release: true); - } -} - -class NSDictionary extends NSObject { - NSDictionary._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSDictionary] that points to the same underlying object as [other]. - static NSDictionary castFrom(T other) { - return NSDictionary._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSDictionary] that wraps the given raw object pointer. - static NSDictionary castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSDictionary._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSDictionary]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSDictionary1); - } - - int get count { - return _lib._objc_msgSend_10(_id, _lib._sel_count1); - } - - NSObject? objectForKey_(NSObject aKey) { - final _ret = - _lib._objc_msgSend_380(_id, _lib._sel_objectForKey_1, aKey._id); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - NSObject keyEnumerator() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_keyEnumerator1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - @override - NSDictionary init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSDictionary._(_ret, _lib, retain: true, release: true); - } - - NSDictionary initWithObjects_forKeys_count_( - ffi.Pointer> objects, - ffi.Pointer> keys, - int cnt) { - final _ret = _lib._objc_msgSend_381( - _id, _lib._sel_initWithObjects_forKeys_count_1, objects, keys, cnt); - return NSDictionary._(_ret, _lib, retain: true, release: true); - } - - NSDictionary? initWithCoder_(NSCoder coder) { - final _ret = - _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); - return _ret.address == 0 - ? null - : NSDictionary._(_ret, _lib, retain: true, release: true); - } - - static NSDictionary new1(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSDictionary1, _lib._sel_new1); - return NSDictionary._(_ret, _lib, retain: false, release: true); - } - - static NSDictionary allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSDictionary1, _lib._sel_allocWithZone_1, zone); - return NSDictionary._(_ret, _lib, retain: false, release: true); - } - - static NSDictionary alloc(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSDictionary1, _lib._sel_alloc1); - return NSDictionary._(_ret, _lib, retain: false, release: true); - } -} - -abstract class NSApplicationDelegateReply { - static const int NSApplicationDelegateReplySuccess = 0; - static const int NSApplicationDelegateReplyCancel = 1; - static const int NSApplicationDelegateReplyFailure = 2; -} - -/// Flags that comprise an application's @c presentationOptions. -abstract class NSApplicationPresentationOptions { - static const int NSApplicationPresentationDefault = 0; - - /// Dock appears when moused to. - static const int NSApplicationPresentationAutoHideDock = 1; - - /// Dock is entirely unavailable. - static const int NSApplicationPresentationHideDock = 2; - - /// Menu Bar appears when moused to. - static const int NSApplicationPresentationAutoHideMenuBar = 4; - - /// Menu Bar is entirely unavailable. - static const int NSApplicationPresentationHideMenuBar = 8; - - /// All Apple menu items are disabled. - static const int NSApplicationPresentationDisableAppleMenu = 16; - - /// Cmd+Tab UI is disabled. - static const int NSApplicationPresentationDisableProcessSwitching = 32; - - /// Cmd+Opt+Esc panel is disabled. - static const int NSApplicationPresentationDisableForceQuit = 64; - - /// PowerKey panel and Restart/Shut Down/Log Out disabled. - static const int NSApplicationPresentationDisableSessionTermination = 128; - - /// Application "Hide" menu item is disabled. - static const int NSApplicationPresentationDisableHideApplication = 256; - - /// Menu Bar's transparent appearance is disabled. - static const int NSApplicationPresentationDisableMenuBarTransparency = 512; - - /// Application is in fullscreen mode. - static const int NSApplicationPresentationFullScreen = 1024; - - /// Fullscreen window toolbar is detached from window and hides/shows on rollover. - /// May be used only when both @c NSApplicationPresentationFullScreen is also set. - static const int NSApplicationPresentationAutoHideToolbar = 2048; - - /// "Shake mouse pointer to locate" is disabled for this application. - static const int NSApplicationPresentationDisableCursorLocationAssistance = - 4096; -} - -abstract class NSApplicationOcclusionState { - /// If set, at least part of any window owned by this application is visible. If not set, all parts of all windows owned by this application are completely occluded. The menu bar does not count as a window owned by this application, so if only the menu bar is showing then the application is considered not visible. Status items, however, have windows owned by your application. If the status item is present in the menu bar, your application will be considered visible as long as the menu bar is visible. - static const int NSApplicationOcclusionStateVisible = 2; -} - -class NSAppearance extends NSObject { - NSAppearance._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSAppearance] that points to the same underlying object as [other]. - static NSAppearance castFrom(T other) { - return NSAppearance._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSAppearance] that wraps the given raw object pointer. - static NSAppearance castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSAppearance._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSAppearance]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSAppearance1); - } - - NSString get name { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_name1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - static NSAppearance getCurrentAppearance(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_391( - _lib._class_NSAppearance1, _lib._sel_currentAppearance1); - return NSAppearance._(_ret, _lib, retain: true, release: true); - } - - static void setCurrentAppearance( - AuthenticationServices _lib, NSAppearance value) { - return _lib._objc_msgSend_392( - _lib._class_NSAppearance1, _lib._sel_setCurrentAppearance_1, value._id); - } - - static NSAppearance getCurrentDrawingAppearance(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_391( - _lib._class_NSAppearance1, _lib._sel_currentDrawingAppearance1); - return NSAppearance._(_ret, _lib, retain: true, release: true); - } - - void performAsCurrentDrawingAppearance_(ObjCBlock_ffiVoid block) { - _lib._objc_msgSend_393( - _id, _lib._sel_performAsCurrentDrawingAppearance_1, block._id); - } - - static NSAppearance? appearanceNamed_( - AuthenticationServices _lib, NSString name) { - final _ret = _lib._objc_msgSend_394( - _lib._class_NSAppearance1, _lib._sel_appearanceNamed_1, name._id); - return _ret.address == 0 - ? null - : NSAppearance._(_ret, _lib, retain: true, release: true); - } - - NSAppearance? initWithAppearanceNamed_bundle_( - NSString name, NSBundle? bundle) { - final _ret = _lib._objc_msgSend_418( - _id, - _lib._sel_initWithAppearanceNamed_bundle_1, - name._id, - bundle?._id ?? ffi.nullptr); - return _ret.address == 0 - ? null - : NSAppearance._(_ret, _lib, retain: true, release: true); - } - - NSAppearance? initWithCoder_(NSCoder coder) { - final _ret = - _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); - return _ret.address == 0 - ? null - : NSAppearance._(_ret, _lib, retain: true, release: true); - } - - bool get allowsVibrancy { - return _lib._objc_msgSend_12(_id, _lib._sel_allowsVibrancy1); - } - - NSString? bestMatchFromAppearancesWithNames_(NSArray appearances) { - final _ret = _lib._objc_msgSend_349( - _id, _lib._sel_bestMatchFromAppearancesWithNames_1, appearances._id); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - @override - NSAppearance init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSAppearance._(_ret, _lib, retain: true, release: true); - } - - static NSAppearance new1(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSAppearance1, _lib._sel_new1); - return NSAppearance._(_ret, _lib, retain: false, release: true); - } - - static NSAppearance allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSAppearance1, _lib._sel_allocWithZone_1, zone); - return NSAppearance._(_ret, _lib, retain: false, release: true); - } - - static NSAppearance alloc(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSAppearance1, _lib._sel_alloc1); - return NSAppearance._(_ret, _lib, retain: false, release: true); - } -} - -void _ObjCBlock_ffiVoid_fnPtrTrampoline( - ffi.Pointer<_ObjCBlock> block, -) => - block.ref.target - .cast>() - .asFunction()(); -final _ObjCBlock_ffiVoid_closureRegistry = {}; -int _ObjCBlock_ffiVoid_closureRegistryIndex = 0; -ffi.Pointer _ObjCBlock_ffiVoid_registerClosure(void Function() fn) { - final id = ++_ObjCBlock_ffiVoid_closureRegistryIndex; - _ObjCBlock_ffiVoid_closureRegistry[id] = fn; - return ffi.Pointer.fromAddress(id); -} - -void _ObjCBlock_ffiVoid_closureTrampoline( - ffi.Pointer<_ObjCBlock> block, -) => - _ObjCBlock_ffiVoid_closureRegistry[block.ref.target.address]!(); - -class ObjCBlock_ffiVoid extends _ObjCBlockBase { - ObjCBlock_ffiVoid._(ffi.Pointer<_ObjCBlock> id, AuthenticationServices lib, - {bool retain = false, bool release = true}) - : super._(id, lib, retain: retain, release: release); - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid.fromFunctionPointer(AuthenticationServices lib, - ffi.Pointer> ptr) - : this._( - lib._newBlock1( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function(ffi.Pointer<_ObjCBlock>)>( - _ObjCBlock_ffiVoid_fnPtrTrampoline) - .cast(), - ptr.cast()), - lib); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid.fromFunction(AuthenticationServices lib, void Function() fn) - : this._( - lib._newBlock1( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function(ffi.Pointer<_ObjCBlock>)>( - _ObjCBlock_ffiVoid_closureTrampoline) - .cast(), - _ObjCBlock_ffiVoid_registerClosure(() => fn())), - lib); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid.listener(AuthenticationServices lib, void Function() fn) - : this._( - lib._newBlock1( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer<_ObjCBlock>)>.listener( - _ObjCBlock_ffiVoid_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - _ObjCBlock_ffiVoid_registerClosure(() => fn())), - lib); - static ffi.NativeCallable)>? - _dartFuncListenerTrampoline; - - void call() => _id.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer<_ObjCBlock> block)>>() - .asFunction)>()( - _id, - ); -} - -class NSBundle extends NSObject { - NSBundle._(ffi.Pointer id, AuthenticationServices lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSBundle] that points to the same underlying object as [other]. - static NSBundle castFrom(T other) { - return NSBundle._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSBundle] that wraps the given raw object pointer. - static NSBundle castFromPointer( - AuthenticationServices lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSBundle._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSBundle]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSBundle1); - } - - static NSBundle getMainBundle(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_395(_lib._class_NSBundle1, _lib._sel_mainBundle1); - return NSBundle._(_ret, _lib, retain: true, release: true); - } - - static NSBundle? bundleWithPath_(AuthenticationServices _lib, NSString path) { - final _ret = _lib._objc_msgSend_48( - _lib._class_NSBundle1, _lib._sel_bundleWithPath_1, path._id); - return _ret.address == 0 - ? null - : NSBundle._(_ret, _lib, retain: true, release: true); - } - - NSBundle? initWithPath_(NSString path) { - final _ret = _lib._objc_msgSend_48(_id, _lib._sel_initWithPath_1, path._id); - return _ret.address == 0 - ? null - : NSBundle._(_ret, _lib, retain: true, release: true); - } - - static NSBundle? bundleWithURL_(AuthenticationServices _lib, NSURL url) { - final _ret = _lib._objc_msgSend_396( - _lib._class_NSBundle1, _lib._sel_bundleWithURL_1, url._id); - return _ret.address == 0 - ? null - : NSBundle._(_ret, _lib, retain: true, release: true); - } - - NSBundle? initWithURL_(NSURL url) { - final _ret = _lib._objc_msgSend_396(_id, _lib._sel_initWithURL_1, url._id); - return _ret.address == 0 - ? null - : NSBundle._(_ret, _lib, retain: true, release: true); - } - - static NSBundle bundleForClass_( - AuthenticationServices _lib, NSObject aClass) { - final _ret = _lib._objc_msgSend_397( - _lib._class_NSBundle1, _lib._sel_bundleForClass_1, aClass._id); - return NSBundle._(_ret, _lib, retain: true, release: true); - } - - static NSBundle? bundleWithIdentifier_( - AuthenticationServices _lib, NSString identifier) { - final _ret = _lib._objc_msgSend_398(_lib._class_NSBundle1, - _lib._sel_bundleWithIdentifier_1, identifier._id); - return _ret.address == 0 - ? null - : NSBundle._(_ret, _lib, retain: true, release: true); - } - - static NSArray getAllBundles(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_378(_lib._class_NSBundle1, _lib._sel_allBundles1); - return NSArray._(_ret, _lib, retain: true, release: true); - } - - static NSArray getAllFrameworks(AuthenticationServices _lib) { - final _ret = - _lib._objc_msgSend_378(_lib._class_NSBundle1, _lib._sel_allFrameworks1); - return NSArray._(_ret, _lib, retain: true, release: true); - } - - bool load() { - return _lib._objc_msgSend_12(_id, _lib._sel_load1); - } - - bool get loaded { - return _lib._objc_msgSend_12(_id, _lib._sel_isLoaded1); - } - - bool unload() { - return _lib._objc_msgSend_12(_id, _lib._sel_unload1); - } - - bool preflightAndReturnError_(ffi.Pointer> error) { - return _lib._objc_msgSend_399( - _id, _lib._sel_preflightAndReturnError_1, error); - } - - bool loadAndReturnError_(ffi.Pointer> error) { - return _lib._objc_msgSend_399(_id, _lib._sel_loadAndReturnError_1, error); - } - - NSURL get bundleURL { - final _ret = _lib._objc_msgSend_400(_id, _lib._sel_bundleURL1); - return NSURL._(_ret, _lib, retain: true, release: true); - } - - NSURL? get resourceURL { - final _ret = _lib._objc_msgSend_55(_id, _lib._sel_resourceURL1); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - NSURL? get executableURL { - final _ret = _lib._objc_msgSend_55(_id, _lib._sel_executableURL1); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - NSURL? URLForAuxiliaryExecutable_(NSString executableName) { - final _ret = _lib._objc_msgSend_401( - _id, _lib._sel_URLForAuxiliaryExecutable_1, executableName._id); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - NSURL? get privateFrameworksURL { - final _ret = _lib._objc_msgSend_55(_id, _lib._sel_privateFrameworksURL1); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - NSURL? get sharedFrameworksURL { - final _ret = _lib._objc_msgSend_55(_id, _lib._sel_sharedFrameworksURL1); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - NSURL? get sharedSupportURL { - final _ret = _lib._objc_msgSend_55(_id, _lib._sel_sharedSupportURL1); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - NSURL? get builtInPlugInsURL { - final _ret = _lib._objc_msgSend_55(_id, _lib._sel_builtInPlugInsURL1); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - NSURL? get appStoreReceiptURL { - final _ret = _lib._objc_msgSend_55(_id, _lib._sel_appStoreReceiptURL1); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - NSString get bundlePath { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_bundlePath1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? get resourcePath { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_resourcePath1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? get executablePath { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_executablePath1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? pathForAuxiliaryExecutable_(NSString executableName) { - final _ret = _lib._objc_msgSend_354( - _id, _lib._sel_pathForAuxiliaryExecutable_1, executableName._id); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? get privateFrameworksPath { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_privateFrameworksPath1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? get sharedFrameworksPath { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_sharedFrameworksPath1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? get sharedSupportPath { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_sharedSupportPath1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? get builtInPlugInsPath { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_builtInPlugInsPath1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - static NSURL? URLForResource_withExtension_subdirectory_inBundleWithURL_( - AuthenticationServices _lib, - NSString? name, - NSString? ext, - NSString? subpath, - NSURL bundleURL) { - final _ret = _lib._objc_msgSend_402( - _lib._class_NSBundle1, - _lib._sel_URLForResource_withExtension_subdirectory_inBundleWithURL_1, - name?._id ?? ffi.nullptr, - ext?._id ?? ffi.nullptr, - subpath?._id ?? ffi.nullptr, - bundleURL._id); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - static NSArray? URLsForResourcesWithExtension_subdirectory_inBundleWithURL_( - AuthenticationServices _lib, - NSString? ext, - NSString? subpath, - NSURL bundleURL) { - final _ret = _lib._objc_msgSend_403( - _lib._class_NSBundle1, - _lib._sel_URLsForResourcesWithExtension_subdirectory_inBundleWithURL_1, - ext?._id ?? ffi.nullptr, - subpath?._id ?? ffi.nullptr, - bundleURL._id); - return _ret.address == 0 - ? null - : NSArray._(_ret, _lib, retain: true, release: true); - } - - NSURL? URLForResource_withExtension_(NSString? name, NSString? ext) { - final _ret = _lib._objc_msgSend_404( - _id, - _lib._sel_URLForResource_withExtension_1, - name?._id ?? ffi.nullptr, - ext?._id ?? ffi.nullptr); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - NSURL? URLForResource_withExtension_subdirectory_( - NSString? name, NSString? ext, NSString? subpath) { - final _ret = _lib._objc_msgSend_405( - _id, - _lib._sel_URLForResource_withExtension_subdirectory_1, - name?._id ?? ffi.nullptr, - ext?._id ?? ffi.nullptr, - subpath?._id ?? ffi.nullptr); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - NSURL? URLForResource_withExtension_subdirectory_localization_(NSString? name, - NSString? ext, NSString? subpath, NSString? localizationName) { - final _ret = _lib._objc_msgSend_406( - _id, - _lib._sel_URLForResource_withExtension_subdirectory_localization_1, - name?._id ?? ffi.nullptr, - ext?._id ?? ffi.nullptr, - subpath?._id ?? ffi.nullptr, - localizationName?._id ?? ffi.nullptr); - return _ret.address == 0 - ? null - : NSURL._(_ret, _lib, retain: true, release: true); - } - - NSArray? URLsForResourcesWithExtension_subdirectory_( - NSString? ext, NSString? subpath) { - final _ret = _lib._objc_msgSend_407( - _id, - _lib._sel_URLsForResourcesWithExtension_subdirectory_1, - ext?._id ?? ffi.nullptr, - subpath?._id ?? ffi.nullptr); - return _ret.address == 0 - ? null - : NSArray._(_ret, _lib, retain: true, release: true); - } - - NSArray? URLsForResourcesWithExtension_subdirectory_localization_( - NSString? ext, NSString? subpath, NSString? localizationName) { - final _ret = _lib._objc_msgSend_408( - _id, - _lib._sel_URLsForResourcesWithExtension_subdirectory_localization_1, - ext?._id ?? ffi.nullptr, - subpath?._id ?? ffi.nullptr, - localizationName?._id ?? ffi.nullptr); - return _ret.address == 0 - ? null - : NSArray._(_ret, _lib, retain: true, release: true); - } - - static NSString? pathForResource_ofType_inDirectory_( - AuthenticationServices _lib, - NSString? name, - NSString? ext, - NSString bundlePath) { - final _ret = _lib._objc_msgSend_409( - _lib._class_NSBundle1, - _lib._sel_pathForResource_ofType_inDirectory_1, - name?._id ?? ffi.nullptr, - ext?._id ?? ffi.nullptr, - bundlePath._id); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - static NSArray pathsForResourcesOfType_inDirectory_( - AuthenticationServices _lib, NSString? ext, NSString bundlePath) { - final _ret = _lib._objc_msgSend_410( - _lib._class_NSBundle1, - _lib._sel_pathsForResourcesOfType_inDirectory_1, - ext?._id ?? ffi.nullptr, - bundlePath._id); - return NSArray._(_ret, _lib, retain: true, release: true); - } - - NSString? pathForResource_ofType_(NSString? name, NSString? ext) { - final _ret = _lib._objc_msgSend_411(_id, _lib._sel_pathForResource_ofType_1, - name?._id ?? ffi.nullptr, ext?._id ?? ffi.nullptr); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? pathForResource_ofType_inDirectory_forLocalization_(NSString? name, - NSString? ext, NSString? subpath, NSString? localizationName) { - final _ret = _lib._objc_msgSend_412( - _id, - _lib._sel_pathForResource_ofType_inDirectory_forLocalization_1, - name?._id ?? ffi.nullptr, - ext?._id ?? ffi.nullptr, - subpath?._id ?? ffi.nullptr, - localizationName?._id ?? ffi.nullptr); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSArray pathsForResourcesOfType_inDirectory_forLocalization_( - NSString? ext, NSString? subpath, NSString? localizationName) { - final _ret = _lib._objc_msgSend_413( - _id, - _lib._sel_pathsForResourcesOfType_inDirectory_forLocalization_1, - ext?._id ?? ffi.nullptr, - subpath?._id ?? ffi.nullptr, - localizationName?._id ?? ffi.nullptr); - return NSArray._(_ret, _lib, retain: true, release: true); - } - - NSString localizedStringForKey_value_table_( - NSString key, NSString? value, NSString? tableName) { - final _ret = _lib._objc_msgSend_414( - _id, - _lib._sel_localizedStringForKey_value_table_1, - key._id, - value?._id ?? ffi.nullptr, - tableName?._id ?? ffi.nullptr); - return NSString._(_ret, _lib, retain: true, release: true); - } - - NSAttributedString localizedAttributedStringForKey_value_table_( - NSString key, NSString? value, NSString? tableName) { - final _ret = _lib._objc_msgSend_415( - _id, - _lib._sel_localizedAttributedStringForKey_value_table_1, - key._id, - value?._id ?? ffi.nullptr, - tableName?._id ?? ffi.nullptr); - return NSAttributedString._(_ret, _lib, retain: true, release: true); - } - - NSString? get bundleIdentifier { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_bundleIdentifier1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - NSDictionary? get infoDictionary { - final _ret = _lib._objc_msgSend_384(_id, _lib._sel_infoDictionary1); - return _ret.address == 0 - ? null - : NSDictionary._(_ret, _lib, retain: true, release: true); - } - - NSDictionary? get localizedInfoDictionary { - final _ret = - _lib._objc_msgSend_384(_id, _lib._sel_localizedInfoDictionary1); - return _ret.address == 0 - ? null - : NSDictionary._(_ret, _lib, retain: true, release: true); - } - - NSObject? objectForInfoDictionaryKey_(NSString key) { - final _ret = _lib._objc_msgSend_48( - _id, _lib._sel_objectForInfoDictionaryKey_1, key._id); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - NSObject? classNamed_(NSString className) { - final _ret = - _lib._objc_msgSend_48(_id, _lib._sel_classNamed_1, className._id); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - NSObject? get principalClass { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_principalClass1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - NSArray get preferredLocalizations { - final _ret = _lib._objc_msgSend_378(_id, _lib._sel_preferredLocalizations1); - return NSArray._(_ret, _lib, retain: true, release: true); - } - - NSArray get localizations { - final _ret = _lib._objc_msgSend_378(_id, _lib._sel_localizations1); - return NSArray._(_ret, _lib, retain: true, release: true); - } - - NSString? get developmentLocalization { - final _ret = _lib._objc_msgSend_54(_id, _lib._sel_developmentLocalization1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - static NSArray preferredLocalizationsFromArray_( - AuthenticationServices _lib, NSArray localizationsArray) { - final _ret = _lib._objc_msgSend_416(_lib._class_NSBundle1, - _lib._sel_preferredLocalizationsFromArray_1, localizationsArray._id); - return NSArray._(_ret, _lib, retain: true, release: true); - } - - static NSArray preferredLocalizationsFromArray_forPreferences_( - AuthenticationServices _lib, - NSArray localizationsArray, - NSArray? preferencesArray) { - final _ret = _lib._objc_msgSend_417( - _lib._class_NSBundle1, - _lib._sel_preferredLocalizationsFromArray_forPreferences_1, - localizationsArray._id, - preferencesArray?._id ?? ffi.nullptr); - return NSArray._(_ret, _lib, retain: true, release: true); - } - - NSArray? get executableArchitectures { - final _ret = - _lib._objc_msgSend_344(_id, _lib._sel_executableArchitectures1); - return _ret.address == 0 - ? null - : NSArray._(_ret, _lib, retain: true, release: true); - } - - @override - NSBundle init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSBundle._(_ret, _lib, retain: true, release: true); - } - - static NSBundle new1(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSBundle1, _lib._sel_new1); - return NSBundle._(_ret, _lib, retain: false, release: true); - } - - static NSBundle allocWithZone_( - AuthenticationServices _lib, ffi.Pointer<_NSZone> zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSBundle1, _lib._sel_allocWithZone_1, zone); - return NSBundle._(_ret, _lib, retain: false, release: true); - } - - static NSBundle alloc(AuthenticationServices _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSBundle1, _lib._sel_alloc1); - return NSBundle._(_ret, _lib, retain: false, release: true); - } -} - -/// Soft deprecated. -/// Please use `NSApplication`'s `-registerForRemoteNotifications` along with `-requestAuthorizationWithOptions:` from the `UserNotifications.framework` to specify allowable notification types. -abstract class NSRemoteNotificationType { - static const int NSRemoteNotificationTypeNone = 0; - static const int NSRemoteNotificationTypeBadge = 1; - static const int NSRemoteNotificationTypeSound = 2; - static const int NSRemoteNotificationTypeAlert = 4; -} - -final class objc_method extends ffi.Opaque {} - -final class objc_ivar extends ffi.Opaque {} - -final class objc_category extends ffi.Opaque {} - -final class objc_property extends ffi.Opaque {} - -/// Defines a method -final class objc_method_description extends ffi.Struct { - /// < The name of the method - external ffi.Pointer name; - - /// < The types of the method arguments - external ffi.Pointer types; -} - -/// Defines a property attribute -final class objc_property_attribute_t extends ffi.Struct { - /// < The name of the attribute - external ffi.Pointer name; - - /// < The value of the attribute (usually empty) - external ffi.Pointer value; -} - -void _ObjCBlock_ffiVoid_ObjCObject_bool_fnPtrTrampoline( - ffi.Pointer<_ObjCBlock> block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - void Function( - ffi.Pointer, ffi.Pointer)>()(arg0, arg1); -final _ObjCBlock_ffiVoid_ObjCObject_bool_closureRegistry = - , ffi.Pointer)>{}; -int _ObjCBlock_ffiVoid_ObjCObject_bool_closureRegistryIndex = 0; -ffi.Pointer _ObjCBlock_ffiVoid_ObjCObject_bool_registerClosure( - void Function(ffi.Pointer, ffi.Pointer) fn) { - final id = ++_ObjCBlock_ffiVoid_ObjCObject_bool_closureRegistryIndex; - _ObjCBlock_ffiVoid_ObjCObject_bool_closureRegistry[id] = fn; - return ffi.Pointer.fromAddress(id); -} - -void _ObjCBlock_ffiVoid_ObjCObject_bool_closureTrampoline( - ffi.Pointer<_ObjCBlock> block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - _ObjCBlock_ffiVoid_ObjCObject_bool_closureRegistry[ - block.ref.target.address]!(arg0, arg1); - -class ObjCBlock_ffiVoid_ObjCObject_bool extends _ObjCBlockBase { - ObjCBlock_ffiVoid_ObjCObject_bool._( - ffi.Pointer<_ObjCBlock> id, AuthenticationServices lib, - {bool retain = false, bool release = true}) - : super._(id, lib, retain: retain, release: release); - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_ObjCObject_bool.fromFunctionPointer( - AuthenticationServices lib, - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>> - ptr) - : this._( - lib._newBlock1( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer<_ObjCBlock>, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_ObjCObject_bool_fnPtrTrampoline) - .cast(), - ptr.cast()), - lib); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_ObjCObject_bool.fromFunction(AuthenticationServices lib, - void Function(NSObject, ffi.Pointer) fn) - : this._( - lib._newBlock1( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer<_ObjCBlock>, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_ObjCObject_bool_closureTrampoline) - .cast(), - _ObjCBlock_ffiVoid_ObjCObject_bool_registerClosure( - (ffi.Pointer arg0, ffi.Pointer arg1) => - fn(NSObject._(arg0, lib, retain: true, release: true), - arg1))), - lib); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_ObjCObject_bool.listener(AuthenticationServices lib, - void Function(NSObject, ffi.Pointer) fn) - : this._( - lib._newBlock1( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer<_ObjCBlock>, - ffi.Pointer, - ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_ObjCObject_bool_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - _ObjCBlock_ffiVoid_ObjCObject_bool_registerClosure( - (ffi.Pointer arg0, - ffi.Pointer arg1) => - fn(NSObject._(arg0, lib, retain: true, release: true), - arg1))), - lib); - static ffi.NativeCallable< - ffi.Void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, - ffi.Pointer)>? _dartFuncListenerTrampoline; - - void call(NSObject arg0, ffi.Pointer arg1) => _id.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer<_ObjCBlock> block, - ffi.Pointer arg0, ffi.Pointer arg1)>>() - .asFunction< - void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer, - ffi.Pointer)>()(_id, arg0._id, arg1); -} - -abstract class objc_AssociationPolicy { - /// < Specifies an unsafe unretained reference to the associated object. - static const int OBJC_ASSOCIATION_ASSIGN = 0; - - /// < Specifies a strong reference to the associated object. - /// The association is not made atomically. - static const int OBJC_ASSOCIATION_RETAIN_NONATOMIC = 1; - - /// < Specifies that the associated object is copied. - /// The association is not made atomically. - static const int OBJC_ASSOCIATION_COPY_NONATOMIC = 3; - - /// < Specifies a strong reference to the associated object. - /// The association is made atomically. - static const int OBJC_ASSOCIATION_RETAIN = 769; - - /// < Specifies that the associated object is copied. - /// The association is made atomically. - static const int OBJC_ASSOCIATION_COPY = 771; -} - -/// Used by objc_func_loadImage -final class mach_header extends ffi.Opaque {} - -final class objc_method_list extends ffi.Opaque {} diff --git a/packages/celest_auth/lib/src/platform/darwin/authentication_services.yaml b/packages/celest_auth/lib/src/platform/darwin/authentication_services.yaml deleted file mode 100644 index 30090c89..00000000 --- a/packages/celest_auth/lib/src/platform/darwin/authentication_services.yaml +++ /dev/null @@ -1,366 +0,0 @@ -format_version: 1.0.0 -files: - package:celest_auth/src/platform/darwin/authentication_services.ffi.dart: - used-config: - ffi-native: false - symbols: - ObjCObject: - name: ObjCObject - ObjCSel: - name: ObjCSel - c:@E@ASWebAuthenticationSessionErrorCode: - name: ASWebAuthenticationSessionErrorCode - c:@E@NSAlignmentOptions: - name: NSAlignmentOptions - c:@E@NSApplicationActivationOptions: - name: NSApplicationActivationOptions - c:@E@NSApplicationActivationPolicy: - name: NSApplicationActivationPolicy - c:@E@NSApplicationDelegateReply: - name: NSApplicationDelegateReply - c:@E@NSApplicationOcclusionState: - name: NSApplicationOcclusionState - c:@E@NSApplicationPresentationOptions: - name: NSApplicationPresentationOptions - c:@E@NSAutoresizingMaskOptions: - name: NSAutoresizingMaskOptions - c:@E@NSBackingStoreType: - name: NSBackingStoreType - c:@E@NSComparisonResult: - name: NSComparisonResult - c:@E@NSDisplayGamut: - name: NSDisplayGamut - c:@E@NSEventButtonMask: - name: NSEventButtonMask - c:@E@NSEventGestureAxis: - name: NSEventGestureAxis - c:@E@NSEventMask: - name: NSEventMask - c:@E@NSEventModifierFlags: - name: NSEventModifierFlags - c:@E@NSEventPhase: - name: NSEventPhase - c:@E@NSEventSubtype: - name: NSEventSubtype - c:@E@NSEventSwipeTrackingOptions: - name: NSEventSwipeTrackingOptions - c:@E@NSEventType: - name: NSEventType - c:@E@NSPasteboardContentsOptions: - name: NSPasteboardContentsOptions - c:@E@NSPointingDeviceType: - name: NSPointingDeviceType - c:@E@NSPressureBehavior: - name: NSPressureBehavior - c:@E@NSRectEdge: - name: NSRectEdge - c:@E@NSRemoteNotificationType: - name: NSRemoteNotificationType - c:@E@NSRequestUserAttentionType: - name: NSRequestUserAttentionType - c:@E@NSSelectionDirection: - name: NSSelectionDirection - c:@E@NSTextAlignment: - name: NSTextAlignment - c:@E@NSTitlebarSeparatorStyle: - name: NSTitlebarSeparatorStyle - c:@E@NSTouchPhase: - name: NSTouchPhase - c:@E@NSURLBookmarkCreationOptions: - name: NSURLBookmarkCreationOptions - c:@E@NSURLBookmarkResolutionOptions: - name: NSURLBookmarkResolutionOptions - c:@E@NSUserInterfaceLayoutDirection: - name: NSUserInterfaceLayoutDirection - c:@E@NSViewLayerContentsPlacement: - name: NSViewLayerContentsPlacement - c:@E@NSViewLayerContentsRedrawPolicy: - name: NSViewLayerContentsRedrawPolicy - c:@E@NSWindowAnimationBehavior: - name: NSWindowAnimationBehavior - c:@E@NSWindowBackingLocation: - name: NSWindowBackingLocation - c:@E@NSWindowButton: - name: NSWindowButton - c:@E@NSWindowCollectionBehavior: - name: NSWindowCollectionBehavior - c:@E@NSWindowDepth: - name: NSWindowDepth - c:@E@NSWindowListOptions: - name: NSWindowListOptions - c:@E@NSWindowNumberListOptions: - name: NSWindowNumberListOptions - c:@E@NSWindowOcclusionState: - name: NSWindowOcclusionState - c:@E@NSWindowOrderingMode: - name: NSWindowOrderingMode - c:@E@NSWindowSharingType: - name: NSWindowSharingType - c:@E@NSWindowStyleMask: - name: NSWindowStyleMask - c:@E@NSWindowTabbingMode: - name: NSWindowTabbingMode - c:@E@NSWindowTitleVisibility: - name: NSWindowTitleVisibility - c:@E@NSWindowToolbarStyle: - name: NSWindowToolbarStyle - c:@E@NSWindowUserTabbingPreference: - name: NSWindowUserTabbingPreference - c:@E@NSWritingDirection: - name: NSWritingDirection - c:@E@objc_AssociationPolicy: - name: objc_AssociationPolicy - c:@F@objc_addLoadImageFunc: - name: objc_addLoadImageFunc - c:@F@objc_allocateClassPair: - name: objc_allocateClassPair - c:@F@objc_allocateProtocol: - name: objc_allocateProtocol - c:@F@objc_constructInstance: - name: objc_constructInstance - c:@F@objc_copyClassList: - name: objc_copyClassList - c:@F@objc_copyClassNamesForImage: - name: objc_copyClassNamesForImage - c:@F@objc_copyImageNames: - name: objc_copyImageNames - c:@F@objc_copyProtocolList: - name: objc_copyProtocolList - c:@F@objc_destructInstance: - name: objc_destructInstance - c:@F@objc_disposeClassPair: - name: objc_disposeClassPair - c:@F@objc_duplicateClass: - name: objc_duplicateClass - c:@F@objc_enumerateClasses: - name: objc_enumerateClasses - c:@F@objc_enumerationMutation: - name: objc_enumerationMutation - c:@F@objc_getAssociatedObject: - name: objc_getAssociatedObject - c:@F@objc_getClass: - name: objc_getClass - c:@F@objc_getClassList: - name: objc_getClassList - c:@F@objc_getFutureClass: - name: objc_getFutureClass - c:@F@objc_getMetaClass: - name: objc_getMetaClass - c:@F@objc_getProtocol: - name: objc_getProtocol - c:@F@objc_getRequiredClass: - name: objc_getRequiredClass - c:@F@objc_loadWeak: - name: objc_loadWeak - c:@F@objc_lookUpClass: - name: objc_lookUpClass - c:@F@objc_registerClassPair: - name: objc_registerClassPair - c:@F@objc_registerProtocol: - name: objc_registerProtocol - c:@F@objc_removeAssociatedObjects: - name: objc_removeAssociatedObjects - c:@F@objc_setAssociatedObject: - name: objc_setAssociatedObject - c:@F@objc_setEnumerationMutationHandler: - name: objc_setEnumerationMutationHandler - c:@F@objc_setForwardHandler: - name: objc_setForwardHandler - c:@F@objc_setHook_getClass: - name: objc_setHook_getClass - c:@F@objc_setHook_getImageName: - name: objc_setHook_getImageName - c:@F@objc_setHook_lazyClassNamer: - name: objc_setHook_lazyClassNamer - c:@F@objc_storeWeak: - name: objc_storeWeak - c:@F@protocol_addMethodDescription: - name: protocol_addMethodDescription - c:@F@protocol_addProperty: - name: protocol_addProperty - c:@F@protocol_addProtocol: - name: protocol_addProtocol - c:@F@protocol_conformsToProtocol: - name: protocol_conformsToProtocol - c:@F@protocol_copyMethodDescriptionList: - name: protocol_copyMethodDescriptionList - c:@F@protocol_copyPropertyList: - name: protocol_copyPropertyList - c:@F@protocol_copyPropertyList2: - name: protocol_copyPropertyList2 - c:@F@protocol_copyProtocolList: - name: protocol_copyProtocolList - c:@F@protocol_getMethodDescription: - name: protocol_getMethodDescription - c:@F@protocol_getName: - name: protocol_getName - c:@F@protocol_getProperty: - name: protocol_getProperty - c:@F@protocol_isEqual: - name: protocol_isEqual - c:@S@CGPoint: - name: CGPoint - c:@S@CGRect: - name: CGRect - c:@S@CGSize: - name: CGSize - c:@S@_NSModalSession: - name: _NSModalSession - c:@S@_NSRange: - name: _NSRange - c:@S@_NSZone: - name: _NSZone - c:@S@__CGEvent: - name: __CGEvent - c:@S@mach_header: - name: mach_header - c:@S@objc_category: - name: objc_category - c:@S@objc_ivar: - name: objc_ivar - c:@S@objc_method: - name: objc_method - c:@S@objc_method_description: - name: objc_method_description - c:@S@objc_method_list: - name: objc_method_list - c:@S@objc_property: - name: objc_property - c:@SA@objc_property_attribute_t: - name: objc_property_attribute_t - c:@T@instancetype: - name: instancetype - c:ASWebAuthenticationSession.h@T@ASWebAuthenticationSessionCompletionHandler: - name: ASWebAuthenticationSessionCompletionHandler - c:objc(cs)ASWebAuthenticationSession: - name: ASWebAuthenticationSession - c:objc(cs)CADisplayLink: - name: CADisplayLink - c:objc(cs)CALayer: - name: CALayer - c:objc(cs)CIFilter: - name: CIFilter - c:objc(cs)NSAppearance: - name: NSAppearance - c:objc(cs)NSApplication: - name: NSApplication - c:objc(cs)NSArray: - name: NSArray - c:objc(cs)NSAttributedString: - name: NSAttributedString - c:objc(cs)NSBitmapImageRep: - name: NSBitmapImageRep - c:objc(cs)NSBundle: - name: NSBundle - c:objc(cs)NSButton: - name: NSButton - c:objc(cs)NSButtonCell: - name: NSButtonCell - c:objc(cs)NSCoder: - name: NSCoder - c:objc(cs)NSColor: - name: NSColor - c:objc(cs)NSColorSpace: - name: NSColorSpace - c:objc(cs)NSData: - name: NSData - c:objc(cs)NSDate: - name: NSDate - c:objc(cs)NSDictionary: - name: NSDictionary - c:objc(cs)NSDockTile: - name: NSDockTile - c:objc(cs)NSError: - name: NSError - c:objc(cs)NSEvent: - name: NSEvent - c:objc(cs)NSException: - name: NSException - c:objc(cs)NSFont: - name: NSFont - c:objc(cs)NSGraphicsContext: - name: NSGraphicsContext - c:objc(cs)NSImage: - name: NSImage - c:objc(cs)NSInvocation: - name: NSInvocation - c:objc(cs)NSMenu: - name: NSMenu - c:objc(cs)NSMenuItem: - name: NSMenuItem - c:objc(cs)NSMenuItemBadge: - name: NSMenuItemBadge - c:objc(cs)NSMethodSignature: - name: NSMethodSignature - c:objc(cs)NSNumber: - name: NSNumber - c:objc(cs)NSObject: - name: NSObject - c:objc(cs)NSPasteboard: - name: NSPasteboard - c:objc(cs)NSPasteboardItem: - name: NSPasteboardItem - c:objc(cs)NSResponder: - name: NSResponder - c:objc(cs)NSRunningApplication: - name: NSRunningApplication - c:objc(cs)NSScreen: - name: NSScreen - c:objc(cs)NSScrollView: - name: NSScrollView - c:objc(cs)NSShadow: - name: NSShadow - c:objc(cs)NSString: - name: NSString - c:objc(cs)NSText: - name: NSText - c:objc(cs)NSTextInputContext: - name: NSTextInputContext - c:objc(cs)NSTitlebarAccessoryViewController: - name: NSTitlebarAccessoryViewController - c:objc(cs)NSToolbar: - name: NSToolbar - c:objc(cs)NSTouch: - name: NSTouch - c:objc(cs)NSTrackingArea: - name: NSTrackingArea - c:objc(cs)NSURL: - name: NSURL - c:objc(cs)NSValue: - name: NSValue - c:objc(cs)NSView: - name: NSView - c:objc(cs)NSViewController: - name: NSViewController - c:objc(cs)NSWindow: - name: NSWindow - c:objc(cs)NSWindowController: - name: NSWindowController - c:objc(cs)NSWindowTab: - name: NSWindowTab - c:objc(cs)NSWindowTabGroup: - name: NSWindowTabGroup - c:objc(cs)Protocol: - name: Protocol - "objcBlock: 9pebjx": - name: ObjCBlock_ffiVoid - "objcBlock: 9pebjx 1ybxrl": - name: ObjCBlock_ffiVoid_ffiLong - "objcBlock: 9pebjx 4h1qi5 bool*": - name: ObjCBlock_ffiVoid_NSWindow_bool - "objcBlock: 9pebjx 4zw819? em34eq?": - name: ObjCBlock_ffiVoid_NSURL_NSError - "objcBlock: 9pebjx a2pk9j h5yc50 bool bool*": - name: ObjCBlock_ffiVoid_ffiDouble_NSEventPhase_bool_bool - "objcBlock: 9pebjx em34eq?": - name: ObjCBlock_ffiVoid_NSError - "objcBlock: 9pebjx ep7r3p": - name: ObjCBlock_ffiVoid_NSEvent - "objcBlock: 9pebjx ep7r3p? bool*": - name: ObjCBlock_ffiVoid_NSEvent_bool - "objcBlock: 9pebjx eruvzs* bool*": - name: ObjCBlock_ffiVoid_ObjCObject_bool - "objcBlock: ep7r3p? ep7r3p": - name: ObjCBlock_NSEvent_NSEvent - "objcBlock: eruvzs*? em34eq 1xwvun": - name: ObjCBlock_ObjCObject_NSError_NSString diff --git a/packages/celest_auth/lib/src/platform/darwin/uikit.ffi.dart b/packages/celest_auth/lib/src/platform/darwin/uikit.ffi.dart deleted file mode 100644 index 53434439..00000000 --- a/packages/celest_auth/lib/src/platform/darwin/uikit.ffi.dart +++ /dev/null @@ -1,8880 +0,0 @@ -// ignore_for_file: type=lint -// ignore_for_file: return_of_invalid_type -// ignore_for_file: unnecessary_non_null_assertion - -// AUTO GENERATED FILE, DO NOT EDIT. -// -// Generated by `package:ffigen`. -import 'dart:ffi' as ffi; -import 'package:ffi/ffi.dart' as pkg_ffi; -import 'package:celest_auth/src/platform/darwin/foundation.ffi.dart' as imp1; - -/// Bindings for UIKit on iOS. -/// -/// Regenerate bindings with `dart run ffigen --config=ffigen.uikit.yaml`. -/// -class UIKit { - /// Holds the symbol lookup function. - final ffi.Pointer Function(String symbolName) - _lookup; - - /// The symbols are looked up in [dynamicLibrary]. - UIKit(ffi.DynamicLibrary dynamicLibrary) : _lookup = dynamicLibrary.lookup; - - /// The symbols are looked up with [lookup]. - UIKit.fromLookup( - ffi.Pointer Function(String symbolName) - lookup) - : _lookup = lookup; - - ffi.Pointer _registerName1(String name) { - final cstr = name.toNativeUtf8(); - final sel = _sel_registerName(cstr.cast()); - pkg_ffi.calloc.free(cstr); - return sel; - } - - ffi.Pointer _sel_registerName( - ffi.Pointer str, - ) { - return __sel_registerName( - str, - ); - } - - late final __sel_registerNamePtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer)>>('sel_registerName'); - late final __sel_registerName = __sel_registerNamePtr - .asFunction Function(ffi.Pointer)>(); - - ffi.Pointer _getClass1(String name) { - final cstr = name.toNativeUtf8(); - final clazz = _objc_getClass(cstr.cast()); - pkg_ffi.calloc.free(cstr); - if (clazz == ffi.nullptr) { - throw Exception('Failed to load Objective-C class: $name'); - } - return clazz; - } - - ffi.Pointer _objc_getClass( - ffi.Pointer str, - ) { - return __objc_getClass( - str, - ); - } - - late final __objc_getClassPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer)>>('objc_getClass'); - late final __objc_getClass = __objc_getClassPtr - .asFunction Function(ffi.Pointer)>(); - - ffi.Pointer _objc_retain( - ffi.Pointer value, - ) { - return __objc_retain( - value, - ); - } - - late final __objc_retainPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer)>>('objc_retain'); - late final __objc_retain = __objc_retainPtr - .asFunction Function(ffi.Pointer)>(); - - void _objc_release( - ffi.Pointer value, - ) { - return __objc_release( - value, - ); - } - - late final __objc_releasePtr = - _lookup)>>( - 'objc_release'); - late final __objc_release = - __objc_releasePtr.asFunction)>(); - - late final _objc_releaseFinalizer2 = - ffi.NativeFinalizer(__objc_releasePtr.cast()); - late final _class_UIWindow1 = _getClass1("UIWindow"); - bool _objc_msgSend_0( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer clazz, - ) { - return __objc_msgSend_0( - obj, - sel, - clazz, - ); - } - - late final __objc_msgSend_0Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_0 = __objc_msgSend_0Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_isKindOfClass_1 = _registerName1("isKindOfClass:"); - late final _class_UIView1 = _getClass1("UIView"); - late final _class_UIResponder1 = _getClass1("UIResponder"); - late final _class_NSObject1 = _getClass1("NSObject"); - late final _sel_load1 = _registerName1("load"); - void _objc_msgSend_1( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_1( - obj, - sel, - ); - } - - late final __objc_msgSend_1Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_1 = __objc_msgSend_1Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_initialize1 = _registerName1("initialize"); - late final _sel_init1 = _registerName1("init"); - instancetype _objc_msgSend_2( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_2( - obj, - sel, - ); - } - - late final __objc_msgSend_2Ptr = _lookup< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_2 = __objc_msgSend_2Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_new1 = _registerName1("new"); - late final _sel_allocWithZone_1 = _registerName1("allocWithZone:"); - instancetype _objc_msgSend_3( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer zone, - ) { - return __objc_msgSend_3( - obj, - sel, - zone, - ); - } - - late final __objc_msgSend_3Ptr = _lookup< - ffi.NativeFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_3 = __objc_msgSend_3Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_alloc1 = _registerName1("alloc"); - late final _sel_dealloc1 = _registerName1("dealloc"); - late final _sel_finalize1 = _registerName1("finalize"); - late final _sel_copy1 = _registerName1("copy"); - late final _sel_mutableCopy1 = _registerName1("mutableCopy"); - late final _sel_copyWithZone_1 = _registerName1("copyWithZone:"); - late final _sel_mutableCopyWithZone_1 = - _registerName1("mutableCopyWithZone:"); - late final _sel_instancesRespondToSelector_1 = - _registerName1("instancesRespondToSelector:"); - bool _objc_msgSend_4( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer aSelector, - ) { - return __objc_msgSend_4( - obj, - sel, - aSelector, - ); - } - - late final __objc_msgSend_4Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_4 = __objc_msgSend_4Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _class_Protocol1 = _getClass1("Protocol"); - late final _sel_conformsToProtocol_1 = _registerName1("conformsToProtocol:"); - bool _objc_msgSend_5( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer protocol, - ) { - return __objc_msgSend_5( - obj, - sel, - protocol, - ); - } - - late final __objc_msgSend_5Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_5 = __objc_msgSend_5Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_methodForSelector_1 = _registerName1("methodForSelector:"); - ffi.Pointer> _objc_msgSend_6( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer aSelector, - ) { - return __objc_msgSend_6( - obj, - sel, - aSelector, - ); - } - - late final __objc_msgSend_6Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer> Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_6 = __objc_msgSend_6Ptr.asFunction< - ffi.Pointer> Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_instanceMethodForSelector_1 = - _registerName1("instanceMethodForSelector:"); - late final _sel_doesNotRecognizeSelector_1 = - _registerName1("doesNotRecognizeSelector:"); - void _objc_msgSend_7( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer aSelector, - ) { - return __objc_msgSend_7( - obj, - sel, - aSelector, - ); - } - - late final __objc_msgSend_7Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_7 = __objc_msgSend_7Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_forwardingTargetForSelector_1 = - _registerName1("forwardingTargetForSelector:"); - ffi.Pointer _objc_msgSend_8( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer aSelector, - ) { - return __objc_msgSend_8( - obj, - sel, - aSelector, - ); - } - - late final __objc_msgSend_8Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_8 = __objc_msgSend_8Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _class_NSInvocation1 = _getClass1("NSInvocation"); - late final _class_NSMethodSignature1 = _getClass1("NSMethodSignature"); - late final _sel_signatureWithObjCTypes_1 = - _registerName1("signatureWithObjCTypes:"); - ffi.Pointer _objc_msgSend_9( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer types, - ) { - return __objc_msgSend_9( - obj, - sel, - types, - ); - } - - late final __objc_msgSend_9Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_9 = __objc_msgSend_9Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_numberOfArguments1 = _registerName1("numberOfArguments"); - int _objc_msgSend_10( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_10( - obj, - sel, - ); - } - - late final __objc_msgSend_10Ptr = _lookup< - ffi.NativeFunction< - ffi.UnsignedLong Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_10 = __objc_msgSend_10Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_getArgumentTypeAtIndex_1 = - _registerName1("getArgumentTypeAtIndex:"); - ffi.Pointer _objc_msgSend_11( - ffi.Pointer obj, - ffi.Pointer sel, - int idx, - ) { - return __objc_msgSend_11( - obj, - sel, - idx, - ); - } - - late final __objc_msgSend_11Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); - late final __objc_msgSend_11 = __objc_msgSend_11Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_frameLength1 = _registerName1("frameLength"); - late final _sel_isOneway1 = _registerName1("isOneway"); - bool _objc_msgSend_12( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_12( - obj, - sel, - ); - } - - late final __objc_msgSend_12Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_12 = __objc_msgSend_12Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_methodReturnType1 = _registerName1("methodReturnType"); - ffi.Pointer _objc_msgSend_13( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_13( - obj, - sel, - ); - } - - late final __objc_msgSend_13Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_13 = __objc_msgSend_13Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_methodReturnLength1 = _registerName1("methodReturnLength"); - late final _sel_invocationWithMethodSignature_1 = - _registerName1("invocationWithMethodSignature:"); - ffi.Pointer _objc_msgSend_14( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer sig, - ) { - return __objc_msgSend_14( - obj, - sel, - sig, - ); - } - - late final __objc_msgSend_14Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_14 = __objc_msgSend_14Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_methodSignature1 = _registerName1("methodSignature"); - ffi.Pointer _objc_msgSend_15( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_15( - obj, - sel, - ); - } - - late final __objc_msgSend_15Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_15 = __objc_msgSend_15Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_retainArguments1 = _registerName1("retainArguments"); - late final _sel_argumentsRetained1 = _registerName1("argumentsRetained"); - late final _sel_target1 = _registerName1("target"); - ffi.Pointer _objc_msgSend_16( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_16( - obj, - sel, - ); - } - - late final __objc_msgSend_16Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_16 = __objc_msgSend_16Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setTarget_1 = _registerName1("setTarget:"); - void _objc_msgSend_17( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_17( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_17Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_17 = __objc_msgSend_17Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_selector1 = _registerName1("selector"); - ffi.Pointer _objc_msgSend_18( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_18( - obj, - sel, - ); - } - - late final __objc_msgSend_18Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_18 = __objc_msgSend_18Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setSelector_1 = _registerName1("setSelector:"); - void _objc_msgSend_19( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_19( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_19Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_19 = __objc_msgSend_19Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_getReturnValue_1 = _registerName1("getReturnValue:"); - void _objc_msgSend_20( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer retLoc, - ) { - return __objc_msgSend_20( - obj, - sel, - retLoc, - ); - } - - late final __objc_msgSend_20Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_20 = __objc_msgSend_20Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_setReturnValue_1 = _registerName1("setReturnValue:"); - late final _sel_getArgument_atIndex_1 = - _registerName1("getArgument:atIndex:"); - void _objc_msgSend_21( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer argumentLocation, - int idx, - ) { - return __objc_msgSend_21( - obj, - sel, - argumentLocation, - idx, - ); - } - - late final __objc_msgSend_21Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Long)>>('objc_msgSend'); - late final __objc_msgSend_21 = __objc_msgSend_21Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, int)>(); - - late final _sel_setArgument_atIndex_1 = - _registerName1("setArgument:atIndex:"); - late final _sel_invoke1 = _registerName1("invoke"); - late final _sel_invokeWithTarget_1 = _registerName1("invokeWithTarget:"); - void _objc_msgSend_22( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer target, - ) { - return __objc_msgSend_22( - obj, - sel, - target, - ); - } - - late final __objc_msgSend_22Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_22 = __objc_msgSend_22Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_invokeUsingIMP_1 = _registerName1("invokeUsingIMP:"); - void _objc_msgSend_23( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer> imp, - ) { - return __objc_msgSend_23( - obj, - sel, - imp, - ); - } - - late final __objc_msgSend_23Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer>)>>( - 'objc_msgSend'); - late final __objc_msgSend_23 = __objc_msgSend_23Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer>)>(); - - late final _sel_forwardInvocation_1 = _registerName1("forwardInvocation:"); - void _objc_msgSend_24( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer anInvocation, - ) { - return __objc_msgSend_24( - obj, - sel, - anInvocation, - ); - } - - late final __objc_msgSend_24Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_24 = __objc_msgSend_24Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_methodSignatureForSelector_1 = - _registerName1("methodSignatureForSelector:"); - ffi.Pointer _objc_msgSend_25( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer aSelector, - ) { - return __objc_msgSend_25( - obj, - sel, - aSelector, - ); - } - - late final __objc_msgSend_25Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_25 = __objc_msgSend_25Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_instanceMethodSignatureForSelector_1 = - _registerName1("instanceMethodSignatureForSelector:"); - late final _sel_allowsWeakReference1 = _registerName1("allowsWeakReference"); - late final _sel_retainWeakReference1 = _registerName1("retainWeakReference"); - late final _sel_isSubclassOfClass_1 = _registerName1("isSubclassOfClass:"); - late final _sel_resolveClassMethod_1 = _registerName1("resolveClassMethod:"); - late final _sel_resolveInstanceMethod_1 = - _registerName1("resolveInstanceMethod:"); - late final _sel_hash1 = _registerName1("hash"); - late final _sel_superclass1 = _registerName1("superclass"); - late final _sel_class1 = _registerName1("class"); - late final _class_NSString1 = _getClass1("NSString"); - late final _sel_length1 = _registerName1("length"); - late final _sel_characterAtIndex_1 = _registerName1("characterAtIndex:"); - int _objc_msgSend_26( - ffi.Pointer obj, - ffi.Pointer sel, - int index, - ) { - return __objc_msgSend_26( - obj, - sel, - index, - ); - } - - late final __objc_msgSend_26Ptr = _lookup< - ffi.NativeFunction< - ffi.UnsignedShort Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); - late final __objc_msgSend_26 = __objc_msgSend_26Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _class_NSCoder1 = _getClass1("NSCoder"); - late final _sel_encodeValueOfObjCType_at_1 = - _registerName1("encodeValueOfObjCType:at:"); - void _objc_msgSend_27( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer type, - ffi.Pointer addr, - ) { - return __objc_msgSend_27( - obj, - sel, - type, - addr, - ); - } - - late final __objc_msgSend_27Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_27 = __objc_msgSend_27Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _class_NSData1 = _getClass1("NSData"); - late final _sel_bytes1 = _registerName1("bytes"); - ffi.Pointer _objc_msgSend_28( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_28( - obj, - sel, - ); - } - - late final __objc_msgSend_28Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_28 = __objc_msgSend_28Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_encodeDataObject_1 = _registerName1("encodeDataObject:"); - void _objc_msgSend_29( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer data, - ) { - return __objc_msgSend_29( - obj, - sel, - data, - ); - } - - late final __objc_msgSend_29Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_29 = __objc_msgSend_29Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_decodeDataObject1 = _registerName1("decodeDataObject"); - ffi.Pointer _objc_msgSend_30( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_30( - obj, - sel, - ); - } - - late final __objc_msgSend_30Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_30 = __objc_msgSend_30Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_decodeValueOfObjCType_at_size_1 = - _registerName1("decodeValueOfObjCType:at:size:"); - void _objc_msgSend_31( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer type, - ffi.Pointer data, - int size, - ) { - return __objc_msgSend_31( - obj, - sel, - type, - data, - size, - ); - } - - late final __objc_msgSend_31Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong)>>('objc_msgSend'); - late final __objc_msgSend_31 = __objc_msgSend_31Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_versionForClassName_1 = - _registerName1("versionForClassName:"); - int _objc_msgSend_32( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer className, - ) { - return __objc_msgSend_32( - obj, - sel, - className, - ); - } - - late final __objc_msgSend_32Ptr = _lookup< - ffi.NativeFunction< - ffi.Long Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_32 = __objc_msgSend_32Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_initWithCoder_1 = _registerName1("initWithCoder:"); - instancetype _objc_msgSend_33( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer coder, - ) { - return __objc_msgSend_33( - obj, - sel, - coder, - ); - } - - late final __objc_msgSend_33Ptr = _lookup< - ffi.NativeFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_33 = __objc_msgSend_33Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_stringWithCharacters_length_1 = - _registerName1("stringWithCharacters:length:"); - ffi.Pointer _objc_msgSend_34( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer characters, - int length, - ) { - return __objc_msgSend_34( - obj, - sel, - characters, - length, - ); - } - - late final __objc_msgSend_34Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedInt)>>('objc_msgSend'); - late final __objc_msgSend_34 = __objc_msgSend_34Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_dataUsingEncoding_1 = _registerName1("dataUsingEncoding:"); - ffi.Pointer _objc_msgSend_35( - ffi.Pointer obj, - ffi.Pointer sel, - int encoding, - ) { - return __objc_msgSend_35( - obj, - sel, - encoding, - ); - } - - late final __objc_msgSend_35Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedInt)>>('objc_msgSend'); - late final __objc_msgSend_35 = __objc_msgSend_35Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_description1 = _registerName1("description"); - ffi.Pointer _objc_msgSend_36( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_36( - obj, - sel, - ); - } - - late final __objc_msgSend_36Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_36 = __objc_msgSend_36Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_debugDescription1 = _registerName1("debugDescription"); - late final _sel_nextResponder1 = _registerName1("nextResponder"); - ffi.Pointer _objc_msgSend_37( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_37( - obj, - sel, - ); - } - - late final __objc_msgSend_37Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_37 = __objc_msgSend_37Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_canBecomeFirstResponder1 = - _registerName1("canBecomeFirstResponder"); - late final _sel_becomeFirstResponder1 = - _registerName1("becomeFirstResponder"); - late final _sel_canResignFirstResponder1 = - _registerName1("canResignFirstResponder"); - late final _sel_resignFirstResponder1 = - _registerName1("resignFirstResponder"); - late final _sel_isFirstResponder1 = _registerName1("isFirstResponder"); - late final _class_UIEvent1 = _getClass1("UIEvent"); - late final _sel_type1 = _registerName1("type"); - int _objc_msgSend_38( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_38( - obj, - sel, - ); - } - - late final __objc_msgSend_38Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_38 = __objc_msgSend_38Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_subtype1 = _registerName1("subtype"); - int _objc_msgSend_39( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_39( - obj, - sel, - ); - } - - late final __objc_msgSend_39Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_39 = __objc_msgSend_39Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_timestamp1 = _registerName1("timestamp"); - late final _objc_msgSend_useVariants1 = ffi.Abi.current() == ffi.Abi.iosX64 || - ffi.Abi.current() == ffi.Abi.macosX64; - double _objc_msgSend_40( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_40( - obj, - sel, - ); - } - - late final __objc_msgSend_40Ptr = _lookup< - ffi.NativeFunction< - ffi.Double Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_40 = __objc_msgSend_40Ptr.asFunction< - double Function(ffi.Pointer, ffi.Pointer)>(); - - double _objc_msgSend_40_fpret( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_40_fpret( - obj, - sel, - ); - } - - late final __objc_msgSend_40_fpretPtr = _lookup< - ffi.NativeFunction< - ffi.Double Function(ffi.Pointer, - ffi.Pointer)>>('objc_msgSend_fpret'); - late final __objc_msgSend_40_fpret = __objc_msgSend_40_fpretPtr.asFunction< - double Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_modifierFlags1 = _registerName1("modifierFlags"); - int _objc_msgSend_41( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_41( - obj, - sel, - ); - } - - late final __objc_msgSend_41Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_41 = __objc_msgSend_41Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_buttonMask1 = _registerName1("buttonMask"); - int _objc_msgSend_42( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_42( - obj, - sel, - ); - } - - late final __objc_msgSend_42Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_42 = __objc_msgSend_42Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_allTouches1 = _registerName1("allTouches"); - late final _sel_touchesForWindow_1 = _registerName1("touchesForWindow:"); - ffi.Pointer _objc_msgSend_43( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer window, - ) { - return __objc_msgSend_43( - obj, - sel, - window, - ); - } - - late final __objc_msgSend_43Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_43 = __objc_msgSend_43Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_touchesForView_1 = _registerName1("touchesForView:"); - ffi.Pointer _objc_msgSend_44( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer view, - ) { - return __objc_msgSend_44( - obj, - sel, - view, - ); - } - - late final __objc_msgSend_44Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_44 = __objc_msgSend_44Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _class_UIGestureRecognizer1 = _getClass1("UIGestureRecognizer"); - late final _sel_touchesForGestureRecognizer_1 = - _registerName1("touchesForGestureRecognizer:"); - ffi.Pointer _objc_msgSend_45( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer gesture, - ) { - return __objc_msgSend_45( - obj, - sel, - gesture, - ); - } - - late final __objc_msgSend_45Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_45 = __objc_msgSend_45Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _class_UITouch1 = _getClass1("UITouch"); - late final _sel_phase1 = _registerName1("phase"); - int _objc_msgSend_46( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_46( - obj, - sel, - ); - } - - late final __objc_msgSend_46Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_46 = __objc_msgSend_46Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_tapCount1 = _registerName1("tapCount"); - int _objc_msgSend_47( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_47( - obj, - sel, - ); - } - - late final __objc_msgSend_47Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_47 = __objc_msgSend_47Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_majorRadius1 = _registerName1("majorRadius"); - late final _sel_majorRadiusTolerance1 = - _registerName1("majorRadiusTolerance"); - late final _sel_window1 = _registerName1("window"); - ffi.Pointer _objc_msgSend_48( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_48( - obj, - sel, - ); - } - - late final __objc_msgSend_48Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_48 = __objc_msgSend_48Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_view1 = _registerName1("view"); - ffi.Pointer _objc_msgSend_49( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_49( - obj, - sel, - ); - } - - late final __objc_msgSend_49Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_49 = __objc_msgSend_49Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_gestureRecognizers1 = _registerName1("gestureRecognizers"); - late final _sel_locationInView_1 = _registerName1("locationInView:"); - CGPoint _objc_msgSend_50( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer view, - ) { - return __objc_msgSend_50( - obj, - sel, - view, - ); - } - - late final __objc_msgSend_50Ptr = _lookup< - ffi.NativeFunction< - CGPoint Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_50 = __objc_msgSend_50Ptr.asFunction< - CGPoint Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - void _objc_msgSend_50_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer view, - ) { - return __objc_msgSend_50_stret( - stret, - obj, - sel, - view, - ); - } - - late final __objc_msgSend_50_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend_stret'); - late final __objc_msgSend_50_stret = __objc_msgSend_50_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_previousLocationInView_1 = - _registerName1("previousLocationInView:"); - late final _sel_preciseLocationInView_1 = - _registerName1("preciseLocationInView:"); - late final _sel_precisePreviousLocationInView_1 = - _registerName1("precisePreviousLocationInView:"); - late final _sel_force1 = _registerName1("force"); - late final _sel_maximumPossibleForce1 = - _registerName1("maximumPossibleForce"); - late final _sel_azimuthAngleInView_1 = _registerName1("azimuthAngleInView:"); - double _objc_msgSend_51( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer view, - ) { - return __objc_msgSend_51( - obj, - sel, - view, - ); - } - - late final __objc_msgSend_51Ptr = _lookup< - ffi.NativeFunction< - ffi.Double Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_51 = __objc_msgSend_51Ptr.asFunction< - double Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - double _objc_msgSend_51_fpret( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer view, - ) { - return __objc_msgSend_51_fpret( - obj, - sel, - view, - ); - } - - late final __objc_msgSend_51_fpretPtr = _lookup< - ffi.NativeFunction< - ffi.Double Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend_fpret'); - late final __objc_msgSend_51_fpret = __objc_msgSend_51_fpretPtr.asFunction< - double Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_azimuthUnitVectorInView_1 = - _registerName1("azimuthUnitVectorInView:"); - CGVector _objc_msgSend_52( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer view, - ) { - return __objc_msgSend_52( - obj, - sel, - view, - ); - } - - late final __objc_msgSend_52Ptr = _lookup< - ffi.NativeFunction< - CGVector Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_52 = __objc_msgSend_52Ptr.asFunction< - CGVector Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - void _objc_msgSend_52_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer view, - ) { - return __objc_msgSend_52_stret( - stret, - obj, - sel, - view, - ); - } - - late final __objc_msgSend_52_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend_stret'); - late final __objc_msgSend_52_stret = __objc_msgSend_52_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_altitudeAngle1 = _registerName1("altitudeAngle"); - late final _class_NSNumber1 = _getClass1("NSNumber"); - late final _class_NSValue1 = _getClass1("NSValue"); - late final _sel_getValue_size_1 = _registerName1("getValue:size:"); - void _objc_msgSend_53( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - int size, - ) { - return __objc_msgSend_53( - obj, - sel, - value, - size, - ); - } - - late final __objc_msgSend_53Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); - late final __objc_msgSend_53 = __objc_msgSend_53Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, int)>(); - - late final _sel_objCType1 = _registerName1("objCType"); - late final _sel_initWithBytes_objCType_1 = - _registerName1("initWithBytes:objCType:"); - instancetype _objc_msgSend_54( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ffi.Pointer type, - ) { - return __objc_msgSend_54( - obj, - sel, - value, - type, - ); - } - - late final __objc_msgSend_54Ptr = _lookup< - ffi.NativeFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_54 = __objc_msgSend_54Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_initWithChar_1 = _registerName1("initWithChar:"); - ffi.Pointer _objc_msgSend_55( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_55( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_55Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Char)>>('objc_msgSend'); - late final __objc_msgSend_55 = __objc_msgSend_55Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_initWithUnsignedChar_1 = - _registerName1("initWithUnsignedChar:"); - ffi.Pointer _objc_msgSend_56( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_56( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_56Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedChar)>>('objc_msgSend'); - late final __objc_msgSend_56 = __objc_msgSend_56Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_initWithShort_1 = _registerName1("initWithShort:"); - ffi.Pointer _objc_msgSend_57( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_57( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_57Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Short)>>('objc_msgSend'); - late final __objc_msgSend_57 = __objc_msgSend_57Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_initWithUnsignedShort_1 = - _registerName1("initWithUnsignedShort:"); - ffi.Pointer _objc_msgSend_58( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_58( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_58Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedShort)>>('objc_msgSend'); - late final __objc_msgSend_58 = __objc_msgSend_58Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_initWithInt_1 = _registerName1("initWithInt:"); - ffi.Pointer _objc_msgSend_59( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_59( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_59Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Int)>>('objc_msgSend'); - late final __objc_msgSend_59 = __objc_msgSend_59Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_initWithUnsignedInt_1 = - _registerName1("initWithUnsignedInt:"); - ffi.Pointer _objc_msgSend_60( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_60( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_60Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedInt)>>('objc_msgSend'); - late final __objc_msgSend_60 = __objc_msgSend_60Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_initWithLong_1 = _registerName1("initWithLong:"); - ffi.Pointer _objc_msgSend_61( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_61( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_61Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Long)>>('objc_msgSend'); - late final __objc_msgSend_61 = __objc_msgSend_61Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_initWithUnsignedLong_1 = - _registerName1("initWithUnsignedLong:"); - ffi.Pointer _objc_msgSend_62( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_62( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_62Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); - late final __objc_msgSend_62 = __objc_msgSend_62Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_initWithLongLong_1 = _registerName1("initWithLongLong:"); - ffi.Pointer _objc_msgSend_63( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_63( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_63Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.LongLong)>>('objc_msgSend'); - late final __objc_msgSend_63 = __objc_msgSend_63Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_initWithUnsignedLongLong_1 = - _registerName1("initWithUnsignedLongLong:"); - ffi.Pointer _objc_msgSend_64( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_64( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_64Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLongLong)>>('objc_msgSend'); - late final __objc_msgSend_64 = __objc_msgSend_64Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_initWithFloat_1 = _registerName1("initWithFloat:"); - ffi.Pointer _objc_msgSend_65( - ffi.Pointer obj, - ffi.Pointer sel, - double value, - ) { - return __objc_msgSend_65( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_65Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Float)>>('objc_msgSend'); - late final __objc_msgSend_65 = __objc_msgSend_65Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, double)>(); - - late final _sel_initWithDouble_1 = _registerName1("initWithDouble:"); - ffi.Pointer _objc_msgSend_66( - ffi.Pointer obj, - ffi.Pointer sel, - double value, - ) { - return __objc_msgSend_66( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_66Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Double)>>('objc_msgSend'); - late final __objc_msgSend_66 = __objc_msgSend_66Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, double)>(); - - late final _sel_initWithBool_1 = _registerName1("initWithBool:"); - ffi.Pointer _objc_msgSend_67( - ffi.Pointer obj, - ffi.Pointer sel, - bool value, - ) { - return __objc_msgSend_67( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_67Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Bool)>>('objc_msgSend'); - late final __objc_msgSend_67 = __objc_msgSend_67Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, bool)>(); - - late final _sel_initWithInteger_1 = _registerName1("initWithInteger:"); - late final _sel_initWithUnsignedInteger_1 = - _registerName1("initWithUnsignedInteger:"); - late final _sel_charValue1 = _registerName1("charValue"); - int _objc_msgSend_68( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_68( - obj, - sel, - ); - } - - late final __objc_msgSend_68Ptr = _lookup< - ffi.NativeFunction< - ffi.Char Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_68 = __objc_msgSend_68Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_unsignedCharValue1 = _registerName1("unsignedCharValue"); - int _objc_msgSend_69( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_69( - obj, - sel, - ); - } - - late final __objc_msgSend_69Ptr = _lookup< - ffi.NativeFunction< - ffi.UnsignedChar Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_69 = __objc_msgSend_69Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_shortValue1 = _registerName1("shortValue"); - int _objc_msgSend_70( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_70( - obj, - sel, - ); - } - - late final __objc_msgSend_70Ptr = _lookup< - ffi.NativeFunction< - ffi.Short Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_70 = __objc_msgSend_70Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_unsignedShortValue1 = _registerName1("unsignedShortValue"); - int _objc_msgSend_71( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_71( - obj, - sel, - ); - } - - late final __objc_msgSend_71Ptr = _lookup< - ffi.NativeFunction< - ffi.UnsignedShort Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_71 = __objc_msgSend_71Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_intValue1 = _registerName1("intValue"); - int _objc_msgSend_72( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_72( - obj, - sel, - ); - } - - late final __objc_msgSend_72Ptr = _lookup< - ffi.NativeFunction< - ffi.Int Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_72 = __objc_msgSend_72Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_unsignedIntValue1 = _registerName1("unsignedIntValue"); - int _objc_msgSend_73( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_73( - obj, - sel, - ); - } - - late final __objc_msgSend_73Ptr = _lookup< - ffi.NativeFunction< - ffi.UnsignedInt Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_73 = __objc_msgSend_73Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_longValue1 = _registerName1("longValue"); - int _objc_msgSend_74( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_74( - obj, - sel, - ); - } - - late final __objc_msgSend_74Ptr = _lookup< - ffi.NativeFunction< - ffi.Long Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_74 = __objc_msgSend_74Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_unsignedLongValue1 = _registerName1("unsignedLongValue"); - late final _sel_longLongValue1 = _registerName1("longLongValue"); - int _objc_msgSend_75( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_75( - obj, - sel, - ); - } - - late final __objc_msgSend_75Ptr = _lookup< - ffi.NativeFunction< - ffi.LongLong Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_75 = __objc_msgSend_75Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_unsignedLongLongValue1 = - _registerName1("unsignedLongLongValue"); - int _objc_msgSend_76( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_76( - obj, - sel, - ); - } - - late final __objc_msgSend_76Ptr = _lookup< - ffi.NativeFunction< - ffi.UnsignedLongLong Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_76 = __objc_msgSend_76Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_floatValue1 = _registerName1("floatValue"); - double _objc_msgSend_77( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_77( - obj, - sel, - ); - } - - late final __objc_msgSend_77Ptr = _lookup< - ffi.NativeFunction< - ffi.Float Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_77 = __objc_msgSend_77Ptr.asFunction< - double Function(ffi.Pointer, ffi.Pointer)>(); - - double _objc_msgSend_77_fpret( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_77_fpret( - obj, - sel, - ); - } - - late final __objc_msgSend_77_fpretPtr = _lookup< - ffi.NativeFunction< - ffi.Float Function(ffi.Pointer, - ffi.Pointer)>>('objc_msgSend_fpret'); - late final __objc_msgSend_77_fpret = __objc_msgSend_77_fpretPtr.asFunction< - double Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_doubleValue1 = _registerName1("doubleValue"); - late final _sel_boolValue1 = _registerName1("boolValue"); - late final _sel_integerValue1 = _registerName1("integerValue"); - late final _sel_unsignedIntegerValue1 = - _registerName1("unsignedIntegerValue"); - late final _sel_stringValue1 = _registerName1("stringValue"); - late final _sel_compare_1 = _registerName1("compare:"); - int _objc_msgSend_78( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer otherNumber, - ) { - return __objc_msgSend_78( - obj, - sel, - otherNumber, - ); - } - - late final __objc_msgSend_78Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_78 = __objc_msgSend_78Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_isEqualToNumber_1 = _registerName1("isEqualToNumber:"); - bool _objc_msgSend_79( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer number, - ) { - return __objc_msgSend_79( - obj, - sel, - number, - ); - } - - late final __objc_msgSend_79Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_79 = __objc_msgSend_79Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_descriptionWithLocale_1 = - _registerName1("descriptionWithLocale:"); - ffi.Pointer _objc_msgSend_80( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer locale, - ) { - return __objc_msgSend_80( - obj, - sel, - locale, - ); - } - - late final __objc_msgSend_80Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_80 = __objc_msgSend_80Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_estimationUpdateIndex1 = - _registerName1("estimationUpdateIndex"); - ffi.Pointer _objc_msgSend_81( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_81( - obj, - sel, - ); - } - - late final __objc_msgSend_81Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_81 = __objc_msgSend_81Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_estimatedProperties1 = _registerName1("estimatedProperties"); - int _objc_msgSend_82( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_82( - obj, - sel, - ); - } - - late final __objc_msgSend_82Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_82 = __objc_msgSend_82Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_estimatedPropertiesExpectingUpdates1 = - _registerName1("estimatedPropertiesExpectingUpdates"); - late final _sel_coalescedTouchesForTouch_1 = - _registerName1("coalescedTouchesForTouch:"); - ffi.Pointer _objc_msgSend_83( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer touch, - ) { - return __objc_msgSend_83( - obj, - sel, - touch, - ); - } - - late final __objc_msgSend_83Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_83 = __objc_msgSend_83Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_predictedTouchesForTouch_1 = - _registerName1("predictedTouchesForTouch:"); - late final _sel_touchesBegan_withEvent_1 = - _registerName1("touchesBegan:withEvent:"); - void _objc_msgSend_84( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer touches, - ffi.Pointer event, - ) { - return __objc_msgSend_84( - obj, - sel, - touches, - event, - ); - } - - late final __objc_msgSend_84Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_84 = __objc_msgSend_84Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_touchesMoved_withEvent_1 = - _registerName1("touchesMoved:withEvent:"); - late final _sel_touchesEnded_withEvent_1 = - _registerName1("touchesEnded:withEvent:"); - late final _sel_touchesCancelled_withEvent_1 = - _registerName1("touchesCancelled:withEvent:"); - late final _sel_touchesEstimatedPropertiesUpdated_1 = - _registerName1("touchesEstimatedPropertiesUpdated:"); - late final _class_UIPressesEvent1 = _getClass1("UIPressesEvent"); - late final _sel_pressesBegan_withEvent_1 = - _registerName1("pressesBegan:withEvent:"); - void _objc_msgSend_85( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer presses, - ffi.Pointer event, - ) { - return __objc_msgSend_85( - obj, - sel, - presses, - event, - ); - } - - late final __objc_msgSend_85Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_85 = __objc_msgSend_85Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_pressesChanged_withEvent_1 = - _registerName1("pressesChanged:withEvent:"); - late final _sel_pressesEnded_withEvent_1 = - _registerName1("pressesEnded:withEvent:"); - late final _sel_pressesCancelled_withEvent_1 = - _registerName1("pressesCancelled:withEvent:"); - late final _sel_motionBegan_withEvent_1 = - _registerName1("motionBegan:withEvent:"); - void _objc_msgSend_86( - ffi.Pointer obj, - ffi.Pointer sel, - int motion, - ffi.Pointer event, - ) { - return __objc_msgSend_86( - obj, - sel, - motion, - event, - ); - } - - late final __objc_msgSend_86Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_86 = __objc_msgSend_86Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int, - ffi.Pointer)>(); - - late final _sel_motionEnded_withEvent_1 = - _registerName1("motionEnded:withEvent:"); - late final _sel_motionCancelled_withEvent_1 = - _registerName1("motionCancelled:withEvent:"); - late final _sel_remoteControlReceivedWithEvent_1 = - _registerName1("remoteControlReceivedWithEvent:"); - void _objc_msgSend_87( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer event, - ) { - return __objc_msgSend_87( - obj, - sel, - event, - ); - } - - late final __objc_msgSend_87Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_87 = __objc_msgSend_87Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_canPerformAction_withSender_1 = - _registerName1("canPerformAction:withSender:"); - bool _objc_msgSend_88( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer action, - ffi.Pointer sender, - ) { - return __objc_msgSend_88( - obj, - sel, - action, - sender, - ); - } - - late final __objc_msgSend_88Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_88 = __objc_msgSend_88Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_targetForAction_withSender_1 = - _registerName1("targetForAction:withSender:"); - ffi.Pointer _objc_msgSend_89( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer action, - ffi.Pointer sender, - ) { - return __objc_msgSend_89( - obj, - sel, - action, - sender, - ); - } - - late final __objc_msgSend_89Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_89 = __objc_msgSend_89Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_buildMenuWithBuilder_1 = - _registerName1("buildMenuWithBuilder:"); - late final _class_UICommand1 = _getClass1("UICommand"); - late final _class_UIMenuElement1 = _getClass1("UIMenuElement"); - late final _sel_title1 = _registerName1("title"); - late final _sel_subtitle1 = _registerName1("subtitle"); - ffi.Pointer _objc_msgSend_90( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_90( - obj, - sel, - ); - } - - late final __objc_msgSend_90Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_90 = __objc_msgSend_90Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setSubtitle_1 = _registerName1("setSubtitle:"); - void _objc_msgSend_91( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_91( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_91Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_91 = __objc_msgSend_91Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _class_UIImage1 = _getClass1("UIImage"); - late final _sel_image1 = _registerName1("image"); - ffi.Pointer _objc_msgSend_92( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_92( - obj, - sel, - ); - } - - late final __objc_msgSend_92Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_92 = __objc_msgSend_92Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setTitle_1 = _registerName1("setTitle:"); - void _objc_msgSend_93( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_93( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_93Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_93 = __objc_msgSend_93Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_setImage_1 = _registerName1("setImage:"); - void _objc_msgSend_94( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_94( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_94Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_94 = __objc_msgSend_94Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_discoverabilityTitle1 = - _registerName1("discoverabilityTitle"); - late final _sel_setDiscoverabilityTitle_1 = - _registerName1("setDiscoverabilityTitle:"); - late final _sel_action1 = _registerName1("action"); - late final _sel_propertyList1 = _registerName1("propertyList"); - late final _sel_attributes1 = _registerName1("attributes"); - int _objc_msgSend_95( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_95( - obj, - sel, - ); - } - - late final __objc_msgSend_95Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_95 = __objc_msgSend_95Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setAttributes_1 = _registerName1("setAttributes:"); - void _objc_msgSend_96( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_96( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_96Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_96 = __objc_msgSend_96Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_state1 = _registerName1("state"); - int _objc_msgSend_97( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_97( - obj, - sel, - ); - } - - late final __objc_msgSend_97Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_97 = __objc_msgSend_97Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setState_1 = _registerName1("setState:"); - void _objc_msgSend_98( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_98( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_98Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_98 = __objc_msgSend_98Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_alternates1 = _registerName1("alternates"); - late final _sel_commandWithTitle_image_action_propertyList_1 = - _registerName1("commandWithTitle:image:action:propertyList:"); - instancetype _objc_msgSend_99( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer title, - ffi.Pointer image, - ffi.Pointer action, - ffi.Pointer propertyList, - ) { - return __objc_msgSend_99( - obj, - sel, - title, - image, - action, - propertyList, - ); - } - - late final __objc_msgSend_99Ptr = _lookup< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_99 = __objc_msgSend_99Ptr.asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_commandWithTitle_image_action_propertyList_alternates_1 = - _registerName1("commandWithTitle:image:action:propertyList:alternates:"); - instancetype _objc_msgSend_100( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer title, - ffi.Pointer image, - ffi.Pointer action, - ffi.Pointer propertyList, - ffi.Pointer alternates, - ) { - return __objc_msgSend_100( - obj, - sel, - title, - image, - action, - propertyList, - alternates, - ); - } - - late final __objc_msgSend_100Ptr = _lookup< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_100 = __objc_msgSend_100Ptr.asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_validateCommand_1 = _registerName1("validateCommand:"); - void _objc_msgSend_101( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer command, - ) { - return __objc_msgSend_101( - obj, - sel, - command, - ); - } - - late final __objc_msgSend_101Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_101 = __objc_msgSend_101Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _class_NSUndoManager1 = _getClass1("NSUndoManager"); - late final _sel_beginUndoGrouping1 = _registerName1("beginUndoGrouping"); - late final _sel_endUndoGrouping1 = _registerName1("endUndoGrouping"); - late final _sel_groupingLevel1 = _registerName1("groupingLevel"); - late final _sel_disableUndoRegistration1 = - _registerName1("disableUndoRegistration"); - late final _sel_enableUndoRegistration1 = - _registerName1("enableUndoRegistration"); - late final _sel_isUndoRegistrationEnabled1 = - _registerName1("isUndoRegistrationEnabled"); - late final _sel_groupsByEvent1 = _registerName1("groupsByEvent"); - late final _sel_setGroupsByEvent_1 = _registerName1("setGroupsByEvent:"); - void _objc_msgSend_102( - ffi.Pointer obj, - ffi.Pointer sel, - bool value, - ) { - return __objc_msgSend_102( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_102Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Bool)>>('objc_msgSend'); - late final __objc_msgSend_102 = __objc_msgSend_102Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, bool)>(); - - late final _sel_levelsOfUndo1 = _registerName1("levelsOfUndo"); - late final _sel_setLevelsOfUndo_1 = _registerName1("setLevelsOfUndo:"); - void _objc_msgSend_103( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_103( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_103Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.UnsignedLong)>>('objc_msgSend'); - late final __objc_msgSend_103 = __objc_msgSend_103Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_runLoopModes1 = _registerName1("runLoopModes"); - late final _sel_setRunLoopModes_1 = _registerName1("setRunLoopModes:"); - void _objc_msgSend_104( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_104( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_104Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_104 = __objc_msgSend_104Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_undo1 = _registerName1("undo"); - late final _sel_redo1 = _registerName1("redo"); - late final _sel_undoNestedGroup1 = _registerName1("undoNestedGroup"); - late final _sel_canUndo1 = _registerName1("canUndo"); - late final _sel_canRedo1 = _registerName1("canRedo"); - late final _sel_isUndoing1 = _registerName1("isUndoing"); - late final _sel_isRedoing1 = _registerName1("isRedoing"); - late final _sel_removeAllActions1 = _registerName1("removeAllActions"); - late final _sel_removeAllActionsWithTarget_1 = - _registerName1("removeAllActionsWithTarget:"); - late final _sel_registerUndoWithTarget_selector_object_1 = - _registerName1("registerUndoWithTarget:selector:object:"); - void _objc_msgSend_105( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer target, - ffi.Pointer selector, - ffi.Pointer anObject, - ) { - return __objc_msgSend_105( - obj, - sel, - target, - selector, - anObject, - ); - } - - late final __objc_msgSend_105Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_105 = __objc_msgSend_105Ptr.asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_prepareWithInvocationTarget_1 = - _registerName1("prepareWithInvocationTarget:"); - ffi.Pointer _objc_msgSend_106( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer target, - ) { - return __objc_msgSend_106( - obj, - sel, - target, - ); - } - - late final __objc_msgSend_106Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_106 = __objc_msgSend_106Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - ffi.Pointer<_ObjCBlockDesc> _newBlockDesc1() { - final d = - pkg_ffi.calloc.allocate<_ObjCBlockDesc>(ffi.sizeOf<_ObjCBlockDesc>()); - d.ref.reserved = 0; - d.ref.size = ffi.sizeOf<_ObjCBlock>(); - d.ref.copy_helper = ffi.nullptr; - d.ref.dispose_helper = ffi.nullptr; - d.ref.signature = ffi.nullptr; - return d; - } - - late final _objc_block_desc1 = _newBlockDesc1(); - late final _objc_concrete_global_block1 = - _lookup('_NSConcreteGlobalBlock'); - ffi.Pointer<_ObjCBlock> _newBlock1( - ffi.Pointer invoke, ffi.Pointer target) { - final b = pkg_ffi.calloc.allocate<_ObjCBlock>(ffi.sizeOf<_ObjCBlock>()); - b.ref.isa = _objc_concrete_global_block1; - b.ref.flags = 0; - b.ref.reserved = 0; - b.ref.invoke = invoke; - b.ref.target = target; - b.ref.descriptor = _objc_block_desc1; - final copy = _Block_copy(b.cast()).cast<_ObjCBlock>(); - pkg_ffi.calloc.free(b); - return copy; - } - - ffi.Pointer _Block_copy( - ffi.Pointer value, - ) { - return __Block_copy( - value, - ); - } - - late final __Block_copyPtr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer)>>('_Block_copy'); - late final __Block_copy = __Block_copyPtr - .asFunction Function(ffi.Pointer)>(); - - void _Block_release( - ffi.Pointer value, - ) { - return __Block_release( - value, - ); - } - - late final __Block_releasePtr = - _lookup)>>( - '_Block_release'); - late final __Block_release = - __Block_releasePtr.asFunction)>(); - - late final _objc_releaseFinalizer11 = - ffi.NativeFinalizer(__Block_releasePtr.cast()); - late final _sel_registerUndoWithTarget_handler_1 = - _registerName1("registerUndoWithTarget:handler:"); - void _objc_msgSend_107( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer target, - ffi.Pointer<_ObjCBlock> undoHandler, - ) { - return __objc_msgSend_107( - obj, - sel, - target, - undoHandler, - ); - } - - late final __objc_msgSend_107Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer<_ObjCBlock>)>>('objc_msgSend'); - late final __objc_msgSend_107 = __objc_msgSend_107Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer<_ObjCBlock>)>(); - - late final _sel_setActionIsDiscardable_1 = - _registerName1("setActionIsDiscardable:"); - void _objc_msgSend_108( - ffi.Pointer obj, - ffi.Pointer sel, - bool discardable, - ) { - return __objc_msgSend_108( - obj, - sel, - discardable, - ); - } - - late final __objc_msgSend_108Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Bool)>>('objc_msgSend'); - late final __objc_msgSend_108 = __objc_msgSend_108Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, bool)>(); - - late final _sel_undoActionIsDiscardable1 = - _registerName1("undoActionIsDiscardable"); - late final _sel_redoActionIsDiscardable1 = - _registerName1("redoActionIsDiscardable"); - late final _sel_undoActionName1 = _registerName1("undoActionName"); - late final _sel_redoActionName1 = _registerName1("redoActionName"); - late final _sel_setActionName_1 = _registerName1("setActionName:"); - void _objc_msgSend_109( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer actionName, - ) { - return __objc_msgSend_109( - obj, - sel, - actionName, - ); - } - - late final __objc_msgSend_109Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_109 = __objc_msgSend_109Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_undoMenuItemTitle1 = _registerName1("undoMenuItemTitle"); - late final _sel_redoMenuItemTitle1 = _registerName1("redoMenuItemTitle"); - late final _sel_undoMenuTitleForUndoActionName_1 = - _registerName1("undoMenuTitleForUndoActionName:"); - ffi.Pointer _objc_msgSend_110( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer actionName, - ) { - return __objc_msgSend_110( - obj, - sel, - actionName, - ); - } - - late final __objc_msgSend_110Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_110 = __objc_msgSend_110Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_redoMenuTitleForUndoActionName_1 = - _registerName1("redoMenuTitleForUndoActionName:"); - late final _sel_undoManager1 = _registerName1("undoManager"); - ffi.Pointer _objc_msgSend_111( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_111( - obj, - sel, - ); - } - - late final __objc_msgSend_111Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_111 = __objc_msgSend_111Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_editingInteractionConfiguration1 = - _registerName1("editingInteractionConfiguration"); - int _objc_msgSend_112( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_112( - obj, - sel, - ); - } - - late final __objc_msgSend_112Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_112 = __objc_msgSend_112Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_layerClass1 = _registerName1("layerClass"); - late final _sel_initWithFrame_1 = _registerName1("initWithFrame:"); - instancetype _objc_msgSend_113( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect frame, - ) { - return __objc_msgSend_113( - obj, - sel, - frame, - ); - } - - late final __objc_msgSend_113Ptr = _lookup< - ffi.NativeFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - CGRect)>>('objc_msgSend'); - late final __objc_msgSend_113 = __objc_msgSend_113Ptr.asFunction< - instancetype Function( - ffi.Pointer, ffi.Pointer, CGRect)>(); - - late final _sel_isUserInteractionEnabled1 = - _registerName1("isUserInteractionEnabled"); - late final _sel_setUserInteractionEnabled_1 = - _registerName1("setUserInteractionEnabled:"); - late final _sel_tag1 = _registerName1("tag"); - late final _sel_setTag_1 = _registerName1("setTag:"); - void _objc_msgSend_114( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_114( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_114Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Long)>>('objc_msgSend'); - late final __objc_msgSend_114 = __objc_msgSend_114Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _class_CALayer1 = _getClass1("CALayer"); - late final _sel_layer1 = _registerName1("layer"); - late final _sel_initWithLayer_1 = _registerName1("initWithLayer:"); - late final _sel_presentationLayer1 = _registerName1("presentationLayer"); - late final _sel_modelLayer1 = _registerName1("modelLayer"); - late final _sel_defaultValueForKey_1 = _registerName1("defaultValueForKey:"); - ffi.Pointer _objc_msgSend_115( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer key, - ) { - return __objc_msgSend_115( - obj, - sel, - key, - ); - } - - late final __objc_msgSend_115Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_115 = __objc_msgSend_115Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_needsDisplayForKey_1 = _registerName1("needsDisplayForKey:"); - bool _objc_msgSend_116( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer key, - ) { - return __objc_msgSend_116( - obj, - sel, - key, - ); - } - - late final __objc_msgSend_116Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_116 = __objc_msgSend_116Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_shouldArchiveValueForKey_1 = - _registerName1("shouldArchiveValueForKey:"); - late final _sel_bounds1 = _registerName1("bounds"); - CGRect _objc_msgSend_117( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_117( - obj, - sel, - ); - } - - late final __objc_msgSend_117Ptr = _lookup< - ffi.NativeFunction< - CGRect Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_117 = __objc_msgSend_117Ptr.asFunction< - CGRect Function(ffi.Pointer, ffi.Pointer)>(); - - void _objc_msgSend_117_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_117_stret( - stret, - obj, - sel, - ); - } - - late final __objc_msgSend_117_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend_stret'); - late final __objc_msgSend_117_stret = __objc_msgSend_117_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_setBounds_1 = _registerName1("setBounds:"); - void _objc_msgSend_118( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect value, - ) { - return __objc_msgSend_118( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_118Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - CGRect)>>('objc_msgSend'); - late final __objc_msgSend_118 = __objc_msgSend_118Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, CGRect)>(); - - late final _sel_position1 = _registerName1("position"); - CGPoint _objc_msgSend_119( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_119( - obj, - sel, - ); - } - - late final __objc_msgSend_119Ptr = _lookup< - ffi.NativeFunction< - CGPoint Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_119 = __objc_msgSend_119Ptr.asFunction< - CGPoint Function(ffi.Pointer, ffi.Pointer)>(); - - void _objc_msgSend_119_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_119_stret( - stret, - obj, - sel, - ); - } - - late final __objc_msgSend_119_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend_stret'); - late final __objc_msgSend_119_stret = __objc_msgSend_119_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_setPosition_1 = _registerName1("setPosition:"); - void _objc_msgSend_120( - ffi.Pointer obj, - ffi.Pointer sel, - CGPoint value, - ) { - return __objc_msgSend_120( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_120Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - CGPoint)>>('objc_msgSend'); - late final __objc_msgSend_120 = __objc_msgSend_120Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, CGPoint)>(); - - late final _sel_zPosition1 = _registerName1("zPosition"); - late final _sel_setZPosition_1 = _registerName1("setZPosition:"); - void _objc_msgSend_121( - ffi.Pointer obj, - ffi.Pointer sel, - double value, - ) { - return __objc_msgSend_121( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_121Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Double)>>('objc_msgSend'); - late final __objc_msgSend_121 = __objc_msgSend_121Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, double)>(); - - late final _sel_anchorPoint1 = _registerName1("anchorPoint"); - late final _sel_setAnchorPoint_1 = _registerName1("setAnchorPoint:"); - late final _sel_anchorPointZ1 = _registerName1("anchorPointZ"); - late final _sel_setAnchorPointZ_1 = _registerName1("setAnchorPointZ:"); - late final _sel_transform1 = _registerName1("transform"); - CATransform3D _objc_msgSend_122( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_122( - obj, - sel, - ); - } - - late final __objc_msgSend_122Ptr = _lookup< - ffi.NativeFunction< - CATransform3D Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_122 = __objc_msgSend_122Ptr.asFunction< - CATransform3D Function(ffi.Pointer, ffi.Pointer)>(); - - void _objc_msgSend_122_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_122_stret( - stret, - obj, - sel, - ); - } - - late final __objc_msgSend_122_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend_stret'); - late final __objc_msgSend_122_stret = __objc_msgSend_122_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_setTransform_1 = _registerName1("setTransform:"); - void _objc_msgSend_123( - ffi.Pointer obj, - ffi.Pointer sel, - CATransform3D value, - ) { - return __objc_msgSend_123( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_123Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - CATransform3D)>>('objc_msgSend'); - late final __objc_msgSend_123 = __objc_msgSend_123Ptr.asFunction< - void Function( - ffi.Pointer, ffi.Pointer, CATransform3D)>(); - - late final _sel_affineTransform1 = _registerName1("affineTransform"); - CGAffineTransform _objc_msgSend_124( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_124( - obj, - sel, - ); - } - - late final __objc_msgSend_124Ptr = _lookup< - ffi.NativeFunction< - CGAffineTransform Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_124 = __objc_msgSend_124Ptr.asFunction< - CGAffineTransform Function( - ffi.Pointer, ffi.Pointer)>(); - - void _objc_msgSend_124_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_124_stret( - stret, - obj, - sel, - ); - } - - late final __objc_msgSend_124_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend_stret'); - late final __objc_msgSend_124_stret = __objc_msgSend_124_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_setAffineTransform_1 = _registerName1("setAffineTransform:"); - void _objc_msgSend_125( - ffi.Pointer obj, - ffi.Pointer sel, - CGAffineTransform m, - ) { - return __objc_msgSend_125( - obj, - sel, - m, - ); - } - - late final __objc_msgSend_125Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - CGAffineTransform)>>('objc_msgSend'); - late final __objc_msgSend_125 = __objc_msgSend_125Ptr.asFunction< - void Function( - ffi.Pointer, ffi.Pointer, CGAffineTransform)>(); - - late final _sel_frame1 = _registerName1("frame"); - late final _sel_setFrame_1 = _registerName1("setFrame:"); - late final _sel_isHidden1 = _registerName1("isHidden"); - late final _sel_setHidden_1 = _registerName1("setHidden:"); - late final _sel_isDoubleSided1 = _registerName1("isDoubleSided"); - late final _sel_setDoubleSided_1 = _registerName1("setDoubleSided:"); - late final _sel_isGeometryFlipped1 = _registerName1("isGeometryFlipped"); - late final _sel_setGeometryFlipped_1 = _registerName1("setGeometryFlipped:"); - late final _sel_contentsAreFlipped1 = _registerName1("contentsAreFlipped"); - late final _sel_superlayer1 = _registerName1("superlayer"); - ffi.Pointer _objc_msgSend_126( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_126( - obj, - sel, - ); - } - - late final __objc_msgSend_126Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_126 = __objc_msgSend_126Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_removeFromSuperlayer1 = - _registerName1("removeFromSuperlayer"); - late final _sel_sublayers1 = _registerName1("sublayers"); - late final _sel_setSublayers_1 = _registerName1("setSublayers:"); - late final _sel_addSublayer_1 = _registerName1("addSublayer:"); - void _objc_msgSend_127( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer layer, - ) { - return __objc_msgSend_127( - obj, - sel, - layer, - ); - } - - late final __objc_msgSend_127Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_127 = __objc_msgSend_127Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_insertSublayer_atIndex_1 = - _registerName1("insertSublayer:atIndex:"); - void _objc_msgSend_128( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer layer, - int idx, - ) { - return __objc_msgSend_128( - obj, - sel, - layer, - idx, - ); - } - - late final __objc_msgSend_128Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.UnsignedInt)>>('objc_msgSend'); - late final __objc_msgSend_128 = __objc_msgSend_128Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, int)>(); - - late final _sel_insertSublayer_below_1 = - _registerName1("insertSublayer:below:"); - void _objc_msgSend_129( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer layer, - ffi.Pointer sibling, - ) { - return __objc_msgSend_129( - obj, - sel, - layer, - sibling, - ); - } - - late final __objc_msgSend_129Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_129 = __objc_msgSend_129Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_insertSublayer_above_1 = - _registerName1("insertSublayer:above:"); - late final _sel_replaceSublayer_with_1 = - _registerName1("replaceSublayer:with:"); - void _objc_msgSend_130( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer oldLayer, - ffi.Pointer newLayer, - ) { - return __objc_msgSend_130( - obj, - sel, - oldLayer, - newLayer, - ); - } - - late final __objc_msgSend_130Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_130 = __objc_msgSend_130Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_sublayerTransform1 = _registerName1("sublayerTransform"); - late final _sel_setSublayerTransform_1 = - _registerName1("setSublayerTransform:"); - late final _sel_mask1 = _registerName1("mask"); - late final _sel_setMask_1 = _registerName1("setMask:"); - void _objc_msgSend_131( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_131( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_131Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_131 = __objc_msgSend_131Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_masksToBounds1 = _registerName1("masksToBounds"); - late final _sel_setMasksToBounds_1 = _registerName1("setMasksToBounds:"); - late final _sel_convertPoint_fromLayer_1 = - _registerName1("convertPoint:fromLayer:"); - CGPoint _objc_msgSend_132( - ffi.Pointer obj, - ffi.Pointer sel, - CGPoint p, - ffi.Pointer l, - ) { - return __objc_msgSend_132( - obj, - sel, - p, - l, - ); - } - - late final __objc_msgSend_132Ptr = _lookup< - ffi.NativeFunction< - CGPoint Function(ffi.Pointer, ffi.Pointer, - CGPoint, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_132 = __objc_msgSend_132Ptr.asFunction< - CGPoint Function(ffi.Pointer, ffi.Pointer, CGPoint, - ffi.Pointer)>(); - - void _objc_msgSend_132_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - CGPoint p, - ffi.Pointer l, - ) { - return __objc_msgSend_132_stret( - stret, - obj, - sel, - p, - l, - ); - } - - late final __objc_msgSend_132_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - CGPoint, - ffi.Pointer)>>('objc_msgSend_stret'); - late final __objc_msgSend_132_stret = __objc_msgSend_132_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, CGPoint, ffi.Pointer)>(); - - late final _sel_convertPoint_toLayer_1 = - _registerName1("convertPoint:toLayer:"); - late final _sel_convertRect_fromLayer_1 = - _registerName1("convertRect:fromLayer:"); - CGRect _objc_msgSend_133( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect r, - ffi.Pointer l, - ) { - return __objc_msgSend_133( - obj, - sel, - r, - l, - ); - } - - late final __objc_msgSend_133Ptr = _lookup< - ffi.NativeFunction< - CGRect Function(ffi.Pointer, ffi.Pointer, CGRect, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_133 = __objc_msgSend_133Ptr.asFunction< - CGRect Function(ffi.Pointer, ffi.Pointer, CGRect, - ffi.Pointer)>(); - - void _objc_msgSend_133_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - CGRect r, - ffi.Pointer l, - ) { - return __objc_msgSend_133_stret( - stret, - obj, - sel, - r, - l, - ); - } - - late final __objc_msgSend_133_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - CGRect, - ffi.Pointer)>>('objc_msgSend_stret'); - late final __objc_msgSend_133_stret = __objc_msgSend_133_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, CGRect, ffi.Pointer)>(); - - late final _sel_convertRect_toLayer_1 = - _registerName1("convertRect:toLayer:"); - late final _sel_convertTime_fromLayer_1 = - _registerName1("convertTime:fromLayer:"); - double _objc_msgSend_134( - ffi.Pointer obj, - ffi.Pointer sel, - double t, - ffi.Pointer l, - ) { - return __objc_msgSend_134( - obj, - sel, - t, - l, - ); - } - - late final __objc_msgSend_134Ptr = _lookup< - ffi.NativeFunction< - ffi.Double Function(ffi.Pointer, ffi.Pointer, - ffi.Double, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_134 = __objc_msgSend_134Ptr.asFunction< - double Function(ffi.Pointer, ffi.Pointer, double, - ffi.Pointer)>(); - - double _objc_msgSend_134_fpret( - ffi.Pointer obj, - ffi.Pointer sel, - double t, - ffi.Pointer l, - ) { - return __objc_msgSend_134_fpret( - obj, - sel, - t, - l, - ); - } - - late final __objc_msgSend_134_fpretPtr = _lookup< - ffi.NativeFunction< - ffi.Double Function(ffi.Pointer, ffi.Pointer, - ffi.Double, ffi.Pointer)>>('objc_msgSend_fpret'); - late final __objc_msgSend_134_fpret = __objc_msgSend_134_fpretPtr.asFunction< - double Function(ffi.Pointer, ffi.Pointer, double, - ffi.Pointer)>(); - - late final _sel_convertTime_toLayer_1 = - _registerName1("convertTime:toLayer:"); - late final _sel_hitTest_1 = _registerName1("hitTest:"); - ffi.Pointer _objc_msgSend_135( - ffi.Pointer obj, - ffi.Pointer sel, - CGPoint p, - ) { - return __objc_msgSend_135( - obj, - sel, - p, - ); - } - - late final __objc_msgSend_135Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, CGPoint)>>('objc_msgSend'); - late final __objc_msgSend_135 = __objc_msgSend_135Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, CGPoint)>(); - - late final _sel_containsPoint_1 = _registerName1("containsPoint:"); - bool _objc_msgSend_136( - ffi.Pointer obj, - ffi.Pointer sel, - CGPoint p, - ) { - return __objc_msgSend_136( - obj, - sel, - p, - ); - } - - late final __objc_msgSend_136Ptr = _lookup< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, ffi.Pointer, - CGPoint)>>('objc_msgSend'); - late final __objc_msgSend_136 = __objc_msgSend_136Ptr.asFunction< - bool Function(ffi.Pointer, ffi.Pointer, CGPoint)>(); - - late final _sel_contents1 = _registerName1("contents"); - late final _sel_setContents_1 = _registerName1("setContents:"); - late final _sel_contentsRect1 = _registerName1("contentsRect"); - late final _sel_setContentsRect_1 = _registerName1("setContentsRect:"); - late final _sel_contentsGravity1 = _registerName1("contentsGravity"); - late final _sel_setContentsGravity_1 = _registerName1("setContentsGravity:"); - late final _sel_contentsScale1 = _registerName1("contentsScale"); - late final _sel_setContentsScale_1 = _registerName1("setContentsScale:"); - late final _sel_contentsCenter1 = _registerName1("contentsCenter"); - late final _sel_setContentsCenter_1 = _registerName1("setContentsCenter:"); - late final _sel_contentsFormat1 = _registerName1("contentsFormat"); - late final _sel_setContentsFormat_1 = _registerName1("setContentsFormat:"); - late final _sel_wantsExtendedDynamicRangeContent1 = - _registerName1("wantsExtendedDynamicRangeContent"); - late final _sel_setWantsExtendedDynamicRangeContent_1 = - _registerName1("setWantsExtendedDynamicRangeContent:"); - late final _sel_minificationFilter1 = _registerName1("minificationFilter"); - late final _sel_setMinificationFilter_1 = - _registerName1("setMinificationFilter:"); - late final _sel_magnificationFilter1 = _registerName1("magnificationFilter"); - late final _sel_setMagnificationFilter_1 = - _registerName1("setMagnificationFilter:"); - late final _sel_minificationFilterBias1 = - _registerName1("minificationFilterBias"); - late final _sel_setMinificationFilterBias_1 = - _registerName1("setMinificationFilterBias:"); - void _objc_msgSend_137( - ffi.Pointer obj, - ffi.Pointer sel, - double value, - ) { - return __objc_msgSend_137( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_137Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Float)>>('objc_msgSend'); - late final __objc_msgSend_137 = __objc_msgSend_137Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, double)>(); - - late final _sel_isOpaque1 = _registerName1("isOpaque"); - late final _sel_setOpaque_1 = _registerName1("setOpaque:"); - late final _sel_display1 = _registerName1("display"); - late final _sel_setNeedsDisplay1 = _registerName1("setNeedsDisplay"); - late final _sel_setNeedsDisplayInRect_1 = - _registerName1("setNeedsDisplayInRect:"); - void _objc_msgSend_138( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect r, - ) { - return __objc_msgSend_138( - obj, - sel, - r, - ); - } - - late final __objc_msgSend_138Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - CGRect)>>('objc_msgSend'); - late final __objc_msgSend_138 = __objc_msgSend_138Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, CGRect)>(); - - late final _sel_needsDisplay1 = _registerName1("needsDisplay"); - late final _sel_displayIfNeeded1 = _registerName1("displayIfNeeded"); - late final _sel_needsDisplayOnBoundsChange1 = - _registerName1("needsDisplayOnBoundsChange"); - late final _sel_setNeedsDisplayOnBoundsChange_1 = - _registerName1("setNeedsDisplayOnBoundsChange:"); - late final _sel_drawsAsynchronously1 = _registerName1("drawsAsynchronously"); - late final _sel_setDrawsAsynchronously_1 = - _registerName1("setDrawsAsynchronously:"); - late final _sel_drawInContext_1 = _registerName1("drawInContext:"); - void _objc_msgSend_139( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer ctx, - ) { - return __objc_msgSend_139( - obj, - sel, - ctx, - ); - } - - late final __objc_msgSend_139Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_139 = __objc_msgSend_139Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_renderInContext_1 = _registerName1("renderInContext:"); - late final _sel_edgeAntialiasingMask1 = - _registerName1("edgeAntialiasingMask"); - int _objc_msgSend_140( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_140( - obj, - sel, - ); - } - - late final __objc_msgSend_140Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_140 = __objc_msgSend_140Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setEdgeAntialiasingMask_1 = - _registerName1("setEdgeAntialiasingMask:"); - void _objc_msgSend_141( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_141( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_141Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_141 = __objc_msgSend_141Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_allowsEdgeAntialiasing1 = - _registerName1("allowsEdgeAntialiasing"); - late final _sel_setAllowsEdgeAntialiasing_1 = - _registerName1("setAllowsEdgeAntialiasing:"); - late final _sel_backgroundColor1 = _registerName1("backgroundColor"); - ffi.Pointer _objc_msgSend_142( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_142( - obj, - sel, - ); - } - - late final __objc_msgSend_142Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_142 = __objc_msgSend_142Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setBackgroundColor_1 = _registerName1("setBackgroundColor:"); - void _objc_msgSend_143( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_143( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_143Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_143 = __objc_msgSend_143Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_cornerRadius1 = _registerName1("cornerRadius"); - late final _sel_setCornerRadius_1 = _registerName1("setCornerRadius:"); - late final _sel_maskedCorners1 = _registerName1("maskedCorners"); - int _objc_msgSend_144( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_144( - obj, - sel, - ); - } - - late final __objc_msgSend_144Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_144 = __objc_msgSend_144Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setMaskedCorners_1 = _registerName1("setMaskedCorners:"); - void _objc_msgSend_145( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_145( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_145Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_145 = __objc_msgSend_145Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_cornerCurve1 = _registerName1("cornerCurve"); - late final _sel_setCornerCurve_1 = _registerName1("setCornerCurve:"); - late final _sel_cornerCurveExpansionFactor_1 = - _registerName1("cornerCurveExpansionFactor:"); - double _objc_msgSend_146( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer curve, - ) { - return __objc_msgSend_146( - obj, - sel, - curve, - ); - } - - late final __objc_msgSend_146Ptr = _lookup< - ffi.NativeFunction< - ffi.Double Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_146 = __objc_msgSend_146Ptr.asFunction< - double Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - double _objc_msgSend_146_fpret( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer curve, - ) { - return __objc_msgSend_146_fpret( - obj, - sel, - curve, - ); - } - - late final __objc_msgSend_146_fpretPtr = _lookup< - ffi.NativeFunction< - ffi.Double Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend_fpret'); - late final __objc_msgSend_146_fpret = __objc_msgSend_146_fpretPtr.asFunction< - double Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_borderWidth1 = _registerName1("borderWidth"); - late final _sel_setBorderWidth_1 = _registerName1("setBorderWidth:"); - late final _sel_borderColor1 = _registerName1("borderColor"); - late final _sel_setBorderColor_1 = _registerName1("setBorderColor:"); - late final _sel_opacity1 = _registerName1("opacity"); - late final _sel_setOpacity_1 = _registerName1("setOpacity:"); - late final _sel_allowsGroupOpacity1 = _registerName1("allowsGroupOpacity"); - late final _sel_setAllowsGroupOpacity_1 = - _registerName1("setAllowsGroupOpacity:"); - late final _sel_compositingFilter1 = _registerName1("compositingFilter"); - late final _sel_setCompositingFilter_1 = - _registerName1("setCompositingFilter:"); - late final _class_NSArray1 = _getClass1("NSArray"); - late final _sel_count1 = _registerName1("count"); - late final _sel_objectAtIndex_1 = _registerName1("objectAtIndex:"); - ffi.Pointer _objc_msgSend_147( - ffi.Pointer obj, - ffi.Pointer sel, - int index, - ) { - return __objc_msgSend_147( - obj, - sel, - index, - ); - } - - late final __objc_msgSend_147Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>>('objc_msgSend'); - late final __objc_msgSend_147 = __objc_msgSend_147Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_initWithObjects_count_1 = - _registerName1("initWithObjects:count:"); - instancetype _objc_msgSend_148( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer> objects, - int cnt, - ) { - return __objc_msgSend_148( - obj, - sel, - objects, - cnt, - ); - } - - late final __objc_msgSend_148Ptr = _lookup< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>, - ffi.UnsignedLong)>>('objc_msgSend'); - late final __objc_msgSend_148 = __objc_msgSend_148Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer>, int)>(); - - late final _sel_filters1 = _registerName1("filters"); - ffi.Pointer _objc_msgSend_149( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_149( - obj, - sel, - ); - } - - late final __objc_msgSend_149Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_149 = __objc_msgSend_149Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setFilters_1 = _registerName1("setFilters:"); - void _objc_msgSend_150( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_150( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_150Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_150 = __objc_msgSend_150Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_backgroundFilters1 = _registerName1("backgroundFilters"); - late final _sel_setBackgroundFilters_1 = - _registerName1("setBackgroundFilters:"); - late final _sel_shouldRasterize1 = _registerName1("shouldRasterize"); - late final _sel_setShouldRasterize_1 = _registerName1("setShouldRasterize:"); - late final _sel_rasterizationScale1 = _registerName1("rasterizationScale"); - late final _sel_setRasterizationScale_1 = - _registerName1("setRasterizationScale:"); - late final _sel_shadowColor1 = _registerName1("shadowColor"); - late final _sel_setShadowColor_1 = _registerName1("setShadowColor:"); - late final _sel_shadowOpacity1 = _registerName1("shadowOpacity"); - late final _sel_setShadowOpacity_1 = _registerName1("setShadowOpacity:"); - late final _sel_shadowOffset1 = _registerName1("shadowOffset"); - CGSize _objc_msgSend_151( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_151( - obj, - sel, - ); - } - - late final __objc_msgSend_151Ptr = _lookup< - ffi.NativeFunction< - CGSize Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_151 = __objc_msgSend_151Ptr.asFunction< - CGSize Function(ffi.Pointer, ffi.Pointer)>(); - - void _objc_msgSend_151_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_151_stret( - stret, - obj, - sel, - ); - } - - late final __objc_msgSend_151_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend_stret'); - late final __objc_msgSend_151_stret = __objc_msgSend_151_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_setShadowOffset_1 = _registerName1("setShadowOffset:"); - void _objc_msgSend_152( - ffi.Pointer obj, - ffi.Pointer sel, - CGSize value, - ) { - return __objc_msgSend_152( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_152Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - CGSize)>>('objc_msgSend'); - late final __objc_msgSend_152 = __objc_msgSend_152Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, CGSize)>(); - - late final _sel_shadowRadius1 = _registerName1("shadowRadius"); - late final _sel_setShadowRadius_1 = _registerName1("setShadowRadius:"); - late final _sel_shadowPath1 = _registerName1("shadowPath"); - ffi.Pointer _objc_msgSend_153( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_153( - obj, - sel, - ); - } - - late final __objc_msgSend_153Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_153 = __objc_msgSend_153Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setShadowPath_1 = _registerName1("setShadowPath:"); - void _objc_msgSend_154( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_154( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_154Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_154 = __objc_msgSend_154Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_preferredFrameSize1 = _registerName1("preferredFrameSize"); - late final _sel_setNeedsLayout1 = _registerName1("setNeedsLayout"); - late final _sel_needsLayout1 = _registerName1("needsLayout"); - late final _sel_layoutIfNeeded1 = _registerName1("layoutIfNeeded"); - late final _sel_layoutSublayers1 = _registerName1("layoutSublayers"); - late final _sel_defaultActionForKey_1 = - _registerName1("defaultActionForKey:"); - late final _sel_actionForKey_1 = _registerName1("actionForKey:"); - late final _sel_actions1 = _registerName1("actions"); - late final _sel_setActions_1 = _registerName1("setActions:"); - late final _class_CAAnimation1 = _getClass1("CAAnimation"); - late final _sel_animation1 = _registerName1("animation"); - late final _class_CAMediaTimingFunction1 = - _getClass1("CAMediaTimingFunction"); - late final _sel_functionWithName_1 = _registerName1("functionWithName:"); - instancetype _objc_msgSend_155( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer name, - ) { - return __objc_msgSend_155( - obj, - sel, - name, - ); - } - - late final __objc_msgSend_155Ptr = _lookup< - ffi.NativeFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_155 = __objc_msgSend_155Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_functionWithControlPoints____1 = - _registerName1("functionWithControlPoints::::"); - instancetype _objc_msgSend_156( - ffi.Pointer obj, - ffi.Pointer sel, - double c1x, - double c1y, - double c2x, - double c2y, - ) { - return __objc_msgSend_156( - obj, - sel, - c1x, - c1y, - c2x, - c2y, - ); - } - - late final __objc_msgSend_156Ptr = _lookup< - ffi.NativeFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Float, ffi.Float, ffi.Float, ffi.Float)>>('objc_msgSend'); - late final __objc_msgSend_156 = __objc_msgSend_156Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - double, double, double, double)>(); - - late final _sel_initWithControlPoints____1 = - _registerName1("initWithControlPoints::::"); - late final _sel_getControlPointAtIndex_values_1 = - _registerName1("getControlPointAtIndex:values:"); - void _objc_msgSend_157( - ffi.Pointer obj, - ffi.Pointer sel, - int idx, - ffi.Pointer ptr, - ) { - return __objc_msgSend_157( - obj, - sel, - idx, - ptr, - ); - } - - late final __objc_msgSend_157Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Size, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_157 = __objc_msgSend_157Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int, - ffi.Pointer)>(); - - late final _sel_timingFunction1 = _registerName1("timingFunction"); - ffi.Pointer _objc_msgSend_158( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_158( - obj, - sel, - ); - } - - late final __objc_msgSend_158Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_158 = __objc_msgSend_158Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setTimingFunction_1 = _registerName1("setTimingFunction:"); - void _objc_msgSend_159( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_159( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_159Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_159 = __objc_msgSend_159Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_delegate1 = _registerName1("delegate"); - late final _sel_setDelegate_1 = _registerName1("setDelegate:"); - late final _sel_isRemovedOnCompletion1 = - _registerName1("isRemovedOnCompletion"); - late final _sel_setRemovedOnCompletion_1 = - _registerName1("setRemovedOnCompletion:"); - late final _sel_preferredFrameRateRange1 = - _registerName1("preferredFrameRateRange"); - CAFrameRateRange _objc_msgSend_160( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_160( - obj, - sel, - ); - } - - late final __objc_msgSend_160Ptr = _lookup< - ffi.NativeFunction< - CAFrameRateRange Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_160 = __objc_msgSend_160Ptr.asFunction< - CAFrameRateRange Function( - ffi.Pointer, ffi.Pointer)>(); - - void _objc_msgSend_160_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_160_stret( - stret, - obj, - sel, - ); - } - - late final __objc_msgSend_160_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend_stret'); - late final __objc_msgSend_160_stret = __objc_msgSend_160_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_setPreferredFrameRateRange_1 = - _registerName1("setPreferredFrameRateRange:"); - void _objc_msgSend_161( - ffi.Pointer obj, - ffi.Pointer sel, - CAFrameRateRange value, - ) { - return __objc_msgSend_161( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_161Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - CAFrameRateRange)>>('objc_msgSend'); - late final __objc_msgSend_161 = __objc_msgSend_161Ptr.asFunction< - void Function( - ffi.Pointer, ffi.Pointer, CAFrameRateRange)>(); - - late final _sel_addAnimation_forKey_1 = - _registerName1("addAnimation:forKey:"); - void _objc_msgSend_162( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer anim, - ffi.Pointer key, - ) { - return __objc_msgSend_162( - obj, - sel, - anim, - key, - ); - } - - late final __objc_msgSend_162Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_162 = __objc_msgSend_162Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_removeAllAnimations1 = _registerName1("removeAllAnimations"); - late final _sel_removeAnimationForKey_1 = - _registerName1("removeAnimationForKey:"); - late final _sel_animationKeys1 = _registerName1("animationKeys"); - late final _sel_animationForKey_1 = _registerName1("animationForKey:"); - ffi.Pointer _objc_msgSend_163( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer key, - ) { - return __objc_msgSend_163( - obj, - sel, - key, - ); - } - - late final __objc_msgSend_163Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_163 = __objc_msgSend_163Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_name1 = _registerName1("name"); - late final _sel_setName_1 = _registerName1("setName:"); - late final _class_NSDictionary1 = _getClass1("NSDictionary"); - late final _sel_objectForKey_1 = _registerName1("objectForKey:"); - ffi.Pointer _objc_msgSend_164( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer aKey, - ) { - return __objc_msgSend_164( - obj, - sel, - aKey, - ); - } - - late final __objc_msgSend_164Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_164 = __objc_msgSend_164Ptr.asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_keyEnumerator1 = _registerName1("keyEnumerator"); - late final _sel_initWithObjects_forKeys_count_1 = - _registerName1("initWithObjects:forKeys:count:"); - instancetype _objc_msgSend_165( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer> objects, - ffi.Pointer> keys, - int cnt, - ) { - return __objc_msgSend_165( - obj, - sel, - objects, - keys, - cnt, - ); - } - - late final __objc_msgSend_165Ptr = _lookup< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>, - ffi.Pointer>, - ffi.UnsignedLong)>>('objc_msgSend'); - late final __objc_msgSend_165 = __objc_msgSend_165Ptr.asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>, - ffi.Pointer>, - int)>(); - - late final _sel_style1 = _registerName1("style"); - ffi.Pointer _objc_msgSend_166( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_166( - obj, - sel, - ); - } - - late final __objc_msgSend_166Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_166 = __objc_msgSend_166Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setStyle_1 = _registerName1("setStyle:"); - void _objc_msgSend_167( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_167( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_167Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_167 = __objc_msgSend_167Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - ffi.Pointer _objc_msgSend_168( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_168( - obj, - sel, - ); - } - - late final __objc_msgSend_168Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_168 = __objc_msgSend_168Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_canBecomeFocused1 = _registerName1("canBecomeFocused"); - late final _sel_isFocused1 = _registerName1("isFocused"); - late final _sel_focusGroupIdentifier1 = - _registerName1("focusGroupIdentifier"); - late final _sel_setFocusGroupIdentifier_1 = - _registerName1("setFocusGroupIdentifier:"); - late final _sel_focusGroupPriority1 = _registerName1("focusGroupPriority"); - late final _sel_setFocusGroupPriority_1 = - _registerName1("setFocusGroupPriority:"); - late final _class_UIFocusEffect1 = _getClass1("UIFocusEffect"); - late final _sel_focusEffect1 = _registerName1("focusEffect"); - ffi.Pointer _objc_msgSend_169( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_169( - obj, - sel, - ); - } - - late final __objc_msgSend_169Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_169 = __objc_msgSend_169Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setFocusEffect_1 = _registerName1("setFocusEffect:"); - void _objc_msgSend_170( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_170( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_170Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_170 = __objc_msgSend_170Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_semanticContentAttribute1 = - _registerName1("semanticContentAttribute"); - int _objc_msgSend_171( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_171( - obj, - sel, - ); - } - - late final __objc_msgSend_171Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_171 = __objc_msgSend_171Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setSemanticContentAttribute_1 = - _registerName1("setSemanticContentAttribute:"); - void _objc_msgSend_172( - ffi.Pointer obj, - ffi.Pointer sel, - int value, - ) { - return __objc_msgSend_172( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_172Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_172 = __objc_msgSend_172Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_userInterfaceLayoutDirectionForSemanticContentAttribute_1 = - _registerName1( - "userInterfaceLayoutDirectionForSemanticContentAttribute:"); - int _objc_msgSend_173( - ffi.Pointer obj, - ffi.Pointer sel, - int attribute, - ) { - return __objc_msgSend_173( - obj, - sel, - attribute, - ); - } - - late final __objc_msgSend_173Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function(ffi.Pointer, ffi.Pointer, - ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_173 = __objc_msgSend_173Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer, int)>(); - - late final _sel_userInterfaceLayoutDirectionForSemanticContentAttribute_relativeToLayoutDirection_1 = - _registerName1( - "userInterfaceLayoutDirectionForSemanticContentAttribute:relativeToLayoutDirection:"); - int _objc_msgSend_174( - ffi.Pointer obj, - ffi.Pointer sel, - int semanticContentAttribute, - int layoutDirection, - ) { - return __objc_msgSend_174( - obj, - sel, - semanticContentAttribute, - layoutDirection, - ); - } - - late final __objc_msgSend_174Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function(ffi.Pointer, ffi.Pointer, - ffi.Int32, ffi.Int32)>>('objc_msgSend'); - late final __objc_msgSend_174 = __objc_msgSend_174Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer, int, int)>(); - - late final _sel_effectiveUserInterfaceLayoutDirection1 = - _registerName1("effectiveUserInterfaceLayoutDirection"); - int _objc_msgSend_175( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_175( - obj, - sel, - ); - } - - late final __objc_msgSend_175Ptr = _lookup< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_175 = __objc_msgSend_175Ptr.asFunction< - int Function(ffi.Pointer, ffi.Pointer)>(); - - late final _class_UIWindowScene1 = _getClass1("UIWindowScene"); - late final _sel_initWithWindowScene_1 = - _registerName1("initWithWindowScene:"); - instancetype _objc_msgSend_176( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer windowScene, - ) { - return __objc_msgSend_176( - obj, - sel, - windowScene, - ); - } - - late final __objc_msgSend_176Ptr = _lookup< - ffi.NativeFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_176 = __objc_msgSend_176Ptr.asFunction< - instancetype Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_windowScene1 = _registerName1("windowScene"); - ffi.Pointer _objc_msgSend_177( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_177( - obj, - sel, - ); - } - - late final __objc_msgSend_177Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_177 = __objc_msgSend_177Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setWindowScene_1 = _registerName1("setWindowScene:"); - void _objc_msgSend_178( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_178( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_178Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_178 = __objc_msgSend_178Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_canResizeToFitContent1 = - _registerName1("canResizeToFitContent"); - late final _sel_setCanResizeToFitContent_1 = - _registerName1("setCanResizeToFitContent:"); - late final _class_UIScreen1 = _getClass1("UIScreen"); - late final _sel_screen1 = _registerName1("screen"); - ffi.Pointer _objc_msgSend_179( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_179( - obj, - sel, - ); - } - - late final __objc_msgSend_179Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_179 = __objc_msgSend_179Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setScreen_1 = _registerName1("setScreen:"); - void _objc_msgSend_180( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_180( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_180Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_180 = __objc_msgSend_180Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_windowLevel1 = _registerName1("windowLevel"); - late final _sel_setWindowLevel_1 = _registerName1("setWindowLevel:"); - late final _sel_isKeyWindow1 = _registerName1("isKeyWindow"); - late final _sel_canBecomeKeyWindow1 = _registerName1("canBecomeKeyWindow"); - late final _sel_becomeKeyWindow1 = _registerName1("becomeKeyWindow"); - late final _sel_resignKeyWindow1 = _registerName1("resignKeyWindow"); - late final _sel_makeKeyWindow1 = _registerName1("makeKeyWindow"); - late final _sel_makeKeyAndVisible1 = _registerName1("makeKeyAndVisible"); - late final _class_UIViewController1 = _getClass1("UIViewController"); - late final _sel_rootViewController1 = _registerName1("rootViewController"); - ffi.Pointer _objc_msgSend_181( - ffi.Pointer obj, - ffi.Pointer sel, - ) { - return __objc_msgSend_181( - obj, - sel, - ); - } - - late final __objc_msgSend_181Ptr = _lookup< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_181 = __objc_msgSend_181Ptr.asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); - - late final _sel_setRootViewController_1 = - _registerName1("setRootViewController:"); - void _objc_msgSend_182( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer value, - ) { - return __objc_msgSend_182( - obj, - sel, - value, - ); - } - - late final __objc_msgSend_182Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_182 = __objc_msgSend_182Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_sendEvent_1 = _registerName1("sendEvent:"); - void _objc_msgSend_183( - ffi.Pointer obj, - ffi.Pointer sel, - ffi.Pointer event, - ) { - return __objc_msgSend_183( - obj, - sel, - event, - ); - } - - late final __objc_msgSend_183Ptr = _lookup< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_183 = __objc_msgSend_183Ptr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); - - late final _sel_convertPoint_toWindow_1 = - _registerName1("convertPoint:toWindow:"); - CGPoint _objc_msgSend_184( - ffi.Pointer obj, - ffi.Pointer sel, - CGPoint point, - ffi.Pointer window, - ) { - return __objc_msgSend_184( - obj, - sel, - point, - window, - ); - } - - late final __objc_msgSend_184Ptr = _lookup< - ffi.NativeFunction< - CGPoint Function(ffi.Pointer, ffi.Pointer, - CGPoint, ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_184 = __objc_msgSend_184Ptr.asFunction< - CGPoint Function(ffi.Pointer, ffi.Pointer, CGPoint, - ffi.Pointer)>(); - - void _objc_msgSend_184_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - CGPoint point, - ffi.Pointer window, - ) { - return __objc_msgSend_184_stret( - stret, - obj, - sel, - point, - window, - ); - } - - late final __objc_msgSend_184_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - CGPoint, - ffi.Pointer)>>('objc_msgSend_stret'); - late final __objc_msgSend_184_stret = __objc_msgSend_184_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, CGPoint, ffi.Pointer)>(); - - late final _sel_convertPoint_fromWindow_1 = - _registerName1("convertPoint:fromWindow:"); - late final _sel_convertRect_toWindow_1 = - _registerName1("convertRect:toWindow:"); - CGRect _objc_msgSend_185( - ffi.Pointer obj, - ffi.Pointer sel, - CGRect rect, - ffi.Pointer window, - ) { - return __objc_msgSend_185( - obj, - sel, - rect, - window, - ); - } - - late final __objc_msgSend_185Ptr = _lookup< - ffi.NativeFunction< - CGRect Function(ffi.Pointer, ffi.Pointer, CGRect, - ffi.Pointer)>>('objc_msgSend'); - late final __objc_msgSend_185 = __objc_msgSend_185Ptr.asFunction< - CGRect Function(ffi.Pointer, ffi.Pointer, CGRect, - ffi.Pointer)>(); - - void _objc_msgSend_185_stret( - ffi.Pointer stret, - ffi.Pointer obj, - ffi.Pointer sel, - CGRect rect, - ffi.Pointer window, - ) { - return __objc_msgSend_185_stret( - stret, - obj, - sel, - rect, - window, - ); - } - - late final __objc_msgSend_185_stretPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - CGRect, - ffi.Pointer)>>('objc_msgSend_stret'); - late final __objc_msgSend_185_stret = __objc_msgSend_185_stretPtr.asFunction< - void Function(ffi.Pointer, ffi.Pointer, - ffi.Pointer, CGRect, ffi.Pointer)>(); - - late final _sel_convertRect_fromWindow_1 = - _registerName1("convertRect:fromWindow:"); - late final _sel_safeAreaAspectFitLayoutGuide1 = - _registerName1("safeAreaAspectFitLayoutGuide"); -} - -class _ObjCWrapper implements ffi.Finalizable { - final ffi.Pointer _id; - final UIKit _lib; - bool _pendingRelease; - - _ObjCWrapper._(this._id, this._lib, - {bool retain = false, bool release = false}) - : _pendingRelease = release { - if (retain) { - _lib._objc_retain(_id.cast()); - } - if (release) { - _lib._objc_releaseFinalizer2.attach(this, _id.cast(), detach: this); - } - } - - /// Releases the reference to the underlying ObjC object held by this wrapper. - /// Throws a StateError if this wrapper doesn't currently hold a reference. - void release() { - if (_pendingRelease) { - _pendingRelease = false; - _lib._objc_release(_id.cast()); - _lib._objc_releaseFinalizer2.detach(this); - } else { - throw StateError( - 'Released an ObjC object that was unowned or already released.'); - } - } - - @override - bool operator ==(Object other) { - return other is _ObjCWrapper && _id == other._id; - } - - @override - int get hashCode => _id.hashCode; - - /// Return a pointer to this object. - ffi.Pointer get pointer => _id; - - ffi.Pointer _retainAndReturnId() { - _lib._objc_retain(_id.cast()); - return _id; - } -} - -class UIWindow extends UIView { - UIWindow._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [UIWindow] that points to the same underlying object as [other]. - static UIWindow castFrom(T other) { - return UIWindow._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [UIWindow] that wraps the given raw object pointer. - static UIWindow castFromPointer(UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return UIWindow._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [UIWindow]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_UIWindow1); - } - - /// instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations. - UIWindow initWithWindowScene_(UIWindowScene windowScene) { - final _ret = _lib._objc_msgSend_176( - _id, _lib._sel_initWithWindowScene_1, windowScene._id); - return UIWindow._(_ret, _lib, retain: true, release: true); - } - - /// If nil, window will not appear on any screen. - /// changing the UIWindowScene may be an expensive operation and should not be done in performance-sensitive code - UIWindowScene? get windowScene { - final _ret = _lib._objc_msgSend_177(_id, _lib._sel_windowScene1); - return _ret.address == 0 - ? null - : UIWindowScene._(_ret, _lib, retain: true, release: true); - } - - /// If nil, window will not appear on any screen. - /// changing the UIWindowScene may be an expensive operation and should not be done in performance-sensitive code - set windowScene(UIWindowScene? value) { - return _lib._objc_msgSend_178( - _id, _lib._sel_setWindowScene_1, value?._id ?? ffi.nullptr); - } - - /// Indicates whether content should drive the size of arbitrarily resizable windows (which are currently present only on macOS). - bool get canResizeToFitContent { - return _lib._objc_msgSend_12(_id, _lib._sel_canResizeToFitContent1); - } - - /// Indicates whether content should drive the size of arbitrarily resizable windows (which are currently present only on macOS). - set canResizeToFitContent(bool value) { - return _lib._objc_msgSend_102( - _id, _lib._sel_setCanResizeToFitContent_1, value); - } - - /// default is [UIScreen mainScreen]. changing the screen may be an expensive operation and should not be done in performance-sensitive code - UIScreen get screen { - final _ret = _lib._objc_msgSend_179(_id, _lib._sel_screen1); - return UIScreen._(_ret, _lib, retain: true, release: true); - } - - /// default is [UIScreen mainScreen]. changing the screen may be an expensive operation and should not be done in performance-sensitive code - set screen(UIScreen value) { - return _lib._objc_msgSend_180(_id, _lib._sel_setScreen_1, value._id); - } - - /// default = 0.0 - double get windowLevel { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_windowLevel1) - : _lib._objc_msgSend_40(_id, _lib._sel_windowLevel1); - } - - /// default = 0.0 - set windowLevel(double value) { - return _lib._objc_msgSend_121(_id, _lib._sel_setWindowLevel_1, value); - } - - /// In apps built against the iOS 15 or tvOS 15 SDK (or later), this property returns YES if - /// the window is its scene's key window. For apps built against earlier SDKs, this property - /// returns YES if the window is the application's key window. - bool get keyWindow { - return _lib._objc_msgSend_12(_id, _lib._sel_isKeyWindow1); - } - - /// Default is YES. Return NO to indicate the window cannot become the key window. - bool get canBecomeKeyWindow { - return _lib._objc_msgSend_12(_id, _lib._sel_canBecomeKeyWindow1); - } - - /// Override point for subclasses. Do not call directly. Informs the window it has become the - /// key window. In apps built against the iOS 15 or tvOS 15 SDK (or later), this method will - /// be called when the window becomes its scene's key window. For apps built against earlier - /// SDKs, this method will be called when the window becomes the application's key window. - void becomeKeyWindow() { - _lib._objc_msgSend_1(_id, _lib._sel_becomeKeyWindow1); - } - - /// Override point for subclasses. Do not call directly. Informs the window it has resigned key - /// window status. In apps built against the iOS 15 or tvOS 15 SDK (or later), this method will - /// be called when the window resigns key in its scene. For apps built against earlier SDKs, - /// this method will be called when the window resigns key in the application. - void resignKeyWindow() { - _lib._objc_msgSend_1(_id, _lib._sel_resignKeyWindow1); - } - - /// Make the window key without changing visibility. - void makeKeyWindow() { - _lib._objc_msgSend_1(_id, _lib._sel_makeKeyWindow1); - } - - /// Convenience. Most apps call this to show a window and also make it key. - /// To make the window visible without becoming key, just use UIView's hidden property. - void makeKeyAndVisible() { - _lib._objc_msgSend_1(_id, _lib._sel_makeKeyAndVisible1); - } - - /// default is nil - UIViewController? get rootViewController { - final _ret = _lib._objc_msgSend_181(_id, _lib._sel_rootViewController1); - return _ret.address == 0 - ? null - : UIViewController._(_ret, _lib, retain: true, release: true); - } - - /// default is nil - set rootViewController(UIViewController? value) { - return _lib._objc_msgSend_182( - _id, _lib._sel_setRootViewController_1, value?._id ?? ffi.nullptr); - } - - /// called by UIApplication to dispatch events to views inside the window - void sendEvent_(UIEvent event) { - _lib._objc_msgSend_183(_id, _lib._sel_sendEvent_1, event._id); - } - - /// can be used to convert to another window - void convertPoint_toWindow_( - ffi.Pointer stret, CGPoint point, UIWindow? window) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_184_stret( - stret, - _id, - _lib._sel_convertPoint_toWindow_1, - point, - window?._id ?? ffi.nullptr) - : stret.ref = _lib._objc_msgSend_184( - _id, - _lib._sel_convertPoint_toWindow_1, - point, - window?._id ?? ffi.nullptr); - } - - /// pass in nil to mean screen - void convertPoint_fromWindow_( - ffi.Pointer stret, CGPoint point, UIWindow? window) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_184_stret( - stret, - _id, - _lib._sel_convertPoint_fromWindow_1, - point, - window?._id ?? ffi.nullptr) - : stret.ref = _lib._objc_msgSend_184( - _id, - _lib._sel_convertPoint_fromWindow_1, - point, - window?._id ?? ffi.nullptr); - } - - void convertRect_toWindow_( - ffi.Pointer stret, CGRect rect, UIWindow? window) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_185_stret(stret, _id, - _lib._sel_convertRect_toWindow_1, rect, window?._id ?? ffi.nullptr) - : stret.ref = _lib._objc_msgSend_185(_id, - _lib._sel_convertRect_toWindow_1, rect, window?._id ?? ffi.nullptr); - } - - void convertRect_fromWindow_( - ffi.Pointer stret, CGRect rect, UIWindow? window) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_185_stret( - stret, - _id, - _lib._sel_convertRect_fromWindow_1, - rect, - window?._id ?? ffi.nullptr) - : stret.ref = _lib._objc_msgSend_185( - _id, - _lib._sel_convertRect_fromWindow_1, - rect, - window?._id ?? ffi.nullptr); - } - - /// This layout guide is designed specifically for full-screen media content, and attaching constraints from deep in the window's view hierarchy will raise an exception. - /// - /// This guide provides a layout area for placing media content of a given aspect ratio (width over height) such that the content will be completely visible within the window. - /// Compared to the standard `safeAreaLayoutGuide` on a view, this guide takes into account the aspect ratio of the content, allowing it the maximum size within the window's - /// true safe area, including the actual shape of the screen when that is the only factor contributing to the safe area. The rect defined by this guide will be centered within the - /// window. - /// - /// This layout guide should only be used for fixed aspect ratio content that is intended to fill the window (such as image or video content) and is not a replacement for the - /// standard `safeAreaLayoutGuide` on each UIView which should be used for most content layout. The `safeAreaAspectFitLayoutGuide` should only be used with views - /// that are direct subviews of, or very close descendants of, the guide's window. Creating constraints from this layout guide to views deeper in the view hierarchy or across - /// views owned by child view controllers can significantly degrade performance and possibly raise an exception. Additionally, the safe area insets added by child view - /// controllers will not be reflected in these cases. For anything other than full-screen/window media content, the standard `safeAreaLayoutGuide` on UIView should be used. - NSObject get safeAreaAspectFitLayoutGuide { - final _ret = - _lib._objc_msgSend_2(_id, _lib._sel_safeAreaAspectFitLayoutGuide1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - static NSObject getLayerClass(UIKit _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_UIWindow1, _lib._sel_layerClass1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - @override - UIWindow initWithFrame_(CGRect frame) { - final _ret = _lib._objc_msgSend_113(_id, _lib._sel_initWithFrame_1, frame); - return UIWindow._(_ret, _lib, retain: true, release: true); - } - - @override - UIWindow? initWithCoder_(NSCoder coder) { - final _ret = - _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); - return _ret.address == 0 - ? null - : UIWindow._(_ret, _lib, retain: true, release: true); - } - - static int userInterfaceLayoutDirectionForSemanticContentAttribute_( - UIKit _lib, int attribute) { - return _lib._objc_msgSend_173( - _lib._class_UIWindow1, - _lib._sel_userInterfaceLayoutDirectionForSemanticContentAttribute_1, - attribute); - } - - static int - userInterfaceLayoutDirectionForSemanticContentAttribute_relativeToLayoutDirection_( - UIKit _lib, int semanticContentAttribute, int layoutDirection) { - return _lib._objc_msgSend_174( - _lib._class_UIWindow1, - _lib._sel_userInterfaceLayoutDirectionForSemanticContentAttribute_relativeToLayoutDirection_1, - semanticContentAttribute, - layoutDirection); - } - - @override - UIWindow init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return UIWindow._(_ret, _lib, retain: true, release: true); - } - - static UIWindow new1(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_UIWindow1, _lib._sel_new1); - return UIWindow._(_ret, _lib, retain: false, release: true); - } - - static UIWindow allocWithZone_(UIKit _lib, ffi.Pointer zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_UIWindow1, _lib._sel_allocWithZone_1, zone); - return UIWindow._(_ret, _lib, retain: false, release: true); - } - - static UIWindow alloc(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_UIWindow1, _lib._sel_alloc1); - return UIWindow._(_ret, _lib, retain: false, release: true); - } -} - -final class ObjCSel extends ffi.Opaque {} - -final class ObjCObject extends ffi.Opaque {} - -class UIView extends UIResponder { - UIView._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [UIView] that points to the same underlying object as [other]. - static UIView castFrom(T other) { - return UIView._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [UIView] that wraps the given raw object pointer. - static UIView castFromPointer(UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return UIView._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [UIView]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_UIView1); - } - - static NSObject getLayerClass(UIKit _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_UIView1, _lib._sel_layerClass1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - UIView initWithFrame_(CGRect frame) { - final _ret = _lib._objc_msgSend_113(_id, _lib._sel_initWithFrame_1, frame); - return UIView._(_ret, _lib, retain: true, release: true); - } - - UIView? initWithCoder_(NSCoder coder) { - final _ret = - _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); - return _ret.address == 0 - ? null - : UIView._(_ret, _lib, retain: true, release: true); - } - - bool get userInteractionEnabled { - return _lib._objc_msgSend_12(_id, _lib._sel_isUserInteractionEnabled1); - } - - set userInteractionEnabled(bool value) { - return _lib._objc_msgSend_102( - _id, _lib._sel_setUserInteractionEnabled_1, value); - } - - int get tag { - return _lib._objc_msgSend_74(_id, _lib._sel_tag1); - } - - set tag(int value) { - return _lib._objc_msgSend_114(_id, _lib._sel_setTag_1, value); - } - - CALayer get layer { - final _ret = _lib._objc_msgSend_168(_id, _lib._sel_layer1); - return CALayer._(_ret, _lib, retain: true, release: true); - } - - bool get canBecomeFocused { - return _lib._objc_msgSend_12(_id, _lib._sel_canBecomeFocused1); - } - - bool get focused { - return _lib._objc_msgSend_12(_id, _lib._sel_isFocused1); - } - - NSString? get focusGroupIdentifier { - final _ret = _lib._objc_msgSend_90(_id, _lib._sel_focusGroupIdentifier1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - set focusGroupIdentifier(NSString? value) { - return _lib._objc_msgSend_91( - _id, _lib._sel_setFocusGroupIdentifier_1, value?._id ?? ffi.nullptr); - } - - int get focusGroupPriority { - return _lib._objc_msgSend_74(_id, _lib._sel_focusGroupPriority1); - } - - set focusGroupPriority(int value) { - return _lib._objc_msgSend_114( - _id, _lib._sel_setFocusGroupPriority_1, value); - } - - UIFocusEffect? get focusEffect { - final _ret = _lib._objc_msgSend_169(_id, _lib._sel_focusEffect1); - return _ret.address == 0 - ? null - : UIFocusEffect._(_ret, _lib, retain: true, release: true); - } - - set focusEffect(UIFocusEffect? value) { - return _lib._objc_msgSend_170( - _id, _lib._sel_setFocusEffect_1, value?._id ?? ffi.nullptr); - } - - int get semanticContentAttribute { - return _lib._objc_msgSend_171(_id, _lib._sel_semanticContentAttribute1); - } - - set semanticContentAttribute(int value) { - return _lib._objc_msgSend_172( - _id, _lib._sel_setSemanticContentAttribute_1, value); - } - - static int userInterfaceLayoutDirectionForSemanticContentAttribute_( - UIKit _lib, int attribute) { - return _lib._objc_msgSend_173( - _lib._class_UIView1, - _lib._sel_userInterfaceLayoutDirectionForSemanticContentAttribute_1, - attribute); - } - - static int - userInterfaceLayoutDirectionForSemanticContentAttribute_relativeToLayoutDirection_( - UIKit _lib, int semanticContentAttribute, int layoutDirection) { - return _lib._objc_msgSend_174( - _lib._class_UIView1, - _lib._sel_userInterfaceLayoutDirectionForSemanticContentAttribute_relativeToLayoutDirection_1, - semanticContentAttribute, - layoutDirection); - } - - int get effectiveUserInterfaceLayoutDirection { - return _lib._objc_msgSend_175( - _id, _lib._sel_effectiveUserInterfaceLayoutDirection1); - } - - @override - UIView init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return UIView._(_ret, _lib, retain: true, release: true); - } - - static UIView new1(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_UIView1, _lib._sel_new1); - return UIView._(_ret, _lib, retain: false, release: true); - } - - static UIView allocWithZone_(UIKit _lib, ffi.Pointer zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_UIView1, _lib._sel_allocWithZone_1, zone); - return UIView._(_ret, _lib, retain: false, release: true); - } - - static UIView alloc(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_UIView1, _lib._sel_alloc1); - return UIView._(_ret, _lib, retain: false, release: true); - } -} - -class UIResponder extends NSObject { - UIResponder._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [UIResponder] that points to the same underlying object as [other]. - static UIResponder castFrom(T other) { - return UIResponder._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [UIResponder] that wraps the given raw object pointer. - static UIResponder castFromPointer(UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return UIResponder._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [UIResponder]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_UIResponder1); - } - - UIResponder? get nextResponder { - final _ret = _lib._objc_msgSend_37(_id, _lib._sel_nextResponder1); - return _ret.address == 0 - ? null - : UIResponder._(_ret, _lib, retain: true, release: true); - } - - bool get canBecomeFirstResponder { - return _lib._objc_msgSend_12(_id, _lib._sel_canBecomeFirstResponder1); - } - - bool becomeFirstResponder() { - return _lib._objc_msgSend_12(_id, _lib._sel_becomeFirstResponder1); - } - - bool get canResignFirstResponder { - return _lib._objc_msgSend_12(_id, _lib._sel_canResignFirstResponder1); - } - - bool resignFirstResponder() { - return _lib._objc_msgSend_12(_id, _lib._sel_resignFirstResponder1); - } - - bool get isFirstResponder { - return _lib._objc_msgSend_12(_id, _lib._sel_isFirstResponder1); - } - - void touchesBegan_withEvent_(NSObject touches, UIEvent? event) { - _lib._objc_msgSend_84(_id, _lib._sel_touchesBegan_withEvent_1, touches._id, - event?._id ?? ffi.nullptr); - } - - void touchesMoved_withEvent_(NSObject touches, UIEvent? event) { - _lib._objc_msgSend_84(_id, _lib._sel_touchesMoved_withEvent_1, touches._id, - event?._id ?? ffi.nullptr); - } - - void touchesEnded_withEvent_(NSObject touches, UIEvent? event) { - _lib._objc_msgSend_84(_id, _lib._sel_touchesEnded_withEvent_1, touches._id, - event?._id ?? ffi.nullptr); - } - - void touchesCancelled_withEvent_(NSObject touches, UIEvent? event) { - _lib._objc_msgSend_84(_id, _lib._sel_touchesCancelled_withEvent_1, - touches._id, event?._id ?? ffi.nullptr); - } - - void touchesEstimatedPropertiesUpdated_(NSObject touches) { - _lib._objc_msgSend_22( - _id, _lib._sel_touchesEstimatedPropertiesUpdated_1, touches._id); - } - - void pressesBegan_withEvent_(NSObject presses, UIPressesEvent? event) { - _lib._objc_msgSend_85(_id, _lib._sel_pressesBegan_withEvent_1, presses._id, - event?._id ?? ffi.nullptr); - } - - void pressesChanged_withEvent_(NSObject presses, UIPressesEvent? event) { - _lib._objc_msgSend_85(_id, _lib._sel_pressesChanged_withEvent_1, - presses._id, event?._id ?? ffi.nullptr); - } - - void pressesEnded_withEvent_(NSObject presses, UIPressesEvent? event) { - _lib._objc_msgSend_85(_id, _lib._sel_pressesEnded_withEvent_1, presses._id, - event?._id ?? ffi.nullptr); - } - - void pressesCancelled_withEvent_(NSObject presses, UIPressesEvent? event) { - _lib._objc_msgSend_85(_id, _lib._sel_pressesCancelled_withEvent_1, - presses._id, event?._id ?? ffi.nullptr); - } - - void motionBegan_withEvent_(int motion, UIEvent? event) { - _lib._objc_msgSend_86(_id, _lib._sel_motionBegan_withEvent_1, motion, - event?._id ?? ffi.nullptr); - } - - void motionEnded_withEvent_(int motion, UIEvent? event) { - _lib._objc_msgSend_86(_id, _lib._sel_motionEnded_withEvent_1, motion, - event?._id ?? ffi.nullptr); - } - - void motionCancelled_withEvent_(int motion, UIEvent? event) { - _lib._objc_msgSend_86(_id, _lib._sel_motionCancelled_withEvent_1, motion, - event?._id ?? ffi.nullptr); - } - - void remoteControlReceivedWithEvent_(UIEvent? event) { - _lib._objc_msgSend_87(_id, _lib._sel_remoteControlReceivedWithEvent_1, - event?._id ?? ffi.nullptr); - } - - bool canPerformAction_withSender_( - ffi.Pointer action, NSObject? sender) { - return _lib._objc_msgSend_88(_id, _lib._sel_canPerformAction_withSender_1, - action, sender?._id ?? ffi.nullptr); - } - - NSObject? targetForAction_withSender_( - ffi.Pointer action, NSObject? sender) { - final _ret = _lib._objc_msgSend_89( - _id, - _lib._sel_targetForAction_withSender_1, - action, - sender?._id ?? ffi.nullptr); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - void buildMenuWithBuilder_(NSObject builder) { - _lib._objc_msgSend_22(_id, _lib._sel_buildMenuWithBuilder_1, builder._id); - } - - void validateCommand_(UICommand command) { - _lib._objc_msgSend_101(_id, _lib._sel_validateCommand_1, command._id); - } - - NSUndoManager? get undoManager { - final _ret = _lib._objc_msgSend_111(_id, _lib._sel_undoManager1); - return _ret.address == 0 - ? null - : NSUndoManager._(_ret, _lib, retain: true, release: true); - } - - int get editingInteractionConfiguration { - return _lib._objc_msgSend_112( - _id, _lib._sel_editingInteractionConfiguration1); - } - - @override - UIResponder init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return UIResponder._(_ret, _lib, retain: true, release: true); - } - - static UIResponder new1(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_UIResponder1, _lib._sel_new1); - return UIResponder._(_ret, _lib, retain: false, release: true); - } - - static UIResponder allocWithZone_(UIKit _lib, ffi.Pointer zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_UIResponder1, _lib._sel_allocWithZone_1, zone); - return UIResponder._(_ret, _lib, retain: false, release: true); - } - - static UIResponder alloc(UIKit _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_UIResponder1, _lib._sel_alloc1); - return UIResponder._(_ret, _lib, retain: false, release: true); - } -} - -class NSObject extends _ObjCWrapper { - NSObject._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSObject] that points to the same underlying object as [other]. - static NSObject castFrom(T other) { - return NSObject._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSObject] that wraps the given raw object pointer. - static NSObject castFromPointer(UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSObject._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSObject]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSObject1); - } - - static void load(UIKit _lib) { - _lib._objc_msgSend_1(_lib._class_NSObject1, _lib._sel_load1); - } - - static void initialize(UIKit _lib) { - _lib._objc_msgSend_1(_lib._class_NSObject1, _lib._sel_initialize1); - } - - NSObject init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - static NSObject new1(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_new1); - return NSObject._(_ret, _lib, retain: false, release: true); - } - - static NSObject allocWithZone_(UIKit _lib, ffi.Pointer zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSObject1, _lib._sel_allocWithZone_1, zone); - return NSObject._(_ret, _lib, retain: false, release: true); - } - - static NSObject alloc(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_alloc1); - return NSObject._(_ret, _lib, retain: false, release: true); - } - - void dealloc() { - _lib._objc_msgSend_1(_id, _lib._sel_dealloc1); - } - - void finalize() { - _lib._objc_msgSend_1(_id, _lib._sel_finalize1); - } - - NSObject copy() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_copy1); - return NSObject._(_ret, _lib, retain: false, release: true); - } - - NSObject mutableCopy() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_mutableCopy1); - return NSObject._(_ret, _lib, retain: false, release: true); - } - - static NSObject copyWithZone_(UIKit _lib, ffi.Pointer zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSObject1, _lib._sel_copyWithZone_1, zone); - return NSObject._(_ret, _lib, retain: false, release: true); - } - - static NSObject mutableCopyWithZone_( - UIKit _lib, ffi.Pointer zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSObject1, _lib._sel_mutableCopyWithZone_1, zone); - return NSObject._(_ret, _lib, retain: false, release: true); - } - - static bool instancesRespondToSelector_( - UIKit _lib, ffi.Pointer aSelector) { - return _lib._objc_msgSend_4(_lib._class_NSObject1, - _lib._sel_instancesRespondToSelector_1, aSelector); - } - - static bool conformsToProtocol_(UIKit _lib, Protocol protocol) { - return _lib._objc_msgSend_5( - _lib._class_NSObject1, _lib._sel_conformsToProtocol_1, protocol._id); - } - - ffi.Pointer> methodForSelector_( - ffi.Pointer aSelector) { - return _lib._objc_msgSend_6(_id, _lib._sel_methodForSelector_1, aSelector); - } - - static ffi.Pointer> - instanceMethodForSelector_(UIKit _lib, ffi.Pointer aSelector) { - return _lib._objc_msgSend_6(_lib._class_NSObject1, - _lib._sel_instanceMethodForSelector_1, aSelector); - } - - void doesNotRecognizeSelector_(ffi.Pointer aSelector) { - _lib._objc_msgSend_7(_id, _lib._sel_doesNotRecognizeSelector_1, aSelector); - } - - NSObject forwardingTargetForSelector_(ffi.Pointer aSelector) { - final _ret = _lib._objc_msgSend_8( - _id, _lib._sel_forwardingTargetForSelector_1, aSelector); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - void forwardInvocation_(NSInvocation anInvocation) { - _lib._objc_msgSend_24(_id, _lib._sel_forwardInvocation_1, anInvocation._id); - } - - NSMethodSignature methodSignatureForSelector_( - ffi.Pointer aSelector) { - final _ret = _lib._objc_msgSend_25( - _id, _lib._sel_methodSignatureForSelector_1, aSelector); - return NSMethodSignature._(_ret, _lib, retain: true, release: true); - } - - static NSMethodSignature instanceMethodSignatureForSelector_( - UIKit _lib, ffi.Pointer aSelector) { - final _ret = _lib._objc_msgSend_25(_lib._class_NSObject1, - _lib._sel_instanceMethodSignatureForSelector_1, aSelector); - return NSMethodSignature._(_ret, _lib, retain: true, release: true); - } - - bool allowsWeakReference() { - return _lib._objc_msgSend_12(_id, _lib._sel_allowsWeakReference1); - } - - bool retainWeakReference() { - return _lib._objc_msgSend_12(_id, _lib._sel_retainWeakReference1); - } - - static bool isSubclassOfClass_(UIKit _lib, NSObject aClass) { - return _lib._objc_msgSend_0( - _lib._class_NSObject1, _lib._sel_isSubclassOfClass_1, aClass._id); - } - - static bool resolveClassMethod_(UIKit _lib, ffi.Pointer sel) { - return _lib._objc_msgSend_4( - _lib._class_NSObject1, _lib._sel_resolveClassMethod_1, sel); - } - - static bool resolveInstanceMethod_(UIKit _lib, ffi.Pointer sel) { - return _lib._objc_msgSend_4( - _lib._class_NSObject1, _lib._sel_resolveInstanceMethod_1, sel); - } - - static int hash(UIKit _lib) { - return _lib._objc_msgSend_10(_lib._class_NSObject1, _lib._sel_hash1); - } - - static NSObject superclass(UIKit _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_superclass1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - static NSObject class1(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSObject1, _lib._sel_class1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - static NSString description(UIKit _lib) { - final _ret = - _lib._objc_msgSend_36(_lib._class_NSObject1, _lib._sel_description1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - static NSString debugDescription(UIKit _lib) { - final _ret = _lib._objc_msgSend_36( - _lib._class_NSObject1, _lib._sel_debugDescription1); - return NSString._(_ret, _lib, retain: true, release: true); - } -} - -typedef instancetype = ffi.Pointer; -typedef Dartinstancetype = NSObject; - -class Protocol extends _ObjCWrapper { - Protocol._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [Protocol] that points to the same underlying object as [other]. - static Protocol castFrom(T other) { - return Protocol._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [Protocol] that wraps the given raw object pointer. - static Protocol castFromPointer(UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return Protocol._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [Protocol]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_Protocol1); - } -} - -class NSInvocation extends NSObject { - NSInvocation._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSInvocation] that points to the same underlying object as [other]. - static NSInvocation castFrom(T other) { - return NSInvocation._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSInvocation] that wraps the given raw object pointer. - static NSInvocation castFromPointer(UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSInvocation._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSInvocation]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSInvocation1); - } - - static NSInvocation invocationWithMethodSignature_( - UIKit _lib, NSMethodSignature sig) { - final _ret = _lib._objc_msgSend_14(_lib._class_NSInvocation1, - _lib._sel_invocationWithMethodSignature_1, sig._id); - return NSInvocation._(_ret, _lib, retain: true, release: true); - } - - NSMethodSignature get methodSignature { - final _ret = _lib._objc_msgSend_15(_id, _lib._sel_methodSignature1); - return NSMethodSignature._(_ret, _lib, retain: true, release: true); - } - - void retainArguments() { - _lib._objc_msgSend_1(_id, _lib._sel_retainArguments1); - } - - bool get argumentsRetained { - return _lib._objc_msgSend_12(_id, _lib._sel_argumentsRetained1); - } - - NSObject? get target { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_target1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - set target(NSObject? value) { - return _lib._objc_msgSend_17( - _id, _lib._sel_setTarget_1, value?._id ?? ffi.nullptr); - } - - ffi.Pointer get selector { - return _lib._objc_msgSend_18(_id, _lib._sel_selector1); - } - - set selector(ffi.Pointer value) { - return _lib._objc_msgSend_19(_id, _lib._sel_setSelector_1, value); - } - - void getReturnValue_(ffi.Pointer retLoc) { - _lib._objc_msgSend_20(_id, _lib._sel_getReturnValue_1, retLoc); - } - - void setReturnValue_(ffi.Pointer retLoc) { - _lib._objc_msgSend_20(_id, _lib._sel_setReturnValue_1, retLoc); - } - - void getArgument_atIndex_(ffi.Pointer argumentLocation, int idx) { - _lib._objc_msgSend_21( - _id, _lib._sel_getArgument_atIndex_1, argumentLocation, idx); - } - - void setArgument_atIndex_(ffi.Pointer argumentLocation, int idx) { - _lib._objc_msgSend_21( - _id, _lib._sel_setArgument_atIndex_1, argumentLocation, idx); - } - - void invoke() { - _lib._objc_msgSend_1(_id, _lib._sel_invoke1); - } - - void invokeWithTarget_(NSObject target) { - _lib._objc_msgSend_22(_id, _lib._sel_invokeWithTarget_1, target._id); - } - - void invokeUsingIMP_( - ffi.Pointer> imp) { - _lib._objc_msgSend_23(_id, _lib._sel_invokeUsingIMP_1, imp); - } - - @override - NSInvocation init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSInvocation._(_ret, _lib, retain: true, release: true); - } - - static NSInvocation new1(UIKit _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSInvocation1, _lib._sel_new1); - return NSInvocation._(_ret, _lib, retain: false, release: true); - } - - static NSInvocation allocWithZone_( - UIKit _lib, ffi.Pointer zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSInvocation1, _lib._sel_allocWithZone_1, zone); - return NSInvocation._(_ret, _lib, retain: false, release: true); - } - - static NSInvocation alloc(UIKit _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSInvocation1, _lib._sel_alloc1); - return NSInvocation._(_ret, _lib, retain: false, release: true); - } -} - -class NSMethodSignature extends NSObject { - NSMethodSignature._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSMethodSignature] that points to the same underlying object as [other]. - static NSMethodSignature castFrom(T other) { - return NSMethodSignature._(other._id, other._lib, - retain: true, release: true); - } - - /// Returns a [NSMethodSignature] that wraps the given raw object pointer. - static NSMethodSignature castFromPointer( - UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSMethodSignature._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSMethodSignature]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, - obj._lib._class_NSMethodSignature1); - } - - static NSMethodSignature? signatureWithObjCTypes_( - UIKit _lib, ffi.Pointer types) { - final _ret = _lib._objc_msgSend_9(_lib._class_NSMethodSignature1, - _lib._sel_signatureWithObjCTypes_1, types); - return _ret.address == 0 - ? null - : NSMethodSignature._(_ret, _lib, retain: true, release: true); - } - - int get numberOfArguments { - return _lib._objc_msgSend_10(_id, _lib._sel_numberOfArguments1); - } - - ffi.Pointer getArgumentTypeAtIndex_(int idx) { - return _lib._objc_msgSend_11(_id, _lib._sel_getArgumentTypeAtIndex_1, idx); - } - - int get frameLength { - return _lib._objc_msgSend_10(_id, _lib._sel_frameLength1); - } - - bool isOneway() { - return _lib._objc_msgSend_12(_id, _lib._sel_isOneway1); - } - - ffi.Pointer get methodReturnType { - return _lib._objc_msgSend_13(_id, _lib._sel_methodReturnType1); - } - - int get methodReturnLength { - return _lib._objc_msgSend_10(_id, _lib._sel_methodReturnLength1); - } - - @override - NSMethodSignature init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSMethodSignature._(_ret, _lib, retain: true, release: true); - } - - static NSMethodSignature new1(UIKit _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSMethodSignature1, _lib._sel_new1); - return NSMethodSignature._(_ret, _lib, retain: false, release: true); - } - - static NSMethodSignature allocWithZone_( - UIKit _lib, ffi.Pointer zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSMethodSignature1, _lib._sel_allocWithZone_1, zone); - return NSMethodSignature._(_ret, _lib, retain: false, release: true); - } - - static NSMethodSignature alloc(UIKit _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSMethodSignature1, _lib._sel_alloc1); - return NSMethodSignature._(_ret, _lib, retain: false, release: true); - } -} - -class NSString extends NSObject { - NSString._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSString] that points to the same underlying object as [other]. - static NSString castFrom(T other) { - return NSString._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSString] that wraps the given raw object pointer. - static NSString castFromPointer(UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSString._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSString]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSString1); - } - - factory NSString(UIKit _lib, String str) { - final cstr = str.toNativeUtf16(); - final nsstr = stringWithCharacters_length_(_lib, cstr.cast(), str.length); - pkg_ffi.calloc.free(cstr); - return nsstr; - } - - @override - String toString() { - final data = - dataUsingEncoding_(0x94000100 /* NSUTF16LittleEndianStringEncoding */); - return data!.bytes.cast().toDartString(length: length); - } - - int get length { - return _lib._objc_msgSend_10(_id, _lib._sel_length1); - } - - int characterAtIndex_(int index) { - return _lib._objc_msgSend_26(_id, _lib._sel_characterAtIndex_1, index); - } - - @override - NSString init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? initWithCoder_(NSCoder coder) { - final _ret = - _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - static NSString stringWithCharacters_length_( - UIKit _lib, ffi.Pointer characters, int length) { - final _ret = _lib._objc_msgSend_34(_lib._class_NSString1, - _lib._sel_stringWithCharacters_length_1, characters, length); - return NSString._(_ret, _lib, retain: true, release: true); - } - - NSData dataUsingEncoding_(int encoding) { - final _ret = - _lib._objc_msgSend_35(_id, _lib._sel_dataUsingEncoding_1, encoding); - return NSData._(_ret, _lib, retain: true, release: true); - } - - static NSString new1(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSString1, _lib._sel_new1); - return NSString._(_ret, _lib, retain: false, release: true); - } - - static NSString allocWithZone_(UIKit _lib, ffi.Pointer zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSString1, _lib._sel_allocWithZone_1, zone); - return NSString._(_ret, _lib, retain: false, release: true); - } - - static NSString alloc(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSString1, _lib._sel_alloc1); - return NSString._(_ret, _lib, retain: false, release: true); - } -} - -extension StringToNSString on String { - NSString toNSString(UIKit lib) => NSString(lib, this); -} - -class NSCoder extends NSObject { - NSCoder._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSCoder] that points to the same underlying object as [other]. - static NSCoder castFrom(T other) { - return NSCoder._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSCoder] that wraps the given raw object pointer. - static NSCoder castFromPointer(UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSCoder._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSCoder]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSCoder1); - } - - void encodeValueOfObjCType_at_( - ffi.Pointer type, ffi.Pointer addr) { - _lib._objc_msgSend_27( - _id, _lib._sel_encodeValueOfObjCType_at_1, type, addr); - } - - void encodeDataObject_(NSData data) { - _lib._objc_msgSend_29(_id, _lib._sel_encodeDataObject_1, data._id); - } - - NSData? decodeDataObject() { - final _ret = _lib._objc_msgSend_30(_id, _lib._sel_decodeDataObject1); - return _ret.address == 0 - ? null - : NSData._(_ret, _lib, retain: true, release: true); - } - - void decodeValueOfObjCType_at_size_( - ffi.Pointer type, ffi.Pointer data, int size) { - _lib._objc_msgSend_31( - _id, _lib._sel_decodeValueOfObjCType_at_size_1, type, data, size); - } - - int versionForClassName_(NSString className) { - return _lib._objc_msgSend_32( - _id, _lib._sel_versionForClassName_1, className._id); - } - - @override - NSCoder init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSCoder._(_ret, _lib, retain: true, release: true); - } - - static NSCoder new1(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSCoder1, _lib._sel_new1); - return NSCoder._(_ret, _lib, retain: false, release: true); - } - - static NSCoder allocWithZone_(UIKit _lib, ffi.Pointer zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSCoder1, _lib._sel_allocWithZone_1, zone); - return NSCoder._(_ret, _lib, retain: false, release: true); - } - - static NSCoder alloc(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSCoder1, _lib._sel_alloc1); - return NSCoder._(_ret, _lib, retain: false, release: true); - } -} - -class NSData extends NSObject { - NSData._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSData] that points to the same underlying object as [other]. - static NSData castFrom(T other) { - return NSData._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSData] that wraps the given raw object pointer. - static NSData castFromPointer(UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSData._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSData]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSData1); - } - - int get length { - return _lib._objc_msgSend_10(_id, _lib._sel_length1); - } - - ffi.Pointer get bytes { - return _lib._objc_msgSend_28(_id, _lib._sel_bytes1); - } - - @override - NSData init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSData._(_ret, _lib, retain: true, release: true); - } - - static NSData new1(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSData1, _lib._sel_new1); - return NSData._(_ret, _lib, retain: false, release: true); - } - - static NSData allocWithZone_(UIKit _lib, ffi.Pointer zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSData1, _lib._sel_allocWithZone_1, zone); - return NSData._(_ret, _lib, retain: false, release: true); - } - - static NSData alloc(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSData1, _lib._sel_alloc1); - return NSData._(_ret, _lib, retain: false, release: true); - } -} - -class UIEvent extends NSObject { - UIEvent._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [UIEvent] that points to the same underlying object as [other]. - static UIEvent castFrom(T other) { - return UIEvent._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [UIEvent] that wraps the given raw object pointer. - static UIEvent castFromPointer(UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return UIEvent._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [UIEvent]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_UIEvent1); - } - - int get type { - return _lib._objc_msgSend_38(_id, _lib._sel_type1); - } - - int get subtype { - return _lib._objc_msgSend_39(_id, _lib._sel_subtype1); - } - - double get timestamp { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_timestamp1) - : _lib._objc_msgSend_40(_id, _lib._sel_timestamp1); - } - - int get modifierFlags { - return _lib._objc_msgSend_41(_id, _lib._sel_modifierFlags1); - } - - int get buttonMask { - return _lib._objc_msgSend_42(_id, _lib._sel_buttonMask1); - } - - NSObject? get allTouches { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_allTouches1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - NSObject? touchesForWindow_(UIWindow window) { - final _ret = - _lib._objc_msgSend_43(_id, _lib._sel_touchesForWindow_1, window._id); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - NSObject? touchesForView_(UIView view) { - final _ret = - _lib._objc_msgSend_44(_id, _lib._sel_touchesForView_1, view._id); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - NSObject? touchesForGestureRecognizer_(UIGestureRecognizer gesture) { - final _ret = _lib._objc_msgSend_45( - _id, _lib._sel_touchesForGestureRecognizer_1, gesture._id); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - NSObject? coalescedTouchesForTouch_(UITouch touch) { - final _ret = _lib._objc_msgSend_83( - _id, _lib._sel_coalescedTouchesForTouch_1, touch._id); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - NSObject? predictedTouchesForTouch_(UITouch touch) { - final _ret = _lib._objc_msgSend_83( - _id, _lib._sel_predictedTouchesForTouch_1, touch._id); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - @override - UIEvent init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return UIEvent._(_ret, _lib, retain: true, release: true); - } - - static UIEvent new1(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_UIEvent1, _lib._sel_new1); - return UIEvent._(_ret, _lib, retain: false, release: true); - } - - static UIEvent allocWithZone_(UIKit _lib, ffi.Pointer zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_UIEvent1, _lib._sel_allocWithZone_1, zone); - return UIEvent._(_ret, _lib, retain: false, release: true); - } - - static UIEvent alloc(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_UIEvent1, _lib._sel_alloc1); - return UIEvent._(_ret, _lib, retain: false, release: true); - } -} - -abstract class UIEventType { - static const int UIEventTypeTouches = 0; - static const int UIEventTypeMotion = 1; - static const int UIEventTypeRemoteControl = 2; - static const int UIEventTypePresses = 3; - static const int UIEventTypeScroll = 10; - static const int UIEventTypeHover = 11; - static const int UIEventTypeTransform = 14; -} - -abstract class UIEventSubtype { - static const int UIEventSubtypeNone = 0; - static const int UIEventSubtypeMotionShake = 1; - static const int UIEventSubtypeRemoteControlPlay = 100; - static const int UIEventSubtypeRemoteControlPause = 101; - static const int UIEventSubtypeRemoteControlStop = 102; - static const int UIEventSubtypeRemoteControlTogglePlayPause = 103; - static const int UIEventSubtypeRemoteControlNextTrack = 104; - static const int UIEventSubtypeRemoteControlPreviousTrack = 105; - static const int UIEventSubtypeRemoteControlBeginSeekingBackward = 106; - static const int UIEventSubtypeRemoteControlEndSeekingBackward = 107; - static const int UIEventSubtypeRemoteControlBeginSeekingForward = 108; - static const int UIEventSubtypeRemoteControlEndSeekingForward = 109; -} - -abstract class UIKeyModifierFlags { - static const int UIKeyModifierAlphaShift = 65536; - static const int UIKeyModifierShift = 131072; - static const int UIKeyModifierControl = 262144; - static const int UIKeyModifierAlternate = 524288; - static const int UIKeyModifierCommand = 1048576; - static const int UIKeyModifierNumericPad = 2097152; -} - -abstract class UIEventButtonMask { - static const int UIEventButtonMaskPrimary = 1; - static const int UIEventButtonMaskSecondary = 2; -} - -class UIGestureRecognizer extends _ObjCWrapper { - UIGestureRecognizer._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [UIGestureRecognizer] that points to the same underlying object as [other]. - static UIGestureRecognizer castFrom(T other) { - return UIGestureRecognizer._(other._id, other._lib, - retain: true, release: true); - } - - /// Returns a [UIGestureRecognizer] that wraps the given raw object pointer. - static UIGestureRecognizer castFromPointer( - UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return UIGestureRecognizer._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [UIGestureRecognizer]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, - obj._lib._class_UIGestureRecognizer1); - } -} - -class UITouch extends NSObject { - UITouch._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [UITouch] that points to the same underlying object as [other]. - static UITouch castFrom(T other) { - return UITouch._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [UITouch] that wraps the given raw object pointer. - static UITouch castFromPointer(UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return UITouch._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [UITouch]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_UITouch1); - } - - double get timestamp { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_timestamp1) - : _lib._objc_msgSend_40(_id, _lib._sel_timestamp1); - } - - int get phase { - return _lib._objc_msgSend_46(_id, _lib._sel_phase1); - } - - int get tapCount { - return _lib._objc_msgSend_10(_id, _lib._sel_tapCount1); - } - - int get type { - return _lib._objc_msgSend_47(_id, _lib._sel_type1); - } - - double get majorRadius { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_majorRadius1) - : _lib._objc_msgSend_40(_id, _lib._sel_majorRadius1); - } - - double get majorRadiusTolerance { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_majorRadiusTolerance1) - : _lib._objc_msgSend_40(_id, _lib._sel_majorRadiusTolerance1); - } - - UIWindow? get window { - final _ret = _lib._objc_msgSend_48(_id, _lib._sel_window1); - return _ret.address == 0 - ? null - : UIWindow._(_ret, _lib, retain: true, release: true); - } - - UIView? get view { - final _ret = _lib._objc_msgSend_49(_id, _lib._sel_view1); - return _ret.address == 0 - ? null - : UIView._(_ret, _lib, retain: true, release: true); - } - - NSObject? get gestureRecognizers { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_gestureRecognizers1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - void locationInView_(ffi.Pointer stret, UIView? view) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_50_stret( - stret, _id, _lib._sel_locationInView_1, view?._id ?? ffi.nullptr) - : stret.ref = _lib._objc_msgSend_50( - _id, _lib._sel_locationInView_1, view?._id ?? ffi.nullptr); - } - - void previousLocationInView_(ffi.Pointer stret, UIView? view) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_50_stret(stret, _id, - _lib._sel_previousLocationInView_1, view?._id ?? ffi.nullptr) - : stret.ref = _lib._objc_msgSend_50( - _id, _lib._sel_previousLocationInView_1, view?._id ?? ffi.nullptr); - } - - void preciseLocationInView_(ffi.Pointer stret, UIView? view) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_50_stret(stret, _id, - _lib._sel_preciseLocationInView_1, view?._id ?? ffi.nullptr) - : stret.ref = _lib._objc_msgSend_50( - _id, _lib._sel_preciseLocationInView_1, view?._id ?? ffi.nullptr); - } - - void precisePreviousLocationInView_( - ffi.Pointer stret, UIView? view) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_50_stret(stret, _id, - _lib._sel_precisePreviousLocationInView_1, view?._id ?? ffi.nullptr) - : stret.ref = _lib._objc_msgSend_50( - _id, - _lib._sel_precisePreviousLocationInView_1, - view?._id ?? ffi.nullptr); - } - - double get force { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_force1) - : _lib._objc_msgSend_40(_id, _lib._sel_force1); - } - - double get maximumPossibleForce { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_maximumPossibleForce1) - : _lib._objc_msgSend_40(_id, _lib._sel_maximumPossibleForce1); - } - - double azimuthAngleInView_(UIView? view) { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_51_fpret( - _id, _lib._sel_azimuthAngleInView_1, view?._id ?? ffi.nullptr) - : _lib._objc_msgSend_51( - _id, _lib._sel_azimuthAngleInView_1, view?._id ?? ffi.nullptr); - } - - void azimuthUnitVectorInView_(ffi.Pointer stret, UIView? view) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_52_stret(stret, _id, - _lib._sel_azimuthUnitVectorInView_1, view?._id ?? ffi.nullptr) - : stret.ref = _lib._objc_msgSend_52( - _id, _lib._sel_azimuthUnitVectorInView_1, view?._id ?? ffi.nullptr); - } - - double get altitudeAngle { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_altitudeAngle1) - : _lib._objc_msgSend_40(_id, _lib._sel_altitudeAngle1); - } - - NSNumber? get estimationUpdateIndex { - final _ret = _lib._objc_msgSend_81(_id, _lib._sel_estimationUpdateIndex1); - return _ret.address == 0 - ? null - : NSNumber._(_ret, _lib, retain: true, release: true); - } - - int get estimatedProperties { - return _lib._objc_msgSend_82(_id, _lib._sel_estimatedProperties1); - } - - int get estimatedPropertiesExpectingUpdates { - return _lib._objc_msgSend_82( - _id, _lib._sel_estimatedPropertiesExpectingUpdates1); - } - - @override - UITouch init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return UITouch._(_ret, _lib, retain: true, release: true); - } - - static UITouch new1(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_UITouch1, _lib._sel_new1); - return UITouch._(_ret, _lib, retain: false, release: true); - } - - static UITouch allocWithZone_(UIKit _lib, ffi.Pointer zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_UITouch1, _lib._sel_allocWithZone_1, zone); - return UITouch._(_ret, _lib, retain: false, release: true); - } - - static UITouch alloc(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_UITouch1, _lib._sel_alloc1); - return UITouch._(_ret, _lib, retain: false, release: true); - } -} - -abstract class UITouchPhase { - static const int UITouchPhaseBegan = 0; - static const int UITouchPhaseMoved = 1; - static const int UITouchPhaseStationary = 2; - static const int UITouchPhaseEnded = 3; - static const int UITouchPhaseCancelled = 4; - static const int UITouchPhaseRegionEntered = 5; - static const int UITouchPhaseRegionMoved = 6; - static const int UITouchPhaseRegionExited = 7; -} - -abstract class UITouchType { - static const int UITouchTypeDirect = 0; - static const int UITouchTypeIndirect = 1; - static const int UITouchTypePencil = 2; - static const int UITouchTypeStylus = 2; - static const int UITouchTypeIndirectPointer = 3; -} - -final class CGPoint extends ffi.Struct { - @ffi.Double() - external double x; - - @ffi.Double() - external double y; -} - -final class CGVector extends ffi.Struct { - @ffi.Double() - external double dx; - - @ffi.Double() - external double dy; -} - -class NSNumber extends NSValue { - NSNumber._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSNumber] that points to the same underlying object as [other]. - static NSNumber castFrom(T other) { - return NSNumber._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSNumber] that wraps the given raw object pointer. - static NSNumber castFromPointer(UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSNumber._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSNumber]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSNumber1); - } - - @override - NSNumber? initWithCoder_(NSCoder coder) { - final _ret = - _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); - return _ret.address == 0 - ? null - : NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithChar_(int value) { - final _ret = _lib._objc_msgSend_55(_id, _lib._sel_initWithChar_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithUnsignedChar_(int value) { - final _ret = - _lib._objc_msgSend_56(_id, _lib._sel_initWithUnsignedChar_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithShort_(int value) { - final _ret = _lib._objc_msgSend_57(_id, _lib._sel_initWithShort_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithUnsignedShort_(int value) { - final _ret = - _lib._objc_msgSend_58(_id, _lib._sel_initWithUnsignedShort_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithInt_(int value) { - final _ret = _lib._objc_msgSend_59(_id, _lib._sel_initWithInt_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithUnsignedInt_(int value) { - final _ret = - _lib._objc_msgSend_60(_id, _lib._sel_initWithUnsignedInt_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithLong_(int value) { - final _ret = _lib._objc_msgSend_61(_id, _lib._sel_initWithLong_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithUnsignedLong_(int value) { - final _ret = - _lib._objc_msgSend_62(_id, _lib._sel_initWithUnsignedLong_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithLongLong_(int value) { - final _ret = - _lib._objc_msgSend_63(_id, _lib._sel_initWithLongLong_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithUnsignedLongLong_(int value) { - final _ret = - _lib._objc_msgSend_64(_id, _lib._sel_initWithUnsignedLongLong_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithFloat_(double value) { - final _ret = _lib._objc_msgSend_65(_id, _lib._sel_initWithFloat_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithDouble_(double value) { - final _ret = _lib._objc_msgSend_66(_id, _lib._sel_initWithDouble_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithBool_(bool value) { - final _ret = _lib._objc_msgSend_67(_id, _lib._sel_initWithBool_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithInteger_(int value) { - final _ret = _lib._objc_msgSend_61(_id, _lib._sel_initWithInteger_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - NSNumber initWithUnsignedInteger_(int value) { - final _ret = - _lib._objc_msgSend_62(_id, _lib._sel_initWithUnsignedInteger_1, value); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - int get charValue { - return _lib._objc_msgSend_68(_id, _lib._sel_charValue1); - } - - int get unsignedCharValue { - return _lib._objc_msgSend_69(_id, _lib._sel_unsignedCharValue1); - } - - int get shortValue { - return _lib._objc_msgSend_70(_id, _lib._sel_shortValue1); - } - - int get unsignedShortValue { - return _lib._objc_msgSend_71(_id, _lib._sel_unsignedShortValue1); - } - - int get intValue { - return _lib._objc_msgSend_72(_id, _lib._sel_intValue1); - } - - int get unsignedIntValue { - return _lib._objc_msgSend_73(_id, _lib._sel_unsignedIntValue1); - } - - int get longValue { - return _lib._objc_msgSend_74(_id, _lib._sel_longValue1); - } - - int get unsignedLongValue { - return _lib._objc_msgSend_10(_id, _lib._sel_unsignedLongValue1); - } - - int get longLongValue { - return _lib._objc_msgSend_75(_id, _lib._sel_longLongValue1); - } - - int get unsignedLongLongValue { - return _lib._objc_msgSend_76(_id, _lib._sel_unsignedLongLongValue1); - } - - double get floatValue { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_77_fpret(_id, _lib._sel_floatValue1) - : _lib._objc_msgSend_77(_id, _lib._sel_floatValue1); - } - - double get doubleValue { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_doubleValue1) - : _lib._objc_msgSend_40(_id, _lib._sel_doubleValue1); - } - - bool get boolValue { - return _lib._objc_msgSend_12(_id, _lib._sel_boolValue1); - } - - int get integerValue { - return _lib._objc_msgSend_74(_id, _lib._sel_integerValue1); - } - - int get unsignedIntegerValue { - return _lib._objc_msgSend_10(_id, _lib._sel_unsignedIntegerValue1); - } - - NSString get stringValue { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_stringValue1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - int compare_(NSNumber otherNumber) { - return _lib._objc_msgSend_78(_id, _lib._sel_compare_1, otherNumber._id); - } - - bool isEqualToNumber_(NSNumber number) { - return _lib._objc_msgSend_79(_id, _lib._sel_isEqualToNumber_1, number._id); - } - - NSString descriptionWithLocale_(NSObject? locale) { - final _ret = _lib._objc_msgSend_80( - _id, _lib._sel_descriptionWithLocale_1, locale?._id ?? ffi.nullptr); - return NSString._(_ret, _lib, retain: true, release: true); - } - - @override - NSNumber initWithBytes_objCType_( - ffi.Pointer value, ffi.Pointer type) { - final _ret = _lib._objc_msgSend_54( - _id, _lib._sel_initWithBytes_objCType_1, value, type); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - @override - NSNumber init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSNumber._(_ret, _lib, retain: true, release: true); - } - - static NSNumber new1(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSNumber1, _lib._sel_new1); - return NSNumber._(_ret, _lib, retain: false, release: true); - } - - static NSNumber allocWithZone_(UIKit _lib, ffi.Pointer zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSNumber1, _lib._sel_allocWithZone_1, zone); - return NSNumber._(_ret, _lib, retain: false, release: true); - } - - static NSNumber alloc(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSNumber1, _lib._sel_alloc1); - return NSNumber._(_ret, _lib, retain: false, release: true); - } -} - -class NSValue extends NSObject { - NSValue._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSValue] that points to the same underlying object as [other]. - static NSValue castFrom(T other) { - return NSValue._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSValue] that wraps the given raw object pointer. - static NSValue castFromPointer(UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSValue._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSValue]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSValue1); - } - - void getValue_size_(ffi.Pointer value, int size) { - _lib._objc_msgSend_53(_id, _lib._sel_getValue_size_1, value, size); - } - - ffi.Pointer get objCType { - return _lib._objc_msgSend_13(_id, _lib._sel_objCType1); - } - - NSValue initWithBytes_objCType_( - ffi.Pointer value, ffi.Pointer type) { - final _ret = _lib._objc_msgSend_54( - _id, _lib._sel_initWithBytes_objCType_1, value, type); - return NSValue._(_ret, _lib, retain: true, release: true); - } - - NSValue? initWithCoder_(NSCoder coder) { - final _ret = - _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); - return _ret.address == 0 - ? null - : NSValue._(_ret, _lib, retain: true, release: true); - } - - @override - NSValue init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSValue._(_ret, _lib, retain: true, release: true); - } - - static NSValue new1(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSValue1, _lib._sel_new1); - return NSValue._(_ret, _lib, retain: false, release: true); - } - - static NSValue allocWithZone_(UIKit _lib, ffi.Pointer zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSValue1, _lib._sel_allocWithZone_1, zone); - return NSValue._(_ret, _lib, retain: false, release: true); - } - - static NSValue alloc(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSValue1, _lib._sel_alloc1); - return NSValue._(_ret, _lib, retain: false, release: true); - } -} - -abstract class NSComparisonResult { - static const int NSOrderedAscending = -1; - static const int NSOrderedSame = 0; - static const int NSOrderedDescending = 1; -} - -abstract class UITouchProperties { - static const int UITouchPropertyForce = 1; - static const int UITouchPropertyAzimuth = 2; - static const int UITouchPropertyAltitude = 4; - static const int UITouchPropertyLocation = 8; -} - -class UIPressesEvent extends _ObjCWrapper { - UIPressesEvent._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [UIPressesEvent] that points to the same underlying object as [other]. - static UIPressesEvent castFrom(T other) { - return UIPressesEvent._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [UIPressesEvent] that wraps the given raw object pointer. - static UIPressesEvent castFromPointer( - UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return UIPressesEvent._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [UIPressesEvent]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, - obj._lib._class_UIPressesEvent1); - } -} - -class UICommand extends UIMenuElement { - UICommand._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [UICommand] that points to the same underlying object as [other]. - static UICommand castFrom(T other) { - return UICommand._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [UICommand] that wraps the given raw object pointer. - static UICommand castFromPointer(UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return UICommand._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [UICommand]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_UICommand1); - } - - @override - NSString get title { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_title1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - set title(NSString value) { - return _lib._objc_msgSend_93(_id, _lib._sel_setTitle_1, value._id); - } - - @override - UIImage? get image { - final _ret = _lib._objc_msgSend_92(_id, _lib._sel_image1); - return _ret.address == 0 - ? null - : UIImage._(_ret, _lib, retain: true, release: true); - } - - set image(UIImage? value) { - return _lib._objc_msgSend_94( - _id, _lib._sel_setImage_1, value?._id ?? ffi.nullptr); - } - - NSString? get discoverabilityTitle { - final _ret = _lib._objc_msgSend_90(_id, _lib._sel_discoverabilityTitle1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - set discoverabilityTitle(NSString? value) { - return _lib._objc_msgSend_91( - _id, _lib._sel_setDiscoverabilityTitle_1, value?._id ?? ffi.nullptr); - } - - ffi.Pointer get action { - return _lib._objc_msgSend_18(_id, _lib._sel_action1); - } - - NSObject? get propertyList { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_propertyList1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - int get attributes { - return _lib._objc_msgSend_95(_id, _lib._sel_attributes1); - } - - set attributes(int value) { - return _lib._objc_msgSend_96(_id, _lib._sel_setAttributes_1, value); - } - - int get state { - return _lib._objc_msgSend_97(_id, _lib._sel_state1); - } - - set state(int value) { - return _lib._objc_msgSend_98(_id, _lib._sel_setState_1, value); - } - - NSObject get alternates { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_alternates1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - static UICommand commandWithTitle_image_action_propertyList_( - UIKit _lib, - NSString title, - UIImage? image, - ffi.Pointer action, - NSObject? propertyList) { - final _ret = _lib._objc_msgSend_99( - _lib._class_UICommand1, - _lib._sel_commandWithTitle_image_action_propertyList_1, - title._id, - image?._id ?? ffi.nullptr, - action, - propertyList?._id ?? ffi.nullptr); - return UICommand._(_ret, _lib, retain: true, release: true); - } - - static UICommand commandWithTitle_image_action_propertyList_alternates_( - UIKit _lib, - NSString title, - UIImage? image, - ffi.Pointer action, - NSObject? propertyList, - NSObject alternates) { - final _ret = _lib._objc_msgSend_100( - _lib._class_UICommand1, - _lib._sel_commandWithTitle_image_action_propertyList_alternates_1, - title._id, - image?._id ?? ffi.nullptr, - action, - propertyList?._id ?? ffi.nullptr, - alternates._id); - return UICommand._(_ret, _lib, retain: true, release: true); - } - - static UICommand new1(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_UICommand1, _lib._sel_new1); - return UICommand._(_ret, _lib, retain: false, release: true); - } - - @override - UICommand init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return UICommand._(_ret, _lib, retain: true, release: true); - } - - @override - UICommand? initWithCoder_(NSCoder coder) { - final _ret = - _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); - return _ret.address == 0 - ? null - : UICommand._(_ret, _lib, retain: true, release: true); - } - - static UICommand allocWithZone_(UIKit _lib, ffi.Pointer zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_UICommand1, _lib._sel_allocWithZone_1, zone); - return UICommand._(_ret, _lib, retain: false, release: true); - } - - static UICommand alloc(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_UICommand1, _lib._sel_alloc1); - return UICommand._(_ret, _lib, retain: false, release: true); - } -} - -class UIMenuElement extends NSObject { - UIMenuElement._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [UIMenuElement] that points to the same underlying object as [other]. - static UIMenuElement castFrom(T other) { - return UIMenuElement._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [UIMenuElement] that wraps the given raw object pointer. - static UIMenuElement castFromPointer(UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return UIMenuElement._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [UIMenuElement]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_UIMenuElement1); - } - - NSString get title { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_title1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - NSString? get subtitle { - final _ret = _lib._objc_msgSend_90(_id, _lib._sel_subtitle1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - set subtitle(NSString? value) { - return _lib._objc_msgSend_91( - _id, _lib._sel_setSubtitle_1, value?._id ?? ffi.nullptr); - } - - UIImage? get image { - final _ret = _lib._objc_msgSend_92(_id, _lib._sel_image1); - return _ret.address == 0 - ? null - : UIImage._(_ret, _lib, retain: true, release: true); - } - - UIMenuElement? initWithCoder_(NSCoder coder) { - final _ret = - _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); - return _ret.address == 0 - ? null - : UIMenuElement._(_ret, _lib, retain: true, release: true); - } - - @override - UIMenuElement init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return UIMenuElement._(_ret, _lib, retain: true, release: true); - } - - static UIMenuElement new1(UIKit _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_UIMenuElement1, _lib._sel_new1); - return UIMenuElement._(_ret, _lib, retain: false, release: true); - } - - static UIMenuElement allocWithZone_( - UIKit _lib, ffi.Pointer zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_UIMenuElement1, _lib._sel_allocWithZone_1, zone); - return UIMenuElement._(_ret, _lib, retain: false, release: true); - } - - static UIMenuElement alloc(UIKit _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_UIMenuElement1, _lib._sel_alloc1); - return UIMenuElement._(_ret, _lib, retain: false, release: true); - } -} - -class UIImage extends _ObjCWrapper { - UIImage._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [UIImage] that points to the same underlying object as [other]. - static UIImage castFrom(T other) { - return UIImage._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [UIImage] that wraps the given raw object pointer. - static UIImage castFromPointer(UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return UIImage._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [UIImage]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_UIImage1); - } -} - -abstract class UIMenuElementAttributes { - static const int UIMenuElementAttributesDisabled = 1; - static const int UIMenuElementAttributesDestructive = 2; - static const int UIMenuElementAttributesHidden = 4; - static const int UIMenuElementAttributesKeepsMenuPresented = 8; -} - -abstract class UIMenuElementState { - static const int UIMenuElementStateOff = 0; - static const int UIMenuElementStateOn = 1; - static const int UIMenuElementStateMixed = 2; -} - -class NSUndoManager extends NSObject { - NSUndoManager._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSUndoManager] that points to the same underlying object as [other]. - static NSUndoManager castFrom(T other) { - return NSUndoManager._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSUndoManager] that wraps the given raw object pointer. - static NSUndoManager castFromPointer(UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSUndoManager._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSUndoManager]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSUndoManager1); - } - - void beginUndoGrouping() { - _lib._objc_msgSend_1(_id, _lib._sel_beginUndoGrouping1); - } - - void endUndoGrouping() { - _lib._objc_msgSend_1(_id, _lib._sel_endUndoGrouping1); - } - - int get groupingLevel { - return _lib._objc_msgSend_74(_id, _lib._sel_groupingLevel1); - } - - void disableUndoRegistration() { - _lib._objc_msgSend_1(_id, _lib._sel_disableUndoRegistration1); - } - - void enableUndoRegistration() { - _lib._objc_msgSend_1(_id, _lib._sel_enableUndoRegistration1); - } - - bool get undoRegistrationEnabled { - return _lib._objc_msgSend_12(_id, _lib._sel_isUndoRegistrationEnabled1); - } - - bool get groupsByEvent { - return _lib._objc_msgSend_12(_id, _lib._sel_groupsByEvent1); - } - - set groupsByEvent(bool value) { - return _lib._objc_msgSend_102(_id, _lib._sel_setGroupsByEvent_1, value); - } - - int get levelsOfUndo { - return _lib._objc_msgSend_10(_id, _lib._sel_levelsOfUndo1); - } - - set levelsOfUndo(int value) { - return _lib._objc_msgSend_103(_id, _lib._sel_setLevelsOfUndo_1, value); - } - - NSObject get runLoopModes { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_runLoopModes1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - set runLoopModes(NSObject value) { - return _lib._objc_msgSend_104(_id, _lib._sel_setRunLoopModes_1, value._id); - } - - void undo() { - _lib._objc_msgSend_1(_id, _lib._sel_undo1); - } - - void redo() { - _lib._objc_msgSend_1(_id, _lib._sel_redo1); - } - - void undoNestedGroup() { - _lib._objc_msgSend_1(_id, _lib._sel_undoNestedGroup1); - } - - bool get canUndo { - return _lib._objc_msgSend_12(_id, _lib._sel_canUndo1); - } - - bool get canRedo { - return _lib._objc_msgSend_12(_id, _lib._sel_canRedo1); - } - - bool get undoing { - return _lib._objc_msgSend_12(_id, _lib._sel_isUndoing1); - } - - bool get redoing { - return _lib._objc_msgSend_12(_id, _lib._sel_isRedoing1); - } - - void removeAllActions() { - _lib._objc_msgSend_1(_id, _lib._sel_removeAllActions1); - } - - void removeAllActionsWithTarget_(NSObject target) { - _lib._objc_msgSend_22( - _id, _lib._sel_removeAllActionsWithTarget_1, target._id); - } - - void registerUndoWithTarget_selector_object_( - NSObject target, ffi.Pointer selector, NSObject? anObject) { - _lib._objc_msgSend_105( - _id, - _lib._sel_registerUndoWithTarget_selector_object_1, - target._id, - selector, - anObject?._id ?? ffi.nullptr); - } - - NSObject prepareWithInvocationTarget_(NSObject target) { - final _ret = _lib._objc_msgSend_106( - _id, _lib._sel_prepareWithInvocationTarget_1, target._id); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - void registerUndoWithTarget_handler_( - NSObject target, ObjCBlock_ffiVoid_ObjCObject undoHandler) { - _lib._objc_msgSend_107(_id, _lib._sel_registerUndoWithTarget_handler_1, - target._id, undoHandler._id); - } - - void setActionIsDiscardable_(bool discardable) { - _lib._objc_msgSend_108( - _id, _lib._sel_setActionIsDiscardable_1, discardable); - } - - bool get undoActionIsDiscardable { - return _lib._objc_msgSend_12(_id, _lib._sel_undoActionIsDiscardable1); - } - - bool get redoActionIsDiscardable { - return _lib._objc_msgSend_12(_id, _lib._sel_redoActionIsDiscardable1); - } - - NSString get undoActionName { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_undoActionName1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - NSString get redoActionName { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_redoActionName1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - void setActionName_(NSString actionName) { - _lib._objc_msgSend_109(_id, _lib._sel_setActionName_1, actionName._id); - } - - NSString get undoMenuItemTitle { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_undoMenuItemTitle1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - NSString get redoMenuItemTitle { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_redoMenuItemTitle1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - NSString undoMenuTitleForUndoActionName_(NSString actionName) { - final _ret = _lib._objc_msgSend_110( - _id, _lib._sel_undoMenuTitleForUndoActionName_1, actionName._id); - return NSString._(_ret, _lib, retain: true, release: true); - } - - NSString redoMenuTitleForUndoActionName_(NSString actionName) { - final _ret = _lib._objc_msgSend_110( - _id, _lib._sel_redoMenuTitleForUndoActionName_1, actionName._id); - return NSString._(_ret, _lib, retain: true, release: true); - } - - @override - NSUndoManager init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSUndoManager._(_ret, _lib, retain: true, release: true); - } - - static NSUndoManager new1(UIKit _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSUndoManager1, _lib._sel_new1); - return NSUndoManager._(_ret, _lib, retain: false, release: true); - } - - static NSUndoManager allocWithZone_( - UIKit _lib, ffi.Pointer zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSUndoManager1, _lib._sel_allocWithZone_1, zone); - return NSUndoManager._(_ret, _lib, retain: false, release: true); - } - - static NSUndoManager alloc(UIKit _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSUndoManager1, _lib._sel_alloc1); - return NSUndoManager._(_ret, _lib, retain: false, release: true); - } -} - -class _ObjCBlockBase implements ffi.Finalizable { - final ffi.Pointer<_ObjCBlock> _id; - final UIKit _lib; - bool _pendingRelease; - - _ObjCBlockBase._(this._id, this._lib, - {bool retain = false, bool release = false}) - : _pendingRelease = release { - if (retain) { - _lib._Block_copy(_id.cast()); - } - if (release) { - _lib._objc_releaseFinalizer11.attach(this, _id.cast(), detach: this); - } - } - - /// Releases the reference to the underlying ObjC block held by this wrapper. - /// Throws a StateError if this wrapper doesn't currently hold a reference. - void release() { - if (_pendingRelease) { - _pendingRelease = false; - _lib._Block_release(_id.cast()); - _lib._objc_releaseFinalizer11.detach(this); - } else { - throw StateError( - 'Released an ObjC block that was unowned or already released.'); - } - } - - @override - bool operator ==(Object other) { - return other is _ObjCBlockBase && _id == other._id; - } - - @override - int get hashCode => _id.hashCode; - - /// Return a pointer to this object. - ffi.Pointer<_ObjCBlock> get pointer => _id; - - ffi.Pointer<_ObjCBlock> _retainAndReturnId() { - _lib._Block_copy(_id.cast()); - return _id; - } -} - -void _ObjCBlock_ffiVoid_ObjCObject_fnPtrTrampoline( - ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0) => - block.ref.target - .cast< - ffi - .NativeFunction arg0)>>() - .asFunction)>()(arg0); -final _ObjCBlock_ffiVoid_ObjCObject_closureRegistry = - )>{}; -int _ObjCBlock_ffiVoid_ObjCObject_closureRegistryIndex = 0; -ffi.Pointer _ObjCBlock_ffiVoid_ObjCObject_registerClosure( - void Function(ffi.Pointer) fn) { - final id = ++_ObjCBlock_ffiVoid_ObjCObject_closureRegistryIndex; - _ObjCBlock_ffiVoid_ObjCObject_closureRegistry[id] = fn; - return ffi.Pointer.fromAddress(id); -} - -void _ObjCBlock_ffiVoid_ObjCObject_closureTrampoline( - ffi.Pointer<_ObjCBlock> block, ffi.Pointer arg0) => - _ObjCBlock_ffiVoid_ObjCObject_closureRegistry[block.ref.target.address]!( - arg0); - -class ObjCBlock_ffiVoid_ObjCObject extends _ObjCBlockBase { - ObjCBlock_ffiVoid_ObjCObject._(ffi.Pointer<_ObjCBlock> id, UIKit lib, - {bool retain = false, bool release = true}) - : super._(id, lib, retain: retain, release: release); - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_ObjCObject.fromFunctionPointer( - UIKit lib, - ffi.Pointer< - ffi - .NativeFunction arg0)>> - ptr) - : this._( - lib._newBlock1( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function(ffi.Pointer<_ObjCBlock>, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_ObjCObject_fnPtrTrampoline) - .cast(), - ptr.cast()), - lib); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_ObjCObject.fromFunction( - UIKit lib, void Function(NSObject) fn) - : this._( - lib._newBlock1( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function(ffi.Pointer<_ObjCBlock>, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_ObjCObject_closureTrampoline) - .cast(), - _ObjCBlock_ffiVoid_ObjCObject_registerClosure( - (ffi.Pointer arg0) => fn( - NSObject._(arg0, lib, retain: true, release: true)))), - lib); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_ObjCObject.listener(UIKit lib, void Function(NSObject) fn) - : this._( - lib._newBlock1( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function(ffi.Pointer<_ObjCBlock>, - ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_ObjCObject_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - _ObjCBlock_ffiVoid_ObjCObject_registerClosure( - (ffi.Pointer arg0) => fn( - NSObject._(arg0, lib, retain: true, release: true)))), - lib); - static ffi.NativeCallable< - ffi.Void Function(ffi.Pointer<_ObjCBlock>, ffi.Pointer)>? - _dartFuncListenerTrampoline; - - void call(NSObject arg0) => _id.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer<_ObjCBlock> block, - ffi.Pointer arg0)>>() - .asFunction< - void Function(ffi.Pointer<_ObjCBlock>, - ffi.Pointer)>()(_id, arg0._id); -} - -final class _ObjCBlockDesc extends ffi.Struct { - @ffi.UnsignedLong() - external int reserved; - - @ffi.UnsignedLong() - external int size; - - external ffi.Pointer copy_helper; - - external ffi.Pointer dispose_helper; - - external ffi.Pointer signature; -} - -final class _ObjCBlock extends ffi.Struct { - external ffi.Pointer isa; - - @ffi.Int() - external int flags; - - @ffi.Int() - external int reserved; - - external ffi.Pointer invoke; - - external ffi.Pointer<_ObjCBlockDesc> descriptor; - - external ffi.Pointer target; -} - -abstract class UIEditingInteractionConfiguration { - static const int UIEditingInteractionConfigurationNone = 0; - static const int UIEditingInteractionConfigurationDefault = 1; -} - -final class CGRect extends ffi.Struct { - external CGPoint origin; - - external CGSize size; -} - -final class CGSize extends ffi.Struct { - @ffi.Double() - external double width; - - @ffi.Double() - external double height; -} - -class CALayer extends NSObject { - CALayer._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [CALayer] that points to the same underlying object as [other]. - static CALayer castFrom(T other) { - return CALayer._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [CALayer] that wraps the given raw object pointer. - static CALayer castFromPointer(UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return CALayer._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [CALayer]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_CALayer1); - } - - static CALayer layer(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_CALayer1, _lib._sel_layer1); - return CALayer._(_ret, _lib, retain: true, release: true); - } - - @override - CALayer init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return CALayer._(_ret, _lib, retain: true, release: true); - } - - CALayer initWithLayer_(NSObject layer) { - final _ret = - _lib._objc_msgSend_106(_id, _lib._sel_initWithLayer_1, layer._id); - return CALayer._(_ret, _lib, retain: true, release: true); - } - - CALayer? presentationLayer() { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_presentationLayer1); - return _ret.address == 0 - ? null - : CALayer._(_ret, _lib, retain: true, release: true); - } - - CALayer modelLayer() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_modelLayer1); - return CALayer._(_ret, _lib, retain: true, release: true); - } - - static NSObject? defaultValueForKey_(UIKit _lib, NSString key) { - final _ret = _lib._objc_msgSend_115( - _lib._class_CALayer1, _lib._sel_defaultValueForKey_1, key._id); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - static bool needsDisplayForKey_(UIKit _lib, NSString key) { - return _lib._objc_msgSend_116( - _lib._class_CALayer1, _lib._sel_needsDisplayForKey_1, key._id); - } - - bool shouldArchiveValueForKey_(NSString key) { - return _lib._objc_msgSend_116( - _id, _lib._sel_shouldArchiveValueForKey_1, key._id); - } - - void getBounds(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_117_stret(stret, _id, _lib._sel_bounds1) - : stret.ref = _lib._objc_msgSend_117(_id, _lib._sel_bounds1); - } - - set bounds(CGRect value) { - return _lib._objc_msgSend_118(_id, _lib._sel_setBounds_1, value); - } - - void getPosition(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_119_stret(stret, _id, _lib._sel_position1) - : stret.ref = _lib._objc_msgSend_119(_id, _lib._sel_position1); - } - - set position(CGPoint value) { - return _lib._objc_msgSend_120(_id, _lib._sel_setPosition_1, value); - } - - double get zPosition { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_zPosition1) - : _lib._objc_msgSend_40(_id, _lib._sel_zPosition1); - } - - set zPosition(double value) { - return _lib._objc_msgSend_121(_id, _lib._sel_setZPosition_1, value); - } - - void getAnchorPoint(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_119_stret(stret, _id, _lib._sel_anchorPoint1) - : stret.ref = _lib._objc_msgSend_119(_id, _lib._sel_anchorPoint1); - } - - set anchorPoint(CGPoint value) { - return _lib._objc_msgSend_120(_id, _lib._sel_setAnchorPoint_1, value); - } - - double get anchorPointZ { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_anchorPointZ1) - : _lib._objc_msgSend_40(_id, _lib._sel_anchorPointZ1); - } - - set anchorPointZ(double value) { - return _lib._objc_msgSend_121(_id, _lib._sel_setAnchorPointZ_1, value); - } - - void getTransform(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_122_stret(stret, _id, _lib._sel_transform1) - : stret.ref = _lib._objc_msgSend_122(_id, _lib._sel_transform1); - } - - set transform(CATransform3D value) { - return _lib._objc_msgSend_123(_id, _lib._sel_setTransform_1, value); - } - - void affineTransform(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_124_stret(stret, _id, _lib._sel_affineTransform1) - : stret.ref = _lib._objc_msgSend_124(_id, _lib._sel_affineTransform1); - } - - void setAffineTransform_(CGAffineTransform m) { - _lib._objc_msgSend_125(_id, _lib._sel_setAffineTransform_1, m); - } - - void getFrame(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_117_stret(stret, _id, _lib._sel_frame1) - : stret.ref = _lib._objc_msgSend_117(_id, _lib._sel_frame1); - } - - set frame(CGRect value) { - return _lib._objc_msgSend_118(_id, _lib._sel_setFrame_1, value); - } - - bool get hidden { - return _lib._objc_msgSend_12(_id, _lib._sel_isHidden1); - } - - set hidden(bool value) { - return _lib._objc_msgSend_102(_id, _lib._sel_setHidden_1, value); - } - - bool get doubleSided { - return _lib._objc_msgSend_12(_id, _lib._sel_isDoubleSided1); - } - - set doubleSided(bool value) { - return _lib._objc_msgSend_102(_id, _lib._sel_setDoubleSided_1, value); - } - - bool get geometryFlipped { - return _lib._objc_msgSend_12(_id, _lib._sel_isGeometryFlipped1); - } - - set geometryFlipped(bool value) { - return _lib._objc_msgSend_102(_id, _lib._sel_setGeometryFlipped_1, value); - } - - bool contentsAreFlipped() { - return _lib._objc_msgSend_12(_id, _lib._sel_contentsAreFlipped1); - } - - CALayer? get superlayer { - final _ret = _lib._objc_msgSend_126(_id, _lib._sel_superlayer1); - return _ret.address == 0 - ? null - : CALayer._(_ret, _lib, retain: true, release: true); - } - - void removeFromSuperlayer() { - _lib._objc_msgSend_1(_id, _lib._sel_removeFromSuperlayer1); - } - - NSObject? get sublayers { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_sublayers1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - set sublayers(NSObject? value) { - return _lib._objc_msgSend_17( - _id, _lib._sel_setSublayers_1, value?._id ?? ffi.nullptr); - } - - void addSublayer_(CALayer layer) { - _lib._objc_msgSend_127(_id, _lib._sel_addSublayer_1, layer._id); - } - - void insertSublayer_atIndex_(CALayer layer, int idx) { - _lib._objc_msgSend_128( - _id, _lib._sel_insertSublayer_atIndex_1, layer._id, idx); - } - - void insertSublayer_below_(CALayer layer, CALayer? sibling) { - _lib._objc_msgSend_129(_id, _lib._sel_insertSublayer_below_1, layer._id, - sibling?._id ?? ffi.nullptr); - } - - void insertSublayer_above_(CALayer layer, CALayer? sibling) { - _lib._objc_msgSend_129(_id, _lib._sel_insertSublayer_above_1, layer._id, - sibling?._id ?? ffi.nullptr); - } - - void replaceSublayer_with_(CALayer oldLayer, CALayer newLayer) { - _lib._objc_msgSend_130( - _id, _lib._sel_replaceSublayer_with_1, oldLayer._id, newLayer._id); - } - - void getSublayerTransform(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_122_stret(stret, _id, _lib._sel_sublayerTransform1) - : stret.ref = _lib._objc_msgSend_122(_id, _lib._sel_sublayerTransform1); - } - - set sublayerTransform(CATransform3D value) { - return _lib._objc_msgSend_123(_id, _lib._sel_setSublayerTransform_1, value); - } - - CALayer? get mask { - final _ret = _lib._objc_msgSend_126(_id, _lib._sel_mask1); - return _ret.address == 0 - ? null - : CALayer._(_ret, _lib, retain: true, release: true); - } - - set mask(CALayer? value) { - return _lib._objc_msgSend_131( - _id, _lib._sel_setMask_1, value?._id ?? ffi.nullptr); - } - - bool get masksToBounds { - return _lib._objc_msgSend_12(_id, _lib._sel_masksToBounds1); - } - - set masksToBounds(bool value) { - return _lib._objc_msgSend_102(_id, _lib._sel_setMasksToBounds_1, value); - } - - void convertPoint_fromLayer_( - ffi.Pointer stret, CGPoint p, CALayer? l) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_132_stret(stret, _id, - _lib._sel_convertPoint_fromLayer_1, p, l?._id ?? ffi.nullptr) - : stret.ref = _lib._objc_msgSend_132( - _id, _lib._sel_convertPoint_fromLayer_1, p, l?._id ?? ffi.nullptr); - } - - void convertPoint_toLayer_( - ffi.Pointer stret, CGPoint p, CALayer? l) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_132_stret(stret, _id, - _lib._sel_convertPoint_toLayer_1, p, l?._id ?? ffi.nullptr) - : stret.ref = _lib._objc_msgSend_132( - _id, _lib._sel_convertPoint_toLayer_1, p, l?._id ?? ffi.nullptr); - } - - void convertRect_fromLayer_(ffi.Pointer stret, CGRect r, CALayer? l) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_133_stret(stret, _id, - _lib._sel_convertRect_fromLayer_1, r, l?._id ?? ffi.nullptr) - : stret.ref = _lib._objc_msgSend_133( - _id, _lib._sel_convertRect_fromLayer_1, r, l?._id ?? ffi.nullptr); - } - - void convertRect_toLayer_(ffi.Pointer stret, CGRect r, CALayer? l) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_133_stret(stret, _id, - _lib._sel_convertRect_toLayer_1, r, l?._id ?? ffi.nullptr) - : stret.ref = _lib._objc_msgSend_133( - _id, _lib._sel_convertRect_toLayer_1, r, l?._id ?? ffi.nullptr); - } - - double convertTime_fromLayer_(double t, CALayer? l) { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_134_fpret( - _id, _lib._sel_convertTime_fromLayer_1, t, l?._id ?? ffi.nullptr) - : _lib._objc_msgSend_134( - _id, _lib._sel_convertTime_fromLayer_1, t, l?._id ?? ffi.nullptr); - } - - double convertTime_toLayer_(double t, CALayer? l) { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_134_fpret( - _id, _lib._sel_convertTime_toLayer_1, t, l?._id ?? ffi.nullptr) - : _lib._objc_msgSend_134( - _id, _lib._sel_convertTime_toLayer_1, t, l?._id ?? ffi.nullptr); - } - - CALayer? hitTest_(CGPoint p) { - final _ret = _lib._objc_msgSend_135(_id, _lib._sel_hitTest_1, p); - return _ret.address == 0 - ? null - : CALayer._(_ret, _lib, retain: true, release: true); - } - - bool containsPoint_(CGPoint p) { - return _lib._objc_msgSend_136(_id, _lib._sel_containsPoint_1, p); - } - - NSObject? get contents { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_contents1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - set contents(NSObject? value) { - return _lib._objc_msgSend_17( - _id, _lib._sel_setContents_1, value?._id ?? ffi.nullptr); - } - - void getContentsRect(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_117_stret(stret, _id, _lib._sel_contentsRect1) - : stret.ref = _lib._objc_msgSend_117(_id, _lib._sel_contentsRect1); - } - - set contentsRect(CGRect value) { - return _lib._objc_msgSend_118(_id, _lib._sel_setContentsRect_1, value); - } - - NSString get contentsGravity { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_contentsGravity1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - set contentsGravity(NSString value) { - return _lib._objc_msgSend_93( - _id, _lib._sel_setContentsGravity_1, value._id); - } - - double get contentsScale { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_contentsScale1) - : _lib._objc_msgSend_40(_id, _lib._sel_contentsScale1); - } - - set contentsScale(double value) { - return _lib._objc_msgSend_121(_id, _lib._sel_setContentsScale_1, value); - } - - void getContentsCenter(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_117_stret(stret, _id, _lib._sel_contentsCenter1) - : stret.ref = _lib._objc_msgSend_117(_id, _lib._sel_contentsCenter1); - } - - set contentsCenter(CGRect value) { - return _lib._objc_msgSend_118(_id, _lib._sel_setContentsCenter_1, value); - } - - NSString get contentsFormat { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_contentsFormat1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - set contentsFormat(NSString value) { - return _lib._objc_msgSend_93(_id, _lib._sel_setContentsFormat_1, value._id); - } - - bool get wantsExtendedDynamicRangeContent { - return _lib._objc_msgSend_12( - _id, _lib._sel_wantsExtendedDynamicRangeContent1); - } - - set wantsExtendedDynamicRangeContent(bool value) { - return _lib._objc_msgSend_102( - _id, _lib._sel_setWantsExtendedDynamicRangeContent_1, value); - } - - NSString get minificationFilter { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_minificationFilter1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - set minificationFilter(NSString value) { - return _lib._objc_msgSend_93( - _id, _lib._sel_setMinificationFilter_1, value._id); - } - - NSString get magnificationFilter { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_magnificationFilter1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - set magnificationFilter(NSString value) { - return _lib._objc_msgSend_93( - _id, _lib._sel_setMagnificationFilter_1, value._id); - } - - double get minificationFilterBias { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_77_fpret(_id, _lib._sel_minificationFilterBias1) - : _lib._objc_msgSend_77(_id, _lib._sel_minificationFilterBias1); - } - - set minificationFilterBias(double value) { - return _lib._objc_msgSend_137( - _id, _lib._sel_setMinificationFilterBias_1, value); - } - - bool get opaque { - return _lib._objc_msgSend_12(_id, _lib._sel_isOpaque1); - } - - set opaque(bool value) { - return _lib._objc_msgSend_102(_id, _lib._sel_setOpaque_1, value); - } - - void display() { - _lib._objc_msgSend_1(_id, _lib._sel_display1); - } - - void setNeedsDisplay() { - _lib._objc_msgSend_1(_id, _lib._sel_setNeedsDisplay1); - } - - void setNeedsDisplayInRect_(CGRect r) { - _lib._objc_msgSend_138(_id, _lib._sel_setNeedsDisplayInRect_1, r); - } - - bool needsDisplay() { - return _lib._objc_msgSend_12(_id, _lib._sel_needsDisplay1); - } - - void displayIfNeeded() { - _lib._objc_msgSend_1(_id, _lib._sel_displayIfNeeded1); - } - - bool get needsDisplayOnBoundsChange { - return _lib._objc_msgSend_12(_id, _lib._sel_needsDisplayOnBoundsChange1); - } - - set needsDisplayOnBoundsChange(bool value) { - return _lib._objc_msgSend_102( - _id, _lib._sel_setNeedsDisplayOnBoundsChange_1, value); - } - - bool get drawsAsynchronously { - return _lib._objc_msgSend_12(_id, _lib._sel_drawsAsynchronously1); - } - - set drawsAsynchronously(bool value) { - return _lib._objc_msgSend_102( - _id, _lib._sel_setDrawsAsynchronously_1, value); - } - - void drawInContext_(ffi.Pointer ctx) { - _lib._objc_msgSend_139(_id, _lib._sel_drawInContext_1, ctx); - } - - void renderInContext_(ffi.Pointer ctx) { - _lib._objc_msgSend_139(_id, _lib._sel_renderInContext_1, ctx); - } - - int get edgeAntialiasingMask { - return _lib._objc_msgSend_140(_id, _lib._sel_edgeAntialiasingMask1); - } - - set edgeAntialiasingMask(int value) { - return _lib._objc_msgSend_141( - _id, _lib._sel_setEdgeAntialiasingMask_1, value); - } - - bool get allowsEdgeAntialiasing { - return _lib._objc_msgSend_12(_id, _lib._sel_allowsEdgeAntialiasing1); - } - - set allowsEdgeAntialiasing(bool value) { - return _lib._objc_msgSend_102( - _id, _lib._sel_setAllowsEdgeAntialiasing_1, value); - } - - ffi.Pointer get backgroundColor { - return _lib._objc_msgSend_142(_id, _lib._sel_backgroundColor1); - } - - set backgroundColor(ffi.Pointer value) { - return _lib._objc_msgSend_143(_id, _lib._sel_setBackgroundColor_1, value); - } - - double get cornerRadius { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_cornerRadius1) - : _lib._objc_msgSend_40(_id, _lib._sel_cornerRadius1); - } - - set cornerRadius(double value) { - return _lib._objc_msgSend_121(_id, _lib._sel_setCornerRadius_1, value); - } - - int get maskedCorners { - return _lib._objc_msgSend_144(_id, _lib._sel_maskedCorners1); - } - - set maskedCorners(int value) { - return _lib._objc_msgSend_145(_id, _lib._sel_setMaskedCorners_1, value); - } - - NSString get cornerCurve { - final _ret = _lib._objc_msgSend_36(_id, _lib._sel_cornerCurve1); - return NSString._(_ret, _lib, retain: true, release: true); - } - - set cornerCurve(NSString value) { - return _lib._objc_msgSend_93(_id, _lib._sel_setCornerCurve_1, value._id); - } - - static double cornerCurveExpansionFactor_(UIKit _lib, NSString curve) { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_146_fpret(_lib._class_CALayer1, - _lib._sel_cornerCurveExpansionFactor_1, curve._id) - : _lib._objc_msgSend_146(_lib._class_CALayer1, - _lib._sel_cornerCurveExpansionFactor_1, curve._id); - } - - double get borderWidth { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_borderWidth1) - : _lib._objc_msgSend_40(_id, _lib._sel_borderWidth1); - } - - set borderWidth(double value) { - return _lib._objc_msgSend_121(_id, _lib._sel_setBorderWidth_1, value); - } - - ffi.Pointer get borderColor { - return _lib._objc_msgSend_142(_id, _lib._sel_borderColor1); - } - - set borderColor(ffi.Pointer value) { - return _lib._objc_msgSend_143(_id, _lib._sel_setBorderColor_1, value); - } - - double get opacity { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_77_fpret(_id, _lib._sel_opacity1) - : _lib._objc_msgSend_77(_id, _lib._sel_opacity1); - } - - set opacity(double value) { - return _lib._objc_msgSend_137(_id, _lib._sel_setOpacity_1, value); - } - - bool get allowsGroupOpacity { - return _lib._objc_msgSend_12(_id, _lib._sel_allowsGroupOpacity1); - } - - set allowsGroupOpacity(bool value) { - return _lib._objc_msgSend_102( - _id, _lib._sel_setAllowsGroupOpacity_1, value); - } - - NSObject? get compositingFilter { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_compositingFilter1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - set compositingFilter(NSObject? value) { - return _lib._objc_msgSend_17( - _id, _lib._sel_setCompositingFilter_1, value?._id ?? ffi.nullptr); - } - - NSArray? get filters { - final _ret = _lib._objc_msgSend_149(_id, _lib._sel_filters1); - return _ret.address == 0 - ? null - : NSArray._(_ret, _lib, retain: true, release: true); - } - - set filters(NSArray? value) { - return _lib._objc_msgSend_150( - _id, _lib._sel_setFilters_1, value?._id ?? ffi.nullptr); - } - - NSArray? get backgroundFilters { - final _ret = _lib._objc_msgSend_149(_id, _lib._sel_backgroundFilters1); - return _ret.address == 0 - ? null - : NSArray._(_ret, _lib, retain: true, release: true); - } - - set backgroundFilters(NSArray? value) { - return _lib._objc_msgSend_150( - _id, _lib._sel_setBackgroundFilters_1, value?._id ?? ffi.nullptr); - } - - bool get shouldRasterize { - return _lib._objc_msgSend_12(_id, _lib._sel_shouldRasterize1); - } - - set shouldRasterize(bool value) { - return _lib._objc_msgSend_102(_id, _lib._sel_setShouldRasterize_1, value); - } - - double get rasterizationScale { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_rasterizationScale1) - : _lib._objc_msgSend_40(_id, _lib._sel_rasterizationScale1); - } - - set rasterizationScale(double value) { - return _lib._objc_msgSend_121( - _id, _lib._sel_setRasterizationScale_1, value); - } - - ffi.Pointer get shadowColor { - return _lib._objc_msgSend_142(_id, _lib._sel_shadowColor1); - } - - set shadowColor(ffi.Pointer value) { - return _lib._objc_msgSend_143(_id, _lib._sel_setShadowColor_1, value); - } - - double get shadowOpacity { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_77_fpret(_id, _lib._sel_shadowOpacity1) - : _lib._objc_msgSend_77(_id, _lib._sel_shadowOpacity1); - } - - set shadowOpacity(double value) { - return _lib._objc_msgSend_137(_id, _lib._sel_setShadowOpacity_1, value); - } - - void getShadowOffset(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_151_stret(stret, _id, _lib._sel_shadowOffset1) - : stret.ref = _lib._objc_msgSend_151(_id, _lib._sel_shadowOffset1); - } - - set shadowOffset(CGSize value) { - return _lib._objc_msgSend_152(_id, _lib._sel_setShadowOffset_1, value); - } - - double get shadowRadius { - return _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_40_fpret(_id, _lib._sel_shadowRadius1) - : _lib._objc_msgSend_40(_id, _lib._sel_shadowRadius1); - } - - set shadowRadius(double value) { - return _lib._objc_msgSend_121(_id, _lib._sel_setShadowRadius_1, value); - } - - ffi.Pointer get shadowPath { - return _lib._objc_msgSend_153(_id, _lib._sel_shadowPath1); - } - - set shadowPath(ffi.Pointer value) { - return _lib._objc_msgSend_154(_id, _lib._sel_setShadowPath_1, value); - } - - void preferredFrameSize(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_151_stret( - stret, _id, _lib._sel_preferredFrameSize1) - : stret.ref = - _lib._objc_msgSend_151(_id, _lib._sel_preferredFrameSize1); - } - - void setNeedsLayout() { - _lib._objc_msgSend_1(_id, _lib._sel_setNeedsLayout1); - } - - bool needsLayout() { - return _lib._objc_msgSend_12(_id, _lib._sel_needsLayout1); - } - - void layoutIfNeeded() { - _lib._objc_msgSend_1(_id, _lib._sel_layoutIfNeeded1); - } - - void layoutSublayers() { - _lib._objc_msgSend_1(_id, _lib._sel_layoutSublayers1); - } - - static NSObject? defaultActionForKey_(UIKit _lib, NSString event) { - final _ret = _lib._objc_msgSend_115( - _lib._class_CALayer1, _lib._sel_defaultActionForKey_1, event._id); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - NSObject? actionForKey_(NSString event) { - final _ret = - _lib._objc_msgSend_115(_id, _lib._sel_actionForKey_1, event._id); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - NSObject? get actions { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_actions1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - set actions(NSObject? value) { - return _lib._objc_msgSend_17( - _id, _lib._sel_setActions_1, value?._id ?? ffi.nullptr); - } - - void addAnimation_forKey_(CAAnimation anim, NSString? key) { - _lib._objc_msgSend_162(_id, _lib._sel_addAnimation_forKey_1, anim._id, - key?._id ?? ffi.nullptr); - } - - void removeAllAnimations() { - _lib._objc_msgSend_1(_id, _lib._sel_removeAllAnimations1); - } - - void removeAnimationForKey_(NSString key) { - _lib._objc_msgSend_109(_id, _lib._sel_removeAnimationForKey_1, key._id); - } - - NSArray? animationKeys() { - final _ret = _lib._objc_msgSend_149(_id, _lib._sel_animationKeys1); - return _ret.address == 0 - ? null - : NSArray._(_ret, _lib, retain: true, release: true); - } - - CAAnimation? animationForKey_(NSString key) { - final _ret = - _lib._objc_msgSend_163(_id, _lib._sel_animationForKey_1, key._id); - return _ret.address == 0 - ? null - : CAAnimation._(_ret, _lib, retain: true, release: true); - } - - NSString? get name { - final _ret = _lib._objc_msgSend_90(_id, _lib._sel_name1); - return _ret.address == 0 - ? null - : NSString._(_ret, _lib, retain: true, release: true); - } - - set name(NSString? value) { - return _lib._objc_msgSend_91( - _id, _lib._sel_setName_1, value?._id ?? ffi.nullptr); - } - - NSObject? get delegate { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_delegate1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - set delegate(NSObject? value) { - return _lib._objc_msgSend_17( - _id, _lib._sel_setDelegate_1, value?._id ?? ffi.nullptr); - } - - NSDictionary? get style { - final _ret = _lib._objc_msgSend_166(_id, _lib._sel_style1); - return _ret.address == 0 - ? null - : NSDictionary._(_ret, _lib, retain: true, release: true); - } - - set style(NSDictionary? value) { - return _lib._objc_msgSend_167( - _id, _lib._sel_setStyle_1, value?._id ?? ffi.nullptr); - } - - static CALayer new1(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_CALayer1, _lib._sel_new1); - return CALayer._(_ret, _lib, retain: false, release: true); - } - - static CALayer allocWithZone_(UIKit _lib, ffi.Pointer zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_CALayer1, _lib._sel_allocWithZone_1, zone); - return CALayer._(_ret, _lib, retain: false, release: true); - } - - static CALayer alloc(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_CALayer1, _lib._sel_alloc1); - return CALayer._(_ret, _lib, retain: false, release: true); - } -} - -final class CATransform3D extends ffi.Struct { - @ffi.Double() - external double m11; - - @ffi.Double() - external double m12; - - @ffi.Double() - external double m13; - - @ffi.Double() - external double m14; - - @ffi.Double() - external double m21; - - @ffi.Double() - external double m22; - - @ffi.Double() - external double m23; - - @ffi.Double() - external double m24; - - @ffi.Double() - external double m31; - - @ffi.Double() - external double m32; - - @ffi.Double() - external double m33; - - @ffi.Double() - external double m34; - - @ffi.Double() - external double m41; - - @ffi.Double() - external double m42; - - @ffi.Double() - external double m43; - - @ffi.Double() - external double m44; -} - -final class CGAffineTransform extends ffi.Struct { - @ffi.Double() - external double a; - - @ffi.Double() - external double b; - - @ffi.Double() - external double c; - - @ffi.Double() - external double d; - - @ffi.Double() - external double tx; - - @ffi.Double() - external double ty; -} - -final class CGContext extends ffi.Opaque {} - -abstract class CAEdgeAntialiasingMask { - static const int kCALayerLeftEdge = 1; - static const int kCALayerRightEdge = 2; - static const int kCALayerBottomEdge = 4; - static const int kCALayerTopEdge = 8; -} - -final class CGColor extends ffi.Opaque {} - -abstract class CACornerMask { - static const int kCALayerMinXMinYCorner = 1; - static const int kCALayerMaxXMinYCorner = 2; - static const int kCALayerMinXMaxYCorner = 4; - static const int kCALayerMaxXMaxYCorner = 8; -} - -class NSArray extends NSObject { - NSArray._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSArray] that points to the same underlying object as [other]. - static NSArray castFrom(T other) { - return NSArray._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSArray] that wraps the given raw object pointer. - static NSArray castFromPointer(UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSArray._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSArray]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSArray1); - } - - int get count { - return _lib._objc_msgSend_10(_id, _lib._sel_count1); - } - - NSObject objectAtIndex_(int index) { - final _ret = _lib._objc_msgSend_147(_id, _lib._sel_objectAtIndex_1, index); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - @override - NSArray init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSArray._(_ret, _lib, retain: true, release: true); - } - - NSArray initWithObjects_count_( - ffi.Pointer> objects, int cnt) { - final _ret = _lib._objc_msgSend_148( - _id, _lib._sel_initWithObjects_count_1, objects, cnt); - return NSArray._(_ret, _lib, retain: true, release: true); - } - - NSArray? initWithCoder_(NSCoder coder) { - final _ret = - _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); - return _ret.address == 0 - ? null - : NSArray._(_ret, _lib, retain: true, release: true); - } - - static NSArray new1(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSArray1, _lib._sel_new1); - return NSArray._(_ret, _lib, retain: false, release: true); - } - - static NSArray allocWithZone_(UIKit _lib, ffi.Pointer zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSArray1, _lib._sel_allocWithZone_1, zone); - return NSArray._(_ret, _lib, retain: false, release: true); - } - - static NSArray alloc(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_NSArray1, _lib._sel_alloc1); - return NSArray._(_ret, _lib, retain: false, release: true); - } -} - -final class CGPath extends ffi.Opaque {} - -class CAAnimation extends NSObject { - CAAnimation._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [CAAnimation] that points to the same underlying object as [other]. - static CAAnimation castFrom(T other) { - return CAAnimation._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [CAAnimation] that wraps the given raw object pointer. - static CAAnimation castFromPointer(UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return CAAnimation._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [CAAnimation]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_CAAnimation1); - } - - static CAAnimation animation(UIKit _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_CAAnimation1, _lib._sel_animation1); - return CAAnimation._(_ret, _lib, retain: true, release: true); - } - - static NSObject? defaultValueForKey_(UIKit _lib, NSString key) { - final _ret = _lib._objc_msgSend_115( - _lib._class_CAAnimation1, _lib._sel_defaultValueForKey_1, key._id); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - bool shouldArchiveValueForKey_(NSString key) { - return _lib._objc_msgSend_116( - _id, _lib._sel_shouldArchiveValueForKey_1, key._id); - } - - CAMediaTimingFunction? get timingFunction { - final _ret = _lib._objc_msgSend_158(_id, _lib._sel_timingFunction1); - return _ret.address == 0 - ? null - : CAMediaTimingFunction._(_ret, _lib, retain: true, release: true); - } - - set timingFunction(CAMediaTimingFunction? value) { - return _lib._objc_msgSend_159( - _id, _lib._sel_setTimingFunction_1, value?._id ?? ffi.nullptr); - } - - NSObject? get delegate { - final _ret = _lib._objc_msgSend_16(_id, _lib._sel_delegate1); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - set delegate(NSObject? value) { - return _lib._objc_msgSend_17( - _id, _lib._sel_setDelegate_1, value?._id ?? ffi.nullptr); - } - - bool get removedOnCompletion { - return _lib._objc_msgSend_12(_id, _lib._sel_isRemovedOnCompletion1); - } - - set removedOnCompletion(bool value) { - return _lib._objc_msgSend_102( - _id, _lib._sel_setRemovedOnCompletion_1, value); - } - - void getPreferredFrameRateRange(ffi.Pointer stret) { - _lib._objc_msgSend_useVariants1 - ? _lib._objc_msgSend_160_stret( - stret, _id, _lib._sel_preferredFrameRateRange1) - : stret.ref = - _lib._objc_msgSend_160(_id, _lib._sel_preferredFrameRateRange1); - } - - set preferredFrameRateRange(CAFrameRateRange value) { - return _lib._objc_msgSend_161( - _id, _lib._sel_setPreferredFrameRateRange_1, value); - } - - @override - CAAnimation init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return CAAnimation._(_ret, _lib, retain: true, release: true); - } - - static CAAnimation new1(UIKit _lib) { - final _ret = _lib._objc_msgSend_2(_lib._class_CAAnimation1, _lib._sel_new1); - return CAAnimation._(_ret, _lib, retain: false, release: true); - } - - static CAAnimation allocWithZone_(UIKit _lib, ffi.Pointer zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_CAAnimation1, _lib._sel_allocWithZone_1, zone); - return CAAnimation._(_ret, _lib, retain: false, release: true); - } - - static CAAnimation alloc(UIKit _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_CAAnimation1, _lib._sel_alloc1); - return CAAnimation._(_ret, _lib, retain: false, release: true); - } -} - -class CAMediaTimingFunction extends NSObject { - CAMediaTimingFunction._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [CAMediaTimingFunction] that points to the same underlying object as [other]. - static CAMediaTimingFunction castFrom(T other) { - return CAMediaTimingFunction._(other._id, other._lib, - retain: true, release: true); - } - - /// Returns a [CAMediaTimingFunction] that wraps the given raw object pointer. - static CAMediaTimingFunction castFromPointer( - UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return CAMediaTimingFunction._(other, lib, - retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [CAMediaTimingFunction]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, - obj._lib._class_CAMediaTimingFunction1); - } - - static CAMediaTimingFunction functionWithName_(UIKit _lib, NSString name) { - final _ret = _lib._objc_msgSend_155(_lib._class_CAMediaTimingFunction1, - _lib._sel_functionWithName_1, name._id); - return CAMediaTimingFunction._(_ret, _lib, retain: true, release: true); - } - - static CAMediaTimingFunction functionWithControlPoints____( - UIKit _lib, double c1x, double c1y, double c2x, double c2y) { - final _ret = _lib._objc_msgSend_156(_lib._class_CAMediaTimingFunction1, - _lib._sel_functionWithControlPoints____1, c1x, c1y, c2x, c2y); - return CAMediaTimingFunction._(_ret, _lib, retain: true, release: true); - } - - CAMediaTimingFunction initWithControlPoints____( - double c1x, double c1y, double c2x, double c2y) { - final _ret = _lib._objc_msgSend_156( - _id, _lib._sel_initWithControlPoints____1, c1x, c1y, c2x, c2y); - return CAMediaTimingFunction._(_ret, _lib, retain: true, release: true); - } - - void getControlPointAtIndex_values_(int idx, ffi.Pointer ptr) { - _lib._objc_msgSend_157( - _id, _lib._sel_getControlPointAtIndex_values_1, idx, ptr); - } - - @override - CAMediaTimingFunction init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return CAMediaTimingFunction._(_ret, _lib, retain: true, release: true); - } - - static CAMediaTimingFunction new1(UIKit _lib) { - final _ret = _lib._objc_msgSend_2( - _lib._class_CAMediaTimingFunction1, _lib._sel_new1); - return CAMediaTimingFunction._(_ret, _lib, retain: false, release: true); - } - - static CAMediaTimingFunction allocWithZone_( - UIKit _lib, ffi.Pointer zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_CAMediaTimingFunction1, _lib._sel_allocWithZone_1, zone); - return CAMediaTimingFunction._(_ret, _lib, retain: false, release: true); - } - - static CAMediaTimingFunction alloc(UIKit _lib) { - final _ret = _lib._objc_msgSend_2( - _lib._class_CAMediaTimingFunction1, _lib._sel_alloc1); - return CAMediaTimingFunction._(_ret, _lib, retain: false, release: true); - } -} - -final class CAFrameRateRange extends ffi.Struct { - @ffi.Float() - external double minimum; - - @ffi.Float() - external double maximum; - - @ffi.Float() - external double preferred; -} - -class NSDictionary extends NSObject { - NSDictionary._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [NSDictionary] that points to the same underlying object as [other]. - static NSDictionary castFrom(T other) { - return NSDictionary._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [NSDictionary] that wraps the given raw object pointer. - static NSDictionary castFromPointer(UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return NSDictionary._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [NSDictionary]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_NSDictionary1); - } - - int get count { - return _lib._objc_msgSend_10(_id, _lib._sel_count1); - } - - NSObject? objectForKey_(NSObject aKey) { - final _ret = - _lib._objc_msgSend_164(_id, _lib._sel_objectForKey_1, aKey._id); - return _ret.address == 0 - ? null - : NSObject._(_ret, _lib, retain: true, release: true); - } - - NSObject keyEnumerator() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_keyEnumerator1); - return NSObject._(_ret, _lib, retain: true, release: true); - } - - @override - NSDictionary init() { - final _ret = _lib._objc_msgSend_2(_id, _lib._sel_init1); - return NSDictionary._(_ret, _lib, retain: true, release: true); - } - - NSDictionary initWithObjects_forKeys_count_( - ffi.Pointer> objects, - ffi.Pointer> keys, - int cnt) { - final _ret = _lib._objc_msgSend_165( - _id, _lib._sel_initWithObjects_forKeys_count_1, objects, keys, cnt); - return NSDictionary._(_ret, _lib, retain: true, release: true); - } - - NSDictionary? initWithCoder_(NSCoder coder) { - final _ret = - _lib._objc_msgSend_33(_id, _lib._sel_initWithCoder_1, coder._id); - return _ret.address == 0 - ? null - : NSDictionary._(_ret, _lib, retain: true, release: true); - } - - static NSDictionary new1(UIKit _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSDictionary1, _lib._sel_new1); - return NSDictionary._(_ret, _lib, retain: false, release: true); - } - - static NSDictionary allocWithZone_( - UIKit _lib, ffi.Pointer zone) { - final _ret = _lib._objc_msgSend_3( - _lib._class_NSDictionary1, _lib._sel_allocWithZone_1, zone); - return NSDictionary._(_ret, _lib, retain: false, release: true); - } - - static NSDictionary alloc(UIKit _lib) { - final _ret = - _lib._objc_msgSend_2(_lib._class_NSDictionary1, _lib._sel_alloc1); - return NSDictionary._(_ret, _lib, retain: false, release: true); - } -} - -class UIFocusEffect extends _ObjCWrapper { - UIFocusEffect._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [UIFocusEffect] that points to the same underlying object as [other]. - static UIFocusEffect castFrom(T other) { - return UIFocusEffect._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [UIFocusEffect] that wraps the given raw object pointer. - static UIFocusEffect castFromPointer(UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return UIFocusEffect._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [UIFocusEffect]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_UIFocusEffect1); - } -} - -abstract class UISemanticContentAttribute { - static const int UISemanticContentAttributeUnspecified = 0; - static const int UISemanticContentAttributePlayback = 1; - static const int UISemanticContentAttributeSpatial = 2; - static const int UISemanticContentAttributeForceLeftToRight = 3; - static const int UISemanticContentAttributeForceRightToLeft = 4; -} - -abstract class UIUserInterfaceLayoutDirection { - static const int UIUserInterfaceLayoutDirectionLeftToRight = 0; - static const int UIUserInterfaceLayoutDirectionRightToLeft = 1; -} - -class UIWindowScene extends _ObjCWrapper { - UIWindowScene._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [UIWindowScene] that points to the same underlying object as [other]. - static UIWindowScene castFrom(T other) { - return UIWindowScene._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [UIWindowScene] that wraps the given raw object pointer. - static UIWindowScene castFromPointer(UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return UIWindowScene._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [UIWindowScene]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_UIWindowScene1); - } -} - -class UIScreen extends _ObjCWrapper { - UIScreen._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [UIScreen] that points to the same underlying object as [other]. - static UIScreen castFrom(T other) { - return UIScreen._(other._id, other._lib, retain: true, release: true); - } - - /// Returns a [UIScreen] that wraps the given raw object pointer. - static UIScreen castFromPointer(UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return UIScreen._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [UIScreen]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0( - obj._id, obj._lib._sel_isKindOfClass_1, obj._lib._class_UIScreen1); - } -} - -class UIViewController extends _ObjCWrapper { - UIViewController._(ffi.Pointer id, UIKit lib, - {bool retain = false, bool release = false}) - : super._(id, lib, retain: retain, release: release); - - /// Returns a [UIViewController] that points to the same underlying object as [other]. - static UIViewController castFrom(T other) { - return UIViewController._(other._id, other._lib, - retain: true, release: true); - } - - /// Returns a [UIViewController] that wraps the given raw object pointer. - static UIViewController castFromPointer( - UIKit lib, ffi.Pointer other, - {bool retain = false, bool release = false}) { - return UIViewController._(other, lib, retain: retain, release: release); - } - - /// Returns whether [obj] is an instance of [UIViewController]. - static bool isInstance(_ObjCWrapper obj) { - return obj._lib._objc_msgSend_0(obj._id, obj._lib._sel_isKindOfClass_1, - obj._lib._class_UIViewController1); - } -} diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_platform.android.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.android.dart similarity index 96% rename from packages/celest_auth/lib/src/client/passkeys/passkey_platform.android.dart rename to packages/celest_auth/lib/src/platform/passkeys/passkey_platform.android.dart index 19139d4c..dcd23066 100644 --- a/packages/celest_auth/lib/src/client/passkeys/passkey_platform.android.dart +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.android.dart @@ -1,10 +1,10 @@ import 'dart:async'; import 'dart:convert'; -import 'package:celest_auth/src/client/passkeys/passkey_platform_impl.vm.dart'; -import 'package:celest_auth/src/platform/android/jni_bindings.ffi.dart' - hide Exception, Uri; -import 'package:celest_auth/src/platform/android/jni_helpers.dart'; +import 'package:celest_auth/src/native/android/jni_bindings.ffi.dart' + hide Exception; +import 'package:celest_auth/src/native/android/jni_helpers.dart'; +import 'package:celest_auth/src/platform/passkeys/passkey_platform_impl.vm.dart'; import 'package:celest_core/celest_core.dart'; import 'package:jni/jni.dart'; diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_platform.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.dart similarity index 82% rename from packages/celest_auth/lib/src/client/passkeys/passkey_platform.dart rename to packages/celest_auth/lib/src/platform/passkeys/passkey_platform.dart index 0ce04041..c50df6dc 100644 --- a/packages/celest_auth/lib/src/client/passkeys/passkey_platform.dart +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.dart @@ -1,5 +1,5 @@ -import 'package:celest_auth/src/client/passkeys/passkey_platform_impl.vm.dart' - if (dart.library.js_interop) 'package:celest_auth/src/client/passkeys/passkey_platform_impl.web.dart'; +import 'package:celest_auth/src/platform/passkeys/passkey_platform_impl.vm.dart' + if (dart.library.js_interop) 'package:celest_auth/src/platform/passkeys/passkey_platform_impl.web.dart'; import 'package:celest_core/celest_core.dart'; import 'package:meta/meta.dart'; diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_platform.darwin.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.darwin.dart similarity index 96% rename from packages/celest_auth/lib/src/client/passkeys/passkey_platform.darwin.dart rename to packages/celest_auth/lib/src/platform/passkeys/passkey_platform.darwin.dart index f08efa57..64e82c93 100644 --- a/packages/celest_auth/lib/src/client/passkeys/passkey_platform.darwin.dart +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.darwin.dart @@ -2,8 +2,8 @@ import 'dart:async'; import 'dart:convert'; import 'dart:ffi'; -import 'package:celest_auth/src/client/passkeys/passkey_platform_impl.vm.dart'; -import 'package:celest_auth/src/platform/darwin/celest_auth.ffi.dart'; +import 'package:celest_auth/src/platform/passkeys/passkey_platform_impl.vm.dart'; +import 'package:celest_auth/src/native/darwin/celest_auth.ffi.dart'; import 'package:celest_core/celest_core.dart'; // ignore: implementation_imports import 'package:celest_core/src/util/globals.dart'; diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_platform.web.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.web.dart similarity index 98% rename from packages/celest_auth/lib/src/client/passkeys/passkey_platform.web.dart rename to packages/celest_auth/lib/src/platform/passkeys/passkey_platform.web.dart index 5e98900a..354b3bba 100644 --- a/packages/celest_auth/lib/src/client/passkeys/passkey_platform.web.dart +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.web.dart @@ -3,7 +3,7 @@ import 'dart:js_interop'; import 'dart:js_interop_unsafe'; import 'dart:typed_data'; -import 'package:celest_auth/src/client/passkeys/passkey_platform_impl.web.dart'; +import 'package:celest_auth/src/platform/passkeys/passkey_platform_impl.web.dart'; import 'package:celest_core/celest_core.dart' hide AuthenticatorSelectionCriteria; import 'package:web/web.dart' diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_platform_impl.vm.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform_impl.vm.dart similarity index 73% rename from packages/celest_auth/lib/src/client/passkeys/passkey_platform_impl.vm.dart rename to packages/celest_auth/lib/src/platform/passkeys/passkey_platform_impl.vm.dart index 6630b960..9a8a5593 100644 --- a/packages/celest_auth/lib/src/client/passkeys/passkey_platform_impl.vm.dart +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform_impl.vm.dart @@ -1,6 +1,6 @@ -import 'package:celest_auth/src/client/passkeys/passkey_platform.android.dart'; -import 'package:celest_auth/src/client/passkeys/passkey_platform.dart'; -import 'package:celest_auth/src/client/passkeys/passkey_platform.darwin.dart'; +import 'package:celest_auth/src/platform/passkeys/passkey_platform.android.dart'; +import 'package:celest_auth/src/platform/passkeys/passkey_platform.dart'; +import 'package:celest_auth/src/platform/passkeys/passkey_platform.darwin.dart'; import 'package:celest_core/celest_core.dart'; import 'package:meta/meta.dart'; import 'package:os_detect/os_detect.dart' as os; diff --git a/packages/celest_auth/lib/src/client/passkeys/passkey_platform_impl.web.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform_impl.web.dart similarity index 80% rename from packages/celest_auth/lib/src/client/passkeys/passkey_platform_impl.web.dart rename to packages/celest_auth/lib/src/platform/passkeys/passkey_platform_impl.web.dart index bb834280..7752d29d 100644 --- a/packages/celest_auth/lib/src/client/passkeys/passkey_platform_impl.web.dart +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform_impl.web.dart @@ -1,5 +1,5 @@ -import 'package:celest_auth/src/client/passkeys/passkey_platform.dart'; -import 'package:celest_auth/src/client/passkeys/passkey_platform.web.dart'; +import 'package:celest_auth/src/platform/passkeys/passkey_platform.dart'; +import 'package:celest_auth/src/platform/passkeys/passkey_platform.web.dart'; import 'package:celest_core/celest_core.dart'; // ignore: implementation_imports import 'package:celest_core/src/util/globals.dart'; diff --git a/packages/celest_auth/lib/src/client/social/oauth_parameters.dart b/packages/celest_auth/lib/src/platform/social/oauth_parameters.dart similarity index 100% rename from packages/celest_auth/lib/src/client/social/oauth_parameters.dart rename to packages/celest_auth/lib/src/platform/social/oauth_parameters.dart diff --git a/packages/celest_auth/lib/src/client/social/oauth_parameters.g.dart b/packages/celest_auth/lib/src/platform/social/oauth_parameters.g.dart similarity index 100% rename from packages/celest_auth/lib/src/client/social/oauth_parameters.g.dart rename to packages/celest_auth/lib/src/platform/social/oauth_parameters.g.dart diff --git a/packages/celest_auth/lib/src/storage/secure_storage.android.dart b/packages/celest_auth/lib/src/storage/secure_storage.android.dart new file mode 100644 index 00000000..61e88856 --- /dev/null +++ b/packages/celest_auth/lib/src/storage/secure_storage.android.dart @@ -0,0 +1,41 @@ +import 'package:celest_auth/src/native/android/jni_bindings.ffi.dart'; +import 'package:celest_auth/src/storage/secure_storage.dart'; +import 'package:jni/jni.dart'; + +final class SecureStoragePlatformAndroid extends SecureStoragePlatform { + SecureStoragePlatformAndroid() : super.base() { + Jni.initDLApi(); + } + + late final Activity _mainActivity = + Activity.fromRef(Jni.getCurrentActivity()); + late final CelestSecureStorage _secureStorage = + CelestSecureStorage(_mainActivity); + + @override + void clear() => _secureStorage.clear(); + + @override + String? delete(String key) { + final value = _secureStorage.delete(key.toJString()); + if (value.isNull) { + return null; + } + return value.toDartString(); + } + + @override + String? read(String key) => + _secureStorage.read(key.toJString()).toDartString(); + + @override + Map readAll() => _secureStorage.readAll().map( + (key, value) => MapEntry(key.toDartString(), value.toDartString()), + ); + + @override + String write(String key, String value) { + _secureStorage.write(key.toJString(), value.toJString()); + return value; + } +} diff --git a/packages/celest_auth/lib/src/storage/secure_storage.dart b/packages/celest_auth/lib/src/storage/secure_storage.dart new file mode 100644 index 00000000..89dc26fa --- /dev/null +++ b/packages/celest_auth/lib/src/storage/secure_storage.dart @@ -0,0 +1,37 @@ +import 'package:celest_auth/src/storage/secure_storage.android.dart'; +import 'package:celest_auth/src/storage/secure_storage.darwin.dart'; +import 'package:celest_auth/src/storage/secure_storage.stub.dart'; +// ignore: implementation_imports +import 'package:celest_core/src/util/globals.dart'; +import 'package:meta/meta.dart'; +import 'package:os_detect/os_detect.dart' as os; + +abstract interface class SecureStorage { + factory SecureStorage() = SecureStoragePlatform; + const SecureStorage._(); + + void init() {} + String? read(String key); + Map readAll(); + String write(String key, String value); + String? delete(String key); + void clear(); +} + +abstract base class SecureStoragePlatform extends SecureStorage { + factory SecureStoragePlatform() { + if (kIsWeb) { + return SecureStoragePlatformStub(); + } + if (os.isIOS || os.isMacOS) { + return SecureStoragePlatformDarwin(); + } + if (os.isAndroid) { + return SecureStoragePlatformAndroid(); + } + throw UnimplementedError(); + } + + @protected + const SecureStoragePlatform.base() : super._(); +} diff --git a/packages/celest_auth/lib/src/storage/secure_storage.darwin.dart b/packages/celest_auth/lib/src/storage/secure_storage.darwin.dart new file mode 100644 index 00000000..63832098 --- /dev/null +++ b/packages/celest_auth/lib/src/storage/secure_storage.darwin.dart @@ -0,0 +1,179 @@ +import 'dart:ffi'; + +import 'package:celest_auth/src/native/darwin/core_foundation.ffi.dart'; +import 'package:celest_auth/src/native/darwin/darwin_ffi_helpers.dart'; +import 'package:celest_auth/src/native/darwin/security.ffi.dart'; +import 'package:celest_auth/src/storage/secure_storage.dart'; +import 'package:celest_auth/src/storage/secure_storage_exception_impl.dart'; +// ignore: implementation_imports +import 'package:celest_core/src/util/globals.dart'; +import 'package:ffi/ffi.dart'; +import 'package:os_detect/os_detect.dart' as os; + +final class SecureStoragePlatformDarwin extends SecureStoragePlatform { + SecureStoragePlatformDarwin() : super.base(); + + static const _serviceName = 'dev.celest.celest_auth'; + static final _useDataProtection = os.isMacOS && kReleaseMode; + + Map _baseAttributes(Arena arena) { + final service = _serviceName.toCFString(arena); + return { + kSecClass: kSecClassGenericPassword, + kSecAttrService: service, + if (_useDataProtection) kSecUseDataProtectionKeychain: kCFBooleanTrue, + }; + } + + @override + void clear() => using((arena) => _clear(arena: arena)); + + @override + String? delete(String key) => using((arena) { + final current = _read(key, arena: arena); + _delete(key, arena: arena); + return current; + }); + + @override + String? read(String key) => using((arena) => _read(key, arena: arena)); + + @override + Map readAll() { + // TODO: implement readAll + throw UnimplementedError(); + } + + @override + String write(String key, String value) => using((arena) { + _write(key, value, arena: arena); + return value; + }); + + String? _read(String key, {required Arena arena}) { + final attributes = _baseAttributes(arena); + final query = { + ...attributes, + kSecAttrAccount: key.toCFString(arena), + kSecReturnData: kCFBooleanTrue, + kSecMatchLimit: kSecMatchLimitOne, + kSecReturnData: kCFBooleanTrue, + }; + try { + final result = arena(); + _check( + () => SecItemCopyMatching(query.toCFDictionary(arena), result), + key: key, + ); + final data = result.value.cast(); + arena.onReleaseAll(() => CFRelease(data.cast())); + return data.toDartString(); + } on SecureStorageItemNotFoundException { + return null; + } on Exception { + // May happen if the data is not UTF-8 encoded or corrupted. + throw const SecureStorageUnknownException(); + } + } + + void _write(String key, String value, {required Arena arena}) { + final query = { + ..._baseAttributes(arena), + kSecAttrAccount: key.toCFString(arena), + }; + final gets = SecItemCopyMatching(query.toCFDictionary(arena), nullptr); + if (gets != errSecSuccess && gets != errSecItemNotFound) { + throw SecurityFrameworkException.fromStatus(gets, key: key); + } + final itemExists = gets == errSecSuccess; + if (itemExists) { + // Update the item. + final attributes = { + kSecValueData: value.toCFData(arena), + }; + return _check( + () => SecItemUpdate( + query.toCFDictionary(arena), + attributes.toCFDictionary(arena), + ), + key: key, + ); + } + // Else, add the item. + final attributes = { + ...query, + kSecValueData: value.toCFData(arena), + }; + return _check( + () => SecItemAdd(attributes.toCFDictionary(arena), nullptr), + key: key, + ); + } + + void _delete(String key, {required Arena arena}) { + final query = { + ..._baseAttributes(arena), + kSecAttrAccount: key.toCFString(arena), + }; + _check( + () => SecItemDelete(query.toCFDictionary(arena)), + key: key, + ); + } + + void _clear({required Arena arena}) { + final query = { + ..._baseAttributes(arena), + // Required when `useDataProtection` is disabled, however can only be + // passed on macOS. Passing it on iOS will result in a crash. + if (os.isMacOS && !_useDataProtection) kSecMatchLimit: kSecMatchLimitAll, + }; + _check(() => SecItemDelete(query.toCFDictionary(arena))); + } +} + +extension type SecurityFrameworkException(SecureStorageExceptionImpl exception) + implements SecureStorageExceptionImpl { + factory SecurityFrameworkException.fromStatus(int status, {String? key}) { + if (kReleaseMode) { + key = null; + } + final cfMessage = SecCopyErrorMessageString(status, nullptr); + try { + final message = cfMessage.toDartString(); + final exception = switch (status) { + errSecItemNotFound => + SecureStorageItemNotFoundException(message: message), + errSecDuplicateItem => + SecureStorageDuplicateItemException(message: message), + errSecUserCanceled || + errSecAuthFailed || + errSecInteractionRequired => + SecureStorageAccessDeniedException(message: message), + errSecMissingEntitlement => const SecureStorageAccessDeniedException( + message: 'The app is missing the required entitlements', + ), + _ => SecureStorageUnknownException(message), + }; + return SecurityFrameworkException(exception); + } on Exception { + return SecurityFrameworkException( + SecureStorageUnknownException( + 'Unknown error occurred in Security.framework. Status: $status', + ), + ); + } finally { + CFRelease(cfMessage.cast()); + } + } +} + +void _check( + int Function() action, { + String? key, +}) { + final status = action(); + if (status != errSecSuccess) { + throw SecurityFrameworkException.fromStatus(status, key: key); + } +} diff --git a/packages/celest_auth/lib/src/storage/secure_storage.stub.dart b/packages/celest_auth/lib/src/storage/secure_storage.stub.dart new file mode 100644 index 00000000..cd3a467f --- /dev/null +++ b/packages/celest_auth/lib/src/storage/secure_storage.stub.dart @@ -0,0 +1,26 @@ +import 'dart:collection'; + +import 'package:celest_auth/src/storage/secure_storage.dart'; + +/// An in-memory implementation of [SecureStoragePlatform] for platforms which +/// do not support secure storage. +final class SecureStoragePlatformStub extends SecureStoragePlatform { + SecureStoragePlatformStub() : super.base(); + + final _storage = {}; + + @override + void clear() => _storage.clear(); + + @override + String? delete(String key) => _storage.remove(key); + + @override + String? read(String key) => _storage[key]; + + @override + Map readAll() => UnmodifiableMapView(_storage); + + @override + String write(String key, String value) => _storage[key] = value; +} diff --git a/packages/celest_auth/lib/src/storage/secure_storage_exception_impl.dart b/packages/celest_auth/lib/src/storage/secure_storage_exception_impl.dart new file mode 100644 index 00000000..3833ca86 --- /dev/null +++ b/packages/celest_auth/lib/src/storage/secure_storage_exception_impl.dart @@ -0,0 +1,71 @@ +import 'package:celest_core/celest_core.dart'; + +sealed class SecureStorageExceptionImpl implements SecureStorageException { + const SecureStorageExceptionImpl(); +} + +final class SecureStorageItemNotFoundException + extends SecureStorageExceptionImpl { + const SecureStorageItemNotFoundException({ + String? message, + this.key, + }) : message = message ?? 'The item was not found in secure storage'; + + @override + final String message; + final String? key; + + @override + String toString() { + final sb = StringBuffer('ItemNotFoundException: $message'); + if (key != null) { + sb.write(' (key: $key)'); + } + return sb.toString(); + } +} + +final class SecureStorageDuplicateItemException + extends SecureStorageExceptionImpl { + const SecureStorageDuplicateItemException({ + String? message, + this.key, + }) : message = message ?? 'The item already exists in secure storage'; + + @override + final String message; + final String? key; + + @override + String toString() { + final sb = StringBuffer('DuplicateItemException: $message'); + if (key != null) { + sb.write(' (key: $key)'); + } + return sb.toString(); + } +} + +final class SecureStorageAccessDeniedException + extends SecureStorageExceptionImpl { + const SecureStorageAccessDeniedException({ + String? message, + }) : message = message ?? 'Access to secure storage was denied'; + + @override + final String message; + + @override + String toString() => 'AccessDeniedException: $message'; +} + +final class SecureStorageUnknownException extends SecureStorageExceptionImpl { + const SecureStorageUnknownException([String? message]) + : message = message ?? 'An unknown error occurred in secure storage'; + + @override + final String message; + + @override + String toString() => 'UnknownException: $message'; +} diff --git a/packages/celest_auth/pubspec.yaml b/packages/celest_auth/pubspec.yaml index 1894668c..a24ec02a 100644 --- a/packages/celest_auth/pubspec.yaml +++ b/packages/celest_auth/pubspec.yaml @@ -7,6 +7,12 @@ repository: https://github.com/celest-dev/celest/tree/main/packages/celest_auth environment: sdk: ^3.3.0 +platforms: + web: + macos: + ios: + android: + dependencies: async: ^2.11.0 built_collection: ^5.1.1 @@ -16,6 +22,7 @@ dependencies: chunked_stream: ^1.4.2 corks: ^0.1.0 ffi: ^2.1.2 + http: ^1.2.1 jni: ^0.7.2 logging: ^1.2.0 meta: ^1.9.0 @@ -29,7 +36,12 @@ dev_dependencies: build_runner: ^2.4.8 built_value_generator: ^8.9.1 checks: ^0.3.0 - ffigen: ^11.0.0 + # TODO(dnys1): Use ^12.0.0 when released + # Needed to support global fields. + ffigen: + git: + url: https://github.com/dart-lang/native + path: pkgs/ffigen jnigen: ^0.7.0 lints: ^3.0.0 test: ^1.25.1 diff --git a/packages/celest_core/lib/celest_core.dart b/packages/celest_core/lib/celest_core.dart index 93d91421..70b4d574 100644 --- a/packages/celest_core/lib/celest_core.dart +++ b/packages/celest_core/lib/celest_core.dart @@ -3,9 +3,10 @@ library; /// Auth export 'src/auth/auth_client.dart'; +export 'src/auth/auth_exception.dart'; export 'src/auth/auth_protocol.dart'; -export 'src/auth/passkey_exception.dart'; -export 'src/auth/passkey_types.dart'; +export 'src/auth/passkeys/passkey_exception.dart'; +export 'src/auth/passkeys/passkey_types.dart'; /// Exceptions export 'src/exception/celest_exception.dart'; @@ -15,3 +16,6 @@ export 'src/exception/serialization_exception.dart'; /// Serialization export 'src/serialization/json_value.dart'; export 'src/serialization/serializer.dart'; + +/// Secure Storage +export 'src/storage/secure_storage_exception.dart'; diff --git a/packages/celest_core/lib/src/auth/auth_exception.dart b/packages/celest_core/lib/src/auth/auth_exception.dart new file mode 100644 index 00000000..ed69755b --- /dev/null +++ b/packages/celest_core/lib/src/auth/auth_exception.dart @@ -0,0 +1,3 @@ +import 'package:celest_core/celest_core.dart'; + +abstract interface class AuthException implements CelestException {} diff --git a/packages/celest_core/lib/src/auth/passkey_exception.dart b/packages/celest_core/lib/src/auth/passkeys/passkey_exception.dart similarity index 94% rename from packages/celest_core/lib/src/auth/passkey_exception.dart rename to packages/celest_core/lib/src/auth/passkeys/passkey_exception.dart index 92f87c2c..afc4a8be 100644 --- a/packages/celest_core/lib/src/auth/passkey_exception.dart +++ b/packages/celest_core/lib/src/auth/passkeys/passkey_exception.dart @@ -1,7 +1,7 @@ import 'package:celest_core/celest_core.dart'; // TODO(dnys1): Make sealed -final class PasskeyException implements CelestException { +final class PasskeyException implements AuthException { const PasskeyException({ required this.message, }); diff --git a/packages/celest_core/lib/src/auth/passkey_types.dart b/packages/celest_core/lib/src/auth/passkeys/passkey_types.dart similarity index 95% rename from packages/celest_core/lib/src/auth/passkey_types.dart rename to packages/celest_core/lib/src/auth/passkeys/passkey_types.dart index 571b05b7..704b01d3 100644 --- a/packages/celest_core/lib/src/auth/passkey_types.dart +++ b/packages/celest_core/lib/src/auth/passkeys/passkey_types.dart @@ -65,6 +65,7 @@ final class PasskeyRegistrationRequest { } } +// https://w3c.github.io/webauthn/#dictionary-makecredentialoptions final class PasskeyRegistrationOptions { PasskeyRegistrationOptions({ required this.challenge, @@ -74,6 +75,7 @@ final class PasskeyRegistrationOptions { required this.userName, String? userDisplayName, this.timeout = const Duration(minutes: 5), + this.attestation = 'none', this.authenticatorSelection = const AuthenticatorSelectionCriteria.passkey(), this.publicKeyCredentialParameters = const [], @@ -105,6 +107,7 @@ final class PasskeyRegistrationOptions { userDisplayName: userDisplayName, challenge: base64RawUrl.decode(challenge), timeout: Duration(milliseconds: (json['timeout'] as num).toInt()), + attestation: json['attestation'] as String? ?? 'none', authenticatorSelection: json['authenticatorSelection'] != null ? AuthenticatorSelectionCriteria.fromJson( (json['authenticatorSelection'] as Map) @@ -128,6 +131,7 @@ final class PasskeyRegistrationOptions { final String userDisplayName; final Uint8List challenge; final Duration timeout; + final String attestation; final AuthenticatorSelectionCriteria authenticatorSelection; final List publicKeyCredentialParameters; @@ -143,6 +147,7 @@ final class PasskeyRegistrationOptions { }, 'challenge': base64RawUrl.encode(challenge), 'timeout': timeout.inMilliseconds, + 'attestation': attestation, 'authenticatorSelection': authenticatorSelection.toJson(), 'pubKeyCredParams': publicKeyCredentialParameters.map((el) => el.toJson()).toList(), @@ -158,7 +163,8 @@ final class PasskeyRegistrationOptions { ..writeln(' userName: $userName,') ..writeln(' userDisplayName: $userDisplayName,') ..writeln(' challenge: ${base64RawUrl.encode(challenge)},') - ..writeln(' timeout: $timeout,'); + ..writeln(' timeout: $timeout,') + ..writeln(' attestation: $attestation,'); if (authenticatorSelection case final authenticatorSelection) { buffer.writeln(' authenticatorSelection: $authenticatorSelection,'); } @@ -317,14 +323,13 @@ final class PublicKeyCredentialParameter { } } +// https://w3c.github.io/webauthn/#dictdef-authenticatorselectioncriteria final class AuthenticatorSelectionCriteria { const AuthenticatorSelectionCriteria({ this.authenticatorAttachment, this.residentKey, - bool? requireResidentKey, UserVerificationRequirement? userVerification, - }) : requireResidentKey = requireResidentKey ?? false, - userVerification = + }) : userVerification = userVerification ?? UserVerificationRequirement.preferred; const AuthenticatorSelectionCriteria.passkey() @@ -332,7 +337,7 @@ final class AuthenticatorSelectionCriteria { // Try to use UV if possible. // // Why not required: https://passkeys.dev/docs/use-cases/bootstrapping/#a-note-about-user-verification - userVerification = UserVerificationRequirement.required, + userVerification = UserVerificationRequirement.preferred, // "platform" indicates that the RP wants a platform authenticator // (an authenticator embedded to the platform device) which will @@ -343,19 +348,14 @@ final class AuthenticatorSelectionCriteria { // A discoverable credential (resident key) stores user // information to the passkey and lets users select the account // upon authentication. - residentKey = ResidentKeyRequirement.required, - - // This property is retained for backward compatibility from - // WebAuthn Level 1, an older version of the specification. Set - // this to true if residentKey is 'required', otherwise set it - // to false. - requireResidentKey = true; + // + // + residentKey = ResidentKeyRequirement.preferred; factory AuthenticatorSelectionCriteria.fromJson(Map json) { return AuthenticatorSelectionCriteria( authenticatorAttachment: json['authenticatorAttachment'] as AuthenticatorAttachment?, - requireResidentKey: json['requireResidentKey'] as bool?, residentKey: json['residentKey'] as ResidentKeyRequirement?, userVerification: json['userVerification'] as UserVerificationRequirement?, @@ -364,7 +364,14 @@ final class AuthenticatorSelectionCriteria { final AuthenticatorAttachment? authenticatorAttachment; final ResidentKeyRequirement? residentKey; - final bool requireResidentKey; + + /// This property is retained for backward compatibility from + /// WebAuthn Level 1, an older version of the specification. This is set + /// to true if residentKey is 'required', otherwise set it to false. + /// + /// See: https://w3c.github.io/webauthn/#dom-authenticatorselectioncriteria-requireresidentkey + bool get requireResidentKey => residentKey == ResidentKeyRequirement.required; + final UserVerificationRequirement userVerification; Map toJson() => { @@ -377,14 +384,10 @@ final class AuthenticatorSelectionCriteria { @override String toString() { - final buffer = StringBuffer()..write('AuthenticatorSelectionCriteria('); - if (authenticatorAttachment != null) { - buffer.write('authenticatorAttachment: $authenticatorAttachment, '); - } - if (residentKey != null) { - buffer.write('residentKey: $residentKey, '); - } - buffer + final buffer = StringBuffer() + ..write('AuthenticatorSelectionCriteria(') + ..write('authenticatorAttachment: $authenticatorAttachment, ') + ..write('residentKey: $residentKey, ') ..write('requireResidentKey: $requireResidentKey, ') ..write('userVerification: $userVerification') ..write(')'); diff --git a/packages/celest_core/lib/src/storage/secure_storage_exception.dart b/packages/celest_core/lib/src/storage/secure_storage_exception.dart new file mode 100644 index 00000000..3cf17f90 --- /dev/null +++ b/packages/celest_core/lib/src/storage/secure_storage_exception.dart @@ -0,0 +1,3 @@ +import 'package:celest_core/celest_core.dart'; + +abstract interface class SecureStorageException implements CelestException {} diff --git a/packages/corks/lib/src/cork.dart b/packages/corks/lib/src/cork.dart index ff954773..11b57ac1 100644 --- a/packages/corks/lib/src/cork.dart +++ b/packages/corks/lib/src/cork.dart @@ -43,12 +43,10 @@ final class Cork { static CorkBuilder builder({ Uint8List? id, - required Uint8List keyId, Bearer? bearer, }) => CorkBuilder( id: id, - keyId: keyId, bearer: bearer, ); @@ -70,6 +68,10 @@ final class Cork { Uint8List encode() => toProto().writeToBuffer(); Future verify(Signer signer) async { + if (Digest(signer.keyId) != Digest(keyId)) { + return false; + } + await signer.sign(SignableBytes(id)); if (bearer case final bearer?) { @@ -88,7 +90,6 @@ final class Cork { final class CorkBuilder { factory CorkBuilder({ Uint8List? id, - required Uint8List keyId, Bearer? bearer, }) { if (id == null) { @@ -98,19 +99,17 @@ final class CorkBuilder { id[i] = _secureRandom.nextInt(256); } } - return CorkBuilder._(id, keyId, bearer); + return CorkBuilder._(id, bearer); } CorkBuilder._( this._id, - this._keyId, this._bearer, ); static final _secureRandom = Random.secure(); final Uint8List _id; - final Uint8List _keyId; final Bearer? _bearer; final List _caveats = []; @@ -130,7 +129,7 @@ final class CorkBuilder { } return Cork._( id: _id, - keyId: _keyId, + keyId: signer.keyId, bearer: signedBearer, caveats: signedCaveats, signature: await signer.close(), diff --git a/packages/corks/lib/src/signer.dart b/packages/corks/lib/src/signer.dart index b4591410..92cccb64 100644 --- a/packages/corks/lib/src/signer.dart +++ b/packages/corks/lib/src/signer.dart @@ -44,18 +44,22 @@ final class SignedBytes implements Signed { } abstract interface class Signer { - factory Signer(Uint8List key) = _Signer; + factory Signer(Uint8List keyId, Uint8List key) = _Signer; const Signer._(); + Uint8List get keyId; Future sign(Signable block); Future close(); } final class _Signer extends Signer { - _Signer(Uint8List key) + _Signer(this.keyId, Uint8List key) : _hmac = Hmac(sha256, key), super._(); + @override + final Uint8List keyId; + Hmac _hmac; late Uint8List _signature; var _closed = false; diff --git a/packages/corks/test/cork_test.dart b/packages/corks/test/cork_test.dart index 859b46c9..04123577 100644 --- a/packages/corks/test/cork_test.dart +++ b/packages/corks/test/cork_test.dart @@ -16,12 +16,6 @@ Uint8List get secretKey { return key; } -final secretKeys = { - 'a': secretKey, - 'b': secretKey, - 'c': secretKey, -}; - extension on String { Uint8List get bytes => Uint8List.fromList(codeUnits); } @@ -29,47 +23,44 @@ extension on String { void main() { group('Cork', () { group('build and verify', () { - const keyId = 'a'; - final key = secretKeys[keyId]!; + final aId = 'a'.bytes; + final aKey = secretKey; + final bId = 'b'.bytes; + final bKey = secretKey; test('no bearer/id', () async { - final cork = await Cork.builder( - keyId: keyId.bytes, - ).build(Signer(key)); - expect(await cork.verify(Signer(key)), isTrue); - expect(await cork.verify(Signer(secretKeys['b']!)), isFalse); + final cork = await Cork.builder().build(Signer(aId, aKey)); + expect(await cork.verify(Signer(aId, aKey)), isTrue); + expect(await cork.verify(Signer(bId, bKey)), isFalse); }); test('with id', () async { final cork = await Cork.builder( id: utf8.encode(jsonEncode(const CedarEntityId('User', 'alice'))), - keyId: keyId.bytes, - ).build(Signer(key)); - expect(await cork.verify(Signer(key)), isTrue); - expect(await cork.verify(Signer(secretKeys['b']!)), isFalse); + ).build(Signer(aId, aKey)); + expect(await cork.verify(Signer(aId, aKey)), isTrue); + expect(await cork.verify(Signer(bId, bKey)), isFalse); }); test('with bearer', () async { final cork = await Cork.builder( - keyId: keyId.bytes, bearer: Bearer.entityId( entityId: const CedarEntityId('User', 'alice'), ), - ).build(Signer(key)); - expect(await cork.verify(Signer(key)), isTrue); - expect(await cork.verify(Signer(secretKeys['b']!)), isFalse); + ).build(Signer(aId, aKey)); + expect(await cork.verify(Signer(aId, aKey)), isTrue); + expect(await cork.verify(Signer(bId, bKey)), isFalse); }); test('with id and bearer', () async { final cork = await Cork.builder( id: utf8.encode(jsonEncode(const CedarEntityId('User', 'alice'))), - keyId: keyId.bytes, bearer: Bearer.entityId( entityId: const CedarEntityId('User', 'alice'), ), - ).build(Signer(key)); - expect(await cork.verify(Signer(key)), isTrue); - expect(await cork.verify(Signer(secretKeys['b']!)), isFalse); + ).build(Signer(aId, aKey)); + expect(await cork.verify(Signer(aId, aKey)), isTrue); + expect(await cork.verify(Signer(bId, bKey)), isFalse); }); }); }); From 7a13bc6b3e716e6fd03648a6959565905e6a1e73 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Mon, 4 Mar 2024 13:49:24 -0800 Subject: [PATCH 07/33] Move passkey exception impl to Auth --- .../passkeys/passkey_exception_impl.dart | 35 +++++++++++++++++++ .../passkeys/passkey_platform.android.dart | 1 + .../passkeys/passkey_platform.darwin.dart | 3 +- .../passkeys/passkey_platform.web.dart | 18 +++++----- 4 files changed, 48 insertions(+), 9 deletions(-) create mode 100644 packages/celest_auth/lib/src/platform/passkeys/passkey_exception_impl.dart diff --git a/packages/celest_auth/lib/src/platform/passkeys/passkey_exception_impl.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_exception_impl.dart new file mode 100644 index 00000000..297a323a --- /dev/null +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_exception_impl.dart @@ -0,0 +1,35 @@ +import 'package:celest_core/celest_core.dart'; + +// TODO(dnys1): Make sealed +final class PasskeyExceptionImpl implements PasskeyException { + const PasskeyExceptionImpl({required this.message}); + + @override + final String message; + + @override + String toString() => 'PasskeyException: $message'; +} + +final class PasskeyCancellationException extends PasskeyExceptionImpl { + const PasskeyCancellationException() + : super(message: 'Passkey registration was canceled by the user'); +} + +final class PasskeyUnknownException extends PasskeyExceptionImpl { + const PasskeyUnknownException([String? message]) + : super( + message: message ?? + 'An unknown error occurred during passkey registration', + ); +} + +final class PasskeyUnsupportedException extends PasskeyExceptionImpl { + const PasskeyUnsupportedException() + : super(message: 'Passkeys are not supported on this platform'); +} + +final class PasskeyFailedException extends PasskeyExceptionImpl { + const PasskeyFailedException([String? message]) + : super(message: message ?? 'Passkey registration failed'); +} diff --git a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.android.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.android.dart index dcd23066..483803c0 100644 --- a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.android.dart +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.android.dart @@ -4,6 +4,7 @@ import 'dart:convert'; import 'package:celest_auth/src/native/android/jni_bindings.ffi.dart' hide Exception; import 'package:celest_auth/src/native/android/jni_helpers.dart'; +import 'package:celest_auth/src/platform/passkeys/passkey_exception_impl.dart'; import 'package:celest_auth/src/platform/passkeys/passkey_platform_impl.vm.dart'; import 'package:celest_core/celest_core.dart'; import 'package:jni/jni.dart'; diff --git a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.darwin.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.darwin.dart index 64e82c93..340f68f1 100644 --- a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.darwin.dart +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.darwin.dart @@ -2,8 +2,9 @@ import 'dart:async'; import 'dart:convert'; import 'dart:ffi'; -import 'package:celest_auth/src/platform/passkeys/passkey_platform_impl.vm.dart'; import 'package:celest_auth/src/native/darwin/celest_auth.ffi.dart'; +import 'package:celest_auth/src/platform/passkeys/passkey_exception_impl.dart'; +import 'package:celest_auth/src/platform/passkeys/passkey_platform_impl.vm.dart'; import 'package:celest_core/celest_core.dart'; // ignore: implementation_imports import 'package:celest_core/src/util/globals.dart'; diff --git a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.web.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.web.dart index 354b3bba..a0492b49 100644 --- a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.web.dart +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.web.dart @@ -3,6 +3,7 @@ import 'dart:js_interop'; import 'dart:js_interop_unsafe'; import 'dart:typed_data'; +import 'package:celest_auth/src/platform/passkeys/passkey_exception_impl.dart'; import 'package:celest_auth/src/platform/passkeys/passkey_platform_impl.web.dart'; import 'package:celest_core/celest_core.dart' hide AuthenticatorSelectionCriteria; @@ -45,7 +46,7 @@ final class PasskeyPlatformWeb extends PasskeyPlatformImpl { PasskeyRegistrationRequest request, ) async { if (!await isSupported) { - throw const PasskeyException( + throw const PasskeyExceptionImpl( message: 'Passkeys are not supported in this environment', ); } @@ -61,7 +62,7 @@ final class PasskeyPlatformWeb extends PasskeyPlatformImpl { for (final param in options.publicKeyCredentialParameters) PublicKeyCredentialParameters( alg: param.algorithm, - type: 'public-key', + type: param.type, ), ].toJS, rp: PublicKeyCredentialRpEntity( @@ -71,7 +72,7 @@ final class PasskeyPlatformWeb extends PasskeyPlatformImpl { id: utf8.encode(options.userId).buffer.toJS, displayName: options.userDisplayName, )..name = options.userName, - attestation: 'none', + attestation: options.attestation, authenticatorSelection: AuthenticatorSelectionCriteria( authenticatorAttachment: options.authenticatorSelection.authenticatorAttachment!, @@ -93,7 +94,8 @@ final class PasskeyPlatformWeb extends PasskeyPlatformImpl { ), ) as PublicKeyCredential?; if (credential == null) { - throw const PasskeyException(message: 'Registration was not completed'); + throw const PasskeyExceptionImpl( + message: 'Registration was not completed'); } assert(credential.type == 'public-key'); final response = credential.response as AuthenticatorAttestationResponse; @@ -116,7 +118,7 @@ final class PasskeyPlatformWeb extends PasskeyPlatformImpl { PasskeyAuthenticationRequest request, ) async { if (!await isSupported) { - throw const PasskeyException( + throw const PasskeyExceptionImpl( message: 'Passkeys are not supported in this environment', ); } @@ -139,7 +141,7 @@ final class PasskeyPlatformWeb extends PasskeyPlatformImpl { ), ) as PublicKeyCredential?; if (credential == null) { - throw const PasskeyException( + throw const PasskeyExceptionImpl( message: 'Authentication was not completed', ); } @@ -214,7 +216,7 @@ extension type RegistrationError._(JSError _) implements JSError { // TODO(dnys1): Cover all cases // https://github.com/MasterKale/SimpleWebAuthn/blob/634ceabdb05f4b5e56132fff7c57598caa2401a8/packages/browser/src/helpers/identifyRegistrationError.ts#L7 PasskeyException toPasskeyException() { - return PasskeyException(message: '$name: $message'); + return PasskeyExceptionImpl(message: '$name: $message'); } } @@ -222,6 +224,6 @@ extension type AuthenticationError._(JSError _) implements JSError { // TODO(dnys1): Cover all cases // https://github.com/MasterKale/SimpleWebAuthn/blob/634ceabdb05f4b5e56132fff7c57598caa2401a8/packages/browser/src/helpers/identifyAuthenticationError.ts#L7 PasskeyException toPasskeyException() { - return PasskeyException(message: '$name: $message'); + return PasskeyExceptionImpl(message: '$name: $message'); } } From 7f1012d543a1a7e613c51bbdd146d5176837e7a2 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Mon, 4 Mar 2024 13:49:59 -0800 Subject: [PATCH 08/33] Fix --- .../src/auth/passkeys/passkey_exception.dart | 36 +------------------ 1 file changed, 1 insertion(+), 35 deletions(-) diff --git a/packages/celest_core/lib/src/auth/passkeys/passkey_exception.dart b/packages/celest_core/lib/src/auth/passkeys/passkey_exception.dart index afc4a8be..2383cd40 100644 --- a/packages/celest_core/lib/src/auth/passkeys/passkey_exception.dart +++ b/packages/celest_core/lib/src/auth/passkeys/passkey_exception.dart @@ -1,37 +1,3 @@ import 'package:celest_core/celest_core.dart'; -// TODO(dnys1): Make sealed -final class PasskeyException implements AuthException { - const PasskeyException({ - required this.message, - }); - - @override - final String message; - - @override - String toString() => 'PasskeyException: $message'; -} - -final class PasskeyCancellationException extends PasskeyException { - const PasskeyCancellationException() - : super(message: 'Passkey registration was canceled by the user'); -} - -final class PasskeyUnknownException extends PasskeyException { - const PasskeyUnknownException([String? message]) - : super( - message: message ?? - 'An unknown error occurred during passkey registration', - ); -} - -final class PasskeyUnsupportedException extends PasskeyException { - const PasskeyUnsupportedException() - : super(message: 'Passkeys are not supported on this platform'); -} - -final class PasskeyFailedException extends PasskeyException { - const PasskeyFailedException([String? message]) - : super(message: message ?? 'Passkey registration failed'); -} +abstract interface class PasskeyException implements AuthException {} From 8bab527421df1e937a6dbd9fd374de0627809208 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Mon, 4 Mar 2024 14:54:32 -0800 Subject: [PATCH 09/33] Sketch out public interface --- packages/celest_auth/example/lib/main.dart | 29 ++++----- packages/celest_auth/lib/src/auth.dart | 53 ++++++++++++++++ .../celest_auth/lib/src/flows/auth_flow.dart | 9 +++ .../lib/src/flows/passkey_flow.dart | 60 +++++++++++++++++++ .../passkeys/passkey_platform.android.dart | 24 ++------ .../platform/passkeys/passkey_platform.dart | 17 ++---- .../passkeys/passkey_platform.darwin.dart | 22 ++----- .../passkeys/passkey_platform.web.dart | 22 ++----- .../passkeys/passkey_platform_impl.vm.dart | 13 ++-- .../passkeys/passkey_platform_impl.web.dart | 11 +--- 10 files changed, 157 insertions(+), 103 deletions(-) create mode 100644 packages/celest_auth/lib/src/auth.dart create mode 100644 packages/celest_auth/lib/src/flows/auth_flow.dart create mode 100644 packages/celest_auth/lib/src/flows/passkey_flow.dart diff --git a/packages/celest_auth/example/lib/main.dart b/packages/celest_auth/example/lib/main.dart index d0801592..f362c99d 100644 --- a/packages/celest_auth/example/lib/main.dart +++ b/packages/celest_auth/example/lib/main.dart @@ -1,12 +1,18 @@ -import 'package:celest_auth/celest_auth.dart'; -import 'package:celest_core/celest_core.dart'; +import 'package:celest_auth/src/auth.dart'; +import 'package:celest_auth/src/flows/passkey_flow.dart'; import 'package:corks/corks.dart'; import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; final baseUri = Uri.https('0a3b-136-24-157-119.ngrok-free.app'); -final authClient = AuthClient(baseUri: baseUri); -final passkeys = PasskeyPlatform(protocol: authClient.passkeys); +final auth = CelestAuth( + baseUri: baseUri, + httpClient: http.Client(), +); + +final class CelestAuth extends AuthImpl with Passkeys { + CelestAuth({required super.baseUri, required super.httpClient}); +} void main() { runApp(const MainApp()); @@ -42,20 +48,7 @@ class _MainAppState extends State { Future signInWithPasskey() async { try { _state.value = _State(true); - final response = await passkeys.register( - PasskeyRegistrationRequest( - username: _controller.text, - authenticatorSelection: const AuthenticatorSelectionCriteria( - authenticatorAttachment: AuthenticatorAttachment.platform, - residentKey: ResidentKeyRequirement.preferred, - userVerification: UserVerificationRequirement.discouraged, - ), - ), - ); - await authClient.passkeys.verifyRegistration( - registration: response, - ); - final token = authClient.passkeys.token!; + final token = await auth.passkeys.signUp(email: _controller.text); print('Got token: $token'); final cork = Cork.parse(token); final bearer = (cork.bearer!.block as EntityBearer).entity; diff --git a/packages/celest_auth/lib/src/auth.dart b/packages/celest_auth/lib/src/auth.dart new file mode 100644 index 00000000..118bf033 --- /dev/null +++ b/packages/celest_auth/lib/src/auth.dart @@ -0,0 +1,53 @@ +import 'package:celest_auth/src/flows/auth_flow.dart'; +import 'package:celest_auth/src/platform/auth_platform.dart'; +import 'package:celest_auth/src/storage/secure_storage.dart'; +import 'package:celest_core/celest_core.dart'; +import 'package:http/http.dart' as http; +import 'package:meta/meta.dart'; + +/// Coordinates and delegates to the various [AuthFlow] to orchestrate +/// authentication activities. +/// +/// Generated Celest clients extend this class and mix in the various +/// [AuthFlow]s supported by the backend. +abstract interface class Auth { + /// Whether the user is currently authenticated. + bool get isAuthenticated; +} + +abstract base class AuthImpl implements Auth { + AuthImpl({ + required this.baseUri, + required this.httpClient, + }) { + init(); + } + + /// Initializes Celest Auth. + /// + /// Must be called before any other getters or methods are accessed. + @mustCallSuper + void init() { + final cork = secureStorage.read('cork'); + _isAuthenticated = cork != null; + } + + void register(AuthFlow flow) { + flow.init(); + throw UnimplementedError(); + } + + @override + bool get isAuthenticated => _isAuthenticated; + late bool _isAuthenticated; + + final Uri baseUri; + final http.Client httpClient; + final SecureStorage secureStorage = SecureStorage(); + + late final AuthClient protocol = AuthClient( + baseUri: baseUri, + httpClient: httpClient, + ); + late final AuthPlatform platform = AuthPlatform(protocol: protocol); +} diff --git a/packages/celest_auth/lib/src/flows/auth_flow.dart b/packages/celest_auth/lib/src/flows/auth_flow.dart new file mode 100644 index 00000000..a20425df --- /dev/null +++ b/packages/celest_auth/lib/src/flows/auth_flow.dart @@ -0,0 +1,9 @@ +@internal +library; + +import 'package:meta/meta.dart'; + +/// Base type for all authentication flows. +abstract interface class AuthFlow { + void init(); +} diff --git a/packages/celest_auth/lib/src/flows/passkey_flow.dart b/packages/celest_auth/lib/src/flows/passkey_flow.dart new file mode 100644 index 00000000..ff1a4587 --- /dev/null +++ b/packages/celest_auth/lib/src/flows/passkey_flow.dart @@ -0,0 +1,60 @@ +import 'package:celest_auth/celest_auth.dart'; +import 'package:celest_auth/src/auth.dart'; +import 'package:celest_auth/src/flows/auth_flow.dart'; +import 'package:celest_auth/src/platform/passkeys/passkey_exception_impl.dart'; +import 'package:celest_core/celest_core.dart'; + +base mixin Passkeys on AuthImpl { + @override + void init() { + super.init(); + register(passkeys); + } + + late final PasskeyFlow passkeys = PasskeyFlow( + protocol: protocol, + ); +} + +final class PasskeyFlow implements AuthFlow { + PasskeyFlow({ + required AuthProtocol protocol, + }) : _protocol = protocol.passkeys; + + final PasskeyPlatform _platform = PasskeyPlatform(); + final PasskeyProtocol _protocol; + + @override + void init() {} + + Future signUp({ + required String email, + String? name, + }) async { + if (!await _platform.isSupported) { + throw const PasskeyUnsupportedException(); + } + final options = await _protocol.requestRegistration( + request: PasskeyRegistrationRequest(username: email, displayName: name), + ); + final registration = await _platform.register(options); + await _protocol.verifyRegistration(registration: registration); + return (_protocol as PasskeyClient).token!; + } + + Future signIn({ + required String email, + }) async { + if (!await _platform.isSupported) { + throw const PasskeyUnsupportedException(); + } + final options = await _protocol.requestAuthentication( + request: PasskeyAuthenticationRequest(username: email), + ); + final authentication = await _platform.authenticate(options); + await _protocol.verifyAuthentication(authentication: authentication); + } + + /// Cancels the in-progress passkey operation, if any. + void cancel() => _platform.cancel(); +} diff --git a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.android.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.android.dart index 483803c0..884eab7c 100644 --- a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.android.dart +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.android.dart @@ -4,15 +4,12 @@ import 'dart:convert'; import 'package:celest_auth/src/native/android/jni_bindings.ffi.dart' hide Exception; import 'package:celest_auth/src/native/android/jni_helpers.dart'; -import 'package:celest_auth/src/platform/passkeys/passkey_exception_impl.dart'; import 'package:celest_auth/src/platform/passkeys/passkey_platform_impl.vm.dart'; import 'package:celest_core/celest_core.dart'; import 'package:jni/jni.dart'; final class PasskeyPlatformAndroid extends PasskeyPlatformImpl { - PasskeyPlatformAndroid({ - required super.protocol, - }) : super.base() { + PasskeyPlatformAndroid() : super.base() { Jni.initDLApi(); } @@ -52,23 +49,14 @@ final class PasskeyPlatformAndroid extends PasskeyPlatformImpl { @override void cancel() { - if (_cancellationSignal case final cancellationSignal?) { - cancellationSignal.cancel(); - if (!cancellationSignal.isReleased) { - cancellationSignal.release(); - } - } + _cancellationSignal?.cancel(); _cancellationSignal = null; } @override Future register( - PasskeyRegistrationRequest request, + PasskeyRegistrationOptions options, ) async { - if (!await isSupported) { - throw const PasskeyUnsupportedException(); - } - final options = await protocol.requestRegistration(request: request); final requestJson = jsonEncode(options.toJson()).toJString(); final responseCallback = Completer(); _cancellationSignal = _celestAuth.register( @@ -139,12 +127,8 @@ final class PasskeyPlatformAndroid extends PasskeyPlatformImpl { @override Future authenticate( - PasskeyAuthenticationRequest request, + PasskeyAuthenticationOptions options, ) async { - if (!await isSupported) { - throw const PasskeyUnsupportedException(); - } - final options = await protocol.requestAuthentication(request: request); final requestJson = jsonEncode(options.toJson()).toJString(); // final jRequest = GetCredentialRequest_Builder() // .addCredentialOption( diff --git a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.dart index c50df6dc..abdbfcaf 100644 --- a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.dart +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.dart @@ -4,17 +4,10 @@ import 'package:celest_core/celest_core.dart'; import 'package:meta/meta.dart'; abstract base class PasskeyPlatform { - factory PasskeyPlatform({ - required PasskeyProtocol protocol, - }) = PasskeyPlatformImpl; + factory PasskeyPlatform() = PasskeyPlatformImpl; @protected - PasskeyPlatform.base({ - required this.protocol, - }); - - @protected - final PasskeyProtocol protocol; + PasskeyPlatform.base(); /// Returns `true` if the platform supports passkeys. /// @@ -22,16 +15,16 @@ abstract base class PasskeyPlatform { /// methods will throw a [PasskeyException]. Future get isSupported; - /// Cancels the in-progress operation, if any. + /// Cancels the in-progress passkey operation, if any. void cancel(); /// Registers a new passkey. Future register( - PasskeyRegistrationRequest request, + PasskeyRegistrationOptions options, ); /// Authenticates with an existing passkey. Future authenticate( - PasskeyAuthenticationRequest request, + PasskeyAuthenticationOptions options, ); } diff --git a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.darwin.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.darwin.dart index 340f68f1..030e9a0a 100644 --- a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.darwin.dart +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.darwin.dart @@ -11,9 +11,7 @@ import 'package:celest_core/src/util/globals.dart'; import 'package:ffi/ffi.dart'; final class PasskeyPlatformDarwin extends PasskeyPlatformImpl { - PasskeyPlatformDarwin({ - required super.protocol, - }) : super.base(); + PasskeyPlatformDarwin() : super.base(); late final _platform = CelestAuthDarwin(DynamicLibrary.process()); late final _celestAuth = CelestAuth.new1(_platform); @@ -24,20 +22,12 @@ final class PasskeyPlatformDarwin extends PasskeyPlatformImpl { } @override - void cancel() { - _celestAuth.cancel(); - // TODO(dnys1): Ignore results? - } + void cancel() => _celestAuth.cancel(); @override Future register( - PasskeyRegistrationRequest request, + PasskeyRegistrationOptions options, ) async { - if (!await isSupported) { - throw const PasskeyUnsupportedException(); - } - final options = await protocol.requestRegistration(request: request); - final completer = Completer(); final onSuccess = ObjCBlock_ffiVoid_Uint8.listener(_platform, (json) { if (json == nullptr) { @@ -74,12 +64,8 @@ final class PasskeyPlatformDarwin extends PasskeyPlatformImpl { @override Future authenticate( - PasskeyAuthenticationRequest request, + PasskeyAuthenticationOptions options, ) async { - if (!await isSupported) { - throw const PasskeyUnsupportedException(); - } - final options = await protocol.requestAuthentication(request: request); final completer = Completer(); final onSuccess = ObjCBlock_ffiVoid_Uint8.listener(_platform, (json) { if (json == nullptr) { diff --git a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.web.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.web.dart index a0492b49..f4cbe271 100644 --- a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.web.dart +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.web.dart @@ -16,9 +16,7 @@ import 'package:web/web.dart' ResidentKeyRequirement; final class PasskeyPlatformWeb extends PasskeyPlatformImpl { - PasskeyPlatformWeb({ - required super.protocol, - }) : super.base(); + PasskeyPlatformWeb() : super.base(); AbortController? _abortController; @@ -37,20 +35,14 @@ final class PasskeyPlatformWeb extends PasskeyPlatformImpl { @override void cancel() { - _abortController?.abort(); + _abortController?.abort('User canceled'.toJS); _abortController = null; } @override Future register( - PasskeyRegistrationRequest request, + PasskeyRegistrationOptions options, ) async { - if (!await isSupported) { - throw const PasskeyExceptionImpl( - message: 'Passkeys are not supported in this environment', - ); - } - final options = await protocol.requestRegistration(request: request); _abortController = AbortController(); final credential = await window.navigator.credentials .create( @@ -115,14 +107,8 @@ final class PasskeyPlatformWeb extends PasskeyPlatformImpl { @override Future authenticate( - PasskeyAuthenticationRequest request, + PasskeyAuthenticationOptions options, ) async { - if (!await isSupported) { - throw const PasskeyExceptionImpl( - message: 'Passkeys are not supported in this environment', - ); - } - final options = await protocol.requestAuthentication(request: request); _abortController = AbortController(); final credential = await window.navigator.credentials .get( diff --git a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform_impl.vm.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform_impl.vm.dart index 9a8a5593..de10c065 100644 --- a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform_impl.vm.dart +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform_impl.vm.dart @@ -1,19 +1,16 @@ import 'package:celest_auth/src/platform/passkeys/passkey_platform.android.dart'; import 'package:celest_auth/src/platform/passkeys/passkey_platform.dart'; import 'package:celest_auth/src/platform/passkeys/passkey_platform.darwin.dart'; -import 'package:celest_core/celest_core.dart'; import 'package:meta/meta.dart'; import 'package:os_detect/os_detect.dart' as os; abstract base class PasskeyPlatformImpl extends PasskeyPlatform { - factory PasskeyPlatformImpl({ - required PasskeyProtocol protocol, - }) { + factory PasskeyPlatformImpl() { if (os.isIOS || os.isMacOS) { - return PasskeyPlatformDarwin(protocol: protocol); + return PasskeyPlatformDarwin(); } if (os.isAndroid) { - return PasskeyPlatformAndroid(protocol: protocol); + return PasskeyPlatformAndroid(); } throw UnsupportedError( 'The current platform is not supported: ${os.operatingSystem}', @@ -21,7 +18,5 @@ abstract base class PasskeyPlatformImpl extends PasskeyPlatform { } @protected - PasskeyPlatformImpl.base({ - required super.protocol, - }) : super.base(); + PasskeyPlatformImpl.base() : super.base(); } diff --git a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform_impl.web.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform_impl.web.dart index 7752d29d..9a946fa3 100644 --- a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform_impl.web.dart +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform_impl.web.dart @@ -1,17 +1,14 @@ import 'package:celest_auth/src/platform/passkeys/passkey_platform.dart'; import 'package:celest_auth/src/platform/passkeys/passkey_platform.web.dart'; -import 'package:celest_core/celest_core.dart'; // ignore: implementation_imports import 'package:celest_core/src/util/globals.dart'; import 'package:meta/meta.dart'; import 'package:os_detect/os_detect.dart' as os; abstract base class PasskeyPlatformImpl extends PasskeyPlatform { - factory PasskeyPlatformImpl({ - required PasskeyProtocol protocol, - }) { + factory PasskeyPlatformImpl() { if (kIsWeb) { - return PasskeyPlatformWeb(protocol: protocol); + return PasskeyPlatformWeb(); } throw UnsupportedError( 'The current platform is not supported: ${os.operatingSystem}', @@ -19,7 +16,5 @@ abstract base class PasskeyPlatformImpl extends PasskeyPlatform { } @protected - PasskeyPlatformImpl.base({ - required super.protocol, - }) : super.base(); + PasskeyPlatformImpl.base() : super.base(); } From afbcaffa122662328357bf99b5d764664d285053 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Mon, 4 Mar 2024 19:34:55 -0800 Subject: [PATCH 10/33] Add email OTP --- packages/celest_auth/example/lib/main.dart | 147 ++++++++++-------- packages/celest_auth/lib/src/auth.dart | 5 - .../celest_auth/lib/src/flows/auth_flow.dart | 4 +- .../celest_auth/lib/src/flows/email_flow.dart | 65 ++++++++ .../lib/src/flows/passkey_flow.dart | 35 ++--- .../src/native/darwin/darwin_ffi_helpers.dart | 4 - packages/celest_core/lib/celest_core.dart | 2 + .../celest_core/lib/src/auth/auth_client.dart | 100 +++++++----- .../lib/src/auth/auth_protocol.dart | 15 +- .../lib/src/auth/otp/otp_types.dart | 74 +++++++++ packages/celest_core/lib/src/auth/user.dart | 58 ++++++- .../lib/src/base/base_protocol.dart | 30 ++++ 12 files changed, 401 insertions(+), 138 deletions(-) create mode 100644 packages/celest_auth/lib/src/flows/email_flow.dart create mode 100644 packages/celest_core/lib/src/auth/otp/otp_types.dart create mode 100644 packages/celest_core/lib/src/base/base_protocol.dart diff --git a/packages/celest_auth/example/lib/main.dart b/packages/celest_auth/example/lib/main.dart index f362c99d..8054d4e2 100644 --- a/packages/celest_auth/example/lib/main.dart +++ b/packages/celest_auth/example/lib/main.dart @@ -1,16 +1,18 @@ import 'package:celest_auth/src/auth.dart'; +import 'package:celest_auth/src/flows/email_flow.dart'; import 'package:celest_auth/src/flows/passkey_flow.dart'; -import 'package:corks/corks.dart'; +import 'package:celest_core/celest_core.dart'; import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; -final baseUri = Uri.https('0a3b-136-24-157-119.ngrok-free.app'); +final baseUri = Uri.https('64a2-136-24-157-119.ngrok-free.app'); +// final baseUri = Uri.http('localhost:8080'); final auth = CelestAuth( baseUri: baseUri, httpClient: http.Client(), ); -final class CelestAuth extends AuthImpl with Passkeys { +final class CelestAuth extends AuthImpl with Passkeys, Email { CelestAuth({required super.baseUri, required super.httpClient}); } @@ -25,45 +27,37 @@ class MainApp extends StatefulWidget { State createState() => _MainAppState(); } -typedef User = ({ - String userId, - String email, -}); +enum _Step { idle, signingIn, needsVerification, signedIn } final class _State { _State( - this.signingIn, { + this.step, { + this.verification, this.user, }); - final bool signingIn; + final _Step step; + final EmailSignUpNeedsVerification? verification; final User? user; } class _MainAppState extends State { - final _state = ValueNotifier(_State(false)); - final _controller = TextEditingController(); + final _state = ValueNotifier(_State(_Step.idle)); + final _emailController = TextEditingController(); + final _otpController = TextEditingController(); Future? _request; - Future signInWithPasskey() async { + Future signUp() async { try { - _state.value = _State(true); - final token = await auth.passkeys.signUp(email: _controller.text); - print('Got token: $token'); - final cork = Cork.parse(token); - final bearer = (cork.bearer!.block as EntityBearer).entity; - final userId = bearer.uid.id; - final email = bearer.attributes['email']!.string; - print('User ID: $userId'); - print('Email: $email'); - _state.value = _State(false, user: ( - userId: userId, - email: email, - )); + _state.value = _State(_Step.signingIn); + final verify = await auth.email.signUp(email: _emailController.text); + print('Needs verification'); + _emailController.clear(); + _state.value = _State(_Step.needsVerification, verification: verify); } on Exception catch (e, st) { print('Error: $e'); print('Stacktrace: $st'); - _state.value = _State(false); + _state.value = _State(_Step.idle); } } @@ -77,7 +71,6 @@ class _MainAppState extends State { child: ValueListenableBuilder( valueListenable: _state, builder: (context, state, child) { - final isSignedIn = state.user != null; return Column( mainAxisAlignment: MainAxisAlignment.center, children: [ @@ -110,42 +103,72 @@ class _MainAppState extends State { ), ], const SizedBox(height: 16), - if (!isSignedIn) ...[ - TextField( - controller: _controller, - decoration: const InputDecoration( - labelText: 'Email', - ), - autofillHints: const [ - AutofillHints.username, - AutofillHints.email, + ...switch (state.step) { + _Step.needsVerification => [ + TextField( + key: const ValueKey('otp'), + controller: _otpController, + decoration: const InputDecoration( + labelText: 'OTP', + ), + autofillHints: const [ + AutofillHints.oneTimeCode, + ], + keyboardType: TextInputType.number, + ), + const SizedBox(height: 16), + TextButton( + onPressed: () async { + final user = await state.verification!.verifyOtp( + _otpController.text, + ); + _state.value = _State(_Step.signedIn, user: user); + }, + child: const Text('Verify OTP'), + ), + const SizedBox(height: 16), + TextButton( + onPressed: state.verification!.canResend + ? () async { + final verify = + await state.verification!.resend(); + _state.value = _State( + _Step.needsVerification, + verification: verify, + ); + } + : null, + child: const Text('Resend OTP'), + ), ], - keyboardType: TextInputType.emailAddress, - ), - const SizedBox(height: 16), - TextButton( - onPressed: !state.signingIn ? signInWithPasskey : null, - child: const Text('Sign in with Passkey'), - ), - ] else ...[ - TextButton( - onPressed: () { - _state.value = _State(false); - }, - child: const Text('Sign out'), - ), - ], - const SizedBox(height: 16), - TextButton( - onPressed: () { - setState(() { - _request = http.get( - baseUri.resolve('/authenticated'), - ); - }); - }, - child: const Text('Make HTTP request'), - ), + _Step.idle || _Step.signingIn => [ + TextField( + key: const ValueKey('email'), + controller: _emailController, + decoration: const InputDecoration( + labelText: 'Email', + ), + autofillHints: const [ + AutofillHints.email, + ], + keyboardType: TextInputType.emailAddress, + ), + const SizedBox(height: 16), + TextButton( + onPressed: + state.step != _Step.signingIn ? signUp : null, + child: const Text('Sign Up'), + ), + ], + _Step.signedIn => [ + TextButton( + onPressed: () { + _state.value = _State(_Step.idle); + }, + child: const Text('Sign out'), + ), + ], + } ], ); }, diff --git a/packages/celest_auth/lib/src/auth.dart b/packages/celest_auth/lib/src/auth.dart index 118bf033..40a8fde6 100644 --- a/packages/celest_auth/lib/src/auth.dart +++ b/packages/celest_auth/lib/src/auth.dart @@ -32,11 +32,6 @@ abstract base class AuthImpl implements Auth { _isAuthenticated = cork != null; } - void register(AuthFlow flow) { - flow.init(); - throw UnimplementedError(); - } - @override bool get isAuthenticated => _isAuthenticated; late bool _isAuthenticated; diff --git a/packages/celest_auth/lib/src/flows/auth_flow.dart b/packages/celest_auth/lib/src/flows/auth_flow.dart index a20425df..b09ed371 100644 --- a/packages/celest_auth/lib/src/flows/auth_flow.dart +++ b/packages/celest_auth/lib/src/flows/auth_flow.dart @@ -4,6 +4,4 @@ library; import 'package:meta/meta.dart'; /// Base type for all authentication flows. -abstract interface class AuthFlow { - void init(); -} +abstract interface class AuthFlow {} diff --git a/packages/celest_auth/lib/src/flows/email_flow.dart b/packages/celest_auth/lib/src/flows/email_flow.dart new file mode 100644 index 00000000..fd8434ec --- /dev/null +++ b/packages/celest_auth/lib/src/flows/email_flow.dart @@ -0,0 +1,65 @@ +import 'package:celest_auth/src/auth.dart'; +import 'package:celest_auth/src/flows/auth_flow.dart'; +import 'package:celest_core/celest_core.dart'; + +base mixin Email on AuthImpl { + late final EmailFlow email = EmailFlow(this); +} + +final class EmailFlow implements AuthFlow { + EmailFlow(this._hub); + + final AuthImpl _hub; + EmailProtocol get _protocol => _hub.protocol.email; + + Future signUp({ + required String email, + }) async { + final parameters = await _protocol.sendOtp( + request: OtpSendRequest(email: email), + ); + return EmailSignUpNeedsVerification( + flow: this, + email: email, + parameters: parameters, + ); + } + + Future _verifyOtp({ + required String email, + required String otp, + }) async { + final user = await _protocol.verifyOtp( + verification: OtpVerifyRequest(email: email, otp: otp), + ); + _hub.secureStorage.write('cork', user.cork); + return user.user; + } +} + +final class EmailSignUpNeedsVerification { + EmailSignUpNeedsVerification({ + required EmailFlow flow, + required String email, + required OtpParameters parameters, + }) : _flow = flow, + _email = email, + _parameters = parameters; + + final EmailFlow _flow; + final String _email; + final OtpParameters _parameters; + + bool get canResend => _parameters.nextRetry.isBefore(DateTime.now()); + Duration get resendAfter => canResend + ? Duration.zero + : _parameters.nextRetry.difference(DateTime.now()); + + Future resend() async { + return _flow.signUp(email: _email); + } + + Future verifyOtp(String otp) async { + return _flow._verifyOtp(email: _email, otp: otp); + } +} diff --git a/packages/celest_auth/lib/src/flows/passkey_flow.dart b/packages/celest_auth/lib/src/flows/passkey_flow.dart index ff1a4587..905af6bc 100644 --- a/packages/celest_auth/lib/src/flows/passkey_flow.dart +++ b/packages/celest_auth/lib/src/flows/passkey_flow.dart @@ -5,29 +5,17 @@ import 'package:celest_auth/src/platform/passkeys/passkey_exception_impl.dart'; import 'package:celest_core/celest_core.dart'; base mixin Passkeys on AuthImpl { - @override - void init() { - super.init(); - register(passkeys); - } - - late final PasskeyFlow passkeys = PasskeyFlow( - protocol: protocol, - ); + late final PasskeyFlow passkeys = PasskeyFlow(this); } final class PasskeyFlow implements AuthFlow { - PasskeyFlow({ - required AuthProtocol protocol, - }) : _protocol = protocol.passkeys; + PasskeyFlow(this._hub); + final AuthImpl _hub; final PasskeyPlatform _platform = PasskeyPlatform(); - final PasskeyProtocol _protocol; + late final PasskeyProtocol _protocol = _hub.protocol.passkeys; - @override - void init() {} - - Future signUp({ + Future signUp({ required String email, String? name, }) async { @@ -38,11 +26,12 @@ final class PasskeyFlow implements AuthFlow { request: PasskeyRegistrationRequest(username: email, displayName: name), ); final registration = await _platform.register(options); - await _protocol.verifyRegistration(registration: registration); - return (_protocol as PasskeyClient).token!; + final user = await _protocol.verifyRegistration(registration: registration); + _hub.secureStorage.write('cork', user.cork); + return user.user; } - Future signIn({ + Future signIn({ required String email, }) async { if (!await _platform.isSupported) { @@ -52,7 +41,11 @@ final class PasskeyFlow implements AuthFlow { request: PasskeyAuthenticationRequest(username: email), ); final authentication = await _platform.authenticate(options); - await _protocol.verifyAuthentication(authentication: authentication); + final user = await _protocol.verifyAuthentication( + authentication: authentication, + ); + _hub.secureStorage.write('cork', user.cork); + return user.user; } /// Cancels the in-progress passkey operation, if any. diff --git a/packages/celest_auth/lib/src/native/darwin/darwin_ffi_helpers.dart b/packages/celest_auth/lib/src/native/darwin/darwin_ffi_helpers.dart index 3c35f353..d975f8fc 100644 --- a/packages/celest_auth/lib/src/native/darwin/darwin_ffi_helpers.dart +++ b/packages/celest_auth/lib/src/native/darwin/darwin_ffi_helpers.dart @@ -54,10 +54,6 @@ extension MapToCFDictionary on Map { nullptr, // kCFTypeDictionaryValueCallBacks ); arena.onReleaseAll(() { - for (var i = 0; i < length; i++) { - CFRelease(cfKeys[i]); - CFRelease(cfValues[i]); - } CFRelease(cfDict.cast()); }); return cfDict; diff --git a/packages/celest_core/lib/celest_core.dart b/packages/celest_core/lib/celest_core.dart index 70b4d574..bb49a901 100644 --- a/packages/celest_core/lib/celest_core.dart +++ b/packages/celest_core/lib/celest_core.dart @@ -5,8 +5,10 @@ library; export 'src/auth/auth_client.dart'; export 'src/auth/auth_exception.dart'; export 'src/auth/auth_protocol.dart'; +export 'src/auth/otp/otp_types.dart'; export 'src/auth/passkeys/passkey_exception.dart'; export 'src/auth/passkeys/passkey_types.dart'; +export 'src/auth/user.dart'; /// Exceptions export 'src/exception/celest_exception.dart'; diff --git a/packages/celest_core/lib/src/auth/auth_client.dart b/packages/celest_core/lib/src/auth/auth_client.dart index 9e0e3828..9e3c47ed 100644 --- a/packages/celest_core/lib/src/auth/auth_client.dart +++ b/packages/celest_core/lib/src/auth/auth_client.dart @@ -1,6 +1,5 @@ -import 'dart:convert'; - import 'package:celest_core/celest_core.dart'; +import 'package:celest_core/src/base/base_protocol.dart'; import 'package:http/http.dart' as http; final class AuthClient implements AuthProtocol { @@ -17,68 +16,53 @@ final class AuthClient implements AuthProtocol { baseUri: baseUri, httpClient: _client, ); + + @override + late final EmailClient email = EmailClient( + baseUri: baseUri, + httpClient: _client, + ); } -final class PasskeyClient implements PasskeyProtocol { +final class PasskeyClient with BaseProtocol implements PasskeyProtocol { PasskeyClient({ required this.baseUri, - http.Client? httpClient, - }) : _client = httpClient ?? http.Client(); + required this.httpClient, + }); - final http.Client _client; - final Uri baseUri; + @override + final http.Client httpClient; - String? token; - - Future> _send( - String path, - Map json, - ) async { - final uri = baseUri.resolve(path); - final resp = await _client.post( - uri, - body: jsonEncode(json), - headers: { - 'content-type': 'application/json', - if (token case final token?) 'authorization': 'Bearer $token', - }, - ); - if (resp.statusCode != 200) { - throw http.ClientException( - '${resp.statusCode}: ${resp.body}', - uri, - ); - } - final body = jsonDecode(resp.body) as Map; - if (body['cork'] case final String cork) { - token = cork; - } - return body; - } + @override + final Uri baseUri; @override Future requestRegistration({ required PasskeyRegistrationRequest request, }) async { - final response = await _send('/_auth/passkeys/register', request.toJson()); + final response = await postJson( + '/_auth/passkeys/register', + request.toJson(), + ); return PasskeyRegistrationOptions.fromJson(response); } @override - Future verifyRegistration({ + Future verifyRegistration({ required PasskeyRegistrationResponse registration, }) async { - await _send( + final response = await postJson( '/_auth/passkeys/register/verify', registration.toJson(), ); + return AuthenticatedUser.fromJson(response); } @override Future requestAuthentication({ required PasskeyAuthenticationRequest request, }) async { - final response = await _send( + final response = await postJson( '/_auth/passkeys/authenticate', request.toJson(), ); @@ -86,12 +70,48 @@ final class PasskeyClient implements PasskeyProtocol { } @override - Future verifyAuthentication({ + Future verifyAuthentication({ required PasskeyAuthenticationResponse authentication, }) async { - await _send( + final response = await postJson( '/_auth/passkeys/authenticate/verify', authentication.toJson(), ); + return AuthenticatedUser.fromJson(response); + } +} + +final class EmailClient with BaseProtocol implements EmailProtocol { + EmailClient({ + required this.baseUri, + required this.httpClient, + }); + + @override + final http.Client httpClient; + + @override + final Uri baseUri; + + @override + Future sendOtp({ + required OtpSendRequest request, + }) async { + final response = await postJson( + '/_auth/email/otp/send', + request.toJson(), + ); + return OtpParameters.fromJson(response); + } + + @override + Future verifyOtp({ + required OtpVerifyRequest verification, + }) async { + final resp = await postJson( + '/_auth/email/otp/verify', + verification.toJson(), + ); + return AuthenticatedUser.fromJson(resp); } } diff --git a/packages/celest_core/lib/src/auth/auth_protocol.dart b/packages/celest_core/lib/src/auth/auth_protocol.dart index 1a771c2b..08fa3dd6 100644 --- a/packages/celest_core/lib/src/auth/auth_protocol.dart +++ b/packages/celest_core/lib/src/auth/auth_protocol.dart @@ -2,6 +2,7 @@ import 'package:celest_core/celest_core.dart'; abstract interface class AuthProtocol { PasskeyProtocol get passkeys; + EmailProtocol get email; } abstract interface class PasskeyProtocol { @@ -10,7 +11,7 @@ abstract interface class PasskeyProtocol { }); /// Verifies the registration response and returns the user auth token. - Future verifyRegistration({ + Future verifyRegistration({ required PasskeyRegistrationResponse registration, }); @@ -19,7 +20,17 @@ abstract interface class PasskeyProtocol { }); /// Verifies the authentication response and returns the user auth token. - Future verifyAuthentication({ + Future verifyAuthentication({ required PasskeyAuthenticationResponse authentication, }); } + +abstract interface class EmailProtocol { + Future sendOtp({ + required OtpSendRequest request, + }); + + Future verifyOtp({ + required OtpVerifyRequest verification, + }); +} diff --git a/packages/celest_core/lib/src/auth/otp/otp_types.dart b/packages/celest_core/lib/src/auth/otp/otp_types.dart new file mode 100644 index 00000000..c6bfcdcc --- /dev/null +++ b/packages/celest_core/lib/src/auth/otp/otp_types.dart @@ -0,0 +1,74 @@ +final class OtpSendRequest { + const OtpSendRequest({ + required this.email, + }); + + factory OtpSendRequest.fromJson(Map json) { + return OtpSendRequest( + email: json['email'] as String, + ); + } + + final String email; + + Map toJson() => { + 'email': email, + }; + + @override + String toString() { + return 'OtpSendRequest(email: $email)'; + } +} + +final class OtpVerifyRequest { + const OtpVerifyRequest({ + required this.email, + required this.otp, + }); + + factory OtpVerifyRequest.fromJson(Map json) { + return OtpVerifyRequest( + email: json['email'] as String, + otp: json['otp'] as String, + ); + } + + final String email; + final String otp; + + Map toJson() => { + 'email': email, + 'otp': otp, + }; + + @override + String toString() { + return 'OtpVerifyRequest(email: $email, otp: $otp)'; + } +} + +final class OtpParameters { + const OtpParameters({ + required this.nextRetry, + }); + + factory OtpParameters.fromJson(Map json) { + return OtpParameters( + nextRetry: DateTime.fromMillisecondsSinceEpoch( + json['nextRetry'] as int, + ), + ); + } + + final DateTime nextRetry; + + Map toJson() => { + 'nextRetry': nextRetry.millisecondsSinceEpoch, + }; + + @override + String toString() { + return 'OtpParameters(nextRetry: $nextRetry)'; + } +} diff --git a/packages/celest_core/lib/src/auth/user.dart b/packages/celest_core/lib/src/auth/user.dart index 1e8fb1d4..5f456fdf 100644 --- a/packages/celest_core/lib/src/auth/user.dart +++ b/packages/celest_core/lib/src/auth/user.dart @@ -1 +1,57 @@ -final class User {} +final class AuthenticatedUser { + const AuthenticatedUser({ + required this.cork, + required this.user, + }); + + factory AuthenticatedUser.fromJson(Map json) { + return AuthenticatedUser( + cork: json['cork'] as String, + user: User.fromJson(json['user'] as Map), + ); + } + + final String cork; + final User user; + + Map toJson() { + return { + 'cork': cork, + 'user': user.toJson(), + }; + } + + @override + String toString() { + return 'Authenticated$user'; + } +} + +final class User { + const User({ + required this.id, + required this.email, + }); + + factory User.fromJson(Map json) { + return User( + id: json['id'] as String, + email: json['email'] as String, + ); + } + + final String id; + final String email; + + Map toJson() { + return { + 'id': id, + 'email': email, + }; + } + + @override + String toString() { + return 'User(id: $id, email: $email)'; + } +} diff --git a/packages/celest_core/lib/src/base/base_protocol.dart b/packages/celest_core/lib/src/base/base_protocol.dart new file mode 100644 index 00000000..647c5dff --- /dev/null +++ b/packages/celest_core/lib/src/base/base_protocol.dart @@ -0,0 +1,30 @@ +import 'dart:convert'; + +import 'package:http/http.dart' as http; + +mixin BaseProtocol { + http.Client get httpClient; + Uri get baseUri; + + Future> postJson( + String path, + Map json, + ) async { + final uri = baseUri.resolve(path); + final resp = await httpClient.post( + uri, + body: jsonEncode(json), + headers: { + 'accept': 'application/json', + 'content-type': 'application/json', + }, + ); + if (resp.statusCode != 200) { + throw http.ClientException( + '${resp.statusCode}: ${resp.body}', + uri, + ); + } + return jsonDecode(resp.body) as Map; + } +} From 4bfa8cf807678aff7052aa754446b48048c4a503 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Wed, 6 Mar 2024 14:51:36 -0800 Subject: [PATCH 11/33] clean up --- .../example/ios/Runner/Runner.entitlements | 2 +- packages/celest_auth/example/lib/main.dart | 60 +++- .../macos/Runner/DebugProfile.entitlements | 2 +- .../example/macos/Runner/Release.entitlements | 2 +- packages/celest_auth/example/pubspec.yaml | 1 + packages/celest_auth/generate.sh | 12 +- .../celest_auth/lib/src/flows/email_flow.dart | 62 +++- .../lib/src/flows/passkey_flow.dart | 34 +- .../passkeys/passkey_platform.android.dart | 8 +- .../platform/passkeys/passkey_platform.dart | 4 +- .../passkeys/passkey_platform.darwin.dart | 12 +- .../passkeys/passkey_platform.web.dart | 34 +- packages/celest_auth/pubspec.yaml | 1 + .../celest_core/lib/src/auth/auth_client.dart | 47 +-- .../lib/src/auth/auth_protocol.dart | 24 +- .../lib/src/auth/otp/otp_types.dart | 16 +- .../lib/src/auth/passkeys/passkey_types.dart | 317 +++++++++--------- packages/celest_core/lib/src/auth/user.dart | 35 +- 18 files changed, 368 insertions(+), 305 deletions(-) diff --git a/packages/celest_auth/example/ios/Runner/Runner.entitlements b/packages/celest_auth/example/ios/Runner/Runner.entitlements index bc664a94..26ac1546 100644 --- a/packages/celest_auth/example/ios/Runner/Runner.entitlements +++ b/packages/celest_auth/example/ios/Runner/Runner.entitlements @@ -4,7 +4,7 @@ com.apple.developer.associated-domains - webcredentials:0a3b-136-24-157-119.ngrok-free.app?developer=true + webcredentials:user-hub.celest.dev diff --git a/packages/celest_auth/example/lib/main.dart b/packages/celest_auth/example/lib/main.dart index 8054d4e2..8bb4f52d 100644 --- a/packages/celest_auth/example/lib/main.dart +++ b/packages/celest_auth/example/lib/main.dart @@ -3,9 +3,10 @@ import 'package:celest_auth/src/flows/email_flow.dart'; import 'package:celest_auth/src/flows/passkey_flow.dart'; import 'package:celest_core/celest_core.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_state_notifier/flutter_state_notifier.dart'; import 'package:http/http.dart' as http; -final baseUri = Uri.https('64a2-136-24-157-119.ngrok-free.app'); +final baseUri = Uri.https('user-hub.celest.dev'); // final baseUri = Uri.http('localhost:8080'); final auth = CelestAuth( baseUri: baseUri, @@ -47,6 +48,21 @@ class _MainAppState extends State { final _otpController = TextEditingController(); Future? _request; + Future signUpPasskeys() async { + try { + _state.value = _State(_Step.signingIn); + final user = await auth.passkeys.authenticate( + email: _emailController.text, + ); + _emailController.clear(); + _state.value = _State(_Step.signedIn, user: user); + } on Exception catch (e, st) { + print('Error: $e'); + print('Stacktrace: $st'); + _state.value = _State(_Step.idle); + } + } + Future signUp() async { try { _state.value = _State(_Step.signingIn); @@ -127,18 +143,33 @@ class _MainAppState extends State { child: const Text('Verify OTP'), ), const SizedBox(height: 16), - TextButton( - onPressed: state.verification!.canResend - ? () async { - final verify = + StateNotifierBuilder( + stateNotifier: state.verification!.canResend, + builder: (context, canResend, child) { + final (resend, resendIn) = canResend; + return TextButton( + onPressed: resend + ? () async { await state.verification!.resend(); - _state.value = _State( - _Step.needsVerification, - verification: verify, - ); - } - : null, - child: const Text('Resend OTP'), + if (context.mounted) { + ScaffoldMessenger.of(context) + .showSnackBar( + SnackBar( + content: Text( + 'Resent OTP to ${state.verification!.email}', + ), + ), + ); + } + } + : null, + child: resend || resendIn == Duration.zero + ? const Text('Resend OTP') + : Text( + 'Resend OTP (${resendIn.inSeconds})', + ), + ); + }, ), ], _Step.idle || _Step.signingIn => [ @@ -155,8 +186,9 @@ class _MainAppState extends State { ), const SizedBox(height: 16), TextButton( - onPressed: - state.step != _Step.signingIn ? signUp : null, + onPressed: state.step != _Step.signingIn + ? signUpPasskeys + : null, child: const Text('Sign Up'), ), ], diff --git a/packages/celest_auth/example/macos/Runner/DebugProfile.entitlements b/packages/celest_auth/example/macos/Runner/DebugProfile.entitlements index 8682becb..210ee666 100644 --- a/packages/celest_auth/example/macos/Runner/DebugProfile.entitlements +++ b/packages/celest_auth/example/macos/Runner/DebugProfile.entitlements @@ -4,7 +4,7 @@ com.apple.developer.associated-domains - webcredentials:a102-136-24-157-119.ngrok-free.app?mode=developer + webcredentials:user-hub.celest.dev com.apple.security.app-sandbox diff --git a/packages/celest_auth/example/macos/Runner/Release.entitlements b/packages/celest_auth/example/macos/Runner/Release.entitlements index 188738b3..22e4e4f8 100644 --- a/packages/celest_auth/example/macos/Runner/Release.entitlements +++ b/packages/celest_auth/example/macos/Runner/Release.entitlements @@ -4,7 +4,7 @@ com.apple.developer.associated-domains - webcredentials:a102-136-24-157-119.ngrok-free.app?mode=developer + webcredentials:user-hub.celest.dev com.apple.security.app-sandbox diff --git a/packages/celest_auth/example/pubspec.yaml b/packages/celest_auth/example/pubspec.yaml index 2befa7ac..8980a530 100644 --- a/packages/celest_auth/example/pubspec.yaml +++ b/packages/celest_auth/example/pubspec.yaml @@ -12,6 +12,7 @@ dependencies: celest_core: ^0.2.0 flutter: sdk: flutter + flutter_state_notifier: ^1.0.0 dependency_overrides: cedar_common: diff --git a/packages/celest_auth/generate.sh b/packages/celest_auth/generate.sh index 7da44ca9..a9b36ba1 100755 --- a/packages/celest_auth/generate.sh +++ b/packages/celest_auth/generate.sh @@ -6,11 +6,11 @@ FOUNDATION_SYMBOLS=lib/src/native/darwin/foundation.yaml FOUNDATION_URI=package:celest_auth/src/native/darwin/foundation.ffi.dart echo "Building example app..." -# pushd example -# flutter pub get -# flutter build apk -# flutter build macos -# popd +pushd example +flutter pub get +flutter build apk +flutter build macos +popd echo "Generating FFI bindings..." dart run ffigen --config=ffigen.core_foundation.yaml @@ -21,4 +21,4 @@ dart run ffigen --config=ffigen.security.yaml dart run ffigen --config=ffigen.darwin.yaml echo "Generating JNI bindings..." -# dart run jnigen --config=jnigen.yaml +dart run jnigen --config=jnigen.yaml diff --git a/packages/celest_auth/lib/src/flows/email_flow.dart b/packages/celest_auth/lib/src/flows/email_flow.dart index fd8434ec..f7d00fe1 100644 --- a/packages/celest_auth/lib/src/flows/email_flow.dart +++ b/packages/celest_auth/lib/src/flows/email_flow.dart @@ -1,6 +1,9 @@ +import 'dart:async'; + import 'package:celest_auth/src/auth.dart'; import 'package:celest_auth/src/flows/auth_flow.dart'; import 'package:celest_core/celest_core.dart'; +import 'package:state_notifier/state_notifier.dart'; base mixin Email on AuthImpl { late final EmailFlow email = EmailFlow(this); @@ -40,26 +43,61 @@ final class EmailFlow implements AuthFlow { final class EmailSignUpNeedsVerification { EmailSignUpNeedsVerification({ required EmailFlow flow, - required String email, + required this.email, required OtpParameters parameters, }) : _flow = flow, - _email = email, - _parameters = parameters; + _parameters = parameters { + _resendCountdown = + Stream.periodic(const Duration(seconds: 1)).listen((_) { + final resendIn = canResendIn; + _resendEligible.setState(resendIn == Duration.zero, resendIn); + }); + } final EmailFlow _flow; - final String _email; - final OtpParameters _parameters; + final String email; + OtpParameters _parameters; - bool get canResend => _parameters.nextRetry.isBefore(DateTime.now()); - Duration get resendAfter => canResend - ? Duration.zero - : _parameters.nextRetry.difference(DateTime.now()); + late final _ResendEligibleNotifier _resendEligible = + _ResendEligibleNotifier(canResendIn); + StreamSubscription? _resendCountdown; - Future resend() async { - return _flow.signUp(email: _email); + StateNotifier<(bool, Duration)> get canResend => _resendEligible; + Duration get canResendIn { + final resendIn = _parameters.nextResend.difference(DateTime.now()); + return resendIn.isNegative ? Duration.zero : resendIn; + } + + Future resend() async { + _resendCountdown?.pause(); + _resendEligible.setState(false); + try { + _parameters = await _flow._protocol.resendOtp( + request: OtpSendRequest(email: email), + ); + } finally { + _resendCountdown?.resume(); + _resendEligible.setState(canResendIn == Duration.zero, canResendIn); + } } Future verifyOtp(String otp) async { - return _flow._verifyOtp(email: _email, otp: otp); + final user = await _flow._verifyOtp(email: email, otp: otp); + _close(); + return user; + } + + void _close() { + _resendEligible.dispose(); + _resendCountdown?.cancel(); + _resendCountdown = null; + } +} + +final class _ResendEligibleNotifier extends StateNotifier<(bool, Duration)> { + _ResendEligibleNotifier(Duration canResendIn) : super((false, canResendIn)); + + void setState(bool state, [Duration? canResendIn]) { + this.state = (state, canResendIn ?? this.state.$2); } } diff --git a/packages/celest_auth/lib/src/flows/passkey_flow.dart b/packages/celest_auth/lib/src/flows/passkey_flow.dart index 905af6bc..054d3d4f 100644 --- a/packages/celest_auth/lib/src/flows/passkey_flow.dart +++ b/packages/celest_auth/lib/src/flows/passkey_flow.dart @@ -15,35 +15,25 @@ final class PasskeyFlow implements AuthFlow { final PasskeyPlatform _platform = PasskeyPlatform(); late final PasskeyProtocol _protocol = _hub.protocol.passkeys; - Future signUp({ + Future authenticate({ required String email, String? name, }) async { if (!await _platform.isSupported) { throw const PasskeyUnsupportedException(); } - final options = await _protocol.requestRegistration( - request: PasskeyRegistrationRequest(username: email, displayName: name), - ); - final registration = await _platform.register(options); - final user = await _protocol.verifyRegistration(registration: registration); - _hub.secureStorage.write('cork', user.cork); - return user.user; - } - - Future signIn({ - required String email, - }) async { - if (!await _platform.isSupported) { - throw const PasskeyUnsupportedException(); - } - final options = await _protocol.requestAuthentication( - request: PasskeyAuthenticationRequest(username: email), - ); - final authentication = await _platform.authenticate(options); - final user = await _protocol.verifyAuthentication( - authentication: authentication, + final options = await _protocol.authenticate( + request: PasskeyRequest( + username: email, + displayName: name, + ), ); + final credential = await switch (options) { + final PasskeyRegistrationOptions options => _platform.register(options), + final PasskeyAuthenticationOptions options => + _platform.authenticate(options), + }; + final user = await _protocol.verify(credential: credential); _hub.secureStorage.write('cork', user.cork); return user.user; } diff --git a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.android.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.android.dart index 884eab7c..2da871f4 100644 --- a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.android.dart +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.android.dart @@ -54,7 +54,7 @@ final class PasskeyPlatformAndroid extends PasskeyPlatformImpl { } @override - Future register( + Future register( PasskeyRegistrationOptions options, ) async { final requestJson = jsonEncode(options.toJson()).toJString(); @@ -77,7 +77,7 @@ final class PasskeyPlatformAndroid extends PasskeyPlatformImpl { .as(CreatePublicKeyCredentialResponse.type) .getRegistrationResponseJson() .toDartString(); - return PasskeyRegistrationResponse.fromJson( + return PasskeyCredential.fromJson( jsonDecode(passkeyJson) as Map, ); } on CreateCredentialException catch (e) { @@ -126,7 +126,7 @@ final class PasskeyPlatformAndroid extends PasskeyPlatformImpl { } @override - Future authenticate( + Future authenticate( PasskeyAuthenticationOptions options, ) async { final requestJson = jsonEncode(options.toJson()).toJString(); @@ -155,7 +155,7 @@ final class PasskeyPlatformAndroid extends PasskeyPlatformImpl { .as(PublicKeyCredential.type) .getAuthenticationResponseJson() .toDartString(); - return PasskeyAuthenticationResponse.fromJson( + return PasskeyCredential.fromJson( jsonDecode(passkeyJson) as Map, ); } on GetCredentialException catch (e) { diff --git a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.dart index abdbfcaf..cd67b634 100644 --- a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.dart +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.dart @@ -19,12 +19,12 @@ abstract base class PasskeyPlatform { void cancel(); /// Registers a new passkey. - Future register( + Future register( PasskeyRegistrationOptions options, ); /// Authenticates with an existing passkey. - Future authenticate( + Future authenticate( PasskeyAuthenticationOptions options, ); } diff --git a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.darwin.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.darwin.dart index 030e9a0a..0aeb2ad9 100644 --- a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.darwin.dart +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.darwin.dart @@ -25,15 +25,15 @@ final class PasskeyPlatformDarwin extends PasskeyPlatformImpl { void cancel() => _celestAuth.cancel(); @override - Future register( + Future register( PasskeyRegistrationOptions options, ) async { - final completer = Completer(); + final completer = Completer(); final onSuccess = ObjCBlock_ffiVoid_Uint8.listener(_platform, (json) { if (json == nullptr) { return completer.completeError(StateError('Bad ptr')); } - final response = PasskeyRegistrationResponse.fromJson( + final response = PasskeyCredential.fromJson( jsonDecode(json.cast().toDartString()) as Map, ); completer.complete(response); @@ -63,15 +63,15 @@ final class PasskeyPlatformDarwin extends PasskeyPlatformImpl { } @override - Future authenticate( + Future authenticate( PasskeyAuthenticationOptions options, ) async { - final completer = Completer(); + final completer = Completer(); final onSuccess = ObjCBlock_ffiVoid_Uint8.listener(_platform, (json) { if (json == nullptr) { return completer.completeError(StateError('Bad ptr')); } - final response = PasskeyAuthenticationResponse.fromJson( + final response = PasskeyCredential.fromJson( jsonDecode(json.cast().toDartString()) as Map, ); completer.complete(response); diff --git a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.web.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.web.dart index f4cbe271..ef5d856f 100644 --- a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.web.dart +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.web.dart @@ -40,7 +40,7 @@ final class PasskeyPlatformWeb extends PasskeyPlatformImpl { } @override - Future register( + Future register( PasskeyRegistrationOptions options, ) async { _abortController = AbortController(); @@ -91,22 +91,24 @@ final class PasskeyPlatformWeb extends PasskeyPlatformImpl { } assert(credential.type == 'public-key'); final response = credential.response as AuthenticatorAttestationResponse; - return PasskeyRegistrationResponse( + return PasskeyCredential( id: credential.id, rawId: credential.rawId.toDart.asUint8List(), - clientDataJson: response.clientDataJSON.toDart.asUint8List(), - attestationObject: response.attestationObject.toDart.asUint8List(), - transports: response.transports, - publicKeyAlgorithm: response.publicKeyAlgorithm, - publicKey: response.publicKey, - authenticatorData: response.authenticatorData, + response: PasskeyRegistrationResponse( + clientDataJson: response.clientDataJSON.toDart.asUint8List(), + attestationObject: response.attestationObject.toDart.asUint8List(), + transports: response.transports, + publicKeyAlgorithm: response.publicKeyAlgorithm, + publicKey: response.publicKey, + authenticatorData: response.authenticatorData, + ), authenticatorAttachment: credential.authenticatorAttachment as AuthenticatorAttachment?, ); } @override - Future authenticate( + Future authenticate( PasskeyAuthenticationOptions options, ) async { _abortController = AbortController(); @@ -133,17 +135,15 @@ final class PasskeyPlatformWeb extends PasskeyPlatformImpl { } assert(credential.type == 'public-key'); final response = credential.response as AuthenticatorAssertionResponse; - return PasskeyAuthenticationResponse( + return PasskeyCredential( id: credential.id, rawId: credential.rawId.toDart.asUint8List(), - clientData: PasskeyClientData.fromJson( - jsonDecode( - utf8.decode(response.clientDataJSON.toDart.asUint8List()), - ) as Map, + response: PasskeyAuthenticationResponse( + clientDataJson: response.clientDataJSON.toDart.asUint8List(), + authenticatorData: response.authenticatorData.toDart.asUint8List(), + signature: response.signature.toDart.asUint8List(), + userHandle: response.userHandle?.toDart.asUint8List(), ), - authenticatorData: response.authenticatorData.toDart.asUint8List(), - signature: response.signature.toDart.asUint8List(), - userHandle: response.userHandle?.toDart.asUint8List(), authenticatorAttachment: credential.authenticatorAttachment as AuthenticatorAttachment?, ); diff --git a/packages/celest_auth/pubspec.yaml b/packages/celest_auth/pubspec.yaml index a24ec02a..a39033b8 100644 --- a/packages/celest_auth/pubspec.yaml +++ b/packages/celest_auth/pubspec.yaml @@ -30,6 +30,7 @@ dependencies: path: ^1.9.0 shelf: ^1.4.1 shelf_router: ^1.1.4 + state_notifier: ^1.0.0 web: ^0.5.0 dev_dependencies: diff --git a/packages/celest_core/lib/src/auth/auth_client.dart b/packages/celest_core/lib/src/auth/auth_client.dart index 9e3c47ed..f2219b47 100644 --- a/packages/celest_core/lib/src/auth/auth_client.dart +++ b/packages/celest_core/lib/src/auth/auth_client.dart @@ -37,45 +37,23 @@ final class PasskeyClient with BaseProtocol implements PasskeyProtocol { final Uri baseUri; @override - Future requestRegistration({ - required PasskeyRegistrationRequest request, - }) async { - final response = await postJson( - '/_auth/passkeys/register', - request.toJson(), - ); - return PasskeyRegistrationOptions.fromJson(response); - } - - @override - Future verifyRegistration({ - required PasskeyRegistrationResponse registration, - }) async { - final response = await postJson( - '/_auth/passkeys/register/verify', - registration.toJson(), - ); - return AuthenticatedUser.fromJson(response); - } - - @override - Future requestAuthentication({ - required PasskeyAuthenticationRequest request, + Future authenticate({ + required PasskeyRequest request, }) async { final response = await postJson( '/_auth/passkeys/authenticate', request.toJson(), ); - return PasskeyAuthenticationOptions.fromJson(response); + return PasskeyOptions.fromJson(response); } @override - Future verifyAuthentication({ - required PasskeyAuthenticationResponse authentication, + Future verify({ + required PasskeyCredential credential, }) async { final response = await postJson( - '/_auth/passkeys/authenticate/verify', - authentication.toJson(), + '/_auth/passkeys/verify', + credential.toJson(), ); return AuthenticatedUser.fromJson(response); } @@ -104,6 +82,17 @@ final class EmailClient with BaseProtocol implements EmailProtocol { return OtpParameters.fromJson(response); } + @override + Future resendOtp({ + required OtpSendRequest request, + }) async { + final response = await postJson( + '/_auth/email/otp/resend', + request.toJson(), + ); + return OtpParameters.fromJson(response); + } + @override Future verifyOtp({ required OtpVerifyRequest verification, diff --git a/packages/celest_core/lib/src/auth/auth_protocol.dart b/packages/celest_core/lib/src/auth/auth_protocol.dart index 08fa3dd6..fba9b24b 100644 --- a/packages/celest_core/lib/src/auth/auth_protocol.dart +++ b/packages/celest_core/lib/src/auth/auth_protocol.dart @@ -6,22 +6,14 @@ abstract interface class AuthProtocol { } abstract interface class PasskeyProtocol { - Future requestRegistration({ - required PasskeyRegistrationRequest request, + /// Starts a new passkey authentication session. + Future authenticate({ + required PasskeyRequest request, }); - /// Verifies the registration response and returns the user auth token. - Future verifyRegistration({ - required PasskeyRegistrationResponse registration, - }); - - Future requestAuthentication({ - required PasskeyAuthenticationRequest request, - }); - - /// Verifies the authentication response and returns the user auth token. - Future verifyAuthentication({ - required PasskeyAuthenticationResponse authentication, + /// Verifies the credential and returns the authenticated user. + Future verify({ + required PasskeyCredential credential, }); } @@ -30,6 +22,10 @@ abstract interface class EmailProtocol { required OtpSendRequest request, }); + Future resendOtp({ + required OtpSendRequest request, + }); + Future verifyOtp({ required OtpVerifyRequest verification, }); diff --git a/packages/celest_core/lib/src/auth/otp/otp_types.dart b/packages/celest_core/lib/src/auth/otp/otp_types.dart index c6bfcdcc..ddefea8e 100644 --- a/packages/celest_core/lib/src/auth/otp/otp_types.dart +++ b/packages/celest_core/lib/src/auth/otp/otp_types.dart @@ -50,25 +50,31 @@ final class OtpVerifyRequest { final class OtpParameters { const OtpParameters({ - required this.nextRetry, + required this.nextResend, + required this.nextVerify, }); factory OtpParameters.fromJson(Map json) { return OtpParameters( - nextRetry: DateTime.fromMillisecondsSinceEpoch( + nextResend: DateTime.fromMillisecondsSinceEpoch( json['nextRetry'] as int, ), + nextVerify: DateTime.fromMillisecondsSinceEpoch( + json['nextVerify'] as int, + ), ); } - final DateTime nextRetry; + final DateTime nextResend; + final DateTime nextVerify; Map toJson() => { - 'nextRetry': nextRetry.millisecondsSinceEpoch, + 'nextRetry': nextResend.millisecondsSinceEpoch, + 'nextVerify': nextVerify.millisecondsSinceEpoch, }; @override String toString() { - return 'OtpParameters(nextRetry: $nextRetry)'; + return 'OtpParameters(nextRetry: $nextResend, nextVerify: $nextVerify)'; } } diff --git a/packages/celest_core/lib/src/auth/passkeys/passkey_types.dart b/packages/celest_core/lib/src/auth/passkeys/passkey_types.dart index 704b01d3..02a0a801 100644 --- a/packages/celest_core/lib/src/auth/passkeys/passkey_types.dart +++ b/packages/celest_core/lib/src/auth/passkeys/passkey_types.dart @@ -13,22 +13,23 @@ bool _isValidDomain(String hostname) { /// From: https://www.oreilly.com/library/view/regular-expressions-cookbook/9781449327453/ch08s15.html final _validDomain = RegExp(r'^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$'); -final class PasskeyRegistrationRequest { - const PasskeyRegistrationRequest({ +enum PasskeyRequestType { register, authenticate } + +final class PasskeyRequest { + const PasskeyRequest({ required this.username, String? displayName, this.authenticatorSelection, }) : displayName = displayName ?? ''; - factory PasskeyRegistrationRequest.fromJson(Map json) { + factory PasskeyRequest.fromJson(Map json) { if (json case { 'username': final String username, - 'displayName': final String displayName, }) { - return PasskeyRegistrationRequest( + return PasskeyRequest( username: username, - displayName: displayName, + displayName: json['displayName'] as String?, authenticatorSelection: json['authenticatorSelection'] != null ? AuthenticatorSelectionCriteria.fromJson( (json['authenticatorSelection'] as Map) @@ -54,7 +55,7 @@ final class PasskeyRegistrationRequest { @override String toString() { final buffer = StringBuffer() - ..writeln('PasskeyRegistrationRequest(') + ..writeln('PasskeyRequest(') ..writeln(' username: $username,') ..writeln(' displayName: $displayName,'); if (authenticatorSelection case final authenticatorSelection?) { @@ -65,8 +66,25 @@ final class PasskeyRegistrationRequest { } } +sealed class PasskeyOptions { + const PasskeyOptions(); + + factory PasskeyOptions.fromJson(Map json) { + return switch (json) { + {'rp': Map()} => PasskeyRegistrationOptions.fromJson(json), + {'rpId': String()} => PasskeyAuthenticationOptions.fromJson(json), + _ => throw FormatException('Invalid passkey options: $json'), + }; + } + + Uint8List get challenge; + Duration get timeout; + + Map toJson(); +} + // https://w3c.github.io/webauthn/#dictionary-makecredentialoptions -final class PasskeyRegistrationOptions { +final class PasskeyRegistrationOptions extends PasskeyOptions { PasskeyRegistrationOptions({ required this.challenge, required this.rpName, @@ -129,12 +147,15 @@ final class PasskeyRegistrationOptions { final String userId; final String userName; final String userDisplayName; + @override final Uint8List challenge; + @override final Duration timeout; final String attestation; final AuthenticatorSelectionCriteria authenticatorSelection; final List publicKeyCredentialParameters; + @override Map toJson() => { 'rp': { 'name': rpName, @@ -181,61 +202,132 @@ final class PasskeyRegistrationOptions { } } -final class PasskeyRegistrationResponse { - const PasskeyRegistrationResponse({ +final class PasskeyCredential { + const PasskeyCredential({ required this.id, required this.rawId, + required this.response, + this.authenticatorAttachment, + }); + + factory PasskeyCredential.fromJson(Map json) { + return switch (json) { + { + 'id': final String id, + 'rawId': final String rawId, + 'type': 'public-key', + 'response': final Map response, + } => + PasskeyCredential( + id: id, + rawId: base64RawUrl.decode(rawId), + response: PasskeyResponse.fromJson(response.cast()), + authenticatorAttachment: + json['authenticatorAttachment'] as AuthenticatorAttachment?, + ), + _ => throw FormatException('Invalid credential: $json'), + }; + } + + /// A base64url-encoded string representing the credential ID. + final String id; + + /// The credential ID in its raw binary form. + final Uint8List rawId; + String get type => 'public-key'; + final PasskeyResponse response; + + /// This will be set to `platform` when the credential is created on a + /// passkey-capable device. + final AuthenticatorAttachment? authenticatorAttachment; + + Map toJson() => { + 'id': id, + 'rawId': base64RawUrl.encode(rawId), + 'type': type, + 'response': response.toJson(), + if (authenticatorAttachment != null) + 'authenticatorAttachment': authenticatorAttachment, + }; + + @override + String toString() { + final buffer = StringBuffer() + ..writeln('PasskeyCredential(') + ..writeln(' id: $id,') + ..writeln(' rawId: ${base64RawUrl.encode(rawId)},') + ..writeln(' type: $type,') + ..writeln(' response: $response,'); + if (authenticatorAttachment != null) { + buffer.writeln(' authenticatorAttachment: $authenticatorAttachment,'); + } + buffer.write(')'); + return buffer.toString(); + } +} + +sealed class PasskeyResponse { + const PasskeyResponse(); + + factory PasskeyResponse.fromJson(Map json) { + return switch (json) { + { + 'clientDataJSON': String(), + 'attestationObject': String(), + } => + PasskeyRegistrationResponse.fromJson(json), + { + 'clientDataJSON': String(), + 'authenticatorData': String(), + 'signature': String(), + } => + PasskeyAuthenticationResponse.fromJson(json), + _ => throw FormatException('Invalid passkey response: $json'), + }; + } + + Uint8List get clientDataJson; + + Map toJson(); +} + +final class PasskeyRegistrationResponse extends PasskeyResponse { + const PasskeyRegistrationResponse({ required this.clientDataJson, required this.attestationObject, this.transports, this.publicKeyAlgorithm, this.publicKey, this.authenticatorData, - this.authenticatorAttachment, }); factory PasskeyRegistrationResponse.fromJson(Map json) { if (json case { - 'id': final String id, - 'rawId': final String rawId, - 'type': 'public-key', - 'response': { - 'clientDataJSON': final String clientDataJson, - 'attestationObject': final String attestationObject, - } && - final response, + 'clientDataJSON': final String clientDataJson, + 'attestationObject': final String attestationObject, }) { return PasskeyRegistrationResponse( - id: id, - rawId: base64RawUrl.decode(rawId), clientDataJson: base64RawUrl.decode(clientDataJson), attestationObject: base64RawUrl.decode(attestationObject), - transports: (response['transports'] as List?)?.cast(), - publicKeyAlgorithm: response['publicKeyAlgorithm'] != null + transports: (json['transports'] as List?)?.cast(), + publicKeyAlgorithm: json['publicKeyAlgorithm'] != null ? COSEAlgorithmIdentifier._( - response['publicKeyAlgorithm'] as int, + json['publicKeyAlgorithm'] as int, ) : null, - publicKey: response['publicKey'] != null - ? base64RawUrl.decode(response['publicKey'] as String) + publicKey: json['publicKey'] != null + ? base64RawUrl.decode(json['publicKey'] as String) : null, - authenticatorData: response['authenticatorData'] != null - ? base64RawUrl.decode(response['authenticatorData'] as String) + authenticatorData: json['authenticatorData'] != null + ? base64RawUrl.decode(json['authenticatorData'] as String) : null, - authenticatorAttachment: - json['authenticatorAttachment'] as AuthenticatorAttachment?, ); } throw FormatException('Invalid registration response: $json'); } - /// A base64url-encoded string representing the credential ID. - final String id; - - /// The credential ID in its raw binary form. - final Uint8List rawId; - String get type => 'public-key'; + @override final Uint8List clientDataJson; final Uint8List attestationObject; final List? transports; @@ -243,34 +335,22 @@ final class PasskeyRegistrationResponse { final Uint8List? publicKey; final Uint8List? authenticatorData; - /// This will be set to `platform` when the credential is created on a - /// passkey-capable device. - final AuthenticatorAttachment? authenticatorAttachment; - + @override Map toJson() => { - 'id': id, - 'rawId': base64RawUrl.encode(rawId), - 'type': type, - 'response': { - 'clientDataJSON': base64RawUrl.encode(clientDataJson), - 'attestationObject': base64RawUrl.encode(attestationObject), - if (transports != null) 'transports': transports, - if (publicKeyAlgorithm != null) - 'publicKeyAlgorithm': publicKeyAlgorithm, - if (publicKey != null) 'publicKey': base64RawUrl.encode(publicKey!), - if (authenticatorData != null) - 'authenticatorData': base64RawUrl.encode(authenticatorData!), - }, - if (authenticatorAttachment != null) - 'authenticatorAttachment': authenticatorAttachment, + 'clientDataJSON': base64RawUrl.encode(clientDataJson), + 'attestationObject': base64RawUrl.encode(attestationObject), + if (transports != null) 'transports': transports, + if (publicKeyAlgorithm != null) + 'publicKeyAlgorithm': publicKeyAlgorithm, + if (publicKey != null) 'publicKey': base64RawUrl.encode(publicKey!), + if (authenticatorData != null) + 'authenticatorData': base64RawUrl.encode(authenticatorData!), }; @override String toString() { final buffer = StringBuffer() ..writeln('PasskeyRegistrationResponse(') - ..writeln(' id: $id,') - ..writeln(' rawId: $rawId,') ..writeln(' clientDataJson: ${utf8.decode(clientDataJson)},') ..writeln( ' attestationObject: ${base64RawUrl.encode(attestationObject)},') @@ -280,7 +360,6 @@ final class PasskeyRegistrationResponse { ' publicKey: ${base64RawUrl.encode(publicKey ?? Uint8List(0))},') ..writeln( ' authenticatorData: ${base64RawUrl.encode(authenticatorData ?? Uint8List(0))},') - ..writeln(' authenticatorAttachment: $authenticatorAttachment,') ..write(')'); return buffer.toString(); } @@ -404,6 +483,7 @@ final class PasskeyClientData { required this.challenge, bool? crossOrigin, required this.origin, + this.topOrigin, required this.type, this.tokenBinding, }) : crossOrigin = crossOrigin ?? false; @@ -419,6 +499,7 @@ final class PasskeyClientData { challenge: base64RawUrl.decode(challenge), crossOrigin: json['crossOrigin'] as bool?, origin: origin, + topOrigin: json['topOrigin'] as String?, type: type, tokenBinding: json['tokenBinding'] != null ? PasskeyClientDataTokenBinding.fromJson( @@ -433,6 +514,7 @@ final class PasskeyClientData { final Uint8List challenge; final bool crossOrigin; final String origin; + final String? topOrigin; final String type; final PasskeyClientDataTokenBinding? tokenBinding; @@ -440,6 +522,7 @@ final class PasskeyClientData { 'challenge': base64RawUrl.encode(challenge), if (crossOrigin) 'crossOrigin': crossOrigin, 'origin': origin, + if (topOrigin != null) 'topOrigin': topOrigin, 'type': type, if (tokenBinding != null) 'tokenBinding': tokenBinding!.toJson(), }; @@ -451,6 +534,7 @@ final class PasskeyClientData { ..writeln(' challenge: ${base64RawUrl.encode(challenge)},') ..writeln(' crossOrigin: $crossOrigin,') ..writeln(' origin: $origin,') + ..writeln(' topOrigin: $topOrigin,') ..writeln(' type: $type,'); if (tokenBinding case final tokenBinding?) { buffer @@ -539,41 +623,7 @@ final class PasskeyDescriptor { 'transports: ${transports.join(', ')})'; } -final class PasskeyAuthenticationRequest { - const PasskeyAuthenticationRequest({ - required this.username, - UserVerificationRequirement? userVerification, - }) : userVerification = - userVerification ?? UserVerificationRequirement.preferred; - - factory PasskeyAuthenticationRequest.fromJson(Map json) { - return PasskeyAuthenticationRequest( - username: json['username'] as String, - userVerification: - json['userVerification'] as UserVerificationRequirement?, - ); - } - - final String username; - final UserVerificationRequirement userVerification; - - Map toJson() => { - 'username': username, - 'userVerification': userVerification, - }; - - @override - String toString() { - final buffer = StringBuffer() - ..writeln('PasskeyAuthenticationRequest(') - ..writeln(' username: $username,') - ..writeln(' userVerification: $userVerification,') - ..write(')'); - return buffer.toString(); - } -} - -final class PasskeyAuthenticationOptions { +final class PasskeyAuthenticationOptions extends PasskeyOptions { PasskeyAuthenticationOptions({ required this.rpId, required this.challenge, @@ -612,11 +662,14 @@ final class PasskeyAuthenticationOptions { } final String rpId; + @override final Uint8List challenge; + @override final Duration timeout; final List allowCredentials; final UserVerificationRequirement userVerification; + @override Map toJson() => { 'rpId': rpId, 'challenge': base64RawUrl.encode(challenge), @@ -639,102 +692,56 @@ final class PasskeyAuthenticationOptions { } } -final class PasskeyAuthenticationResponse { +final class PasskeyAuthenticationResponse extends PasskeyResponse { const PasskeyAuthenticationResponse({ - required this.id, - required this.rawId, - required this.clientData, + required this.clientDataJson, required this.authenticatorData, required this.signature, this.userHandle, - this.authenticatorAttachment, }); factory PasskeyAuthenticationResponse.fromJson(Map json) { if (json case { - 'id': final String id, - 'rawId': final String rawId, - 'type': 'public-key', - 'response': { - 'clientDataJSON': final String clientDataJson, - 'authenticatorData': final String authenticatorData, - 'signature': final String signature, - } && - final response, + 'clientDataJSON': final String clientDataJson, + 'authenticatorData': final String authenticatorData, + 'signature': final String signature, }) { return PasskeyAuthenticationResponse( - id: id, - rawId: base64RawUrl.decode(rawId), - clientData: PasskeyClientData.fromJson( - jsonDecode( - utf8.decode(base64RawUrl.decode(clientDataJson)), - ) as Map, - ), + clientDataJson: base64RawUrl.decode(clientDataJson), authenticatorData: base64RawUrl.decode(authenticatorData), signature: base64RawUrl.decode(signature), - userHandle: response['userHandle'] != null - ? base64RawUrl.decode(response['userHandle'] as String) + userHandle: json['userHandle'] != null + ? base64RawUrl.decode(json['userHandle'] as String) : null, - authenticatorAttachment: - json['authenticatorAttachment'] as AuthenticatorAttachment?, ); } throw FormatException('Invalid authentication response: $json'); } - final String id; - final Uint8List rawId; - String get type => 'public-key'; - final PasskeyClientData clientData; + @override + final Uint8List clientDataJson; final Uint8List authenticatorData; final Uint8List signature; final Uint8List? userHandle; - final AuthenticatorAttachment? authenticatorAttachment; + @override Map toJson() => { - 'id': id, - 'rawId': base64RawUrl.encode(rawId), - 'type': type, - 'response': { - 'clientDataJSON': base64RawUrl.encode( - utf8.encode( - jsonEncode(clientData.toJson()), - ), - ), - 'authenticatorData': base64RawUrl.encode(authenticatorData), - 'signature': base64RawUrl.encode(signature), - if (userHandle != null) - 'userHandle': base64RawUrl.encode(userHandle!), - }, - if (authenticatorAttachment != null) - 'authenticatorAttachment': authenticatorAttachment, + 'clientDataJSON': base64RawUrl.encode(clientDataJson), + 'authenticatorData': base64RawUrl.encode(authenticatorData), + 'signature': base64RawUrl.encode(signature), + if (userHandle != null) 'userHandle': base64RawUrl.encode(userHandle!), }; @override String toString() { final buffer = StringBuffer() ..writeln('PasskeyAuthenticationResponse(') - ..writeln(' id: $id,') - ..writeln(' rawId: $rawId,') - ..writeln(' clientData: PasskeyClientData(') - ..writeln(' challenge: ${base64RawUrl.encode(clientData.challenge)},') - ..writeln(' crossOrigin: ${clientData.crossOrigin},') - ..writeln(' origin: ${clientData.origin},') - ..writeln(' type: ${clientData.type},'); - if (clientData.tokenBinding case final tokenBinding?) { - buffer - ..writeln(' tokenBinding: PasskeyClientDataTokenBinding(') - ..writeln(' id: ${base64RawUrl.encode(tokenBinding.id)},') - ..writeln(' status: ${tokenBinding.status},') - ..writeln(' ),'); - } - buffer + ..writeln(' clientData: ${base64RawUrl.encode(clientDataJson)}') ..writeln(' ),') ..writeln( ' authenticatorData: ${base64RawUrl.encode(authenticatorData)},') ..writeln(' signature: ${base64RawUrl.encode(signature)},') - ..writeln(' authenticatorAttachment: $authenticatorAttachment,') ..write(')'); return buffer.toString(); } diff --git a/packages/celest_core/lib/src/auth/user.dart b/packages/celest_core/lib/src/auth/user.dart index 5f456fdf..1183d9a1 100644 --- a/packages/celest_core/lib/src/auth/user.dart +++ b/packages/celest_core/lib/src/auth/user.dart @@ -14,12 +14,10 @@ final class AuthenticatedUser { final String cork; final User user; - Map toJson() { - return { - 'cork': cork, - 'user': user.toJson(), - }; - } + Map toJson() => { + 'cork': cork, + 'user': user.toJson(), + }; @override String toString() { @@ -30,28 +28,33 @@ final class AuthenticatedUser { final class User { const User({ required this.id, + this.organizationId, required this.email, - }); + bool? emailVerified, + }) : emailVerified = emailVerified ?? false; factory User.fromJson(Map json) { return User( id: json['id'] as String, + organizationId: json['organizationId'] as String?, email: json['email'] as String, + emailVerified: json['emailVerified'] as bool?, ); } final String id; + final String? organizationId; final String email; + final bool emailVerified; - Map toJson() { - return { - 'id': id, - 'email': email, - }; - } + Map toJson() => { + 'id': id, + if (organizationId != null) 'organizationId': organizationId, + 'email': email, + 'emailVerified': emailVerified, + }; @override - String toString() { - return 'User(id: $id, email: $email)'; - } + String toString() => 'User(id: $id, orgId: $organizationId, ' + 'email: $email, emailVerified: $emailVerified)'; } From ac3864f91b8adabd9e9e721159bd8a3ab0a18b42 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Wed, 6 Mar 2024 14:58:37 -0800 Subject: [PATCH 12/33] Use secure storage from core --- packages/celest_auth/android/build.gradle | 5 - .../celest/celest_auth/CelestSecureStorage.kt | 61 - .../example/android/app/build.gradle | 2 - .../celest_auth/ffigen.core_foundation.yaml | 50 - packages/celest_auth/ffigen.security.yaml | 76 - packages/celest_auth/jnigen.yaml | 1 - packages/celest_auth/lib/src/auth.dart | 1 - .../src/native/android/jni_bindings.ffi.dart | 118 -- .../native/darwin/core_foundation.ffi.dart | 754 -------- .../src/native/darwin/darwin_ffi_helpers.dart | 112 -- .../lib/src/native/darwin/foundation.yaml | 14 +- .../lib/src/native/darwin/security.ffi.dart | 1594 ----------------- .../src/storage/secure_storage.android.dart | 41 - .../lib/src/storage/secure_storage.dart | 37 - .../src/storage/secure_storage.darwin.dart | 179 -- .../lib/src/storage/secure_storage.stub.dart | 26 - .../secure_storage_exception_impl.dart | 71 - .../{generate.sh => tool/ffigen.sh} | 2 - packages/celest_core/lib/celest_core.dart | 7 +- .../src/storage/secure_storage_exception.dart | 3 - 20 files changed, 11 insertions(+), 3143 deletions(-) delete mode 100644 packages/celest_auth/android/src/main/kotlin/dev/celest/celest_auth/CelestSecureStorage.kt delete mode 100644 packages/celest_auth/ffigen.core_foundation.yaml delete mode 100644 packages/celest_auth/ffigen.security.yaml delete mode 100644 packages/celest_auth/lib/src/native/darwin/core_foundation.ffi.dart delete mode 100644 packages/celest_auth/lib/src/native/darwin/darwin_ffi_helpers.dart delete mode 100644 packages/celest_auth/lib/src/native/darwin/security.ffi.dart delete mode 100644 packages/celest_auth/lib/src/storage/secure_storage.android.dart delete mode 100644 packages/celest_auth/lib/src/storage/secure_storage.dart delete mode 100644 packages/celest_auth/lib/src/storage/secure_storage.darwin.dart delete mode 100644 packages/celest_auth/lib/src/storage/secure_storage.stub.dart delete mode 100644 packages/celest_auth/lib/src/storage/secure_storage_exception_impl.dart rename packages/celest_auth/{generate.sh => tool/ffigen.sh} (86%) delete mode 100644 packages/celest_core/lib/src/storage/secure_storage_exception.dart diff --git a/packages/celest_auth/android/build.gradle b/packages/celest_auth/android/build.gradle index 27f50d18..ff5e995a 100644 --- a/packages/celest_auth/android/build.gradle +++ b/packages/celest_auth/android/build.gradle @@ -58,15 +58,10 @@ android { } dependencies { - implementation "androidx.browser:browser:1.7.0" - implementation "androidx.credentials:credentials:1.3.0-alpha01" implementation "androidx.credentials:credentials-play-services-auth:1.3.0-alpha01" implementation "com.google.android.libraries.identity.googleid:googleid:1.1.0" implementation "androidx.biometric:biometric:1.2.0-alpha05" implementation "com.google.android.gms:play-services-auth:21.0.0" implementation "com.google.android.gms:play-services-fido:20.1.0" - - // Secure Storage - implementation 'androidx.security:security-crypto:1.1.0-alpha06' } diff --git a/packages/celest_auth/android/src/main/kotlin/dev/celest/celest_auth/CelestSecureStorage.kt b/packages/celest_auth/android/src/main/kotlin/dev/celest/celest_auth/CelestSecureStorage.kt deleted file mode 100644 index a4777740..00000000 --- a/packages/celest_auth/android/src/main/kotlin/dev/celest/celest_auth/CelestSecureStorage.kt +++ /dev/null @@ -1,61 +0,0 @@ -package dev.celest.celest_auth - -import android.annotation.SuppressLint -import android.app.Activity -import android.content.SharedPreferences -import androidx.annotation.Keep -import androidx.annotation.Nullable -import androidx.security.crypto.EncryptedSharedPreferences -import androidx.security.crypto.MasterKey - -// TODO(dnys1): Exclude from backup: -// - https://developer.android.com/reference/androidx/security/crypto/EncryptedSharedPreferences -// - https://developer.android.com/guide/topics/data/autobackup#IncludingFiles -@Keep -class CelestSecureStorage(private val mainActivity: Activity) { - - private val sharedPreferences: SharedPreferences by lazy { - val masterKey = MasterKey.Builder(mainActivity) - .setKeyScheme(MasterKey.KeyScheme.AES256_GCM) - .build() - val sharedPreferences = EncryptedSharedPreferences.create( - mainActivity, - "auth_secrets", - masterKey, - EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV, - EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM, - ) - sharedPreferences - } - - private val editor: SharedPreferences.Editor - get() = sharedPreferences.edit() - - fun write(dataKey: String, value: String?) { - with(editor) { - putString(dataKey, value) - apply() - } - } - - fun read(dataKey: String): String? = sharedPreferences.getString(dataKey, null) - - fun readAll(): Map = sharedPreferences.all.mapValues { it.value as String } - - fun delete(dataKey: String): String? { - val current = read(dataKey) - with(editor) { - remove(dataKey) - apply() - } - return current - } - - fun clear() { - with(editor) { - clear() - apply() - } - } - -} \ No newline at end of file diff --git a/packages/celest_auth/example/android/app/build.gradle b/packages/celest_auth/example/android/app/build.gradle index 615231fb..f01e1bba 100644 --- a/packages/celest_auth/example/android/app/build.gradle +++ b/packages/celest_auth/example/android/app/build.gradle @@ -64,12 +64,10 @@ flutter { dependencies { // These dependencies are only present so that `jnigen` will work. // Applications should not include these. - implementation "androidx.browser:browser:1.7.0" implementation "androidx.credentials:credentials:1.3.0-alpha01" implementation "androidx.credentials:credentials-play-services-auth:1.3.0-alpha01" implementation "com.google.android.libraries.identity.googleid:googleid:1.1.0" implementation "androidx.biometric:biometric:1.2.0-alpha05" implementation "com.google.android.gms:play-services-auth:21.0.0" implementation "com.google.android.gms:play-services-fido:20.1.0" - implementation 'androidx.security:security-crypto:1.1.0-alpha06' } diff --git a/packages/celest_auth/ffigen.core_foundation.yaml b/packages/celest_auth/ffigen.core_foundation.yaml deleted file mode 100644 index 10a3cb3c..00000000 --- a/packages/celest_auth/ffigen.core_foundation.yaml +++ /dev/null @@ -1,50 +0,0 @@ -name: CoreFoundation -description: | - Bindings for Core Foundation on iOS/macOS. - - Regenerate bindings with `dart run ffigen --config=ffigen.core_foundation.yaml`. -language: "c" -output: - bindings: "lib/src/native/darwin/core_foundation.ffi.dart" -compiler-opts: - - "-F/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks" -headers: - entry-points: - - "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFDictionary.h" - - "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFString.h" - - "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFData.h" -preamble: | - // ignore_for_file: type=lint - // ignore_for_file: return_of_invalid_type - // ignore_for_file: unnecessary_non_null_assertion -comments: - style: any - length: full - -ffi-native: -exclude-all-by-default: true -typedefs: - include: - - "CF.*" -globals: - include: - - "kCF.*" -functions: - include: - - CFDictionaryCreate - - CFDataCreate - - CFStringGetCStringPtr - - CFStringGetCString - - CFStringGetLength - - CFStringGetMaximumSizeForEncoding - - CFStringCreateWithCString - - CFDataGetBytePtr - - CFRelease -structs: - rename: - "__CFString": CFString - "__CFData": CFData - "__CFDictionary": CFDictionary -unnamed-enums: - include: - - "kCF.*" diff --git a/packages/celest_auth/ffigen.security.yaml b/packages/celest_auth/ffigen.security.yaml deleted file mode 100644 index ed33002c..00000000 --- a/packages/celest_auth/ffigen.security.yaml +++ /dev/null @@ -1,76 +0,0 @@ -name: SecurityFramework -description: | - Bindings for Security framework on iOS/macOS. - - Regenerate bindings with `dart run ffigen --config=ffigen.security.yaml`. -language: "c" -output: - bindings: "lib/src/native/darwin/security.ffi.dart" -compiler-opts: - - "-F/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks" -headers: - entry-points: - - "/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/SecItem.h" -preamble: | - // ignore_for_file: type=lint - // ignore_for_file: return_of_invalid_type - // ignore_for_file: unnecessary_non_null_assertion -comments: - style: any - length: full -library-imports: - cf: "package:celest_auth/src/native/darwin/core_foundation.ffi.dart" - -ffi-native: -exclude-all-by-default: true -functions: - include: - - SecItemAdd - - SecItemUpdate - - SecItemCopyMatching - - SecItemDelete - - SecCopyErrorMessageString -globals: - include: - - "kSec.*" - - "kCF.*" -unnamed-enums: - include: - - errSecSuccess - - errSecItemNotFound - - errSecDuplicateItem - - errSecUserCanceled - - errSecAuthFailed - - errSecInteractionRequired - - errSecMissingEntitlement - - errSecInvalidOwnerEdit -type-map: - typedefs: - CFString: - lib: cf - c-type: CFString - dart-type: CFString - CFType: - lib: cf - c-type: CFType - dart-type: CFType - CFData: - lib: cf - c-type: CFData - dart-type: CFData - CFDictionary: - lib: cf - c-type: CFDictionary - dart-type: CFDictionary - CFStringRef: - lib: cf - c-type: CFStringRef - dart-type: CFStringRef - CFTypeRef: - lib: cf - c-type: CFTypeRef - dart-type: CFTypeRef - CFDictionaryRef: - lib: cf - c-type: CFDictionaryRef - dart-type: CFDictionaryRef diff --git a/packages/celest_auth/jnigen.yaml b/packages/celest_auth/jnigen.yaml index 1ea01fba..93eed7b2 100644 --- a/packages/celest_auth/jnigen.yaml +++ b/packages/celest_auth/jnigen.yaml @@ -17,7 +17,6 @@ output: classes: - dev.celest.celest_auth.CelestAuth - - dev.celest.celest_auth.CelestSecureStorage # Core Android/Java types - android.app.Activity diff --git a/packages/celest_auth/lib/src/auth.dart b/packages/celest_auth/lib/src/auth.dart index 40a8fde6..dbb57428 100644 --- a/packages/celest_auth/lib/src/auth.dart +++ b/packages/celest_auth/lib/src/auth.dart @@ -1,6 +1,5 @@ import 'package:celest_auth/src/flows/auth_flow.dart'; import 'package:celest_auth/src/platform/auth_platform.dart'; -import 'package:celest_auth/src/storage/secure_storage.dart'; import 'package:celest_core/celest_core.dart'; import 'package:http/http.dart' as http; import 'package:meta/meta.dart'; diff --git a/packages/celest_auth/lib/src/native/android/jni_bindings.ffi.dart b/packages/celest_auth/lib/src/native/android/jni_bindings.ffi.dart index 74e4d351..57584b30 100644 --- a/packages/celest_auth/lib/src/native/android/jni_bindings.ffi.dart +++ b/packages/celest_auth/lib/src/native/android/jni_bindings.ffi.dart @@ -110,124 +110,6 @@ final class $CelestAuthType extends jni.JObjType { } } -/// from: dev.celest.celest_auth.CelestSecureStorage -class CelestSecureStorage extends jni.JObject { - @override - late final jni.JObjType $type = type; - - CelestSecureStorage.fromRef( - jni.JObjectPtr ref, - ) : super.fromRef(ref); - - static final _class = - jni.Jni.findJClass(r"dev/celest/celest_auth/CelestSecureStorage"); - - /// The type which includes information such as the signature of this class. - static const type = $CelestSecureStorageType(); - static final _id_new0 = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"", r"(Landroid/app/Activity;)V"); - - /// from: public void (android.app.Activity activity) - /// The returned object must be released after use, by calling the [release] method. - factory CelestSecureStorage( - Activity activity, - ) { - return CelestSecureStorage.fromRef(jni.Jni.accessors.newObjectWithArgs( - _class.reference, _id_new0, [activity.reference]).object); - } - - static final _id_write = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"write", r"(Ljava/lang/String;Ljava/lang/String;)V"); - - /// from: public final void write(java.lang.String string, java.lang.String string1) - void write( - jni.JString string, - jni.JString string1, - ) { - return jni.Jni.accessors.callMethodWithArgs( - reference, - _id_write, - jni.JniCallType.voidType, - [string.reference, string1.reference]).check(); - } - - static final _id_read = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"read", r"(Ljava/lang/String;)Ljava/lang/String;"); - - /// from: public final java.lang.String read(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JString read( - jni.JString string, - ) { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_read, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_readAll = jni.Jni.accessors - .getMethodIDOf(_class.reference, r"readAll", r"()Ljava/util/Map;"); - - /// from: public final java.util.Map readAll() - /// The returned object must be released after use, by calling the [release] method. - jni.JMap readAll() { - return const jni.JMapType(jni.JStringType(), jni.JStringType()).fromRef( - jni.Jni.accessors.callMethodWithArgs( - reference, _id_readAll, jni.JniCallType.objectType, []).object); - } - - static final _id_delete = jni.Jni.accessors.getMethodIDOf( - _class.reference, r"delete", r"(Ljava/lang/String;)Ljava/lang/String;"); - - /// from: public final java.lang.String delete(java.lang.String string) - /// The returned object must be released after use, by calling the [release] method. - jni.JString delete( - jni.JString string, - ) { - return const jni.JStringType().fromRef(jni.Jni.accessors.callMethodWithArgs( - reference, - _id_delete, - jni.JniCallType.objectType, - [string.reference]).object); - } - - static final _id_clear = - jni.Jni.accessors.getMethodIDOf(_class.reference, r"clear", r"()V"); - - /// from: public final void clear() - void clear() { - return jni.Jni.accessors.callMethodWithArgs( - reference, _id_clear, jni.JniCallType.voidType, []).check(); - } -} - -final class $CelestSecureStorageType extends jni.JObjType { - const $CelestSecureStorageType(); - - @override - String get signature => r"Ldev/celest/celest_auth/CelestSecureStorage;"; - - @override - CelestSecureStorage fromRef(jni.JObjectPtr ref) => - CelestSecureStorage.fromRef(ref); - - @override - jni.JObjType get superType => const jni.JObjectType(); - - @override - final superCount = 1; - - @override - int get hashCode => ($CelestSecureStorageType).hashCode; - - @override - bool operator ==(Object other) { - return other.runtimeType == ($CelestSecureStorageType) && - other is $CelestSecureStorageType; - } -} - /// from: android.app.Activity$ScreenCaptureCallback class Activity_ScreenCaptureCallback extends jni.JObject { @override diff --git a/packages/celest_auth/lib/src/native/darwin/core_foundation.ffi.dart b/packages/celest_auth/lib/src/native/darwin/core_foundation.ffi.dart deleted file mode 100644 index d196c09d..00000000 --- a/packages/celest_auth/lib/src/native/darwin/core_foundation.ffi.dart +++ /dev/null @@ -1,754 +0,0 @@ -// ignore_for_file: type=lint -// ignore_for_file: return_of_invalid_type -// ignore_for_file: unnecessary_non_null_assertion - -// AUTO GENERATED FILE, DO NOT EDIT. -// -// Generated by `package:ffigen`. -import 'dart:ffi' as ffi; - -@ffi.Native() -external double kCFCoreFoundationVersionNumber; - -/// Constant used by some functions to indicate failed searches. -@ffi.Native() -external final int kCFNotFound; - -/// the singleton null instance -@ffi.Native() -external final CFNullRef kCFNull; - -/// This is a synonym for NULL, if you'd rather use a named constant. -@ffi.Native() -external final CFAllocatorRef kCFAllocatorDefault; - -/// Default system allocator; you rarely need to use this. -@ffi.Native() -external final CFAllocatorRef kCFAllocatorSystemDefault; - -/// This allocator uses malloc(), realloc(), and free(). This should not be -/// generally used; stick to kCFAllocatorDefault whenever possible. This -/// allocator is useful as the "bytesDeallocator" in CFData or -/// "contentsDeallocator" in CFString where the memory was obtained as a -/// result of malloc() type functions. -@ffi.Native() -external final CFAllocatorRef kCFAllocatorMalloc; - -/// This allocator explicitly uses the default malloc zone, returned by -/// malloc_default_zone(). It should only be used when an object is -/// safe to be allocated in non-scanned memory. -@ffi.Native() -external final CFAllocatorRef kCFAllocatorMallocZone; - -/// Null allocator which does nothing and allocates no memory. This allocator -/// is useful as the "bytesDeallocator" in CFData or "contentsDeallocator" -/// in CFString where the memory should not be freed. -@ffi.Native() -external final CFAllocatorRef kCFAllocatorNull; - -/// Special allocator argument to CFAllocatorCreate() which means -/// "use the functions given in the context to allocate the allocator -/// itself as well". -@ffi.Native() -external final CFAllocatorRef kCFAllocatorUseContext; - -@ffi.Native() -external void CFRelease( - CFTypeRef cf, -); - -/// ! -/// @constant kCFTypeDictionaryKeyCallBacks -/// Predefined CFDictionaryKeyCallBacks structure containing a -/// set of callbacks appropriate for use when the keys of a -/// CFDictionary are all CFTypes. -@ffi.Native() -external final CFDictionaryKeyCallBacks kCFTypeDictionaryKeyCallBacks; - -/// ! -/// @constant kCFCopyStringDictionaryKeyCallBacks -/// Predefined CFDictionaryKeyCallBacks structure containing a -/// set of callbacks appropriate for use when the keys of a -/// CFDictionary are all CFStrings, which may be mutable and -/// need to be copied in order to serve as constant keys for -/// the values in the dictionary. -@ffi.Native() -external final CFDictionaryKeyCallBacks kCFCopyStringDictionaryKeyCallBacks; - -/// ! -/// @constant kCFTypeDictionaryValueCallBacks -/// Predefined CFDictionaryValueCallBacks structure containing a set -/// of callbacks appropriate for use when the values in a CFDictionary -/// are all CFTypes. -@ffi.Native() -external final CFDictionaryValueCallBacks kCFTypeDictionaryValueCallBacks; - -/// ! -/// @function CFDictionaryCreate -/// Creates a new immutable dictionary with the given values. -/// @param allocator The CFAllocator which should be used to allocate -/// memory for the dictionary and its storage for values. This -/// parameter may be NULL in which case the current default -/// CFAllocator is used. If this reference is not a valid -/// CFAllocator, the behavior is undefined. -/// @param keys A C array of the pointer-sized keys to be used for -/// the parallel C array of values to be put into the dictionary. -/// This parameter may be NULL if the numValues parameter is 0. -/// This C array is not changed or freed by this function. If -/// this parameter is not a valid pointer to a C array of at -/// least numValues pointers, the behavior is undefined. -/// @param values A C array of the pointer-sized values to be in the -/// dictionary. This parameter may be NULL if the numValues -/// parameter is 0. This C array is not changed or freed by -/// this function. If this parameter is not a valid pointer to -/// a C array of at least numValues pointers, the behavior is -/// undefined. -/// @param numValues The number of values to copy from the keys and -/// values C arrays into the CFDictionary. This number will be -/// the count of the dictionary. If this parameter is -/// negative, or greater than the number of values actually -/// in the keys or values C arrays, the behavior is undefined. -/// @param keyCallBacks A pointer to a CFDictionaryKeyCallBacks structure -/// initialized with the callbacks for the dictionary to use on -/// each key in the dictionary. The retain callback will be used -/// within this function, for example, to retain all of the new -/// keys from the keys C array. A copy of the contents of the -/// callbacks structure is made, so that a pointer to a structure -/// on the stack can be passed in, or can be reused for multiple -/// dictionary creations. If the version field of this -/// callbacks structure is not one of the defined ones for -/// CFDictionary, the behavior is undefined. The retain field may -/// be NULL, in which case the CFDictionary will do nothing to add -/// a retain to the keys of the contained values. The release field -/// may be NULL, in which case the CFDictionary will do nothing -/// to remove the dictionary's retain (if any) on the keys when the -/// dictionary is destroyed or a key-value pair is removed. If the -/// copyDescription field is NULL, the dictionary will create a -/// simple description for a key. If the equal field is NULL, the -/// dictionary will use pointer equality to test for equality of -/// keys. If the hash field is NULL, a key will be converted from -/// a pointer to an integer to compute the hash code. This callbacks -/// parameter itself may be NULL, which is treated as if a valid -/// structure of version 0 with all fields NULL had been passed in. -/// Otherwise, if any of the fields are not valid pointers to -/// functions of the correct type, or this parameter is not a -/// valid pointer to a CFDictionaryKeyCallBacks callbacks structure, -/// the behavior is undefined. If any of the keys put into the -/// dictionary is not one understood by one of the callback functions -/// the behavior when that callback function is used is undefined. -/// @param valueCallBacks A pointer to a CFDictionaryValueCallBacks structure -/// initialized with the callbacks for the dictionary to use on -/// each value in the dictionary. The retain callback will be used -/// within this function, for example, to retain all of the new -/// values from the values C array. A copy of the contents of the -/// callbacks structure is made, so that a pointer to a structure -/// on the stack can be passed in, or can be reused for multiple -/// dictionary creations. If the version field of this callbacks -/// structure is not one of the defined ones for CFDictionary, the -/// behavior is undefined. The retain field may be NULL, in which -/// case the CFDictionary will do nothing to add a retain to values -/// as they are put into the dictionary. The release field may be -/// NULL, in which case the CFDictionary will do nothing to remove -/// the dictionary's retain (if any) on the values when the -/// dictionary is destroyed or a key-value pair is removed. If the -/// copyDescription field is NULL, the dictionary will create a -/// simple description for a value. If the equal field is NULL, the -/// dictionary will use pointer equality to test for equality of -/// values. This callbacks parameter itself may be NULL, which is -/// treated as if a valid structure of version 0 with all fields -/// NULL had been passed in. Otherwise, -/// if any of the fields are not valid pointers to functions -/// of the correct type, or this parameter is not a valid -/// pointer to a CFDictionaryValueCallBacks callbacks structure, -/// the behavior is undefined. If any of the values put into the -/// dictionary is not one understood by one of the callback functions -/// the behavior when that callback function is used is undefined. -/// @result A reference to the new immutable CFDictionary. -@ffi.Native< - CFDictionaryRef Function( - CFAllocatorRef, - ffi.Pointer>, - ffi.Pointer>, - CFIndex, - ffi.Pointer, - ffi.Pointer)>() -external CFDictionaryRef CFDictionaryCreate( - CFAllocatorRef allocator, - ffi.Pointer> keys, - ffi.Pointer> values, - int numValues, - ffi.Pointer keyCallBacks, - ffi.Pointer valueCallBacks, -); - -/// ! -/// @constant kCFTypeArrayCallBacks -/// Predefined CFArrayCallBacks structure containing a set of callbacks -/// appropriate for use when the values in a CFArray are all CFTypes. -@ffi.Native() -external final CFArrayCallBacks kCFTypeArrayCallBacks; - -@ffi.Native< - CFDataRef Function( - CFAllocatorRef, ffi.Pointer, CFIndex)>() -external CFDataRef CFDataCreate( - CFAllocatorRef allocator, - ffi.Pointer bytes, - int length, -); - -@ffi.Native Function(CFDataRef)>() -external ffi.Pointer CFDataGetBytePtr( - CFDataRef theData, -); - -/// Returns the display name for the given value. The key tells what -/// the value is, and is one of the usual locale property keys, though -/// not all locale property keys have values with display name values. -@ffi.Native() -external final CFNotificationName kCFLocaleCurrentLocaleDidChangeNotification; - -/// Locale Keys -@ffi.Native() -external final CFLocaleKey kCFLocaleIdentifier; - -@ffi.Native() -external final CFLocaleKey kCFLocaleLanguageCode; - -@ffi.Native() -external final CFLocaleKey kCFLocaleCountryCode; - -@ffi.Native() -external final CFLocaleKey kCFLocaleScriptCode; - -@ffi.Native() -external final CFLocaleKey kCFLocaleVariantCode; - -@ffi.Native() -external final CFLocaleKey kCFLocaleExemplarCharacterSet; - -@ffi.Native() -external final CFLocaleKey kCFLocaleCalendarIdentifier; - -@ffi.Native() -external final CFLocaleKey kCFLocaleCalendar; - -@ffi.Native() -external final CFLocaleKey kCFLocaleCollationIdentifier; - -@ffi.Native() -external final CFLocaleKey kCFLocaleUsesMetricSystem; - -/// "Metric", "U.S." or "U.K." -@ffi.Native() -external final CFLocaleKey kCFLocaleMeasurementSystem; - -@ffi.Native() -external final CFLocaleKey kCFLocaleDecimalSeparator; - -@ffi.Native() -external final CFLocaleKey kCFLocaleGroupingSeparator; - -@ffi.Native() -external final CFLocaleKey kCFLocaleCurrencySymbol; - -/// ISO 3-letter currency code -@ffi.Native() -external final CFLocaleKey kCFLocaleCurrencyCode; - -@ffi.Native() -external final CFLocaleKey kCFLocaleCollatorIdentifier; - -@ffi.Native() -external final CFLocaleKey kCFLocaleQuotationBeginDelimiterKey; - -@ffi.Native() -external final CFLocaleKey kCFLocaleQuotationEndDelimiterKey; - -@ffi.Native() -external final CFLocaleKey kCFLocaleAlternateQuotationBeginDelimiterKey; - -@ffi.Native() -external final CFLocaleKey kCFLocaleAlternateQuotationEndDelimiterKey; - -@ffi.Native() -external final CFCalendarIdentifier kCFGregorianCalendar; - -@ffi.Native() -external final CFCalendarIdentifier kCFBuddhistCalendar; - -@ffi.Native() -external final CFCalendarIdentifier kCFChineseCalendar; - -@ffi.Native() -external final CFCalendarIdentifier kCFHebrewCalendar; - -@ffi.Native() -external final CFCalendarIdentifier kCFIslamicCalendar; - -@ffi.Native() -external final CFCalendarIdentifier kCFIslamicCivilCalendar; - -@ffi.Native() -external final CFCalendarIdentifier kCFJapaneseCalendar; - -@ffi.Native() -external final CFCalendarIdentifier kCFRepublicOfChinaCalendar; - -@ffi.Native() -external final CFCalendarIdentifier kCFPersianCalendar; - -@ffi.Native() -external final CFCalendarIdentifier kCFIndianCalendar; - -@ffi.Native() -external final CFCalendarIdentifier kCFISO8601Calendar; - -@ffi.Native() -external final CFCalendarIdentifier kCFIslamicTabularCalendar; - -@ffi.Native() -external final CFCalendarIdentifier kCFIslamicUmmAlQuraCalendar; - -/// Predefined domains; value of "code" will correspond to preexisting values in these domains. -@ffi.Native() -external final CFErrorDomain kCFErrorDomainPOSIX; - -@ffi.Native() -external final CFErrorDomain kCFErrorDomainOSStatus; - -@ffi.Native() -external final CFErrorDomain kCFErrorDomainMach; - -@ffi.Native() -external final CFErrorDomain kCFErrorDomainCocoa; - -/// Key to identify the end user-presentable description in userInfo. Should be one or more complete sentence(s) describing both what failed and why. For instance 'You can't save the file "To Do List" because the volume "Macintosh HD" is out of space.' -@ffi.Native() -external final CFStringRef kCFErrorLocalizedDescriptionKey; - -/// Key to identify the end user-presentable failing operation ("what failed") description in userInfo. Should be one or more complete sentence(s), for instance 'The file "To Do List" couldn't be saved.' -@ffi.Native() -external final CFStringRef kCFErrorLocalizedFailureKey; - -/// Key to identify the end user-presentable failure reason ("why it failed") description in userInfo. Should be one or more complete sentence(s), for instance 'The volume "Macintosh HD" is out of space.' -@ffi.Native() -external final CFStringRef kCFErrorLocalizedFailureReasonKey; - -/// Key to identify the end user-presentable recovery suggestion in userInfo. Should be one or more complete sentence(s), for instance 'Remove some files from the volume, and then try again.' -@ffi.Native() -external final CFStringRef kCFErrorLocalizedRecoverySuggestionKey; - -/// Key to identify the description in the userInfo dictionary. Should be a complete sentence if possible. Should not contain domain name or error code. -@ffi.Native() -external final CFStringRef kCFErrorDescriptionKey; - -/// Key to identify the underlying error in userInfo. -@ffi.Native() -external final CFStringRef kCFErrorUnderlyingErrorKey; - -/// Key to identify associated URL in userInfo. Typically one of this or kCFErrorFilePathKey is provided. -@ffi.Native() -external final CFStringRef kCFErrorURLKey; - -/// Key to identify associated file path in userInfo. Typically one of this or kCFErrorURLKey is provided. -@ffi.Native() -external final CFStringRef kCFErrorFilePathKey; - -@ffi.Native< - CFStringRef Function( - CFAllocatorRef, ffi.Pointer, CFStringEncoding)>() -external CFStringRef CFStringCreateWithCString( - CFAllocatorRef alloc, - ffi.Pointer cStr, - int encoding, -); - -/// Number of 16-bit Unicode characters in the string. -@ffi.Native() -external int CFStringGetLength( - CFStringRef theString, -); - -@ffi.Native< - ffi.UnsignedChar Function( - CFStringRef, ffi.Pointer, CFIndex, CFStringEncoding)>() -external int CFStringGetCString( - CFStringRef theString, - ffi.Pointer buffer, - int bufferSize, - int encoding, -); - -@ffi.Native Function(CFStringRef, CFStringEncoding)>() -external ffi.Pointer CFStringGetCStringPtr( - CFStringRef theString, - int encoding, -); - -@ffi.Native() -external int CFStringGetMaximumSizeForEncoding( - int length, - int encoding, -); - -/// Transform identifiers for CFStringTransform() -@ffi.Native() -external final CFStringRef kCFStringTransformStripCombiningMarks; - -@ffi.Native() -external final CFStringRef kCFStringTransformToLatin; - -@ffi.Native() -external final CFStringRef kCFStringTransformFullwidthHalfwidth; - -@ffi.Native() -external final CFStringRef kCFStringTransformLatinKatakana; - -@ffi.Native() -external final CFStringRef kCFStringTransformLatinHiragana; - -@ffi.Native() -external final CFStringRef kCFStringTransformHiraganaKatakana; - -@ffi.Native() -external final CFStringRef kCFStringTransformMandarinLatin; - -@ffi.Native() -external final CFStringRef kCFStringTransformLatinHangul; - -@ffi.Native() -external final CFStringRef kCFStringTransformLatinArabic; - -@ffi.Native() -external final CFStringRef kCFStringTransformLatinHebrew; - -@ffi.Native() -external final CFStringRef kCFStringTransformLatinThai; - -@ffi.Native() -external final CFStringRef kCFStringTransformLatinCyrillic; - -@ffi.Native() -external final CFStringRef kCFStringTransformLatinGreek; - -@ffi.Native() -external final CFStringRef kCFStringTransformToXMLHex; - -@ffi.Native() -external final CFStringRef kCFStringTransformToUnicodeName; - -@ffi.Native() -external final CFStringRef kCFStringTransformStripDiacritics; - -typedef CFIndex = ffi.Long; -typedef DartCFIndex = int; - -/// Null representant -typedef CFNullRef = ffi.Pointer<__CFNull>; - -final class __CFNull extends ffi.Opaque {} - -/// Allocator API -/// -/// Most of the time when specifying an allocator to Create functions, the NULL -/// argument indicates "use the default"; this is the same as using kCFAllocatorDefault -/// or the return value from CFAllocatorGetDefault(). This assures that you will use -/// the allocator in effect at that time. -typedef CFAllocatorRef = ffi.Pointer<__CFAllocator>; - -final class __CFAllocator extends ffi.Opaque {} - -/// Base "type" of all "CF objects", and polymorphic functions on them -typedef CFTypeRef = ffi.Pointer; - -final class CFDictionaryKeyCallBacks extends ffi.Struct { - @CFIndex() - external int version; - - external CFDictionaryRetainCallBack retain; - - external CFDictionaryReleaseCallBack release; - - external CFDictionaryCopyDescriptionCallBack copyDescription; - - external CFDictionaryEqualCallBack equal; - - external CFDictionaryHashCallBack hash; -} - -/// ! -/// @typedef CFDictionaryKeyCallBacks -/// Structure containing the callbacks for keys of a CFDictionary. -/// @field version The version number of the structure type being passed -/// in as a parameter to the CFDictionary creation functions. -/// This structure is version 0. -/// @field retain The callback used to add a retain for the dictionary -/// on keys as they are used to put values into the dictionary. -/// This callback returns the value to use as the key in the -/// dictionary, which is usually the value parameter passed to -/// this callback, but may be a different value if a different -/// value should be used as the key. The dictionary's allocator -/// is passed as the first argument. -/// @field release The callback used to remove a retain previously added -/// for the dictionary from keys as their values are removed from -/// the dictionary. The dictionary's allocator is passed as the -/// first argument. -/// @field copyDescription The callback used to create a descriptive -/// string representation of each key in the dictionary. This -/// is used by the CFCopyDescription() function. -/// @field equal The callback used to compare keys in the dictionary for -/// equality. -/// @field hash The callback used to compute a hash code for keys as they -/// are used to access, add, or remove values in the dictionary. -typedef CFDictionaryRetainCallBack - = ffi.Pointer>; -typedef CFDictionaryRetainCallBackFunction = ffi.Pointer Function( - CFAllocatorRef allocator, ffi.Pointer value); -typedef CFDictionaryReleaseCallBack - = ffi.Pointer>; -typedef CFDictionaryReleaseCallBackFunction = ffi.Void Function( - CFAllocatorRef allocator, ffi.Pointer value); -typedef DartCFDictionaryReleaseCallBackFunction = void Function( - CFAllocatorRef allocator, ffi.Pointer value); -typedef CFDictionaryCopyDescriptionCallBack = ffi - .Pointer>; -typedef CFDictionaryCopyDescriptionCallBackFunction = CFStringRef Function( - ffi.Pointer value); -typedef CFStringRef = ffi.Pointer; - -final class CFString extends ffi.Opaque {} - -typedef CFDictionaryEqualCallBack - = ffi.Pointer>; -typedef CFDictionaryEqualCallBackFunction = ffi.UnsignedChar Function( - ffi.Pointer value1, ffi.Pointer value2); -typedef DartCFDictionaryEqualCallBackFunction = int Function( - ffi.Pointer value1, ffi.Pointer value2); -typedef CFDictionaryHashCallBack - = ffi.Pointer>; -typedef CFDictionaryHashCallBackFunction = CFHashCode Function( - ffi.Pointer value); -typedef DartCFDictionaryHashCallBackFunction = DartCFHashCode Function( - ffi.Pointer value); -typedef CFHashCode = ffi.UnsignedLong; -typedef DartCFHashCode = int; - -/// ! -/// @typedef CFDictionaryValueCallBacks -/// Structure containing the callbacks for values of a CFDictionary. -/// @field version The version number of the structure type being passed -/// in as a parameter to the CFDictionary creation functions. -/// This structure is version 0. -/// @field retain The callback used to add a retain for the dictionary -/// on values as they are put into the dictionary. -/// This callback returns the value to use as the value in the -/// dictionary, which is usually the value parameter passed to -/// this callback, but may be a different value if a different -/// value should be added to the dictionary. The dictionary's -/// allocator is passed as the first argument. -/// @field release The callback used to remove a retain previously added -/// for the dictionary from values as they are removed from -/// the dictionary. The dictionary's allocator is passed as the -/// first argument. -/// @field copyDescription The callback used to create a descriptive -/// string representation of each value in the dictionary. This -/// is used by the CFCopyDescription() function. -/// @field equal The callback used to compare values in the dictionary for -/// equality in some operations. -final class CFDictionaryValueCallBacks extends ffi.Struct { - @CFIndex() - external int version; - - external CFDictionaryRetainCallBack retain; - - external CFDictionaryReleaseCallBack release; - - external CFDictionaryCopyDescriptionCallBack copyDescription; - - external CFDictionaryEqualCallBack equal; -} - -/// ! -/// @typedef CFDictionaryRef -/// This is the type of a reference to immutable CFDictionarys. -typedef CFDictionaryRef = ffi.Pointer; - -final class CFDictionary extends ffi.Opaque {} - -final class CFArrayCallBacks extends ffi.Struct { - @CFIndex() - external int version; - - external CFArrayRetainCallBack retain; - - external CFArrayReleaseCallBack release; - - external CFArrayCopyDescriptionCallBack copyDescription; - - external CFArrayEqualCallBack equal; -} - -/// ! -/// @typedef CFArrayCallBacks -/// Structure containing the callbacks of a CFArray. -/// @field version The version number of the structure type being passed -/// in as a parameter to the CFArray creation functions. This -/// structure is version 0. -/// @field retain The callback used to add a retain for the array on -/// values as they are put into the array. This callback returns -/// the value to store in the array, which is usually the value -/// parameter passed to this callback, but may be a different -/// value if a different value should be stored in the array. -/// The array's allocator is passed as the first argument. -/// @field release The callback used to remove a retain previously added -/// for the array from values as they are removed from the -/// array. The array's allocator is passed as the first -/// argument. -/// @field copyDescription The callback used to create a descriptive -/// string representation of each value in the array. This is -/// used by the CFCopyDescription() function. -/// @field equal The callback used to compare values in the array for -/// equality for some operations. -typedef CFArrayRetainCallBack - = ffi.Pointer>; -typedef CFArrayRetainCallBackFunction = ffi.Pointer Function( - CFAllocatorRef allocator, ffi.Pointer value); -typedef CFArrayReleaseCallBack - = ffi.Pointer>; -typedef CFArrayReleaseCallBackFunction = ffi.Void Function( - CFAllocatorRef allocator, ffi.Pointer value); -typedef DartCFArrayReleaseCallBackFunction = void Function( - CFAllocatorRef allocator, ffi.Pointer value); -typedef CFArrayCopyDescriptionCallBack - = ffi.Pointer>; -typedef CFArrayCopyDescriptionCallBackFunction = CFStringRef Function( - ffi.Pointer value); -typedef CFArrayEqualCallBack - = ffi.Pointer>; -typedef CFArrayEqualCallBackFunction = ffi.UnsignedChar Function( - ffi.Pointer value1, ffi.Pointer value2); -typedef DartCFArrayEqualCallBackFunction = int Function( - ffi.Pointer value1, ffi.Pointer value2); -typedef CFDataRef = ffi.Pointer; - -final class CFData extends ffi.Opaque {} - -typedef CFNotificationName = CFStringRef; -typedef CFLocaleKey = CFStringRef; - -/// Values for kCFLocaleCalendarIdentifier -typedef CFCalendarIdentifier = CFStringRef; -typedef CFErrorDomain = CFStringRef; - -/// Identifier for character encoding; the values are the same as Text Encoding Converter TextEncoding. -typedef CFStringEncoding = ffi.UnsignedInt; -typedef DartCFStringEncoding = int; - -const int kCFCompareLessThan = -1; - -const int kCFCompareEqualTo = 0; - -const int kCFCompareGreaterThan = 1; - -const int kCFDataSearchBackwards = 1; - -const int kCFDataSearchAnchored = 2; - -const int kCFCharacterSetControl = 1; - -const int kCFCharacterSetWhitespace = 2; - -const int kCFCharacterSetWhitespaceAndNewline = 3; - -const int kCFCharacterSetDecimalDigit = 4; - -const int kCFCharacterSetLetter = 5; - -const int kCFCharacterSetLowercaseLetter = 6; - -const int kCFCharacterSetUppercaseLetter = 7; - -const int kCFCharacterSetNonBase = 8; - -const int kCFCharacterSetDecomposable = 9; - -const int kCFCharacterSetAlphaNumeric = 10; - -const int kCFCharacterSetPunctuation = 11; - -const int kCFCharacterSetCapitalizedLetter = 13; - -const int kCFCharacterSetSymbol = 14; - -const int kCFCharacterSetNewline = 15; - -const int kCFCharacterSetIllegal = 12; - -const int kCFNotificationDeliverImmediately = 1; - -const int kCFNotificationPostToAllSessions = 2; - -const int kCFLocaleLanguageDirectionUnknown = 0; - -const int kCFLocaleLanguageDirectionLeftToRight = 1; - -const int kCFLocaleLanguageDirectionRightToLeft = 2; - -const int kCFLocaleLanguageDirectionTopToBottom = 3; - -const int kCFLocaleLanguageDirectionBottomToTop = 4; - -const int kCFStringEncodingMacRoman = 0; - -const int kCFStringEncodingWindowsLatin1 = 1280; - -const int kCFStringEncodingISOLatin1 = 513; - -const int kCFStringEncodingNextStepLatin = 2817; - -const int kCFStringEncodingASCII = 1536; - -const int kCFStringEncodingUnicode = 256; - -const int kCFStringEncodingUTF8 = 134217984; - -const int kCFStringEncodingNonLossyASCII = 3071; - -const int kCFStringEncodingUTF16 = 256; - -const int kCFStringEncodingUTF16BE = 268435712; - -const int kCFStringEncodingUTF16LE = 335544576; - -const int kCFStringEncodingUTF32 = 201326848; - -const int kCFStringEncodingUTF32BE = 402653440; - -const int kCFStringEncodingUTF32LE = 469762304; - -const int kCFCompareCaseInsensitive = 1; - -const int kCFCompareBackwards = 4; - -const int kCFCompareAnchored = 8; - -const int kCFCompareNonliteral = 16; - -const int kCFCompareLocalized = 32; - -const int kCFCompareNumerically = 64; - -const int kCFCompareDiacriticInsensitive = 128; - -const int kCFCompareWidthInsensitive = 256; - -const int kCFCompareForcedOrdering = 512; - -const int kCFStringNormalizationFormD = 0; - -const int kCFStringNormalizationFormKD = 1; - -const int kCFStringNormalizationFormC = 2; - -const int kCFStringNormalizationFormKC = 3; diff --git a/packages/celest_auth/lib/src/native/darwin/darwin_ffi_helpers.dart b/packages/celest_auth/lib/src/native/darwin/darwin_ffi_helpers.dart deleted file mode 100644 index d975f8fc..00000000 --- a/packages/celest_auth/lib/src/native/darwin/darwin_ffi_helpers.dart +++ /dev/null @@ -1,112 +0,0 @@ -import 'dart:ffi'; - -import 'package:ffi/ffi.dart'; - -import 'core_foundation.ffi.dart'; - -extension StringToCFString on String { - /// Converts `this` to a [CFString] within the given [arena]. - Pointer toCFString(Arena arena) { - final str = toNativeUtf8(allocator: arena); - final cfStr = CFStringCreateWithCString( - nullptr, // default allocator - str.cast(), - kCFStringEncodingUTF8, - ); - arena.onReleaseAll(() { - CFRelease(cfStr.cast()); - }); - return cfStr; - } - - /// Converts `this` to a [CFData] within the given [arena]. - Pointer toCFData(Arena arena) { - final data = toNativeUtf8(allocator: arena); - final cfData = CFDataCreate( - nullptr, // default allocator - data.cast(), - data.length, - ); - arena.onReleaseAll(() { - CFRelease(cfData.cast()); - }); - return cfData; - } -} - -extension MapToCFDictionary on Map { - /// Converts `this` to a [CFDictionary] within the given [arena]. - Pointer toCFDictionary(Arena arena) { - final cfKeys = arena(length); - final cfValues = arena(length); - var i = 0; - for (final entry in entries) { - cfKeys[i] = entry.key.cast(); - cfValues[i] = entry.value.cast(); - i++; - } - final cfDict = CFDictionaryCreate( - nullptr, // default allocator - cfKeys, - cfValues, - length, - nullptr, // kCFTypeDictionaryKeyCallBacks - nullptr, // kCFTypeDictionaryValueCallBacks - ); - arena.onReleaseAll(() { - CFRelease(cfDict.cast()); - }); - return cfDict; - } -} - -extension CFDataRefToString on CFDataRef { - /// Converts `this` to a [String]. - String? toDartString() { - if (this == nullptr) { - return null; - } - final ptr = CFDataGetBytePtr(this); - if (ptr == nullptr) { - return null; - } - return ptr.cast().toDartString(); - } -} - -extension CFStringRefToString on CFStringRef { - /// Converts `this` to a [String]. - String? toDartString() { - if (this == nullptr) return null; - final cStringPtr = CFStringGetCStringPtr( - this, - kCFStringEncodingUTF8, - ); - if (cStringPtr != nullptr) { - return cStringPtr.cast().toDartString(); - } - // Call CFStringGetCString as a backup. - // See: https://developer.apple.com/documentation/corefoundation/1542133-cfstringgetcstringptr - final strLen = CFStringGetLength(this); - final maxLen = CFStringGetMaximumSizeForEncoding( - strLen, - kCFStringEncodingUTF8, - ) + - 1 /* terminating NUL byte */; - final buffer = calloc(maxLen); - try { - final ret = CFStringGetCString( - this, - buffer, - maxLen, - kCFStringEncodingUTF8, - ); - if (ret == 0 /* FALSE */) { - return null; - } - return buffer.cast().toDartString(); - } finally { - calloc.free(buffer); - } - } -} diff --git a/packages/celest_auth/lib/src/native/darwin/foundation.yaml b/packages/celest_auth/lib/src/native/darwin/foundation.yaml index fca9aabd..5ed24ce6 100644 --- a/packages/celest_auth/lib/src/native/darwin/foundation.yaml +++ b/packages/celest_auth/lib/src/native/darwin/foundation.yaml @@ -68,13 +68,13 @@ files: name: NSValue c:objc(cs)Protocol: name: Protocol - "objcBlock: cidr2x*? gplou5 e3833g": + "objcBlock: cptx1f*? c7w328 egoeft": name: ObjCBlock_ObjCObject_NSError_NSString - "objcBlock: d6nkhg d6nkhg* 20skwe": - name: ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong - "objcBlock: d6nkhg e3833g bool*": + "objcBlock: ejnfxy 3u6ow8* gyejpi": + name: ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong + "objcBlock: ejnfxy egoeft bool*": name: ObjCBlock_ffiVoid_NSString_bool - "objcBlock: d6nkhg e3833g? g9ysj6 g9ysj6 bool*": + "objcBlock: ejnfxy egoeft? dxgaxi dxgaxi bool*": name: ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool - "objcBlock: d6nkhg g39d4z* 20skwe": - name: ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong + "objcBlock: ejnfxy ejnfxy* gyejpi": + name: ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong diff --git a/packages/celest_auth/lib/src/native/darwin/security.ffi.dart b/packages/celest_auth/lib/src/native/darwin/security.ffi.dart deleted file mode 100644 index 8a719218..00000000 --- a/packages/celest_auth/lib/src/native/darwin/security.ffi.dart +++ /dev/null @@ -1,1594 +0,0 @@ -// ignore_for_file: type=lint -// ignore_for_file: return_of_invalid_type -// ignore_for_file: unnecessary_non_null_assertion - -// AUTO GENERATED FILE, DO NOT EDIT. -// -// Generated by `package:ffigen`. -import 'dart:ffi' as ffi; -import 'package:celest_auth/src/native/darwin/core_foundation.ffi.dart' as cf; - -@ffi.Native() -external double kCFCoreFoundationVersionNumber; - -/// Constant used by some functions to indicate failed searches. -@ffi.Native() -external final int kCFNotFound; - -/// the singleton null instance -@ffi.Native>() -external final ffi.Pointer<__CFNull> kCFNull; - -/// This is a synonym for NULL, if you'd rather use a named constant. -@ffi.Native>() -external final ffi.Pointer<__CFAllocator> kCFAllocatorDefault; - -/// Default system allocator; you rarely need to use this. -@ffi.Native>() -external final ffi.Pointer<__CFAllocator> kCFAllocatorSystemDefault; - -/// This allocator uses malloc(), realloc(), and free(). This should not be -/// generally used; stick to kCFAllocatorDefault whenever possible. This -/// allocator is useful as the "bytesDeallocator" in CFData or -/// "contentsDeallocator" in CFString where the memory was obtained as a -/// result of malloc() type functions. -@ffi.Native>() -external final ffi.Pointer<__CFAllocator> kCFAllocatorMalloc; - -/// This allocator explicitly uses the default malloc zone, returned by -/// malloc_default_zone(). It should only be used when an object is -/// safe to be allocated in non-scanned memory. -@ffi.Native>() -external final ffi.Pointer<__CFAllocator> kCFAllocatorMallocZone; - -/// Null allocator which does nothing and allocates no memory. This allocator -/// is useful as the "bytesDeallocator" in CFData or "contentsDeallocator" -/// in CFString where the memory should not be freed. -@ffi.Native>() -external final ffi.Pointer<__CFAllocator> kCFAllocatorNull; - -/// Special allocator argument to CFAllocatorCreate() which means -/// "use the functions given in the context to allocate the allocator -/// itself as well". -@ffi.Native>() -external final ffi.Pointer<__CFAllocator> kCFAllocatorUseContext; - -/// ! -/// @function SecCopyErrorMessageString -/// @abstract Returns a string describing the specified error result code. -/// @param status An error result code of type OSStatus or CSSM_RETURN, as returned by a Security or CSSM function. -/// @reserved Reserved for future use. Your code should pass NULL in this parameter. -/// @result A reference to an error string, or NULL if no error string is available for the specified result code. Your code must release this reference by calling the CFRelease function. -@ffi.Native)>() -external cf.CFStringRef SecCopyErrorMessageString( - int status, - ffi.Pointer reserved, -); - -@ffi.Native>() -external final ffi.Pointer<__CFBoolean> kCFBooleanTrue; - -@ffi.Native>() -external final ffi.Pointer<__CFBoolean> kCFBooleanFalse; - -@ffi.Native>() -external final ffi.Pointer<__CFNumber> kCFNumberPositiveInfinity; - -@ffi.Native>() -external final ffi.Pointer<__CFNumber> kCFNumberNegativeInfinity; - -@ffi.Native>() -external final ffi.Pointer<__CFNumber> kCFNumberNaN; - -/// ! -/// @constant kCFTypeArrayCallBacks -/// Predefined CFArrayCallBacks structure containing a set of callbacks -/// appropriate for use when the values in a CFArray are all CFTypes. -@ffi.Native() -external final CFArrayCallBacks kCFTypeArrayCallBacks; - -/// ! -/// @constant kCFTypeDictionaryKeyCallBacks -/// Predefined CFDictionaryKeyCallBacks structure containing a -/// set of callbacks appropriate for use when the keys of a -/// CFDictionary are all CFTypes. -@ffi.Native() -external final CFDictionaryKeyCallBacks kCFTypeDictionaryKeyCallBacks; - -/// ! -/// @constant kCFCopyStringDictionaryKeyCallBacks -/// Predefined CFDictionaryKeyCallBacks structure containing a -/// set of callbacks appropriate for use when the keys of a -/// CFDictionary are all CFStrings, which may be mutable and -/// need to be copied in order to serve as constant keys for -/// the values in the dictionary. -@ffi.Native() -external final CFDictionaryKeyCallBacks kCFCopyStringDictionaryKeyCallBacks; - -/// ! -/// @constant kCFTypeDictionaryValueCallBacks -/// Predefined CFDictionaryValueCallBacks structure containing a set -/// of callbacks appropriate for use when the values in a CFDictionary -/// are all CFTypes. -@ffi.Native() -external final CFDictionaryValueCallBacks kCFTypeDictionaryValueCallBacks; - -/// ! -/// @enum Class Key Constant -/// @discussion Predefined key constant used to get or set item class values in -/// a dictionary. Its value is one of the constants defined in the Value -/// Constants for kSecClass. -/// @constant kSecClass Specifies a dictionary key whose value is the item's -/// class code. You use this key to get or set a value of type CFTypeRef -/// that contains the item class code. -@ffi.Native() -external cf.CFStringRef kSecClass; - -/// ! -/// @enum Class Value Constants -/// @discussion Predefined item class constants used to get or set values in -/// a dictionary. The kSecClass constant is the key and its value is one -/// of the constants defined here. Note: on Mac OS X 10.6, only items -/// of class kSecClassInternetPassword are supported. -/// @constant kSecClassInternetPassword Specifies Internet password items. -/// @constant kSecClassGenericPassword Specifies generic password items. -/// @constant kSecClassCertificate Specifies certificate items. -/// @constant kSecClassKey Specifies key items. -/// @constant kSecClassIdentity Specifies identity items. -@ffi.Native() -external cf.CFStringRef kSecClassInternetPassword; - -@ffi.Native() -external cf.CFStringRef kSecClassGenericPassword; - -@ffi.Native() -external cf.CFStringRef kSecClassCertificate; - -@ffi.Native() -external cf.CFStringRef kSecClassKey; - -@ffi.Native() -external cf.CFStringRef kSecClassIdentity; - -/// ! -/// @enum Attribute Key Constants -/// @discussion Predefined item attribute keys used to get or set values in a -/// dictionary. Not all attributes apply to each item class. The table -/// below lists the currently defined attributes for each item class: -/// -/// kSecClassGenericPassword item attributes: -/// kSecAttrAccess (OS X only) -/// kSecAttrAccessControl -/// kSecAttrAccessGroup (iOS; also OS X if kSecAttrSynchronizable and/or kSecUseDataProtectionKeychain set) -/// kSecAttrAccessible (iOS; also OS X if kSecAttrSynchronizable and/or kSecUseDataProtectionKeychain set) -/// kSecAttrCreationDate -/// kSecAttrModificationDate -/// kSecAttrDescription -/// kSecAttrComment -/// kSecAttrCreator -/// kSecAttrType -/// kSecAttrLabel -/// kSecAttrIsInvisible -/// kSecAttrIsNegative -/// kSecAttrAccount -/// kSecAttrService -/// kSecAttrGeneric -/// kSecAttrSynchronizable -/// -/// kSecClassInternetPassword item attributes: -/// kSecAttrAccess (OS X only) -/// kSecAttrAccessControl -/// kSecAttrAccessGroup (iOS; also OS X if kSecAttrSynchronizable and/or kSecUseDataProtectionKeychain set) -/// kSecAttrAccessible (iOS; also OS X if kSecAttrSynchronizable and/or kSecUseDataProtectionKeychain set) -/// kSecAttrCreationDate -/// kSecAttrModificationDate -/// kSecAttrDescription -/// kSecAttrComment -/// kSecAttrCreator -/// kSecAttrType -/// kSecAttrLabel -/// kSecAttrIsInvisible -/// kSecAttrIsNegative -/// kSecAttrAccount -/// kSecAttrSecurityDomain -/// kSecAttrServer -/// kSecAttrProtocol -/// kSecAttrAuthenticationType -/// kSecAttrPort -/// kSecAttrPath -/// kSecAttrSynchronizable -/// -/// kSecClassCertificate item attributes: -/// kSecAttrAccessible (iOS only) -/// kSecAttrAccessControl (iOS only) -/// kSecAttrAccessGroup (iOS only) -/// kSecAttrCertificateType -/// kSecAttrCertificateEncoding -/// kSecAttrLabel -/// kSecAttrSubject -/// kSecAttrIssuer -/// kSecAttrSerialNumber -/// kSecAttrSubjectKeyID -/// kSecAttrPublicKeyHash -/// kSecAttrSynchronizable -/// -/// kSecClassKey item attributes: -/// kSecAttrAccess (OS X only) -/// kSecAttrAccessControl -/// kSecAttrAccessGroup (iOS; also OS X if kSecAttrSynchronizable and/or kSecUseDataProtectionKeychain set) -/// kSecAttrAccessible (iOS; also OS X if kSecAttrSynchronizable and/or kSecUseDataProtectionKeychain set) -/// kSecAttrKeyClass -/// kSecAttrLabel -/// kSecAttrApplicationLabel -/// kSecAttrIsPermanent -/// kSecAttrApplicationTag -/// kSecAttrKeyType -/// kSecAttrPRF (OS X only) -/// kSecAttrSalt (OS X only) -/// kSecAttrRounds (OS X only) -/// kSecAttrKeySizeInBits -/// kSecAttrEffectiveKeySize -/// kSecAttrCanEncrypt -/// kSecAttrCanDecrypt -/// kSecAttrCanDerive -/// kSecAttrCanSign -/// kSecAttrCanVerify -/// kSecAttrCanWrap -/// kSecAttrCanUnwrap -/// kSecAttrSynchronizable -/// -/// Note that the attributes kSecAttrCan* describe attributes of the -/// key itself at relatively high level. Some of these attributes are -/// mathematical -- for example, a DSA key cannot encrypt. Others are -/// key-level policy issues -- for example, it is good cryptographic -/// hygiene to use an RSA key either for encryption or signing but not -/// both. Compare these to the certificate-level policy values in -/// SecPolicy.h. -/// -/// kSecClassIdentity item attributes: -/// Since an identity is the combination of a private key and a -/// certificate, this class shares attributes of both kSecClassKey and -/// kSecClassCertificate. -/// -/// @constant kSecAttrAccessible Specifies a dictionary key whose value -/// indicates when your application needs access to an item's data. You -/// should choose the most restrictive option that meets your application's -/// needs to allow the system to protect that item in the best way possible. -/// See the "kSecAttrAccessible Value Constants" section for a list of -/// values which can be specified. -/// IMPORTANT: This attribute is currently not supported for OS X keychain -/// items, unless the kSecAttrSynchronizable attribute is also present. If -/// both attributes are specified on either OS X or iOS, the value for the -/// kSecAttrAccessible key may only be one whose name does not end with -/// "ThisDeviceOnly", as those cannot sync to another device. -/// -/// @constant kSecAttrAccessControl Specifies a dictionary key whose value -/// is SecAccessControl instance which contains access control conditions -/// for item. -/// IMPORTANT: This attribute is mutually exclusive with kSecAttrAccess -/// attribute. -/// -/// @constant kSecAttrAccess Specifies a dictionary key whose value -/// is a SecAccessRef describing the access control settings for this item. -/// This key is available on OS X only. -/// -/// @constant kSecAttrAccessGroup Specifies a dictionary key whose value is -/// a CFStringRef indicating which access group a item is in. The access -/// groups that a particular application has membership in are determined by -/// two entitlements for that application. The application-identifier -/// entitlement contains the application's single access group, unless -/// there is a keychain-access-groups entitlement present. The latter -/// has as its value a list of access groups; the first item in this list -/// is the default access group. Unless a specific access group is provided -/// as the value of kSecAttrAccessGroup when SecItemAdd is called, new items -/// are created in the application's default access group. Specifying this -/// attribute in SecItemCopyMatching, SecItemUpdate, or SecItemDelete calls -/// limits the search to the specified access group (of which the calling -/// application must be a member to obtain matching results.) To share -/// keychain items between multiple applications, each application must have -/// a common group listed in its keychain-access-groups entitlement, and each -/// must specify this shared access group name as the value for the -/// kSecAttrAccessGroup key in the dictionary passed to SecItem functions. -/// -/// @constant kSecAttrSynchronizable Specifies a dictionary key whose value is -/// a CFBooleanRef indicating whether the item in question can be synchronized. -/// To add a new item which can be synced to other devices, or to obtain -/// synchronizable results from a query, supply this key with a value of -/// kCFBooleanTrue. If the key is not supplied, or has a value of -/// kCFBooleanFalse, then no synchronizable items will be added or returned. -/// A predefined value, kSecAttrSynchronizableAny, may be provided instead of -/// kCFBooleanTrue if both synchronizable and non-synchronizable results are -/// desired. -/// -/// IMPORTANT: Specifying the kSecAttrSynchronizable key has several caveats: -/// -/// - Updating or deleting items using the kSecAttrSynchronizable key will -/// affect all copies of the item, not just the one on your local device. -/// Be sure that it makes sense to use the same password on all devices -/// before deciding to make a password synchronizable. -/// - Starting in iOS 14, macOS 11, and watchOS 7, the keychain -/// synchronizes passwords, certificates, and cryptographic keys. -/// Earlier OS versions synchronize only passwords. -/// - Items stored or obtained using the kSecAttrSynchronizable key cannot -/// specify SecAccessRef-based access control with kSecAttrAccess. If a -/// password is intended to be shared between multiple applications, the -/// kSecAttrAccessGroup key must be specified, and each application -/// using this password must have a 'keychain-access-groups' entitlement -/// with the specified access group value. -/// - Items stored or obtained using the kSecAttrSynchronizable key may -/// not also specify a kSecAttrAccessible value which is incompatible -/// with syncing (namely, those whose names end with "ThisDeviceOnly".) -/// - On macOS, when kSecAttrSynchronizable is set to true, returning -/// references is supported only for Certificate, Key or Identity items. -/// - Persistent references to synchronizable items should be avoided; -/// while they may work locally, they cannot be moved between devices, -/// and may not resolve if the item is modified on some other device. -/// - When specifying a query that uses the kSecAttrSynchronizable key, -/// search keys are limited to the item's class and attributes. -/// The only search constant which may be used is kSecMatchLimit; other -/// constants using the kSecMatch prefix are not supported at this time. -/// -/// @constant kSecAttrSynchronizableAny Specifies that both synchronizable and -/// non-synchronizable results should be returned from this query. This may be -/// used as a value for the kSecAttrSynchronizable dictionary key in a call to -/// SecItemCopyMatching, SecItemUpdate, or SecItemDelete. -/// -/// @constant kSecAttrCreationDate (read-only) Specifies a dictionary key whose -/// value is the item's creation date. You use this key to get a value -/// of type CFDateRef that represents the date the item was created. -/// @constant kSecAttrModificationDate (read-only) Specifies a dictionary key -/// whose value is the item's modification date. You use this key to get -/// a value of type CFDateRef that represents the last time the item was -/// updated. -/// @constant kSecAttrDescription Specifies a dictionary key whose value is -/// the item's description attribute. You use this key to set or get a -/// value of type CFStringRef that represents a user-visible string -/// describing this particular kind of item (e.g., "disk image password"). -/// @constant kSecAttrComment Specifies a dictionary key whose value is the -/// item's comment attribute. You use this key to set or get a value of -/// type CFStringRef containing the user-editable comment for this item. -/// @constant kSecAttrCreator Specifies a dictionary key whose value is the -/// item's creator attribute. You use this key to set or get a value of -/// type CFNumberRef that represents the item's creator. This number is -/// the unsigned integer representation of a four-character code (e.g., -/// 'aCrt'). -/// @constant kSecAttrType Specifies a dictionary key whose value is the item's -/// type attribute. You use this key to set or get a value of type -/// CFNumberRef that represents the item's type. This number is the -/// unsigned integer representation of a four-character code (e.g., -/// 'aTyp'). -/// @constant kSecAttrLabel Specifies a dictionary key whose value is the -/// item's label attribute. You use this key to set or get a value of -/// type CFStringRef containing the user-visible label for this item. -/// @constant kSecAttrIsInvisible Specifies a dictionary key whose value is the -/// item's invisible attribute. You use this key to set or get a value -/// of type CFBooleanRef that indicates whether the item is invisible -/// (i.e., should not be displayed.) -/// @constant kSecAttrIsNegative Specifies a dictionary key whose value is the -/// item's negative attribute. You use this key to set or get a value of -/// type CFBooleanRef that indicates whether there is a valid password -/// associated with this keychain item. This is useful if your application -/// doesn't want a password for some particular service to be stored in -/// the keychain, but prefers that it always be entered by the user. -/// @constant kSecAttrAccount Specifies a dictionary key whose value is the -/// item's account attribute. You use this key to set or get a CFStringRef -/// that contains an account name. (Items of class -/// kSecClassGenericPassword, kSecClassInternetPassword have this -/// attribute.) -/// @constant kSecAttrService Specifies a dictionary key whose value is the -/// item's service attribute. You use this key to set or get a CFStringRef -/// that represents the service associated with this item. (Items of class -/// kSecClassGenericPassword have this attribute.) -/// @constant kSecAttrGeneric Specifies a dictionary key whose value is the -/// item's generic attribute. You use this key to set or get a value of -/// CFDataRef that contains a user-defined attribute. (Items of class -/// kSecClassGenericPassword have this attribute.) -/// @constant kSecAttrSecurityDomain Specifies a dictionary key whose value -/// is the item's security domain attribute. You use this key to set or -/// get a CFStringRef value that represents the Internet security domain. -/// (Items of class kSecClassInternetPassword have this attribute.) -/// @constant kSecAttrServer Specifies a dictionary key whose value is the -/// item's server attribute. You use this key to set or get a value of -/// type CFStringRef that contains the server's domain name or IP address. -/// (Items of class kSecClassInternetPassword have this attribute.) -/// @constant kSecAttrProtocol Specifies a dictionary key whose value is the -/// item's protocol attribute. You use this key to set or get a value of -/// type CFNumberRef that denotes the protocol for this item (see the -/// SecProtocolType enum in SecKeychainItem.h). (Items of class -/// kSecClassInternetPassword have this attribute.) -/// @constant kSecAttrAuthenticationType Specifies a dictionary key whose value -/// is the item's authentication type attribute. You use this key to set -/// or get a value of type CFNumberRef that denotes the authentication -/// scheme for this item (see the kSecAttrAuthenticationType value -/// constants below). -/// @constant kSecAttrPort Specifies a dictionary key whose value is the item's -/// port attribute. You use this key to set or get a CFNumberRef value -/// that represents an Internet port number. (Items of class -/// kSecClassInternetPassword have this attribute.) -/// @constant kSecAttrPath Specifies a dictionary key whose value is the item's -/// path attribute, typically this is the path component of the URL. You use -/// this key to set or get a CFStringRef value that represents a path. (Items -/// of class kSecClassInternetPassword have this attribute.) -/// @constant kSecAttrSubject (read-only) Specifies a dictionary key whose -/// value is the item's subject. You use this key to get a value of type -/// CFDataRef that contains the X.500 subject name of a certificate. -/// (Items of class kSecClassCertificate have this attribute.) -/// @constant kSecAttrIssuer (read-only) Specifies a dictionary key whose value -/// is the item's issuer. You use this key to get a value of type -/// CFDataRef that contains the X.500 issuer name of a certificate. (Items -/// of class kSecClassCertificate have this attribute.) -/// @constant kSecAttrSerialNumber (read-only) Specifies a dictionary key whose -/// value is the item's serial number. You use this key to get a value -/// of type CFDataRef that contains the serial number data of a -/// certificate. (Items of class kSecClassCertificate have this -/// attribute.) -/// @constant kSecAttrSubjectKeyID (read-only) Specifies a dictionary key whose -/// value is the item's subject key ID. You use this key to get a value -/// of type CFDataRef that contains the subject key ID of a certificate. -/// (Items of class kSecClassCertificate have this attribute.) -/// @constant kSecAttrPublicKeyHash (read-only) Specifies a dictionary key -/// whose value is the item's public key hash. You use this key to get a -/// value of type CFDataRef that contains the hash of a certificate's -/// public key. (Items of class kSecClassCertificate have this attribute.) -/// @constant kSecAttrCertificateType (read-only) Specifies a dictionary key -/// whose value is the item's certificate type. You use this key to get -/// a value of type CFNumberRef that denotes the certificate type -/// (On iOS, currently the value of this attribute must be equal to the -/// version of the X509 certificate. So, 1 for v1, 2 for v2, and 3 for v3 -/// certificates). (On OSX, see the CSSM_CERT_TYPE enum in cssmtype.h). -/// Only items of class kSecClassCertificate have this attribute. -/// @constant kSecAttrCertificateEncoding (read-only) Specifies a dictionary -/// key whose value is the item's certificate encoding. You use this key -/// to get a value of type CFNumberRef that denotes the certificate -/// encoding (On iOS, currently only the value 3 meaning -/// kSecAttrCertificateEncodingDER is supported). On OSX, see the -/// CSSM_CERT_ENCODING enum in cssmtype.h. Only items of class -/// kSecClassCertificate have this attribute. -/// @constant kSecAttrKeyClass (read only) Specifies a dictionary key whose -/// value is one of kSecAttrKeyClassPublic, kSecAttrKeyClassPrivate or -/// kSecAttrKeyClassSymmetric. -/// @constant kSecAttrApplicationLabel Specifies a dictionary key whose value -/// is the key's application label attribute. This is different from the -/// kSecAttrLabel (which is intended to be human-readable). This attribute -/// is used to look up a key programmatically; in particular, for keys of -/// class kSecAttrKeyClassPublic and kSecAttrKeyClassPrivate, the value of -/// this attribute is the hash of the public key. This item is a type of CFDataRef. -/// Legacy keys may contain a UUID in this field as a CFStringRef. -/// @constant kSecAttrIsPermanent Specifies a dictionary key whose value is a -/// CFBooleanRef indicating whether the key in question will be stored -/// permanently. -/// @constant kSecAttrIsSensitive Specifies a dictionary key whose value is a -/// CFBooleanRef indicating that the key in question can only be exported -/// in a wrapped (encrypted) format. OS X only. -/// @constant kSecAttrIsExtractable Specifies a dictionary key whose value is a -/// CFBooleanRef indicating whether the key in question can be exported from -/// its keychain container. OS X only. -/// @constant kSecAttrApplicationTag Specifies a dictionary key whose value is a -/// CFDataRef containing private tag data. -/// @constant kSecAttrKeyType Specifies a dictionary key whose value is a -/// CFNumberRef indicating the algorithm associated with this key -/// (On iOS, currently only the value 42 is supported, alternatively you can use -/// kSecAttrKeyTypeRSA). (On OSX, see the CSSM_ALGORITHMS enum in cssmtype.h). -/// -/// @constant kSecAttrPRF Specifies a dictionary key whose value is the PRF -/// (pseudo-random function) for this key (see "kSecAttrPRF Value Constants".) -/// OS X only. -/// @constant kSecAttrSalt Specifies a dictionary key whose value is a -/// CFData containing the salt to use for this key. OS X only. -/// @constant kSecAttrRounds Specifies a dictionary key whose value is the -/// number of rounds for the pseudo-random function specified by kSecAttrPRF. -/// OS X only. -/// @constant kSecAttrKeySizeInBits Specifies a dictionary key whose value -/// is a CFNumberRef indicating the number of bits in this key. -/// @constant kSecAttrEffectiveKeySize Specifies a dictionary key whose value -/// is a CFNumberRef indicating the effective number of bits in this key. -/// For example, a DES key has a kSecAttrKeySizeInBits of 64, but a -/// kSecAttrEffectiveKeySize of 56 bits. -/// @constant kSecAttrCanEncrypt Specifies a dictionary key whole value is a -/// CFBooleanRef indicating whether the key in question can be used to -/// encrypt data. -/// @constant kSecAttrCanDecrypt Specifies a dictionary key whose value is a -/// CFBooleanRef indicating whether the key in question can be used to -/// decrypt data. -/// @constant kSecAttrCanDerive Specifies a dictionary key whole value is a -/// CFBooleanRef indicating whether the key in question can be used to -/// derive another key. -/// @constant kSecAttrCanSign Specifies a dictionary key whole value is a -/// CFBooleanRef indicating whether the key in question can be used to -/// create a digital signature. -/// @constant kSecAttrCanVerify Specifies a dictionary key whole value is a -/// CFBooleanRef indicating whether the key in question can be used to -/// verify a digital signature. -/// @constant kSecAttrCanWrap Specifies a dictionary key whole value is a -/// CFBooleanRef indicating whether the key in question can be used to -/// wrap another key. -/// @constant kSecAttrCanUnwrap Specifies a dictionary key whole value is a -/// CFBooleanRef indicating whether the key in question can be used to -/// unwrap another key. -/// @constant kSecAttrSyncViewHint Specifies a dictionary key whose value is -/// a CFStringRef. This value is part of the primary key of each item, and -/// can be used to help distiguish Sync Views when defining their -/// queries. iOS and sychronizable items only. -/// @constant kSecAttrTokenID Specifies a dictionary key whose presence -/// indicates that item is backed by external token. Value of this attribute -/// is CFStringRef uniquely identifying containing token. When this attribute -/// is not present, item is stored in internal keychain database. -/// Note that once item is created, this attribute cannot be changed - in other -/// words it is not possible to migrate existing items to, from or between tokens. -/// Currently the only available value for this attribute is -/// kSecAttrTokenIDSecureEnclave, which indicates that item (private key) is -/// backed by device's Secure Enclave. -@ffi.Native() -external cf.CFStringRef kSecAttrAccessible; - -@ffi.Native() -external cf.CFStringRef kSecAttrAccess; - -@ffi.Native() -external cf.CFStringRef kSecAttrAccessControl; - -@ffi.Native() -external cf.CFStringRef kSecAttrAccessGroup; - -@ffi.Native() -external cf.CFStringRef kSecAttrSynchronizable; - -@ffi.Native() -external cf.CFStringRef kSecAttrSynchronizableAny; - -@ffi.Native() -external cf.CFStringRef kSecAttrCreationDate; - -@ffi.Native() -external cf.CFStringRef kSecAttrModificationDate; - -@ffi.Native() -external cf.CFStringRef kSecAttrDescription; - -@ffi.Native() -external cf.CFStringRef kSecAttrComment; - -@ffi.Native() -external cf.CFStringRef kSecAttrCreator; - -@ffi.Native() -external cf.CFStringRef kSecAttrType; - -@ffi.Native() -external cf.CFStringRef kSecAttrLabel; - -@ffi.Native() -external cf.CFStringRef kSecAttrIsInvisible; - -@ffi.Native() -external cf.CFStringRef kSecAttrIsNegative; - -@ffi.Native() -external cf.CFStringRef kSecAttrAccount; - -@ffi.Native() -external cf.CFStringRef kSecAttrService; - -@ffi.Native() -external cf.CFStringRef kSecAttrGeneric; - -@ffi.Native() -external cf.CFStringRef kSecAttrSecurityDomain; - -@ffi.Native() -external cf.CFStringRef kSecAttrServer; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocol; - -@ffi.Native() -external cf.CFStringRef kSecAttrAuthenticationType; - -@ffi.Native() -external cf.CFStringRef kSecAttrPort; - -@ffi.Native() -external cf.CFStringRef kSecAttrPath; - -@ffi.Native() -external cf.CFStringRef kSecAttrSubject; - -@ffi.Native() -external cf.CFStringRef kSecAttrIssuer; - -@ffi.Native() -external cf.CFStringRef kSecAttrSerialNumber; - -@ffi.Native() -external cf.CFStringRef kSecAttrSubjectKeyID; - -@ffi.Native() -external cf.CFStringRef kSecAttrPublicKeyHash; - -@ffi.Native() -external cf.CFStringRef kSecAttrCertificateType; - -@ffi.Native() -external cf.CFStringRef kSecAttrCertificateEncoding; - -@ffi.Native() -external cf.CFStringRef kSecAttrKeyClass; - -@ffi.Native() -external cf.CFStringRef kSecAttrApplicationLabel; - -@ffi.Native() -external cf.CFStringRef kSecAttrIsPermanent; - -@ffi.Native() -external cf.CFStringRef kSecAttrIsSensitive; - -@ffi.Native() -external cf.CFStringRef kSecAttrIsExtractable; - -@ffi.Native() -external cf.CFStringRef kSecAttrApplicationTag; - -@ffi.Native() -external cf.CFStringRef kSecAttrKeyType; - -@ffi.Native() -external cf.CFStringRef kSecAttrPRF; - -@ffi.Native() -external cf.CFStringRef kSecAttrSalt; - -@ffi.Native() -external cf.CFStringRef kSecAttrRounds; - -@ffi.Native() -external cf.CFStringRef kSecAttrKeySizeInBits; - -@ffi.Native() -external cf.CFStringRef kSecAttrEffectiveKeySize; - -@ffi.Native() -external cf.CFStringRef kSecAttrCanEncrypt; - -@ffi.Native() -external cf.CFStringRef kSecAttrCanDecrypt; - -@ffi.Native() -external cf.CFStringRef kSecAttrCanDerive; - -@ffi.Native() -external cf.CFStringRef kSecAttrCanSign; - -@ffi.Native() -external cf.CFStringRef kSecAttrCanVerify; - -@ffi.Native() -external cf.CFStringRef kSecAttrCanWrap; - -@ffi.Native() -external cf.CFStringRef kSecAttrCanUnwrap; - -@ffi.Native() -external cf.CFStringRef kSecAttrSyncViewHint; - -@ffi.Native() -external cf.CFStringRef kSecAttrTokenID; - -@ffi.Native() -external cf.CFStringRef kSecAttrPersistantReference; - -@ffi.Native() -external cf.CFStringRef kSecAttrPersistentReference; - -/// ! -/// @enum kSecAttrAccessible Value Constants -/// @discussion Predefined item attribute constants used to get or set values -/// in a dictionary. The kSecAttrAccessible constant is the key and its -/// value is one of the constants defined here. -/// When asking SecItemCopyMatching to return the item's data, the error -/// errSecInteractionNotAllowed will be returned if the item's data is not -/// available until a device unlock occurs. -/// @constant kSecAttrAccessibleWhenUnlocked Item data can only be accessed -/// while the device is unlocked. This is recommended for items that only -/// need be accesible while the application is in the foreground. Items -/// with this attribute will migrate to a new device when using encrypted -/// backups. -/// @constant kSecAttrAccessibleAfterFirstUnlock Item data can only be -/// accessed once the device has been unlocked after a restart. This is -/// recommended for items that need to be accesible by background -/// applications. Items with this attribute will migrate to a new device -/// when using encrypted backups. -/// @constant kSecAttrAccessibleAlways Item data can always be accessed -/// regardless of the lock state of the device. This is not recommended -/// for anything except system use. Items with this attribute will migrate -/// to a new device when using encrypted backups. -/// @constant kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly Item data can -/// only be accessed while the device is unlocked. This is recommended for -/// items that only need to be accessible while the application is in the -/// foreground and requires a passcode to be set on the device. Items with -/// this attribute will never migrate to a new device, so after a backup -/// is restored to a new device, these items will be missing. This -/// attribute will not be available on devices without a passcode. Disabling -/// the device passcode will cause all previously protected items to -/// be deleted. -/// @constant kSecAttrAccessibleWhenUnlockedThisDeviceOnly Item data can only -/// be accessed while the device is unlocked. This is recommended for items -/// that only need be accesible while the application is in the foreground. -/// Items with this attribute will never migrate to a new device, so after -/// a backup is restored to a new device, these items will be missing. -/// @constant kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly Item data can -/// only be accessed once the device has been unlocked after a restart. -/// This is recommended for items that need to be accessible by background -/// applications. Items with this attribute will never migrate to a new -/// device, so after a backup is restored to a new device these items will -/// be missing. -/// @constant kSecAttrAccessibleAlwaysThisDeviceOnly Item data can always -/// be accessed regardless of the lock state of the device. This option -/// is not recommended for anything except system use. Items with this -/// attribute will never migrate to a new device, so after a backup is -/// restored to a new device, these items will be missing. -@ffi.Native() -external cf.CFStringRef kSecAttrAccessibleWhenUnlocked; - -@ffi.Native() -external cf.CFStringRef kSecAttrAccessibleAfterFirstUnlock; - -@ffi.Native() -external cf.CFStringRef kSecAttrAccessibleAlways; - -@ffi.Native() -external cf.CFStringRef kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly; - -@ffi.Native() -external cf.CFStringRef kSecAttrAccessibleWhenUnlockedThisDeviceOnly; - -@ffi.Native() -external cf.CFStringRef kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly; - -@ffi.Native() -external cf.CFStringRef kSecAttrAccessibleAlwaysThisDeviceOnly; - -/// ! -/// @enum kSecAttrProtocol Value Constants -/// @discussion Predefined item attribute constants used to get or set values -/// in a dictionary. The kSecAttrProtocol constant is the key and its -/// value is one of the constants defined here. -/// @constant kSecAttrProtocolFTP. -/// @constant kSecAttrProtocolFTPAccount. -/// @constant kSecAttrProtocolHTTP. -/// @constant kSecAttrProtocolIRC. -/// @constant kSecAttrProtocolNNTP. -/// @constant kSecAttrProtocolPOP3. -/// @constant kSecAttrProtocolSMTP. -/// @constant kSecAttrProtocolSOCKS. -/// @constant kSecAttrProtocolIMAP. -/// @constant kSecAttrProtocolLDAP. -/// @constant kSecAttrProtocolAppleTalk. -/// @constant kSecAttrProtocolAFP. -/// @constant kSecAttrProtocolTelnet. -/// @constant kSecAttrProtocolSSH. -/// @constant kSecAttrProtocolFTPS. -/// @constant kSecAttrProtocolHTTPS. -/// @constant kSecAttrProtocolHTTPProxy. -/// @constant kSecAttrProtocolHTTPSProxy. -/// @constant kSecAttrProtocolFTPProxy. -/// @constant kSecAttrProtocolSMB. -/// @constant kSecAttrProtocolRTSP. -/// @constant kSecAttrProtocolRTSPProxy. -/// @constant kSecAttrProtocolDAAP. -/// @constant kSecAttrProtocolEPPC. -/// @constant kSecAttrProtocolIPP. -/// @constant kSecAttrProtocolNNTPS. -/// @constant kSecAttrProtocolLDAPS. -/// @constant kSecAttrProtocolTelnetS. -/// @constant kSecAttrProtocolIMAPS. -/// @constant kSecAttrProtocolIRCS. -/// @constant kSecAttrProtocolPOP3S. -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolFTP; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolFTPAccount; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolHTTP; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolIRC; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolNNTP; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolPOP3; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolSMTP; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolSOCKS; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolIMAP; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolLDAP; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolAppleTalk; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolAFP; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolTelnet; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolSSH; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolFTPS; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolHTTPS; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolHTTPProxy; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolHTTPSProxy; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolFTPProxy; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolSMB; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolRTSP; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolRTSPProxy; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolDAAP; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolEPPC; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolIPP; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolNNTPS; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolLDAPS; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolTelnetS; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolIMAPS; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolIRCS; - -@ffi.Native() -external cf.CFStringRef kSecAttrProtocolPOP3S; - -/// ! -/// @enum kSecAttrAuthenticationType Value Constants -/// @discussion Predefined item attribute constants used to get or set values -/// in a dictionary. The kSecAttrAuthenticationType constant is the key -/// and its value is one of the constants defined here. -/// @constant kSecAttrAuthenticationTypeNTLM. -/// @constant kSecAttrAuthenticationTypeMSN. -/// @constant kSecAttrAuthenticationTypeDPA. -/// @constant kSecAttrAuthenticationTypeRPA. -/// @constant kSecAttrAuthenticationTypeHTTPBasic. -/// @constant kSecAttrAuthenticationTypeHTTPDigest. -/// @constant kSecAttrAuthenticationTypeHTMLForm. -/// @constant kSecAttrAuthenticationTypeDefault. -@ffi.Native() -external cf.CFStringRef kSecAttrAuthenticationTypeNTLM; - -@ffi.Native() -external cf.CFStringRef kSecAttrAuthenticationTypeMSN; - -@ffi.Native() -external cf.CFStringRef kSecAttrAuthenticationTypeDPA; - -@ffi.Native() -external cf.CFStringRef kSecAttrAuthenticationTypeRPA; - -@ffi.Native() -external cf.CFStringRef kSecAttrAuthenticationTypeHTTPBasic; - -@ffi.Native() -external cf.CFStringRef kSecAttrAuthenticationTypeHTTPDigest; - -@ffi.Native() -external cf.CFStringRef kSecAttrAuthenticationTypeHTMLForm; - -@ffi.Native() -external cf.CFStringRef kSecAttrAuthenticationTypeDefault; - -/// ! -/// @enum kSecAttrKeyClass Value Constants -/// @discussion Predefined item attribute constants used to get or set values -/// in a dictionary. The kSecAttrKeyClass constant is the key -/// and its value is one of the constants defined here. -/// @constant kSecAttrKeyClassPublic. -/// @constant kSecAttrKeyClassPrivate. -/// @constant kSecAttrKeyClassSymmetric. -@ffi.Native() -external cf.CFStringRef kSecAttrKeyClassPublic; - -@ffi.Native() -external cf.CFStringRef kSecAttrKeyClassPrivate; - -@ffi.Native() -external cf.CFStringRef kSecAttrKeyClassSymmetric; - -/// ! -/// @enum kSecAttrKeyType Value Constants -/// @discussion Predefined item attribute constants used to get or set values -/// in a dictionary. The kSecAttrKeyType constant is the key -/// and its value is one of the constants defined here. -/// @constant kSecAttrKeyTypeECSECPrimeRandom. The used curve is P-192, P-256, P-384 or P-521. -/// The size is specified by kSecAttrKeySizeInBits attribute. Curves are defined in FIPS PUB 186-4 standard. -/// @constant kSecAttrKeyTypeEC This is the legacy name for kSecAttrKeyTypeECSECPrimeRandom, new applications should not use it. -/// @constant kSecAttrKeyTypeDSA (OSX only) -/// @constant kSecAttrKeyTypeAES (OSX only) -/// @constant kSecAttrKeyType3DES (OSX only) -/// @constant kSecAttrKeyTypeRC4 (OSX only) -/// @constant kSecAttrKeyTypeRC2 (OSX only) -/// @constant kSecAttrKeyTypeCAST (OSX only) -/// @constant kSecAttrKeyTypeECDSA (deprecated; use kSecAttrKeyTypeECSECPrimeRandom instead.) (OSX only) -@ffi.Native() -external cf.CFStringRef kSecAttrKeyTypeRSA; - -@ffi.Native() -external cf.CFStringRef kSecAttrKeyTypeDSA; - -@ffi.Native() -external cf.CFStringRef kSecAttrKeyTypeAES; - -@ffi.Native() -external cf.CFStringRef kSecAttrKeyTypeDES; - -@ffi.Native() -external cf.CFStringRef kSecAttrKeyType3DES; - -@ffi.Native() -external cf.CFStringRef kSecAttrKeyTypeRC4; - -@ffi.Native() -external cf.CFStringRef kSecAttrKeyTypeRC2; - -@ffi.Native() -external cf.CFStringRef kSecAttrKeyTypeCAST; - -@ffi.Native() -external cf.CFStringRef kSecAttrKeyTypeECDSA; - -@ffi.Native() -external cf.CFStringRef kSecAttrKeyTypeEC; - -@ffi.Native() -external cf.CFStringRef kSecAttrKeyTypeECSECPrimeRandom; - -/// @enum kSecAttrPRF Value Constants -/// @discussion Predefined item attribute constants used to specify the PRF -/// to use with SecKeyDeriveFromPassword. OS X only. -/// @constant kSecAttrPRFHmacAlgSHA1 -/// @constant kSecAttrPRFHmacAlgSHA224 -/// @constant kSecAttrPRFHmacAlgSHA256 -/// @constant kSecAttrPRFHmacAlgSHA384 -/// @constant kSecAttrPRFHmacAlgSHA512 -@ffi.Native() -external cf.CFStringRef kSecAttrPRFHmacAlgSHA1; - -@ffi.Native() -external cf.CFStringRef kSecAttrPRFHmacAlgSHA224; - -@ffi.Native() -external cf.CFStringRef kSecAttrPRFHmacAlgSHA256; - -@ffi.Native() -external cf.CFStringRef kSecAttrPRFHmacAlgSHA384; - -@ffi.Native() -external cf.CFStringRef kSecAttrPRFHmacAlgSHA512; - -/// ! -/// @enum Search Constants -/// @discussion Predefined search constants used to set values in a query -/// dictionary. You can specify a combination of search attributes and -/// item attributes when looking for matching items with the -/// SecItemCopyMatching function. -/// @constant kSecMatchPolicy Specifies a dictionary key whose value is a -/// SecPolicyRef. If provided, returned certificates or identities must -/// verify with this policy. -/// @constant kSecMatchItemList OS X only. Specifies a dictionary key whose value is a -/// CFArray of SecKeychainItemRef items. If provided, returned items will be -/// limited to the subset which are contained in this list. -/// @constant kSecMatchSearchList Specifies a dictionary key whose value is a -/// CFArray of SecKeychainRef items. If provided, the search will be limited -/// to the keychains contained in this list. -/// @constant kSecMatchIssuers Specifies a dictionary key whose value is a -/// CFArray of X.500 names (of type CFDataRef). If provided, returned -/// certificates or identities will be limited to those whose -/// certificate chain contains one of the issuers provided in this list. -/// @constant kSecMatchEmailAddressIfPresent Specifies a dictionary key whose -/// value is a CFStringRef containing an RFC822 email address. If -/// provided, returned certificates or identities will be limited to those -/// that contain the address in their subject or subject alternative name. -/// @constant kSecMatchSubjectContains Specifies a dictionary key whose value -/// is a CFStringRef. If provided, returned certificates or identities -/// will be limited to those containing this string in the subject. -/// @constant kSecMatchSubjectStartsWith OS X only. Specifies a dictionary key whose value -/// is a CFStringRef. If provided, returned certificates or identities -/// will be limited to those with subject names that start with this string. -/// @constant kSecMatchSubjectEndsWith OS X only. Specifies a dictionary key whose value -/// is a CFStringRef. If provided, returned certificates or identities -/// will be limited to those with subject names that end with this string. -/// @constant kSecMatchSubjectWholeString OS X only. Specifies a dictionary key whose -/// value is a CFStringRef. If provided, returned certificates or identities -/// will be limited to those matching this string exactly in the subject. -/// @constant kSecMatchCaseInsensitive Specifies a dictionary key whose value -/// is a CFBooleanRef. If this value is kCFBooleanFalse, or is not -/// provided, then case-sensitive string matching is performed. -/// @constant kSecMatchDiacriticInsensitive OS X only. Specifies a dictionary key whose -/// value is a CFBooleanRef. If this value is kCFBooleanFalse, or is not -/// provided, then diacritic-sensitive string matching is performed. -/// @constant kSecMatchWidthInsensitive OS X only. Specifies a dictionary key whose -/// value is a CFBooleanRef. If this value is kCFBooleanFalse, or is not -/// provided, then string matching is width-sensitive (e.g. 'a' != 0xFF41). -/// @constant kSecMatchTrustedOnly Specifies a dictionary key whose value is -/// a CFBooleanRef. If provided with a value of kCFBooleanTrue, only -/// certificates which can be verified back to a trusted anchor will be -/// returned. If this value is kCFBooleanFalse, or is not provided, then -/// both trusted and untrusted certificates may be returned. -/// @constant kSecMatchValidOnDate Specifies a dictionary key whose value is -/// of type CFDateRef. If provided, returned keys, certificates or -/// identities will be limited to those which are valid for the given date. -/// Pass a value of kCFNull to indicate the current date. -/// @constant kSecMatchLimit Specifies a dictionary key whose value is a -/// CFNumberRef. If provided, this value specifies the maximum number of -/// results to return. If not provided, results are limited to the first -/// item found. Predefined values are provided for a single item -/// (kSecMatchLimitOne) and all matching items (kSecMatchLimitAll). -/// @constant kSecMatchLimitOne Specifies that results are limited to the first -/// item found; used as a value for the kSecMatchLimit dictionary key. -/// @constant kSecMatchLimitAll Specifies that an unlimited number of results -/// may be returned; used as a value for the kSecMatchLimit dictionary -/// key. -@ffi.Native() -external cf.CFStringRef kSecMatchPolicy; - -@ffi.Native() -external cf.CFStringRef kSecMatchItemList; - -@ffi.Native() -external cf.CFStringRef kSecMatchSearchList; - -@ffi.Native() -external cf.CFStringRef kSecMatchIssuers; - -@ffi.Native() -external cf.CFStringRef kSecMatchEmailAddressIfPresent; - -@ffi.Native() -external cf.CFStringRef kSecMatchSubjectContains; - -@ffi.Native() -external cf.CFStringRef kSecMatchSubjectStartsWith; - -@ffi.Native() -external cf.CFStringRef kSecMatchSubjectEndsWith; - -@ffi.Native() -external cf.CFStringRef kSecMatchSubjectWholeString; - -@ffi.Native() -external cf.CFStringRef kSecMatchCaseInsensitive; - -@ffi.Native() -external cf.CFStringRef kSecMatchDiacriticInsensitive; - -@ffi.Native() -external cf.CFStringRef kSecMatchWidthInsensitive; - -@ffi.Native() -external cf.CFStringRef kSecMatchTrustedOnly; - -@ffi.Native() -external cf.CFStringRef kSecMatchValidOnDate; - -@ffi.Native() -external cf.CFStringRef kSecMatchLimit; - -@ffi.Native() -external cf.CFStringRef kSecMatchLimitOne; - -@ffi.Native() -external cf.CFStringRef kSecMatchLimitAll; - -/// ! -/// @enum Return Type Key Constants -/// @discussion Predefined return type keys used to set values in a dictionary. -/// You use these keys to specify the type of results which should be -/// returned by the SecItemCopyMatching or SecItemAdd function. You can -/// specify zero or more of these return types. If more than one of these -/// result types is specified, the result is returned as a CFDictionaryRef -/// whose keys are the result types and values are the requested data. -/// @constant kSecReturnData Specifies a dictionary key whose value is of type -/// CFBooleanRef. A value of kCFBooleanTrue indicates that the data of -/// an item (CFDataRef) should be returned. For keys and password -/// items, data is secret (encrypted) and may require the user to enter -/// a password for access. -/// @constant kSecReturnAttributes Specifies a dictionary key whose value is -/// of type CFBooleanRef. A value of kCFBooleanTrue indicates that the -/// (non-encrypted) attributes of an item (CFDictionaryRef) should be -/// returned. -/// @constant kSecReturnRef Specifies a dictionary key whose value is a -/// CFBooleanRef. A value of kCFBooleanTrue indicates that a reference -/// should be returned. Depending on the item class requested, the -/// returned reference(s) may be of type SecKeychainItemRef, SecKeyRef, -/// SecCertificateRef, or SecIdentityRef. Note that returning references is -/// supported only for Certificate, Key or Identity items on iOS, watchOS and -/// tvOS. Similarly, returning references is supported only for Certificate, Key -/// or Identity items on macOS when either kSecUseDataProtectionKeychain -/// is set to true or kSecAttrSynchronizable is set to true. -/// @constant kSecReturnPersistentRef Specifies a dictionary key whose value -/// is of type CFBooleanRef. A value of kCFBooleanTrue indicates that a -/// persistent reference to an item (CFDataRef) should be returned. -@ffi.Native() -external cf.CFStringRef kSecReturnData; - -@ffi.Native() -external cf.CFStringRef kSecReturnAttributes; - -@ffi.Native() -external cf.CFStringRef kSecReturnRef; - -@ffi.Native() -external cf.CFStringRef kSecReturnPersistentRef; - -/// ! -/// @enum Value Type Key Constants -/// @discussion Predefined value type keys used to pass values in a dictionary. -/// You can specify zero or more of these types depending on the function -/// you are calling. For SecItemCopyMatching or SecItemAdd these are -/// used as keys in the results dictionary. -/// @constant kSecValueData Specifies a dictionary key whose value is of type -/// CFDataRef. For keys and password items, data is secret (encrypted) -/// and may require the user to enter a password for access. -/// @constant kSecValueRef Specifies a dictionary key whose value, depending -/// on the item class requested, is of type SecKeychainItemRef, SecKeyRef, -/// SecCertificateRef, or SecIdentityRef. -/// @constant kSecValuePersistentRef Specifies a dictionary key whose value -/// is of type CFDataRef. The bytes in this CFDataRef can be stored by -/// the caller and used on a subsequent invocation of the application (or -/// even a different application) to retrieve the item referenced by it. -@ffi.Native() -external cf.CFStringRef kSecValueData; - -@ffi.Native() -external cf.CFStringRef kSecValueRef; - -@ffi.Native() -external cf.CFStringRef kSecValuePersistentRef; - -/// ! -/// @enum Other Constants -/// @discussion Predefined constants used to set values in a dictionary. -/// @constant kSecUseItemList Specifies a dictionary key whose value is a -/// CFArray of items. If provided, this array is treated as the set of -/// all possible items to search, or add if the API being called is -/// SecItemAdd. The items in this array may be of type SecKeyRef, -/// SecCertificateRef, SecIdentityRef, or CFDataRef (for a persistent -/// item reference.) The items in the array must all be of the same -/// type. When this attribute is provided, no keychains are searched. -/// @constant kSecUseKeychain OS X only. Specifies a dictionary key whose value is a -/// keychain reference. You use this key to specify a value of type -/// SecKeychainRef to which SecItemAdd will add the provided item(s). -/// @constant kSecUseOperationPrompt Specifies a dictionary key whose value -/// is a CFStringRef that represents a user-visible string describing -/// the operation for which the application is attempting to authenticate. -/// The application is responsible for the text localization. -/// @constant kSecUseNoAuthenticationUI OS X only. Specifies a dictionary key whose value -/// is a CFBooleanRef. If provided with a value of kCFBooleanTrue, the error -/// errSecInteractionNotAllowed will be returned if the item is attempting -/// to authenticate with UI. -/// @constant kSecUseAuthenticationUI Specifies a dictionary key whose value -/// is one of kSecUseAuthenticationUIAllow, kSecUseAuthenticationUIFail, kSecUseAuthenticationUISkip. -/// @constant kSecUseAuthenticationContext Specifies a dictionary key whose value -/// is LAContext to be used for keychain item authentication. -/// If the item requires authentication and this key is omitted, a new context -/// will be created just for the purpose of the single call. -/// If the specified context has been previously authenticated, the operation -/// will succeed without asking user for authentication. -/// If the specified context has not been previously authenticated, the new -/// authentication will be started on this context, allowing caller to -/// eventually reuse the successfully authenticated context in subsequent -/// keychain operations. -/// @constant kSecUseDataProtectionKeychain Specifies a dictionary key whose value -/// is a CFBooleanRef. Set to kCFBooleanTrue to use kSecAttrAccessGroup and/or -/// kSecAttrAccessible on macOS without requiring the item to be marked synchronizable. -/// Note that when kSecUseDataProtectionKeychain is set to true, returning references is -/// supported only for Certificate, Key or Identity items. -/// @constant kSecUseUserIndependentKeychain Specifies a dctionary key whose value is a CFBooleanRef -/// indicating whether the item is shared with other personas on the system. -@ffi.Native() -external cf.CFStringRef kSecUseItemList; - -@ffi.Native() -external cf.CFStringRef kSecUseKeychain; - -@ffi.Native() -external cf.CFStringRef kSecUseOperationPrompt; - -@ffi.Native() -external cf.CFStringRef kSecUseNoAuthenticationUI; - -@ffi.Native() -external cf.CFStringRef kSecUseAuthenticationUI; - -@ffi.Native() -external cf.CFStringRef kSecUseAuthenticationContext; - -@ffi.Native() -external cf.CFStringRef kSecUseDataProtectionKeychain; - -@ffi.Native() -external cf.CFStringRef kSecUseUserIndependentKeychain; - -/// ! -/// @enum kSecUseAuthenticationUI Value Constants -/// @discussion Predefined item attribute constants used to get or set values -/// in a dictionary. The kSecUseAuthenticationUI constant is the key and its -/// value is one of the constants defined here. -/// If the key kSecUseAuthenticationUI not provided then kSecUseAuthenticationUIAllow -/// is used as default. -/// @constant kSecUseAuthenticationUIAllow Specifies that authenticate UI can appear. -/// @constant kSecUseAuthenticationUIFail Specifies that the error -/// errSecInteractionNotAllowed will be returned if an item needs -/// to authenticate with UI -/// @constant kSecUseAuthenticationUISkip Specifies that all items which need -/// to authenticate with UI will be silently skipped. This value can be used -/// only with SecItemCopyMatching. -@ffi.Native() -external cf.CFStringRef kSecUseAuthenticationUIAllow; - -@ffi.Native() -external cf.CFStringRef kSecUseAuthenticationUIFail; - -@ffi.Native() -external cf.CFStringRef kSecUseAuthenticationUISkip; - -/// ! -/// @enum kSecAttrTokenID Value Constants -/// @discussion Predefined item attribute constant used to get or set values -/// in a dictionary. The kSecAttrTokenID constant is the key and its value -/// can be kSecAttrTokenIDSecureEnclave. -/// @constant kSecAttrTokenIDSecureEnclave Specifies well-known identifier of the -/// token implemented using device's Secure Enclave. The only keychain items -/// supported by the Secure Enclave token are 256-bit elliptic curve keys -/// (kSecAttrKeyTypeECSecPrimeRandom). Keys must be generated on the secure enclave using -/// SecKeyGenerateKeyPair call with kSecAttrTokenID set to -/// kSecAttrTokenIDSecureEnclave in the parameters dictionary, it is not -/// possible to import pregenerated keys to kSecAttrTokenIDSecureEnclave token. -@ffi.Native() -external cf.CFStringRef kSecAttrTokenIDSecureEnclave; - -/// ! -/// @enum kSecAttrAccessGroup Value Constants -/// @constant kSecAttrAccessGroupToken Represents well-known access group -/// which contains items provided by external token (typically smart card). -/// This may be used as a value for kSecAttrAccessGroup attribute. Every -/// application has access to this access group so it is not needed to -/// explicitly list it in keychain-access-groups entitlement, but application -/// must explicitly state this access group in keychain queries in order to -/// be able to access items from external tokens. -@ffi.Native() -external cf.CFStringRef kSecAttrAccessGroupToken; - -/// ! -/// @function SecItemCopyMatching -/// @abstract Returns one or more items which match a search query. -/// @param query A dictionary containing an item class specification and -/// optional attributes for controlling the search. See the "Keychain -/// Search Attributes" section for a description of currently defined -/// search attributes. -/// @param result On return, a CFTypeRef reference to the found item(s). The -/// exact type of the result is based on the search attributes supplied -/// in the query, as discussed below. -/// @result A result code. See "Security Error Codes" (SecBase.h). -/// @discussion Attributes defining a search are specified by adding key/value -/// pairs to the query dictionary. -/// -/// A typical query consists of: -/// -/// a kSecClass key, whose value is a constant from the Class -/// Constants section that specifies the class of item(s) to be searched -/// one or more keys from the "Attribute Key Constants" section, whose value -/// is the attribute data to be matched -/// one or more keys from the "Search Constants" section, whose value is -/// used to further refine the search -/// a key from the "Return Type Key Constants" section, specifying the type of -/// results desired -/// -/// Result types are specified as follows: -/// -/// To obtain the data of a matching item (CFDataRef), specify -/// kSecReturnData with a value of kCFBooleanTrue. -/// To obtain the attributes of a matching item (CFDictionaryRef), specify -/// kSecReturnAttributes with a value of kCFBooleanTrue. -/// To obtain a reference to a matching item (SecKeychainItemRef, -/// SecKeyRef, SecCertificateRef, or SecIdentityRef), specify kSecReturnRef -/// with a value of kCFBooleanTrue. Note that returning references is -/// supported only for Certificate, Key or Identity items on iOS, watchOS and -/// tvOS. Similarly, returning references is supported only for Certificate, Key -/// or Identity items on macOS when either kSecUseDataProtectionKeychain -/// is set to true or kSecAttrSynchronizable is set to true. -/// To obtain a persistent reference to a matching item (CFDataRef), -/// specify kSecReturnPersistentRef with a value of kCFBooleanTrue. Note -/// that unlike normal references, a persistent reference may be stored -/// on disk or passed between processes. -/// If more than one of these result types is specified, the result is -/// returned as a CFDictionaryRef containing all the requested data. -/// If a result type is not specified, no results are returned. -/// -/// By default, this function returns only the first match found. To obtain -/// more than one matching item at a time, specify kSecMatchLimit with a value -/// greater than 1. The result will be a CFArrayRef containing up to that -/// number of matching items; the items' types are described above. -/// -/// To filter a provided list of items down to those matching the query, -/// specify a kSecMatchItemList whose value is a CFArray of SecKeychainItemRef, -/// SecKeyRef, SecCertificateRef, or SecIdentityRef items. The objects in the -/// provided array must be of the same type. -/// -/// On iOS, to convert from a persistent item reference to a normal item reference, -/// specify a kSecValuePersistentRef whose value a CFDataRef (the persistent -/// reference), and a kSecReturnRef whose value is kCFBooleanTrue. -/// -/// On OSX, to convert from persistent item references to normal item references, -/// specify a kSecMatchItemList whose value is a CFArray containing one or -/// more CFDataRef elements (the persistent reference), and a kSecReturnRef -/// whose value is kCFBooleanTrue. The objects in the provided array must be -/// of the same type. -@ffi.Native)>() -external int SecItemCopyMatching( - cf.CFDictionaryRef query, - ffi.Pointer result, -); - -/// ! -/// @function SecItemAdd -/// @abstract Add one or more items to a keychain. -/// @param attributes A dictionary containing an item class specification and -/// optional entries specifying the item's attribute values. See the -/// "Attribute Key Constants" section for a description of currently defined -/// attributes. -/// @param result On return, a CFTypeRef reference to the newly added item(s). -/// The exact type of the result is based on the values supplied -/// in attributes, as discussed below. Pass NULL if this result is not -/// required. -/// @result A result code. See "Security Error Codes" (SecBase.h). -/// @discussion Attributes defining an item are specified by adding key/value -/// pairs to the attributes dictionary. To add multiple items to a keychain -/// at once use the kSecUseItemList key with an array of items as its value. -/// This is currently only supported for non password items. -/// -/// On OSX, To add an item to a particular keychain, supply kSecUseKeychain -/// with a SecKeychainRef as its value. -/// -/// On iOS, watchOS & tvOS, Certificate, Key, and Identity items may be -/// added by reference, but neither Internet Passwords nor Generic Passwords -/// may be. Similarly, on macOS with either kSecUseDataProtectionKeychain -/// set to true or kSecAttrSynchronizable set to true, Certificate, Key, and Identity -/// items may be added by reference, but neither Internet Passwords nor Generic -/// Passwords may be. -/// -/// Result types are specified as follows: -/// -/// To obtain the data of the added item (CFDataRef), specify -/// kSecReturnData with a value of kCFBooleanTrue. -/// To obtain all the attributes of the added item (CFDictionaryRef), -/// specify kSecReturnAttributes with a value of kCFBooleanTrue. -/// To obtain a reference to the added item (SecKeychainItemRef, SecKeyRef, -/// SecCertificateRef, or SecIdentityRef), specify kSecReturnRef with a -/// value of kCFBooleanTrue. See also note about kSecReturnRef and -/// macOS. -/// To obtain a persistent reference to the added item (CFDataRef), specify -/// kSecReturnPersistentRef with a value of kCFBooleanTrue. Note that -/// unlike normal references, a persistent reference may be stored on disk -/// or passed between processes. -/// If more than one of these result types is specified, the result is -/// returned as a CFDictionaryRef containing all the requested data. -/// On iOS, if a result type is not specified, no results are returned. -/// On OSX, the added item is returned. -@ffi.Native)>() -external int SecItemAdd( - cf.CFDictionaryRef attributes, - ffi.Pointer result, -); - -/// ! -/// @function SecItemUpdate -/// @abstract Modify zero or more items which match a search query. -/// @param query A dictionary containing an item class specification and -/// optional attributes for controlling the search. See the "Attribute -/// Constants" and "Search Constants" sections for a description of -/// currently defined search attributes. -/// @param attributesToUpdate A dictionary containing one or more attributes -/// whose values should be set to the ones specified. Only real keychain -/// attributes are permitted in this dictionary (no "meta" attributes are -/// allowed.) See the "Attribute Key Constants" section for a description of -/// currently defined value attributes. -/// @result A result code. See "Security Error Codes" (SecBase.h). -/// @discussion Attributes defining a search are specified by adding key/value -/// pairs to the query dictionary. -@ffi.Native() -external int SecItemUpdate( - cf.CFDictionaryRef query, - cf.CFDictionaryRef attributesToUpdate, -); - -/// ! -/// @function SecItemDelete -/// @abstract Delete zero or more items which match a search query. -/// @param query A dictionary containing an item class specification and -/// optional attributes for controlling the search. See the "Attribute -/// Constants" and "Search Constants" sections for a description of -/// currently defined search attributes. -/// @result A result code. See "Security Error Codes" (SecBase.h). -/// @discussion Attributes defining a search are specified by adding key/value -/// pairs to the query dictionary. -/// -/// By default, this function deletes all items matching the specified query. -/// You can change this behavior by specifying one of the follow keys: -/// -/// To delete an item identified by a transient reference, on iOS, specify -/// kSecValueRef with a item reference. On OS X, give a kSecMatchItemList -/// containing an item reference. -/// To delete an item identified by a persistent reference, on iOS, specify -/// kSecValuePersistentRef with a persistent reference returned by -/// using the kSecReturnPersistentRef key to SecItemCopyMatching or -/// SecItemAdd. on OSX, use kSecMatchItemList with a persistent reference -/// returned by using the kSecReturnPersistentRef key with -/// SecItemCopyMatching or SecItemAdd. -/// To delete multiple items specify kSecMatchItemList with an array -/// of references. -/// If more than one of these result keys is specified, the behavior is -/// undefined. -@ffi.Native() -external int SecItemDelete( - cf.CFDictionaryRef query, -); - -final class __CFNull extends ffi.Opaque {} - -final class __CFAllocator extends ffi.Opaque {} - -final class __CFBoolean extends ffi.Opaque {} - -final class __CFNumber extends ffi.Opaque {} - -final class CFArrayCallBacks extends ffi.Struct { - @ffi.Long() - external int version; - - external ffi.Pointer< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer<__CFAllocator>, ffi.Pointer)>> retain; - - external ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer<__CFAllocator>, ffi.Pointer)>> release; - - external ffi.Pointer< - ffi.NativeFunction)>> - copyDescription; - - external ffi.Pointer< - ffi.NativeFunction< - ffi.UnsignedChar Function( - ffi.Pointer, ffi.Pointer)>> equal; -} - -final class CFDictionaryKeyCallBacks extends ffi.Struct { - @ffi.Long() - external int version; - - external ffi.Pointer< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer<__CFAllocator>, ffi.Pointer)>> retain; - - external ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer<__CFAllocator>, ffi.Pointer)>> release; - - external ffi.Pointer< - ffi.NativeFunction)>> - copyDescription; - - external ffi.Pointer< - ffi.NativeFunction< - ffi.UnsignedChar Function( - ffi.Pointer, ffi.Pointer)>> equal; - - external ffi.Pointer< - ffi.NativeFunction)>> - hash; -} - -/// ! -/// @typedef CFDictionaryValueCallBacks -/// Structure containing the callbacks for values of a CFDictionary. -/// @field version The version number of the structure type being passed -/// in as a parameter to the CFDictionary creation functions. -/// This structure is version 0. -/// @field retain The callback used to add a retain for the dictionary -/// on values as they are put into the dictionary. -/// This callback returns the value to use as the value in the -/// dictionary, which is usually the value parameter passed to -/// this callback, but may be a different value if a different -/// value should be added to the dictionary. The dictionary's -/// allocator is passed as the first argument. -/// @field release The callback used to remove a retain previously added -/// for the dictionary from values as they are removed from -/// the dictionary. The dictionary's allocator is passed as the -/// first argument. -/// @field copyDescription The callback used to create a descriptive -/// string representation of each value in the dictionary. This -/// is used by the CFCopyDescription() function. -/// @field equal The callback used to compare values in the dictionary for -/// equality in some operations. -final class CFDictionaryValueCallBacks extends ffi.Struct { - @ffi.Long() - external int version; - - external ffi.Pointer< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer<__CFAllocator>, ffi.Pointer)>> retain; - - external ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer<__CFAllocator>, ffi.Pointer)>> release; - - external ffi.Pointer< - ffi.NativeFunction)>> - copyDescription; - - external ffi.Pointer< - ffi.NativeFunction< - ffi.UnsignedChar Function( - ffi.Pointer, ffi.Pointer)>> equal; -} - -const int errSecSuccess = 0; - -const int errSecUserCanceled = -128; - -const int errSecMissingEntitlement = -34018; - -const int errSecAuthFailed = -25293; - -const int errSecDuplicateItem = -25299; - -const int errSecItemNotFound = -25300; - -const int errSecInteractionRequired = -25315; - -const int errSecInvalidOwnerEdit = -25244; diff --git a/packages/celest_auth/lib/src/storage/secure_storage.android.dart b/packages/celest_auth/lib/src/storage/secure_storage.android.dart deleted file mode 100644 index 61e88856..00000000 --- a/packages/celest_auth/lib/src/storage/secure_storage.android.dart +++ /dev/null @@ -1,41 +0,0 @@ -import 'package:celest_auth/src/native/android/jni_bindings.ffi.dart'; -import 'package:celest_auth/src/storage/secure_storage.dart'; -import 'package:jni/jni.dart'; - -final class SecureStoragePlatformAndroid extends SecureStoragePlatform { - SecureStoragePlatformAndroid() : super.base() { - Jni.initDLApi(); - } - - late final Activity _mainActivity = - Activity.fromRef(Jni.getCurrentActivity()); - late final CelestSecureStorage _secureStorage = - CelestSecureStorage(_mainActivity); - - @override - void clear() => _secureStorage.clear(); - - @override - String? delete(String key) { - final value = _secureStorage.delete(key.toJString()); - if (value.isNull) { - return null; - } - return value.toDartString(); - } - - @override - String? read(String key) => - _secureStorage.read(key.toJString()).toDartString(); - - @override - Map readAll() => _secureStorage.readAll().map( - (key, value) => MapEntry(key.toDartString(), value.toDartString()), - ); - - @override - String write(String key, String value) { - _secureStorage.write(key.toJString(), value.toJString()); - return value; - } -} diff --git a/packages/celest_auth/lib/src/storage/secure_storage.dart b/packages/celest_auth/lib/src/storage/secure_storage.dart deleted file mode 100644 index 89dc26fa..00000000 --- a/packages/celest_auth/lib/src/storage/secure_storage.dart +++ /dev/null @@ -1,37 +0,0 @@ -import 'package:celest_auth/src/storage/secure_storage.android.dart'; -import 'package:celest_auth/src/storage/secure_storage.darwin.dart'; -import 'package:celest_auth/src/storage/secure_storage.stub.dart'; -// ignore: implementation_imports -import 'package:celest_core/src/util/globals.dart'; -import 'package:meta/meta.dart'; -import 'package:os_detect/os_detect.dart' as os; - -abstract interface class SecureStorage { - factory SecureStorage() = SecureStoragePlatform; - const SecureStorage._(); - - void init() {} - String? read(String key); - Map readAll(); - String write(String key, String value); - String? delete(String key); - void clear(); -} - -abstract base class SecureStoragePlatform extends SecureStorage { - factory SecureStoragePlatform() { - if (kIsWeb) { - return SecureStoragePlatformStub(); - } - if (os.isIOS || os.isMacOS) { - return SecureStoragePlatformDarwin(); - } - if (os.isAndroid) { - return SecureStoragePlatformAndroid(); - } - throw UnimplementedError(); - } - - @protected - const SecureStoragePlatform.base() : super._(); -} diff --git a/packages/celest_auth/lib/src/storage/secure_storage.darwin.dart b/packages/celest_auth/lib/src/storage/secure_storage.darwin.dart deleted file mode 100644 index 63832098..00000000 --- a/packages/celest_auth/lib/src/storage/secure_storage.darwin.dart +++ /dev/null @@ -1,179 +0,0 @@ -import 'dart:ffi'; - -import 'package:celest_auth/src/native/darwin/core_foundation.ffi.dart'; -import 'package:celest_auth/src/native/darwin/darwin_ffi_helpers.dart'; -import 'package:celest_auth/src/native/darwin/security.ffi.dart'; -import 'package:celest_auth/src/storage/secure_storage.dart'; -import 'package:celest_auth/src/storage/secure_storage_exception_impl.dart'; -// ignore: implementation_imports -import 'package:celest_core/src/util/globals.dart'; -import 'package:ffi/ffi.dart'; -import 'package:os_detect/os_detect.dart' as os; - -final class SecureStoragePlatformDarwin extends SecureStoragePlatform { - SecureStoragePlatformDarwin() : super.base(); - - static const _serviceName = 'dev.celest.celest_auth'; - static final _useDataProtection = os.isMacOS && kReleaseMode; - - Map _baseAttributes(Arena arena) { - final service = _serviceName.toCFString(arena); - return { - kSecClass: kSecClassGenericPassword, - kSecAttrService: service, - if (_useDataProtection) kSecUseDataProtectionKeychain: kCFBooleanTrue, - }; - } - - @override - void clear() => using((arena) => _clear(arena: arena)); - - @override - String? delete(String key) => using((arena) { - final current = _read(key, arena: arena); - _delete(key, arena: arena); - return current; - }); - - @override - String? read(String key) => using((arena) => _read(key, arena: arena)); - - @override - Map readAll() { - // TODO: implement readAll - throw UnimplementedError(); - } - - @override - String write(String key, String value) => using((arena) { - _write(key, value, arena: arena); - return value; - }); - - String? _read(String key, {required Arena arena}) { - final attributes = _baseAttributes(arena); - final query = { - ...attributes, - kSecAttrAccount: key.toCFString(arena), - kSecReturnData: kCFBooleanTrue, - kSecMatchLimit: kSecMatchLimitOne, - kSecReturnData: kCFBooleanTrue, - }; - try { - final result = arena(); - _check( - () => SecItemCopyMatching(query.toCFDictionary(arena), result), - key: key, - ); - final data = result.value.cast(); - arena.onReleaseAll(() => CFRelease(data.cast())); - return data.toDartString(); - } on SecureStorageItemNotFoundException { - return null; - } on Exception { - // May happen if the data is not UTF-8 encoded or corrupted. - throw const SecureStorageUnknownException(); - } - } - - void _write(String key, String value, {required Arena arena}) { - final query = { - ..._baseAttributes(arena), - kSecAttrAccount: key.toCFString(arena), - }; - final gets = SecItemCopyMatching(query.toCFDictionary(arena), nullptr); - if (gets != errSecSuccess && gets != errSecItemNotFound) { - throw SecurityFrameworkException.fromStatus(gets, key: key); - } - final itemExists = gets == errSecSuccess; - if (itemExists) { - // Update the item. - final attributes = { - kSecValueData: value.toCFData(arena), - }; - return _check( - () => SecItemUpdate( - query.toCFDictionary(arena), - attributes.toCFDictionary(arena), - ), - key: key, - ); - } - // Else, add the item. - final attributes = { - ...query, - kSecValueData: value.toCFData(arena), - }; - return _check( - () => SecItemAdd(attributes.toCFDictionary(arena), nullptr), - key: key, - ); - } - - void _delete(String key, {required Arena arena}) { - final query = { - ..._baseAttributes(arena), - kSecAttrAccount: key.toCFString(arena), - }; - _check( - () => SecItemDelete(query.toCFDictionary(arena)), - key: key, - ); - } - - void _clear({required Arena arena}) { - final query = { - ..._baseAttributes(arena), - // Required when `useDataProtection` is disabled, however can only be - // passed on macOS. Passing it on iOS will result in a crash. - if (os.isMacOS && !_useDataProtection) kSecMatchLimit: kSecMatchLimitAll, - }; - _check(() => SecItemDelete(query.toCFDictionary(arena))); - } -} - -extension type SecurityFrameworkException(SecureStorageExceptionImpl exception) - implements SecureStorageExceptionImpl { - factory SecurityFrameworkException.fromStatus(int status, {String? key}) { - if (kReleaseMode) { - key = null; - } - final cfMessage = SecCopyErrorMessageString(status, nullptr); - try { - final message = cfMessage.toDartString(); - final exception = switch (status) { - errSecItemNotFound => - SecureStorageItemNotFoundException(message: message), - errSecDuplicateItem => - SecureStorageDuplicateItemException(message: message), - errSecUserCanceled || - errSecAuthFailed || - errSecInteractionRequired => - SecureStorageAccessDeniedException(message: message), - errSecMissingEntitlement => const SecureStorageAccessDeniedException( - message: 'The app is missing the required entitlements', - ), - _ => SecureStorageUnknownException(message), - }; - return SecurityFrameworkException(exception); - } on Exception { - return SecurityFrameworkException( - SecureStorageUnknownException( - 'Unknown error occurred in Security.framework. Status: $status', - ), - ); - } finally { - CFRelease(cfMessage.cast()); - } - } -} - -void _check( - int Function() action, { - String? key, -}) { - final status = action(); - if (status != errSecSuccess) { - throw SecurityFrameworkException.fromStatus(status, key: key); - } -} diff --git a/packages/celest_auth/lib/src/storage/secure_storage.stub.dart b/packages/celest_auth/lib/src/storage/secure_storage.stub.dart deleted file mode 100644 index cd3a467f..00000000 --- a/packages/celest_auth/lib/src/storage/secure_storage.stub.dart +++ /dev/null @@ -1,26 +0,0 @@ -import 'dart:collection'; - -import 'package:celest_auth/src/storage/secure_storage.dart'; - -/// An in-memory implementation of [SecureStoragePlatform] for platforms which -/// do not support secure storage. -final class SecureStoragePlatformStub extends SecureStoragePlatform { - SecureStoragePlatformStub() : super.base(); - - final _storage = {}; - - @override - void clear() => _storage.clear(); - - @override - String? delete(String key) => _storage.remove(key); - - @override - String? read(String key) => _storage[key]; - - @override - Map readAll() => UnmodifiableMapView(_storage); - - @override - String write(String key, String value) => _storage[key] = value; -} diff --git a/packages/celest_auth/lib/src/storage/secure_storage_exception_impl.dart b/packages/celest_auth/lib/src/storage/secure_storage_exception_impl.dart deleted file mode 100644 index 3833ca86..00000000 --- a/packages/celest_auth/lib/src/storage/secure_storage_exception_impl.dart +++ /dev/null @@ -1,71 +0,0 @@ -import 'package:celest_core/celest_core.dart'; - -sealed class SecureStorageExceptionImpl implements SecureStorageException { - const SecureStorageExceptionImpl(); -} - -final class SecureStorageItemNotFoundException - extends SecureStorageExceptionImpl { - const SecureStorageItemNotFoundException({ - String? message, - this.key, - }) : message = message ?? 'The item was not found in secure storage'; - - @override - final String message; - final String? key; - - @override - String toString() { - final sb = StringBuffer('ItemNotFoundException: $message'); - if (key != null) { - sb.write(' (key: $key)'); - } - return sb.toString(); - } -} - -final class SecureStorageDuplicateItemException - extends SecureStorageExceptionImpl { - const SecureStorageDuplicateItemException({ - String? message, - this.key, - }) : message = message ?? 'The item already exists in secure storage'; - - @override - final String message; - final String? key; - - @override - String toString() { - final sb = StringBuffer('DuplicateItemException: $message'); - if (key != null) { - sb.write(' (key: $key)'); - } - return sb.toString(); - } -} - -final class SecureStorageAccessDeniedException - extends SecureStorageExceptionImpl { - const SecureStorageAccessDeniedException({ - String? message, - }) : message = message ?? 'Access to secure storage was denied'; - - @override - final String message; - - @override - String toString() => 'AccessDeniedException: $message'; -} - -final class SecureStorageUnknownException extends SecureStorageExceptionImpl { - const SecureStorageUnknownException([String? message]) - : message = message ?? 'An unknown error occurred in secure storage'; - - @override - final String message; - - @override - String toString() => 'UnknownException: $message'; -} diff --git a/packages/celest_auth/generate.sh b/packages/celest_auth/tool/ffigen.sh similarity index 86% rename from packages/celest_auth/generate.sh rename to packages/celest_auth/tool/ffigen.sh index a9b36ba1..b738896c 100755 --- a/packages/celest_auth/generate.sh +++ b/packages/celest_auth/tool/ffigen.sh @@ -13,11 +13,9 @@ flutter build macos popd echo "Generating FFI bindings..." -dart run ffigen --config=ffigen.core_foundation.yaml dart run ffigen --config=ffigen.foundation.yaml echo "Removing 'instancetype' from FFI bindings..." yq -i "del(.files.\"${FOUNDATION_URI}\".symbols.\"c:@T@instancetype\")" ${FOUNDATION_SYMBOLS} -dart run ffigen --config=ffigen.security.yaml dart run ffigen --config=ffigen.darwin.yaml echo "Generating JNI bindings..." diff --git a/packages/celest_core/lib/celest_core.dart b/packages/celest_core/lib/celest_core.dart index bb49a901..446633a5 100644 --- a/packages/celest_core/lib/celest_core.dart +++ b/packages/celest_core/lib/celest_core.dart @@ -15,9 +15,10 @@ export 'src/exception/celest_exception.dart'; export 'src/exception/cloud_exception.dart'; export 'src/exception/serialization_exception.dart'; +/// Secure Storage +export 'src/secure_storage/secure_storage.dart'; +export 'src/secure_storage/secure_storage_exception.dart'; + /// Serialization export 'src/serialization/json_value.dart'; export 'src/serialization/serializer.dart'; - -/// Secure Storage -export 'src/storage/secure_storage_exception.dart'; diff --git a/packages/celest_core/lib/src/storage/secure_storage_exception.dart b/packages/celest_core/lib/src/storage/secure_storage_exception.dart deleted file mode 100644 index 3cf17f90..00000000 --- a/packages/celest_core/lib/src/storage/secure_storage_exception.dart +++ /dev/null @@ -1,3 +0,0 @@ -import 'package:celest_core/celest_core.dart'; - -abstract interface class SecureStorageException implements CelestException {} From 392a00c0557ac2d2e7d366d63f9b1183e554a421 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Thu, 7 Mar 2024 09:14:10 -0800 Subject: [PATCH 13/33] clean up --- packages/celest_auth/lib/src/auth.dart | 20 +++++++------------ .../celest_auth/lib/src/state/auth_state.dart | 3 +++ packages/celest_core/lib/celest_core.dart | 4 ---- packages/celest_core/lib/src/auth/user.dart | 18 ++++++++--------- 4 files changed, 19 insertions(+), 26 deletions(-) create mode 100644 packages/celest_auth/lib/src/state/auth_state.dart diff --git a/packages/celest_auth/lib/src/auth.dart b/packages/celest_auth/lib/src/auth.dart index dbb57428..2825b3de 100644 --- a/packages/celest_auth/lib/src/auth.dart +++ b/packages/celest_auth/lib/src/auth.dart @@ -1,6 +1,10 @@ import 'package:celest_auth/src/flows/auth_flow.dart'; import 'package:celest_auth/src/platform/auth_platform.dart'; import 'package:celest_core/celest_core.dart'; +// ignore: implementation_imports +import 'package:celest_core/src/storage/secure/secure_storage.dart'; +// ignore: implementation_imports +import 'package:celest_core/src/storage/storage.dart'; import 'package:http/http.dart' as http; import 'package:meta/meta.dart'; @@ -9,10 +13,7 @@ import 'package:meta/meta.dart'; /// /// Generated Celest clients extend this class and mix in the various /// [AuthFlow]s supported by the backend. -abstract interface class Auth { - /// Whether the user is currently authenticated. - bool get isAuthenticated; -} +abstract interface class Auth {} abstract base class AuthImpl implements Auth { AuthImpl({ @@ -26,18 +27,11 @@ abstract base class AuthImpl implements Auth { /// /// Must be called before any other getters or methods are accessed. @mustCallSuper - void init() { - final cork = secureStorage.read('cork'); - _isAuthenticated = cork != null; - } - - @override - bool get isAuthenticated => _isAuthenticated; - late bool _isAuthenticated; + void init() {} final Uri baseUri; final http.Client httpClient; - final SecureStorage secureStorage = SecureStorage(); + final Storage secureStorage = SecureStorage(); late final AuthClient protocol = AuthClient( baseUri: baseUri, diff --git a/packages/celest_auth/lib/src/state/auth_state.dart b/packages/celest_auth/lib/src/state/auth_state.dart new file mode 100644 index 00000000..7ff9d406 --- /dev/null +++ b/packages/celest_auth/lib/src/state/auth_state.dart @@ -0,0 +1,3 @@ +sealed class AuthState { + const AuthState(); +} diff --git a/packages/celest_core/lib/celest_core.dart b/packages/celest_core/lib/celest_core.dart index 446633a5..6762a435 100644 --- a/packages/celest_core/lib/celest_core.dart +++ b/packages/celest_core/lib/celest_core.dart @@ -15,10 +15,6 @@ export 'src/exception/celest_exception.dart'; export 'src/exception/cloud_exception.dart'; export 'src/exception/serialization_exception.dart'; -/// Secure Storage -export 'src/secure_storage/secure_storage.dart'; -export 'src/secure_storage/secure_storage_exception.dart'; - /// Serialization export 'src/serialization/json_value.dart'; export 'src/serialization/serializer.dart'; diff --git a/packages/celest_core/lib/src/auth/user.dart b/packages/celest_core/lib/src/auth/user.dart index 1183d9a1..ee919980 100644 --- a/packages/celest_core/lib/src/auth/user.dart +++ b/packages/celest_core/lib/src/auth/user.dart @@ -27,34 +27,34 @@ final class AuthenticatedUser { final class User { const User({ - required this.id, - this.organizationId, + required this.userId, + this.displayName, required this.email, bool? emailVerified, }) : emailVerified = emailVerified ?? false; factory User.fromJson(Map json) { return User( - id: json['id'] as String, - organizationId: json['organizationId'] as String?, + userId: json['userId'] as String, + displayName: json['displayName'] as String?, email: json['email'] as String, emailVerified: json['emailVerified'] as bool?, ); } - final String id; - final String? organizationId; + final String userId; + final String? displayName; final String email; final bool emailVerified; Map toJson() => { - 'id': id, - if (organizationId != null) 'organizationId': organizationId, + 'userId': userId, + if (displayName != null) 'displayName': displayName, 'email': email, 'emailVerified': emailVerified, }; @override - String toString() => 'User(id: $id, orgId: $organizationId, ' + String toString() => 'User(userId: $userId, displayName: $displayName, ' 'email: $email, emailVerified: $emailVerified)'; } From 73b11d76856a5da8e1c337c00921f7c46b028601 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Thu, 7 Mar 2024 12:43:14 -0800 Subject: [PATCH 14/33] Align memstorage interface --- packages/celest_core/lib/src/storage/memory_storage.dart | 6 ++++-- packages/celest_core/lib/src/storage/storage.dart | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/celest_core/lib/src/storage/memory_storage.dart b/packages/celest_core/lib/src/storage/memory_storage.dart index ece77fb6..887b8771 100644 --- a/packages/celest_core/lib/src/storage/memory_storage.dart +++ b/packages/celest_core/lib/src/storage/memory_storage.dart @@ -4,12 +4,14 @@ import 'package:celest_core/src/storage/storage.dart'; /// An in-memory implementation of [Storage] and [SecureStorage]. final class MemoryStorage implements Storage, SecureStorage { MemoryStorage({ - required this.scope, - }); + String? scope, + }) : scope = scope ?? _defaultScope; final _storage = {}; final String scope; + static const _defaultScope = 'dev.celest.cli'; + @override void clear() => _storage.removeWhere((key, _) => key.startsWith('$scope/')); diff --git a/packages/celest_core/lib/src/storage/storage.dart b/packages/celest_core/lib/src/storage/storage.dart index 7bc64447..ff0d5de3 100644 --- a/packages/celest_core/lib/src/storage/storage.dart +++ b/packages/celest_core/lib/src/storage/storage.dart @@ -1,7 +1,9 @@ import 'package:celest_core/src/storage/local/local_storage.dart'; +import 'package:celest_core/src/storage/memory_storage.dart'; import 'package:celest_core/src/storage/secure/secure_storage.dart'; abstract interface class Storage { + factory Storage.memory({String? scope}) = MemoryStorage; factory Storage.local({String? scope}) = LocalStorage; factory Storage.secure({String? scope}) = SecureStorage; From dc8d2def64bfdf0659b5b32be083c9b6182e7cbd Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Thu, 7 Mar 2024 15:25:52 -0800 Subject: [PATCH 15/33] Update flow types --- packages/celest_auth/example/lib/main.dart | 2 +- packages/celest_auth/lib/src/auth.dart | 73 +++++++++++++- .../celest_auth/lib/src/flows/auth_flow.dart | 4 +- .../celest_auth/lib/src/flows/email_flow.dart | 97 +++++++++++++------ .../lib/src/flows/passkey_flow.dart | 1 + .../celest_auth/lib/src/state/auth_state.dart | 50 ++++++++++ 6 files changed, 192 insertions(+), 35 deletions(-) diff --git a/packages/celest_auth/example/lib/main.dart b/packages/celest_auth/example/lib/main.dart index 8bb4f52d..5eccfc89 100644 --- a/packages/celest_auth/example/lib/main.dart +++ b/packages/celest_auth/example/lib/main.dart @@ -13,7 +13,7 @@ final auth = CelestAuth( httpClient: http.Client(), ); -final class CelestAuth extends AuthImpl with Passkeys, Email { +final class CelestAuth extends AuthImpl with Passkeys, EmailProvider { CelestAuth({required super.baseUri, required super.httpClient}); } diff --git a/packages/celest_auth/lib/src/auth.dart b/packages/celest_auth/lib/src/auth.dart index 2825b3de..94f84bad 100644 --- a/packages/celest_auth/lib/src/auth.dart +++ b/packages/celest_auth/lib/src/auth.dart @@ -1,10 +1,13 @@ +import 'dart:async'; + import 'package:celest_auth/src/flows/auth_flow.dart'; import 'package:celest_auth/src/platform/auth_platform.dart'; +import 'package:celest_auth/src/state/auth_state.dart'; import 'package:celest_core/celest_core.dart'; // ignore: implementation_imports -import 'package:celest_core/src/storage/secure/secure_storage.dart'; +import 'package:celest_core/src/storage/local/local_storage.dart'; // ignore: implementation_imports -import 'package:celest_core/src/storage/storage.dart'; +import 'package:celest_core/src/storage/secure/secure_storage.dart'; import 'package:http/http.dart' as http; import 'package:meta/meta.dart'; @@ -13,7 +16,10 @@ import 'package:meta/meta.dart'; /// /// Generated Celest clients extend this class and mix in the various /// [AuthFlow]s supported by the backend. -abstract interface class Auth {} +abstract interface class Auth { + AuthState get authState; + Stream get authStateChanges; +} abstract base class AuthImpl implements Auth { AuthImpl({ @@ -23,19 +29,76 @@ abstract base class AuthImpl implements Auth { init(); } + @override + AuthState get authState => _authState; + AuthState _authState = + const Unauthenticated(); // TODO(dnys1): const AuthInitializing(); + + @override + Stream get authStateChanges => _authStateController.stream; + + final StreamController _authStateController = + StreamController.broadcast(sync: true); + + late final StreamSubscription _authStateSubscription; + StreamSubscription? _authFlowSubscription; + /// Initializes Celest Auth. /// /// Must be called before any other getters or methods are accessed. @mustCallSuper - void init() {} + void init() { + _authStateSubscription = + authStateChanges.listen((state) => _authState = state); + } + + Future> + requestFlow() async { + switch (_authState) { + case AuthInitializing(): + await authStateChanges.firstWhere( + (state) => state is! AuthInitializing, + ); + return requestFlow(); + case AuthFlowState(): + throw Exception('Auth flow already in progress'); + case Authenticated(): + throw Exception( + 'User is already authenticated. Sign out before continuing.', + ); + case Unauthenticated() || NeedsReauthentication(): + assert(_authFlowSubscription == null); + final previousState = _authState; + final controller = StreamController( + onCancel: () => _authStateController.add(previousState), + ); + _authFlowSubscription = controller.stream.listen( + (state) => _authStateController.add(state), + onError: (error, stackTrace) { + // TODO(dnys1) + }, + onDone: () => _authFlowSubscription = null, + cancelOnError: true, + ); + return controller.sink; + } + } final Uri baseUri; final http.Client httpClient; - final Storage secureStorage = SecureStorage(); + + final LocalStorage localStorage = LocalStorage(); + final SecureStorage secureStorage = SecureStorage(); late final AuthClient protocol = AuthClient( baseUri: baseUri, httpClient: httpClient, ); late final AuthPlatform platform = AuthPlatform(protocol: protocol); + + Future close() async { + await _authStateSubscription.cancel(); + await _authFlowSubscription?.cancel(); + await _authStateController.close(); + } } diff --git a/packages/celest_auth/lib/src/flows/auth_flow.dart b/packages/celest_auth/lib/src/flows/auth_flow.dart index b09ed371..bdda1a33 100644 --- a/packages/celest_auth/lib/src/flows/auth_flow.dart +++ b/packages/celest_auth/lib/src/flows/auth_flow.dart @@ -4,4 +4,6 @@ library; import 'package:meta/meta.dart'; /// Base type for all authentication flows. -abstract interface class AuthFlow {} +abstract interface class AuthFlow { + void cancel(); +} diff --git a/packages/celest_auth/lib/src/flows/email_flow.dart b/packages/celest_auth/lib/src/flows/email_flow.dart index f7d00fe1..aef78db9 100644 --- a/packages/celest_auth/lib/src/flows/email_flow.dart +++ b/packages/celest_auth/lib/src/flows/email_flow.dart @@ -2,51 +2,78 @@ import 'dart:async'; import 'package:celest_auth/src/auth.dart'; import 'package:celest_auth/src/flows/auth_flow.dart'; +import 'package:celest_auth/src/state/auth_state.dart'; import 'package:celest_core/celest_core.dart'; import 'package:state_notifier/state_notifier.dart'; -base mixin Email on AuthImpl { - late final EmailFlow email = EmailFlow(this); +base mixin EmailProvider on AuthImpl { + late final Email email = Email(this); } -final class EmailFlow implements AuthFlow { - EmailFlow(this._hub); +final class Email { + Email(this._hub); final AuthImpl _hub; - EmailProtocol get _protocol => _hub.protocol.email; Future signUp({ required String email, }) async { - final parameters = await _protocol.sendOtp( - request: OtpSendRequest(email: email), - ); - return EmailSignUpNeedsVerification( - flow: this, - email: email, - parameters: parameters, - ); + final flowSink = await _hub.requestFlow(); + final flow = EmailFlow._(_hub, _EmailFlowController(flowSink)); + return flow._signUp(email: email); + } +} + +final class EmailFlow implements AuthFlow { + EmailFlow._(this._hub, this._flowController); + + final AuthImpl _hub; + final _EmailFlowController _flowController; + + EmailProtocol get _protocol => _hub.protocol.email; + + Future _signUp({ + required String email, + }) { + return _flowController.capture(() async { + final parameters = await _protocol.sendOtp( + request: OtpSendRequest(email: email), + ); + return EmailSignUpNeedsVerification( + flow: this, + email: email, + parameters: parameters, + ); + }); } - Future _verifyOtp({ + Future _verifyOtp({ required String email, required String otp, - }) async { - final user = await _protocol.verifyOtp( - verification: OtpVerifyRequest(email: email, otp: otp), - ); - _hub.secureStorage.write('cork', user.cork); - return user.user; + }) { + return _flowController.capture(() async { + final user = await _protocol.verifyOtp( + verification: OtpVerifyRequest(email: email, otp: otp), + ); + _hub.secureStorage.write('cork', user.cork); + _hub.localStorage.write('userId', user.user.userId); + return EmailAuthenticated(flow: this, user: user.user); + }); + } + + @override + void cancel() { + // TODO(dnys1) + throw UnimplementedError(); } } -final class EmailSignUpNeedsVerification { +final class EmailSignUpNeedsVerification extends EmailFlowState { EmailSignUpNeedsVerification({ - required EmailFlow flow, + required super.flow, required this.email, required OtpParameters parameters, - }) : _flow = flow, - _parameters = parameters { + }) : _parameters = parameters { _resendCountdown = Stream.periodic(const Duration(seconds: 1)).listen((_) { final resendIn = canResendIn; @@ -54,7 +81,6 @@ final class EmailSignUpNeedsVerification { }); } - final EmailFlow _flow; final String email; OtpParameters _parameters; @@ -72,7 +98,7 @@ final class EmailSignUpNeedsVerification { _resendCountdown?.pause(); _resendEligible.setState(false); try { - _parameters = await _flow._protocol.resendOtp( + _parameters = await flow._protocol.resendOtp( request: OtpSendRequest(email: email), ); } finally { @@ -82,9 +108,9 @@ final class EmailSignUpNeedsVerification { } Future verifyOtp(String otp) async { - final user = await _flow._verifyOtp(email: email, otp: otp); + final authenticated = await flow._verifyOtp(email: email, otp: otp); _close(); - return user; + return authenticated.user; } void _close() { @@ -101,3 +127,18 @@ final class _ResendEligibleNotifier extends StateNotifier<(bool, Duration)> { this.state = (state, canResendIn ?? this.state.$2); } } + +extension type _EmailFlowController(StreamSink _sink) { + Future capture( + Future Function() action, + ) async { + try { + final result = await action(); + _sink.add(result); + return result; + } on Object catch (e, st) { + _sink.addError(e, st); + rethrow; + } + } +} diff --git a/packages/celest_auth/lib/src/flows/passkey_flow.dart b/packages/celest_auth/lib/src/flows/passkey_flow.dart index 054d3d4f..8b341233 100644 --- a/packages/celest_auth/lib/src/flows/passkey_flow.dart +++ b/packages/celest_auth/lib/src/flows/passkey_flow.dart @@ -39,5 +39,6 @@ final class PasskeyFlow implements AuthFlow { } /// Cancels the in-progress passkey operation, if any. + @override void cancel() => _platform.cancel(); } diff --git a/packages/celest_auth/lib/src/state/auth_state.dart b/packages/celest_auth/lib/src/state/auth_state.dart index 7ff9d406..26bcd028 100644 --- a/packages/celest_auth/lib/src/state/auth_state.dart +++ b/packages/celest_auth/lib/src/state/auth_state.dart @@ -1,3 +1,53 @@ +import 'package:celest_auth/src/flows/auth_flow.dart'; +import 'package:celest_auth/src/flows/email_flow.dart'; +import 'package:celest_core/celest_core.dart'; + sealed class AuthState { const AuthState(); } + +final class AuthInitializing extends AuthState { + const AuthInitializing(); +} + +final class Unauthenticated extends AuthState { + const Unauthenticated(); +} + +final class NeedsReauthentication extends AuthState { + const NeedsReauthentication({ + required this.userId, + }); + + final String userId; +} + +sealed class AuthFlowState extends AuthState { + const AuthFlowState({ + required this.flow, + }); + + final Flow flow; + + void cancel() => flow.cancel(); +} + +class EmailFlowState extends AuthFlowState { + const EmailFlowState({required super.flow}); +} + +final class EmailAuthenticated extends EmailFlowState implements Authenticated { + const EmailAuthenticated({ + required super.flow, + required this.user, + }); + + @override + final User user; +} + +final class Authenticated extends AuthState { + const Authenticated(this.user); + + final User user; +} From 8c5a43bf687b4bf079fad145b4ac958950987771 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Thu, 7 Mar 2024 16:22:44 -0800 Subject: [PATCH 16/33] Add back Auth provider types --- packages/celest/lib/celest.dart | 8 ++++ .../celest/lib/src/auth/auth_provider.dart | 10 ++--- packages/celest/lib/src/core/context.dart | 30 ++++++++++++++ packages/celest/lib/src/core/project.dart | 6 --- packages/celest/lib/src/grants/grants.dart | 40 +++++++++++++++++++ 5 files changed, 83 insertions(+), 11 deletions(-) create mode 100644 packages/celest/lib/src/core/context.dart create mode 100644 packages/celest/lib/src/grants/grants.dart diff --git a/packages/celest/lib/celest.dart b/packages/celest/lib/celest.dart index d242310f..51f01b06 100644 --- a/packages/celest/lib/celest.dart +++ b/packages/celest/lib/celest.dart @@ -3,13 +3,21 @@ library celest; export 'package:celest_core/celest_core.dart'; +/// Auth +export 'src/auth/auth.dart'; +export 'src/auth/auth_provider.dart'; + /// Config export 'src/config/env.dart'; /// Core export 'src/core/cloud_widget.dart'; +export 'src/core/context.dart'; export 'src/core/project.dart'; /// Functions export 'src/functions/cloud_api.dart'; export 'src/functions/cloud_function.dart'; + +/// Grants +export 'src/grants/grants.dart'; diff --git a/packages/celest/lib/src/auth/auth_provider.dart b/packages/celest/lib/src/auth/auth_provider.dart index 54c5b624..39d60488 100644 --- a/packages/celest/lib/src/auth/auth_provider.dart +++ b/packages/celest/lib/src/auth/auth_provider.dart @@ -2,15 +2,15 @@ /// An authentication provider which can be used to sign in to Celest. /// /// Currently, Celest supports the following authentication methods: -/// - [AuthProvider.google] Sign in with Google +/// - [AuthProvider.email] Email sign-in with OTP codes. /// {@endtemplate} sealed class AuthProvider { const AuthProvider(); - /// A provider which enables Sign in with Google. - const factory AuthProvider.google() = _GoogleAuthProvider; + /// A provider which enables email sign-in with OTP codes. + const factory AuthProvider.email() = _EmailAuthProvider; } -final class _GoogleAuthProvider extends AuthProvider { - const _GoogleAuthProvider(); +final class _EmailAuthProvider extends AuthProvider { + const _EmailAuthProvider(); } diff --git a/packages/celest/lib/src/core/context.dart b/packages/celest/lib/src/core/context.dart new file mode 100644 index 00000000..a0cfff41 --- /dev/null +++ b/packages/celest/lib/src/core/context.dart @@ -0,0 +1,30 @@ +import 'package:celest/celest.dart'; + +/// The context of a [CloudFunction] invocation. +abstract final class Context { + const Context._(); + + /// A context reference to the [User] invoking a [CloudFunction]. + /// + /// ## Example + /// + /// To inject a user into an `@authenticated` function: + /// + /// ```dart + /// @authenticated + /// Future sayHello({ + /// @Context.user() required User user, + /// }) async { + /// print('Hello, ${user.displayName}!'); + /// } + /// ``` + const factory Context.user() = _ContextKey.user; +} + +final class _ContextKey extends Context { + const _ContextKey._(this.key) : super._(); + + const _ContextKey.user() : this._('user'); + + final String key; +} diff --git a/packages/celest/lib/src/core/project.dart b/packages/celest/lib/src/core/project.dart index 0f140eee..a66a9c4a 100644 --- a/packages/celest/lib/src/core/project.dart +++ b/packages/celest/lib/src/core/project.dart @@ -11,14 +11,8 @@ class Project implements CloudWidget { /// {@macro celest.core.project} const Project({ required this.name, - this.logoUrl, }); /// The name of the project as its identified in your Celest backend. final String name; - - /// The hosted URL of your project's logo. - /// - /// This is used by widgets like [Auth] to craft a custom login page. - final String? logoUrl; } diff --git a/packages/celest/lib/src/grants/grants.dart b/packages/celest/lib/src/grants/grants.dart new file mode 100644 index 00000000..8b484505 --- /dev/null +++ b/packages/celest/lib/src/grants/grants.dart @@ -0,0 +1,40 @@ +import 'package:celest/src/core/entity.dart'; + +/// A grant which provides access to all authenticated users. +/// +/// ## Example +/// +/// ```dart +/// import 'package:celest/celest.dart'; +/// +/// @authenticated +/// Future sayHello() async { +/// print('User is authenticated!'); +/// } +/// ``` +const authenticated = _Authenticated(); + +final class _Role implements Entity { + const _Role({ + required this.name, + }); + + static const _Role authenticated = _Role(name: r'$authenticated'); + + final String name; +} + +/// An assignment which grants a set of permissions to a specific group of +/// [Entity]s. +final class _Grant { + const _Grant({ + required this.to, + }); + + /// The group of [Entity] which are granted access. + final List to; +} + +final class _Authenticated extends _Grant { + const _Authenticated() : super(to: const [_Role.authenticated]); +} From c02900b1627d920522a68d474d34c8a107b2c7d0 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Fri, 8 Mar 2024 07:41:37 -0800 Subject: [PATCH 17/33] Add proper Auth example --- packages/celest_auth/analysis_options.yaml | 1 + .../celest_auth/example/celest/.gitignore | 5 ++ .../example/celest/analysis_options.yaml | 1 + .../celest_auth/example/celest/auth/auth.dart | 7 ++ .../example/celest/functions/greeting.dart | 25 +++++++ .../example/celest/lib/client.dart | 70 ++++++++++++++++++ .../lib/exceptions/bad_name_exception.dart | 11 +++ .../example/celest/lib/models/person.dart | 8 +++ .../example/celest/lib/src/client/auth.dart | 33 +++++++++ .../celest/lib/src/client/functions.dart | 72 +++++++++++++++++++ .../celest/lib/src/client/serializers.dart | 60 ++++++++++++++++ .../celest_auth/example/celest/project.dart | 5 ++ .../celest_auth/example/celest/pubspec.yaml | 16 +++++ .../celest_auth/example/celest/resources.dart | 24 +++++++ .../celest/test/functions/greeting_test.dart | 19 +++++ packages/celest_auth/example/lib/main.dart | 38 ++-------- packages/celest_auth/example/pubspec.yaml | 5 +- packages/celest_auth/lib/src/auth.dart | 29 ++++---- .../celest_auth/lib/src/flows/email_flow.dart | 6 +- .../lib/src/flows/passkey_flow.dart | 6 +- .../lib/src/platform/auth_platform.dart | 3 +- .../src/platform/auth_platform_impl.vm.dart | 3 +- .../src/platform/auth_platform_impl.web.dart | 3 +- .../passkeys/passkey_exception_impl.dart | 3 +- .../passkeys/passkey_platform.android.dart | 2 +- .../platform/passkeys/passkey_platform.dart | 2 +- .../passkeys/passkey_platform.darwin.dart | 2 +- .../passkeys/passkey_platform.web.dart | 3 +- packages/celest_core/lib/celest_core.dart | 5 -- .../celest_core/lib/src/auth/auth_client.dart | 3 + .../lib/src/auth/auth_protocol.dart | 2 + 31 files changed, 403 insertions(+), 69 deletions(-) create mode 100644 packages/celest_auth/example/celest/.gitignore create mode 100644 packages/celest_auth/example/celest/analysis_options.yaml create mode 100644 packages/celest_auth/example/celest/auth/auth.dart create mode 100644 packages/celest_auth/example/celest/functions/greeting.dart create mode 100644 packages/celest_auth/example/celest/lib/client.dart create mode 100644 packages/celest_auth/example/celest/lib/exceptions/bad_name_exception.dart create mode 100644 packages/celest_auth/example/celest/lib/models/person.dart create mode 100644 packages/celest_auth/example/celest/lib/src/client/auth.dart create mode 100644 packages/celest_auth/example/celest/lib/src/client/functions.dart create mode 100644 packages/celest_auth/example/celest/lib/src/client/serializers.dart create mode 100644 packages/celest_auth/example/celest/project.dart create mode 100644 packages/celest_auth/example/celest/pubspec.yaml create mode 100644 packages/celest_auth/example/celest/resources.dart create mode 100644 packages/celest_auth/example/celest/test/functions/greeting_test.dart diff --git a/packages/celest_auth/analysis_options.yaml b/packages/celest_auth/analysis_options.yaml index 4b9370ea..7e76a09d 100644 --- a/packages/celest_auth/analysis_options.yaml +++ b/packages/celest_auth/analysis_options.yaml @@ -9,5 +9,6 @@ analyzer: # To prevent issues publishing. depend_on_referenced_packages: error public_member_api_docs: ignore # TODO + implementation_imports: ignore # TODO exclude: - "**/*.ffi.dart" diff --git a/packages/celest_auth/example/celest/.gitignore b/packages/celest_auth/example/celest/.gitignore new file mode 100644 index 00000000..b756291a --- /dev/null +++ b/packages/celest_auth/example/celest/.gitignore @@ -0,0 +1,5 @@ +# Dart +.dart_tool/ + +# Celest +**/.env diff --git a/packages/celest_auth/example/celest/analysis_options.yaml b/packages/celest_auth/example/celest/analysis_options.yaml new file mode 100644 index 00000000..572dd239 --- /dev/null +++ b/packages/celest_auth/example/celest/analysis_options.yaml @@ -0,0 +1 @@ +include: package:lints/recommended.yaml diff --git a/packages/celest_auth/example/celest/auth/auth.dart b/packages/celest_auth/example/celest/auth/auth.dart new file mode 100644 index 00000000..ac57f6a8 --- /dev/null +++ b/packages/celest_auth/example/celest/auth/auth.dart @@ -0,0 +1,7 @@ +import 'package:celest/celest.dart'; + +const auth = Auth( + providers: [ + AuthProvider.email(), + ], +); diff --git a/packages/celest_auth/example/celest/functions/greeting.dart b/packages/celest_auth/example/celest/functions/greeting.dart new file mode 100644 index 00000000..817360bc --- /dev/null +++ b/packages/celest_auth/example/celest/functions/greeting.dart @@ -0,0 +1,25 @@ +// Cloud functions are top-level Dart functions defined in the `functions/` +// folder of your Celest project. + +import 'package:celest/celest.dart'; +import 'package:celest_backend/exceptions/bad_name_exception.dart'; +import 'package:celest_backend/models/person.dart'; + +/// Says hello to the authenticated [user]. +// @authenticated +@authenticated +Future sayHello({ + required Person person, + // @Context.user() required User user, +}) async { + if (person.name.isEmpty) { + // Throw a custom exception defined in the `lib/exceptions/` and catch + // it on the frontend. + throw BadNameException('Name cannot be empty'); + } + + // Logging is handled automatically when you print to the console. + print('Saying hello to ${person.name}'); + + return 'Hello, ${person.name}!'; +} diff --git a/packages/celest_auth/example/celest/lib/client.dart b/packages/celest_auth/example/celest/lib/client.dart new file mode 100644 index 00000000..fca02407 --- /dev/null +++ b/packages/celest_auth/example/celest/lib/client.dart @@ -0,0 +1,70 @@ +// Generated by Celest. This file should not be modified manually, but +// it can be checked into version control. +// ignore_for_file: type=lint, unused_local_variable, unnecessary_cast, unnecessary_import + +library; // ignore_for_file: no_leading_underscores_for_library_prefixes + +import 'dart:io' as _$io; + +import 'package:celest_core/src/util/globals.dart'; +import 'package:http/http.dart' as _$http; + +import 'src/client/auth.dart'; +import 'src/client/functions.dart'; +import 'src/client/serializers.dart'; + +final Celest celest = Celest(); + +enum CelestEnvironment { + local; + + Uri get baseUri => switch (this) { + local => kIsWeb || !_$io.Platform.isAndroid + ? Uri.parse('http://localhost:8888') + : Uri.parse('http://10.0.2.2:8888'), + }; +} + +class Celest { + var _initialized = false; + + late CelestEnvironment _currentEnvironment; + + late _$http.Client httpClient = _$http.Client(); + + late Uri _baseUri; + + final _functions = CelestFunctions(); + + late final CelestAuth _auth = CelestAuth( + baseUri: _baseUri, + httpClient: httpClient, + ); + + T _checkInitialized(T Function() value) { + if (!_initialized) { + throw StateError( + 'Celest has not been initialized. Make sure to call `celest.init()` at the start of your `main` method.'); + } + return value(); + } + + CelestEnvironment get currentEnvironment => + _checkInitialized(() => _currentEnvironment); + + Uri get baseUri => _checkInitialized(() => _baseUri); + + CelestFunctions get functions => _checkInitialized(() => _functions); + + CelestAuth get auth => _checkInitialized(() => _auth); + + void init({CelestEnvironment environment = CelestEnvironment.local}) { + _currentEnvironment = environment; + _baseUri = environment.baseUri; + _auth.init(); + if (!_initialized) { + initSerializers(); + } + _initialized = true; + } +} diff --git a/packages/celest_auth/example/celest/lib/exceptions/bad_name_exception.dart b/packages/celest_auth/example/celest/lib/exceptions/bad_name_exception.dart new file mode 100644 index 00000000..28c67ecb --- /dev/null +++ b/packages/celest_auth/example/celest/lib/exceptions/bad_name_exception.dart @@ -0,0 +1,11 @@ +// By convention, any custom exception types thrown by an API must be defined +// in this file or exported from this file. + +class BadNameException implements Exception { + const BadNameException(this.message); + + final String message; + + @override + String toString() => 'BadNameException: $message'; +} diff --git a/packages/celest_auth/example/celest/lib/models/person.dart b/packages/celest_auth/example/celest/lib/models/person.dart new file mode 100644 index 00000000..b2b60309 --- /dev/null +++ b/packages/celest_auth/example/celest/lib/models/person.dart @@ -0,0 +1,8 @@ +// By convention, any custom types used within an API request/response must be +// defined in the `models/` folder. + +class Person { + const Person({required this.name}); + + final String name; +} diff --git a/packages/celest_auth/example/celest/lib/src/client/auth.dart b/packages/celest_auth/example/celest/lib/src/client/auth.dart new file mode 100644 index 00000000..850f36bf --- /dev/null +++ b/packages/celest_auth/example/celest/lib/src/client/auth.dart @@ -0,0 +1,33 @@ +// Generated by Celest. This file should not be modified manually, but +// it can be checked into version control. +// ignore_for_file: type=lint, unused_local_variable, unnecessary_cast, unnecessary_import + +library; // ignore_for_file: no_leading_underscores_for_library_prefixes + +import 'package:celest_auth/src/auth.dart' as _$auth; +import 'package:celest_auth/src/flows/email_flow.dart' as _$email_flow; +import 'package:celest_auth/src/state/auth_state.dart' as _$auth_state; +import 'package:http/http.dart' as _$http; + +class CelestAuth implements _$auth.Auth { + CelestAuth({ + required Uri baseUri, + required _$http.Client httpClient, + }) : _hub = _$auth.AuthImpl( + baseUri: baseUri, + httpClient: httpClient, + ); + + final _$auth.AuthImpl _hub; + + late final _$email_flow.Email email = _$email_flow.Email(_hub); + + @override + void init() => _hub.init(); + + @override + _$auth_state.AuthState get authState => _hub.authState; + + @override + Stream<_$auth_state.AuthState> get authStateChanges => _hub.authStateChanges; +} diff --git a/packages/celest_auth/example/celest/lib/src/client/functions.dart b/packages/celest_auth/example/celest/lib/src/client/functions.dart new file mode 100644 index 00000000..a5413ac2 --- /dev/null +++ b/packages/celest_auth/example/celest/lib/src/client/functions.dart @@ -0,0 +1,72 @@ +// Generated by Celest. This file should not be modified manually, but +// it can be checked into version control. +// ignore_for_file: type=lint, unused_local_variable, unnecessary_cast, unnecessary_import + +library; // ignore_for_file: no_leading_underscores_for_library_prefixes + +import 'dart:convert' as _$convert; + +import 'package:celest/celest.dart'; +import 'package:celest_backend/exceptions/bad_name_exception.dart' + as _$bad_name_exception; +import 'package:celest_backend/models/person.dart' as _$person; +import 'package:celest_core/src/exception/cloud_exception.dart'; +import 'package:celest_core/src/exception/serialization_exception.dart'; + +import '../../client.dart'; + +class CelestFunctions { + final greeting = CelestFunctionsGreeting(); +} + +class CelestFunctionsGreeting { + Never _throwError({ + required int $statusCode, + required Map $body, + }) { + final $error = ($body['error'] as Map); + final $code = ($error['code'] as String); + final $details = ($error['details'] as Map?); + switch ($code) { + case r'BadRequestException': + throw Serializers.instance.deserialize($details); + case r'UnauthorizedException': + throw Serializers.instance.deserialize($details); + case r'InternalServerException': + throw Serializers.instance + .deserialize($details); + case r'SerializationException': + throw Serializers.instance + .deserialize($details); + case r'BadNameException': + throw Serializers.instance + .deserialize<_$bad_name_exception.BadNameException>($details); + case _: + switch ($statusCode) { + case 400: + throw BadRequestException($code); + case _: + throw InternalServerException($code); + } + } + } + + /// Says hello to the authenticated [user]. + Future sayHello({required _$person.Person person}) async { + final $response = await celest.httpClient.post( + celest.baseUri.resolve('/greeting/say-hello'), + headers: const {'Content-Type': 'application/json; charset=utf-8'}, + body: _$convert.jsonEncode( + {r'person': Serializers.instance.serialize<_$person.Person>(person)}), + ); + final $body = + (_$convert.jsonDecode($response.body) as Map); + if ($response.statusCode != 200) { + _throwError( + $statusCode: $response.statusCode, + $body: $body, + ); + } + return ($body['response'] as String); + } +} diff --git a/packages/celest_auth/example/celest/lib/src/client/serializers.dart b/packages/celest_auth/example/celest/lib/src/client/serializers.dart new file mode 100644 index 00000000..f75bf32e --- /dev/null +++ b/packages/celest_auth/example/celest/lib/src/client/serializers.dart @@ -0,0 +1,60 @@ +// ignore_for_file: type=lint, unused_local_variable, unnecessary_cast, unnecessary_import + +// ignore_for_file: no_leading_underscores_for_library_prefixes +import 'package:celest/celest.dart'; +import 'package:celest_backend/exceptions/bad_name_exception.dart' + as _$bad_name_exception; +import 'package:celest_backend/models/person.dart' as _$person; +import 'package:celest_core/src/exception/cloud_exception.dart'; +import 'package:celest_core/src/exception/serialization_exception.dart'; + +void initSerializers() { + Serializers.instance.put(Serializer.define< + _$bad_name_exception.BadNameException, Map>( + serialize: ($value) => {r'message': $value.message}, + deserialize: ($serialized) { + return _$bad_name_exception.BadNameException( + ($serialized[r'message'] as String)); + }, + )); + Serializers.instance + .put(Serializer.define<_$person.Person, Map>( + serialize: ($value) => {r'name': $value.name}, + deserialize: ($serialized) { + return _$person.Person(name: ($serialized[r'name'] as String)); + }, + )); + Serializers.instance + .put(Serializer.define>( + serialize: ($value) => {r'message': $value.message}, + deserialize: ($serialized) { + return BadRequestException(($serialized[r'message'] as String)); + }, + )); + Serializers.instance + .put(Serializer.define>( + serialize: ($value) => {r'message': $value.message}, + deserialize: ($serialized) { + return InternalServerException(($serialized[r'message'] as String)); + }, + )); + Serializers.instance + .put(Serializer.define?>( + serialize: ($value) => {r'message': $value.message}, + deserialize: ($serialized) { + return UnauthorizedException( + (($serialized?[r'message'] as String?)) ?? 'Unauthorized'); + }, + )); + Serializers.instance + .put(Serializer.define>( + serialize: ($value) => { + r'message': $value.message, + r'offset': $value.offset, + r'source': $value.source, + }, + deserialize: ($serialized) { + return SerializationException(($serialized[r'message'] as String)); + }, + )); +} diff --git a/packages/celest_auth/example/celest/project.dart b/packages/celest_auth/example/celest/project.dart new file mode 100644 index 00000000..d8835789 --- /dev/null +++ b/packages/celest_auth/example/celest/project.dart @@ -0,0 +1,5 @@ +import 'package:celest/celest.dart'; + +const project = Project( + name: 'celest_auth_example', +); diff --git a/packages/celest_auth/example/celest/pubspec.yaml b/packages/celest_auth/example/celest/pubspec.yaml new file mode 100644 index 00000000..7f473bfb --- /dev/null +++ b/packages/celest_auth/example/celest/pubspec.yaml @@ -0,0 +1,16 @@ +name: celest_backend +description: The Celest backend for celest_auth_example. +publish_to: none + +environment: + sdk: ^3.3.0 + +dependencies: + celest: ^0.2.0 + celest_auth: any + celest_core: ^0.2.0 + http: ">=0.13.0 <2.0.0" + +dev_dependencies: + lints: ^3.0.0 + test: ^1.24.0 diff --git a/packages/celest_auth/example/celest/resources.dart b/packages/celest_auth/example/celest/resources.dart new file mode 100644 index 00000000..9e08d4c3 --- /dev/null +++ b/packages/celest_auth/example/celest/resources.dart @@ -0,0 +1,24 @@ +// Generated by Celest. This file should not be modified manually, but +// it can be checked into version control. +// ignore_for_file: type=lint, unused_local_variable, unnecessary_cast, unnecessary_import + +library; + +import 'package:celest/celest.dart'; + +@Deprecated('Use `Apis` instead.') +typedef apis = Apis; + +abstract final class Apis { + static const greeting = CloudApi(name: r'greeting'); +} + +@Deprecated('Use `Functions` instead.') +typedef functions = Functions; + +abstract final class Functions { + static const greetingSayHello = CloudFunction( + api: r'greeting', + functionName: r'sayHello', + ); +} diff --git a/packages/celest_auth/example/celest/test/functions/greeting_test.dart b/packages/celest_auth/example/celest/test/functions/greeting_test.dart new file mode 100644 index 00000000..dc9ec6df --- /dev/null +++ b/packages/celest_auth/example/celest/test/functions/greeting_test.dart @@ -0,0 +1,19 @@ +import 'package:celest_backend/exceptions/bad_name_exception.dart'; +import 'package:celest_backend/models/person.dart'; +import 'package:test/test.dart'; + +import '../../functions/greeting.dart'; + +void main() { + group('greeting', () { + test('sayHello', () async { + expect(await sayHello(person: Person(name: 'Celest')), 'Hello, Celest!'); + }); + test('sayHello (empty name)', () async { + expect( + sayHello(person: Person(name: '')), + throwsA(isA()), + ); + }); + }); +} diff --git a/packages/celest_auth/example/lib/main.dart b/packages/celest_auth/example/lib/main.dart index 5eccfc89..355e8ef5 100644 --- a/packages/celest_auth/example/lib/main.dart +++ b/packages/celest_auth/example/lib/main.dart @@ -1,23 +1,12 @@ -import 'package:celest_auth/src/auth.dart'; import 'package:celest_auth/src/flows/email_flow.dart'; -import 'package:celest_auth/src/flows/passkey_flow.dart'; +import 'package:celest_backend/client.dart'; import 'package:celest_core/celest_core.dart'; import 'package:flutter/material.dart'; import 'package:flutter_state_notifier/flutter_state_notifier.dart'; import 'package:http/http.dart' as http; -final baseUri = Uri.https('user-hub.celest.dev'); -// final baseUri = Uri.http('localhost:8080'); -final auth = CelestAuth( - baseUri: baseUri, - httpClient: http.Client(), -); - -final class CelestAuth extends AuthImpl with Passkeys, EmailProvider { - CelestAuth({required super.baseUri, required super.httpClient}); -} - void main() { + celest.init(); runApp(const MainApp()); } @@ -48,25 +37,11 @@ class _MainAppState extends State { final _otpController = TextEditingController(); Future? _request; - Future signUpPasskeys() async { - try { - _state.value = _State(_Step.signingIn); - final user = await auth.passkeys.authenticate( - email: _emailController.text, - ); - _emailController.clear(); - _state.value = _State(_Step.signedIn, user: user); - } on Exception catch (e, st) { - print('Error: $e'); - print('Stacktrace: $st'); - _state.value = _State(_Step.idle); - } - } - Future signUp() async { try { _state.value = _State(_Step.signingIn); - final verify = await auth.email.signUp(email: _emailController.text); + final verify = + await celest.auth.email.signUp(email: _emailController.text); print('Needs verification'); _emailController.clear(); _state.value = _State(_Step.needsVerification, verification: verify); @@ -186,9 +161,8 @@ class _MainAppState extends State { ), const SizedBox(height: 16), TextButton( - onPressed: state.step != _Step.signingIn - ? signUpPasskeys - : null, + onPressed: + state.step != _Step.signingIn ? signUp : null, child: const Text('Sign Up'), ), ], diff --git a/packages/celest_auth/example/pubspec.yaml b/packages/celest_auth/example/pubspec.yaml index 8980a530..2b752a67 100644 --- a/packages/celest_auth/example/pubspec.yaml +++ b/packages/celest_auth/example/pubspec.yaml @@ -7,9 +7,8 @@ environment: sdk: ">=3.3.0 <4.0.0" dependencies: - celest: ^0.2.0 - celest_auth: ^0.3.0 - celest_core: ^0.2.0 + celest_backend: + path: celest/ flutter: sdk: flutter flutter_state_notifier: ^1.0.0 diff --git a/packages/celest_auth/lib/src/auth.dart b/packages/celest_auth/lib/src/auth.dart index 94f84bad..ccdcf377 100644 --- a/packages/celest_auth/lib/src/auth.dart +++ b/packages/celest_auth/lib/src/auth.dart @@ -3,13 +3,13 @@ import 'dart:async'; import 'package:celest_auth/src/flows/auth_flow.dart'; import 'package:celest_auth/src/platform/auth_platform.dart'; import 'package:celest_auth/src/state/auth_state.dart'; -import 'package:celest_core/celest_core.dart'; +// ignore: implementation_imports +import 'package:celest_core/src/auth/auth_client.dart'; // ignore: implementation_imports import 'package:celest_core/src/storage/local/local_storage.dart'; // ignore: implementation_imports import 'package:celest_core/src/storage/secure/secure_storage.dart'; import 'package:http/http.dart' as http; -import 'package:meta/meta.dart'; /// Coordinates and delegates to the various [AuthFlow] to orchestrate /// authentication activities. @@ -17,17 +17,23 @@ import 'package:meta/meta.dart'; /// Generated Celest clients extend this class and mix in the various /// [AuthFlow]s supported by the backend. abstract interface class Auth { + /// Initializes Celest Auth. + /// + /// Must be called before any other getters or methods are accessed. + void init(); + AuthState get authState; Stream get authStateChanges; } -abstract base class AuthImpl implements Auth { +final class AuthImpl implements Auth { AuthImpl({ required this.baseUri, required this.httpClient, - }) { - init(); - } + LocalStorage? localStorage, + SecureStorage? secureStorage, + }) : localStorage = localStorage ?? LocalStorage(), + secureStorage = secureStorage ?? SecureStorage(); @override AuthState get authState => _authState; @@ -43,10 +49,7 @@ abstract base class AuthImpl implements Auth { late final StreamSubscription _authStateSubscription; StreamSubscription? _authFlowSubscription; - /// Initializes Celest Auth. - /// - /// Must be called before any other getters or methods are accessed. - @mustCallSuper + @override void init() { _authStateSubscription = authStateChanges.listen((state) => _authState = state); @@ -67,7 +70,7 @@ abstract base class AuthImpl implements Auth { 'User is already authenticated. Sign out before continuing.', ); case Unauthenticated() || NeedsReauthentication(): - assert(_authFlowSubscription == null); + await _authFlowSubscription?.cancel(); final previousState = _authState; final controller = StreamController( onCancel: () => _authStateController.add(previousState), @@ -87,8 +90,8 @@ abstract base class AuthImpl implements Auth { final Uri baseUri; final http.Client httpClient; - final LocalStorage localStorage = LocalStorage(); - final SecureStorage secureStorage = SecureStorage(); + final LocalStorage localStorage; + final SecureStorage secureStorage; late final AuthClient protocol = AuthClient( baseUri: baseUri, diff --git a/packages/celest_auth/lib/src/flows/email_flow.dart b/packages/celest_auth/lib/src/flows/email_flow.dart index aef78db9..30327551 100644 --- a/packages/celest_auth/lib/src/flows/email_flow.dart +++ b/packages/celest_auth/lib/src/flows/email_flow.dart @@ -4,12 +4,10 @@ import 'package:celest_auth/src/auth.dart'; import 'package:celest_auth/src/flows/auth_flow.dart'; import 'package:celest_auth/src/state/auth_state.dart'; import 'package:celest_core/celest_core.dart'; +import 'package:celest_core/src/auth/auth_protocol.dart'; +import 'package:celest_core/src/auth/otp/otp_types.dart'; import 'package:state_notifier/state_notifier.dart'; -base mixin EmailProvider on AuthImpl { - late final Email email = Email(this); -} - final class Email { Email(this._hub); diff --git a/packages/celest_auth/lib/src/flows/passkey_flow.dart b/packages/celest_auth/lib/src/flows/passkey_flow.dart index 8b341233..6171b1d2 100644 --- a/packages/celest_auth/lib/src/flows/passkey_flow.dart +++ b/packages/celest_auth/lib/src/flows/passkey_flow.dart @@ -3,10 +3,8 @@ import 'package:celest_auth/src/auth.dart'; import 'package:celest_auth/src/flows/auth_flow.dart'; import 'package:celest_auth/src/platform/passkeys/passkey_exception_impl.dart'; import 'package:celest_core/celest_core.dart'; - -base mixin Passkeys on AuthImpl { - late final PasskeyFlow passkeys = PasskeyFlow(this); -} +import 'package:celest_core/src/auth/auth_protocol.dart'; +import 'package:celest_core/src/auth/passkeys/passkey_types.dart'; final class PasskeyFlow implements AuthFlow { PasskeyFlow(this._hub); diff --git a/packages/celest_auth/lib/src/platform/auth_platform.dart b/packages/celest_auth/lib/src/platform/auth_platform.dart index 764c2a92..539c78f5 100644 --- a/packages/celest_auth/lib/src/platform/auth_platform.dart +++ b/packages/celest_auth/lib/src/platform/auth_platform.dart @@ -1,6 +1,7 @@ import 'package:celest_auth/src/platform/auth_platform_impl.vm.dart' if (dart.library.js_interop) 'package:celest_auth/src/platform/auth_platform_impl.web.dart'; -import 'package:celest_core/celest_core.dart'; +// ignore: implementation_imports +import 'package:celest_core/src/auth/auth_protocol.dart'; import 'package:meta/meta.dart'; abstract base class AuthPlatform { diff --git a/packages/celest_auth/lib/src/platform/auth_platform_impl.vm.dart b/packages/celest_auth/lib/src/platform/auth_platform_impl.vm.dart index af8a25ae..cb1a2fe7 100644 --- a/packages/celest_auth/lib/src/platform/auth_platform_impl.vm.dart +++ b/packages/celest_auth/lib/src/platform/auth_platform_impl.vm.dart @@ -2,7 +2,8 @@ import 'package:celest_auth/src/platform/auth_platform.android.dart'; import 'package:celest_auth/src/platform/auth_platform.dart'; import 'package:celest_auth/src/platform/auth_platform.darwin.dart'; import 'package:celest_auth/src/platform/auth_platform.native.dart'; -import 'package:celest_core/celest_core.dart'; +// ignore: implementation_imports +import 'package:celest_core/src/auth/auth_protocol.dart'; // ignore: implementation_imports import 'package:celest_core/src/util/globals.dart'; import 'package:meta/meta.dart'; diff --git a/packages/celest_auth/lib/src/platform/auth_platform_impl.web.dart b/packages/celest_auth/lib/src/platform/auth_platform_impl.web.dart index fcd6be33..8ae1da0c 100644 --- a/packages/celest_auth/lib/src/platform/auth_platform_impl.web.dart +++ b/packages/celest_auth/lib/src/platform/auth_platform_impl.web.dart @@ -1,6 +1,7 @@ import 'package:celest_auth/src/platform/auth_platform.dart'; import 'package:celest_auth/src/platform/auth_platform.web.dart'; -import 'package:celest_core/celest_core.dart'; +// ignore: implementation_imports +import 'package:celest_core/src/auth/auth_protocol.dart'; // ignore: implementation_imports import 'package:celest_core/src/util/globals.dart'; import 'package:meta/meta.dart'; diff --git a/packages/celest_auth/lib/src/platform/passkeys/passkey_exception_impl.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_exception_impl.dart index 297a323a..782c7694 100644 --- a/packages/celest_auth/lib/src/platform/passkeys/passkey_exception_impl.dart +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_exception_impl.dart @@ -1,4 +1,5 @@ -import 'package:celest_core/celest_core.dart'; +// ignore: implementation_imports +import 'package:celest_core/src/auth/passkeys/passkey_exception.dart'; // TODO(dnys1): Make sealed final class PasskeyExceptionImpl implements PasskeyException { diff --git a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.android.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.android.dart index 2da871f4..eed903d7 100644 --- a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.android.dart +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.android.dart @@ -5,7 +5,7 @@ import 'package:celest_auth/src/native/android/jni_bindings.ffi.dart' hide Exception; import 'package:celest_auth/src/native/android/jni_helpers.dart'; import 'package:celest_auth/src/platform/passkeys/passkey_platform_impl.vm.dart'; -import 'package:celest_core/celest_core.dart'; +import 'package:celest_core/src/auth/passkeys/passkey_types.dart'; import 'package:jni/jni.dart'; final class PasskeyPlatformAndroid extends PasskeyPlatformImpl { diff --git a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.dart index cd67b634..d1432f29 100644 --- a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.dart +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.dart @@ -1,6 +1,6 @@ import 'package:celest_auth/src/platform/passkeys/passkey_platform_impl.vm.dart' if (dart.library.js_interop) 'package:celest_auth/src/platform/passkeys/passkey_platform_impl.web.dart'; -import 'package:celest_core/celest_core.dart'; +import 'package:celest_core/src/auth/passkeys/passkey_types.dart'; import 'package:meta/meta.dart'; abstract base class PasskeyPlatform { diff --git a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.darwin.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.darwin.dart index 0aeb2ad9..e9b7d975 100644 --- a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.darwin.dart +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.darwin.dart @@ -5,7 +5,7 @@ import 'dart:ffi'; import 'package:celest_auth/src/native/darwin/celest_auth.ffi.dart'; import 'package:celest_auth/src/platform/passkeys/passkey_exception_impl.dart'; import 'package:celest_auth/src/platform/passkeys/passkey_platform_impl.vm.dart'; -import 'package:celest_core/celest_core.dart'; +import 'package:celest_core/src/auth/passkeys/passkey_types.dart'; // ignore: implementation_imports import 'package:celest_core/src/util/globals.dart'; import 'package:ffi/ffi.dart'; diff --git a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.web.dart b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.web.dart index ef5d856f..44e424ce 100644 --- a/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.web.dart +++ b/packages/celest_auth/lib/src/platform/passkeys/passkey_platform.web.dart @@ -5,7 +5,8 @@ import 'dart:typed_data'; import 'package:celest_auth/src/platform/passkeys/passkey_exception_impl.dart'; import 'package:celest_auth/src/platform/passkeys/passkey_platform_impl.web.dart'; -import 'package:celest_core/celest_core.dart' +import 'package:celest_core/src/auth/passkeys/passkey_exception.dart'; +import 'package:celest_core/src/auth/passkeys/passkey_types.dart' hide AuthenticatorSelectionCriteria; import 'package:web/web.dart' hide diff --git a/packages/celest_core/lib/celest_core.dart b/packages/celest_core/lib/celest_core.dart index 6762a435..08c55a9b 100644 --- a/packages/celest_core/lib/celest_core.dart +++ b/packages/celest_core/lib/celest_core.dart @@ -2,12 +2,7 @@ library; /// Auth -export 'src/auth/auth_client.dart'; export 'src/auth/auth_exception.dart'; -export 'src/auth/auth_protocol.dart'; -export 'src/auth/otp/otp_types.dart'; -export 'src/auth/passkeys/passkey_exception.dart'; -export 'src/auth/passkeys/passkey_types.dart'; export 'src/auth/user.dart'; /// Exceptions diff --git a/packages/celest_core/lib/src/auth/auth_client.dart b/packages/celest_core/lib/src/auth/auth_client.dart index f2219b47..f8b555d5 100644 --- a/packages/celest_core/lib/src/auth/auth_client.dart +++ b/packages/celest_core/lib/src/auth/auth_client.dart @@ -1,4 +1,7 @@ import 'package:celest_core/celest_core.dart'; +import 'package:celest_core/src/auth/auth_protocol.dart'; +import 'package:celest_core/src/auth/otp/otp_types.dart'; +import 'package:celest_core/src/auth/passkeys/passkey_types.dart'; import 'package:celest_core/src/base/base_protocol.dart'; import 'package:http/http.dart' as http; diff --git a/packages/celest_core/lib/src/auth/auth_protocol.dart b/packages/celest_core/lib/src/auth/auth_protocol.dart index fba9b24b..79873dbe 100644 --- a/packages/celest_core/lib/src/auth/auth_protocol.dart +++ b/packages/celest_core/lib/src/auth/auth_protocol.dart @@ -1,4 +1,6 @@ import 'package:celest_core/celest_core.dart'; +import 'package:celest_core/src/auth/otp/otp_types.dart'; +import 'package:celest_core/src/auth/passkeys/passkey_types.dart'; abstract interface class AuthProtocol { PasskeyProtocol get passkeys; From fdf407021d7dcb8085ee3046c584968b936b1f75 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Fri, 8 Mar 2024 13:05:15 -0800 Subject: [PATCH 18/33] Make Cedar types built_value representable --- packages/cedar_common/lib/cedar_common.dart | 1 + .../lib/src/ast/cedar_entity.dart | 42 +- .../lib/src/ast/cedar_entity.g.dart | 201 ++++++ .../lib/src/ast/cedar_entity_id.dart | 30 +- .../lib/src/ast/cedar_entity_id.g.dart | 145 +++++ .../lib/src/policy/cedar_policy.dart | 214 ++++--- .../lib/src/policy/cedar_policy.g.dart | 604 ++++++++++++++++-- .../lib/src/policy/cedar_policy_set.dart | 30 +- .../lib/src/policy/cedar_policy_set.g.dart | 155 +++++ .../cedar_common/lib/src/serializers.dart | 20 + .../cedar_common/lib/src/serializers.g.dart | 45 ++ packages/cedar_common/pubspec.yaml | 2 + packages/corks/lib/src/cork.dart | 13 +- .../corks/lib/src/interop/proto_interop.dart | 5 +- packages/corks/test/cork_test.dart | 8 +- 15 files changed, 1360 insertions(+), 155 deletions(-) create mode 100644 packages/cedar_common/lib/src/ast/cedar_entity.g.dart create mode 100644 packages/cedar_common/lib/src/ast/cedar_entity_id.g.dart create mode 100644 packages/cedar_common/lib/src/policy/cedar_policy_set.g.dart create mode 100644 packages/cedar_common/lib/src/serializers.dart create mode 100644 packages/cedar_common/lib/src/serializers.g.dart diff --git a/packages/cedar_common/lib/cedar_common.dart b/packages/cedar_common/lib/cedar_common.dart index 51efc702..d03d05d8 100644 --- a/packages/cedar_common/lib/cedar_common.dart +++ b/packages/cedar_common/lib/cedar_common.dart @@ -11,3 +11,4 @@ export 'src/ast/cedar_schema.dart'; export 'src/policy/cedar_policy.dart'; export 'src/policy/cedar_policy_set.dart'; export 'src/policy/json_expr.dart'; +export 'src/serializers.dart'; diff --git a/packages/cedar_common/lib/src/ast/cedar_entity.dart b/packages/cedar_common/lib/src/ast/cedar_entity.dart index 66d01a25..c060b948 100644 --- a/packages/cedar_common/lib/src/ast/cedar_entity.dart +++ b/packages/cedar_common/lib/src/ast/cedar_entity.dart @@ -1,13 +1,29 @@ +import 'package:built_collection/built_collection.dart'; +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; import 'package:cedar_common/src/ast/cedar_entity_id.dart'; import 'package:cedar_common/src/ast/cedar_node.dart'; import 'package:cedar_common/src/policy/json_expr.dart'; -final class CedarEntity implements CedarNode { - const CedarEntity({ - required this.id, - this.parents = const [], - this.attributes = const {}, - }); +part 'cedar_entity.g.dart'; + +abstract class CedarEntity + implements Built, CedarNode { + factory CedarEntity({ + required CedarEntityId id, + List parents = const [], + Map attributes = const {}, + }) { + return _$CedarEntity._( + id: id, + parents: parents.build(), + attributes: attributes.build(), + ); + } + + factory CedarEntity.build([ + void Function(CedarEntityBuilder) updates, + ]) = _$CedarEntity; factory CedarEntity.fromJson(Map json) => CedarEntity( id: CedarEntityId.fromJson(json['uid'] as Map), @@ -19,14 +35,20 @@ final class CedarEntity implements CedarNode { .map((key, value) => MapEntry(key, CedarValueJson.fromJson(value))), ); - final CedarEntityId id; - final List parents; - final Map attributes; + const CedarEntity._(); + + CedarEntityId get id; + BuiltList get parents; + BuiltMap get attributes; @override Map toJson() => { 'uid': id.toJson(), 'parents': parents.map((e) => e.toJson()).toList(), - 'attrs': attributes.map((key, value) => MapEntry(key, value.toJson())), + 'attrs': attributes + .map((key, value) => MapEntry(key, value.toJson())) + .asMap(), }; + + static Serializer get serializer => _$cedarEntitySerializer; } diff --git a/packages/cedar_common/lib/src/ast/cedar_entity.g.dart b/packages/cedar_common/lib/src/ast/cedar_entity.g.dart new file mode 100644 index 00000000..16c92876 --- /dev/null +++ b/packages/cedar_common/lib/src/ast/cedar_entity.g.dart @@ -0,0 +1,201 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'cedar_entity.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +Serializer _$cedarEntitySerializer = new _$CedarEntitySerializer(); + +class _$CedarEntitySerializer implements StructuredSerializer { + @override + final Iterable types = const [CedarEntity, _$CedarEntity]; + @override + final String wireName = 'CedarEntity'; + + @override + Iterable serialize(Serializers serializers, CedarEntity object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + 'id', + serializers.serialize(object.id, + specifiedType: const FullType(CedarEntityId)), + 'parents', + serializers.serialize(object.parents, + specifiedType: + const FullType(BuiltList, const [const FullType(CedarEntityId)])), + 'attributes', + serializers.serialize(object.attributes, + specifiedType: const FullType(BuiltMap, + const [const FullType(String), const FullType(CedarValueJson)])), + ]; + + return result; + } + + @override + CedarEntity deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = new CedarEntityBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case 'id': + result.id.replace(serializers.deserialize(value, + specifiedType: const FullType(CedarEntityId))! as CedarEntityId); + break; + case 'parents': + result.parents.replace(serializers.deserialize(value, + specifiedType: const FullType( + BuiltList, const [const FullType(CedarEntityId)]))! + as BuiltList); + break; + case 'attributes': + result.attributes.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltMap, const [ + const FullType(String), + const FullType(CedarValueJson) + ]))!); + break; + } + } + + return result.build(); + } +} + +class _$CedarEntity extends CedarEntity { + @override + final CedarEntityId id; + @override + final BuiltList parents; + @override + final BuiltMap attributes; + + factory _$CedarEntity([void Function(CedarEntityBuilder)? updates]) => + (new CedarEntityBuilder()..update(updates))._build(); + + _$CedarEntity._( + {required this.id, required this.parents, required this.attributes}) + : super._() { + BuiltValueNullFieldError.checkNotNull(id, r'CedarEntity', 'id'); + BuiltValueNullFieldError.checkNotNull(parents, r'CedarEntity', 'parents'); + BuiltValueNullFieldError.checkNotNull( + attributes, r'CedarEntity', 'attributes'); + } + + @override + CedarEntity rebuild(void Function(CedarEntityBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + CedarEntityBuilder toBuilder() => new CedarEntityBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is CedarEntity && + id == other.id && + parents == other.parents && + attributes == other.attributes; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, id.hashCode); + _$hash = $jc(_$hash, parents.hashCode); + _$hash = $jc(_$hash, attributes.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } + + @override + String toString() { + return (newBuiltValueToStringHelper(r'CedarEntity') + ..add('id', id) + ..add('parents', parents) + ..add('attributes', attributes)) + .toString(); + } +} + +class CedarEntityBuilder implements Builder { + _$CedarEntity? _$v; + + CedarEntityIdBuilder? _id; + CedarEntityIdBuilder get id => _$this._id ??= new CedarEntityIdBuilder(); + set id(CedarEntityIdBuilder? id) => _$this._id = id; + + ListBuilder? _parents; + ListBuilder get parents => + _$this._parents ??= new ListBuilder(); + set parents(ListBuilder? parents) => _$this._parents = parents; + + MapBuilder? _attributes; + MapBuilder get attributes => + _$this._attributes ??= new MapBuilder(); + set attributes(MapBuilder? attributes) => + _$this._attributes = attributes; + + CedarEntityBuilder(); + + CedarEntityBuilder get _$this { + final $v = _$v; + if ($v != null) { + _id = $v.id.toBuilder(); + _parents = $v.parents.toBuilder(); + _attributes = $v.attributes.toBuilder(); + _$v = null; + } + return this; + } + + @override + void replace(CedarEntity other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$CedarEntity; + } + + @override + void update(void Function(CedarEntityBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + CedarEntity build() => _build(); + + _$CedarEntity _build() { + _$CedarEntity _$result; + try { + _$result = _$v ?? + new _$CedarEntity._( + id: id.build(), + parents: parents.build(), + attributes: attributes.build()); + } catch (_) { + late String _$failedField; + try { + _$failedField = 'id'; + id.build(); + _$failedField = 'parents'; + parents.build(); + _$failedField = 'attributes'; + attributes.build(); + } catch (e) { + throw new BuiltValueNestedFieldError( + r'CedarEntity', _$failedField, e.toString()); + } + rethrow; + } + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/packages/cedar_common/lib/src/ast/cedar_entity_id.dart b/packages/cedar_common/lib/src/ast/cedar_entity_id.dart index 6bc04b17..e53441f0 100644 --- a/packages/cedar_common/lib/src/ast/cedar_entity_id.dart +++ b/packages/cedar_common/lib/src/ast/cedar_entity_id.dart @@ -1,7 +1,17 @@ +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; import 'package:cedar_common/src/ast/cedar_node.dart'; -final class CedarEntityId implements CedarNode { - const CedarEntityId(this.type, this.id); +part 'cedar_entity_id.g.dart'; + +abstract class CedarEntityId + implements Built, CedarNode { + factory CedarEntityId(String type, String id) => + _$CedarEntityId._(type: type, id: id); + + factory CedarEntityId.build([ + void Function(CedarEntityIdBuilder) updates, + ]) = _$CedarEntityId; factory CedarEntityId.fromJson(Map json) { switch (json) { @@ -13,8 +23,10 @@ final class CedarEntityId implements CedarNode { } } - final String type; - final String id; + const CedarEntityId._(); + + String get type; + String get id; /// Returns a normalized version of this entity ID. /// @@ -45,14 +57,6 @@ final class CedarEntityId implements CedarNode { ), ); - @override - bool operator ==(Object other) => - identical(this, other) || - other is CedarEntityId && type == other.type && id == other.id; - - @override - int get hashCode => Object.hash(type, id); - @override String toString() => '$type::"$id"'; @@ -61,4 +65,6 @@ final class CedarEntityId implements CedarNode { 'type': type, 'id': id, }; + + static Serializer get serializer => _$cedarEntityIdSerializer; } diff --git a/packages/cedar_common/lib/src/ast/cedar_entity_id.g.dart b/packages/cedar_common/lib/src/ast/cedar_entity_id.g.dart new file mode 100644 index 00000000..0e6e3615 --- /dev/null +++ b/packages/cedar_common/lib/src/ast/cedar_entity_id.g.dart @@ -0,0 +1,145 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'cedar_entity_id.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +Serializer _$cedarEntityIdSerializer = + new _$CedarEntityIdSerializer(); + +class _$CedarEntityIdSerializer implements StructuredSerializer { + @override + final Iterable types = const [CedarEntityId, _$CedarEntityId]; + @override + final String wireName = 'CedarEntityId'; + + @override + Iterable serialize(Serializers serializers, CedarEntityId object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + 'type', + serializers.serialize(object.type, specifiedType: const FullType(String)), + 'id', + serializers.serialize(object.id, specifiedType: const FullType(String)), + ]; + + return result; + } + + @override + CedarEntityId deserialize( + Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = new CedarEntityIdBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case 'type': + result.type = serializers.deserialize(value, + specifiedType: const FullType(String))! as String; + break; + case 'id': + result.id = serializers.deserialize(value, + specifiedType: const FullType(String))! as String; + break; + } + } + + return result.build(); + } +} + +class _$CedarEntityId extends CedarEntityId { + @override + final String type; + @override + final String id; + + factory _$CedarEntityId([void Function(CedarEntityIdBuilder)? updates]) => + (new CedarEntityIdBuilder()..update(updates))._build(); + + _$CedarEntityId._({required this.type, required this.id}) : super._() { + BuiltValueNullFieldError.checkNotNull(type, r'CedarEntityId', 'type'); + BuiltValueNullFieldError.checkNotNull(id, r'CedarEntityId', 'id'); + } + + @override + CedarEntityId rebuild(void Function(CedarEntityIdBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + CedarEntityIdBuilder toBuilder() => new CedarEntityIdBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is CedarEntityId && type == other.type && id == other.id; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, type.hashCode); + _$hash = $jc(_$hash, id.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } +} + +class CedarEntityIdBuilder + implements Builder { + _$CedarEntityId? _$v; + + String? _type; + String? get type => _$this._type; + set type(String? type) => _$this._type = type; + + String? _id; + String? get id => _$this._id; + set id(String? id) => _$this._id = id; + + CedarEntityIdBuilder(); + + CedarEntityIdBuilder get _$this { + final $v = _$v; + if ($v != null) { + _type = $v.type; + _id = $v.id; + _$v = null; + } + return this; + } + + @override + void replace(CedarEntityId other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$CedarEntityId; + } + + @override + void update(void Function(CedarEntityIdBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + CedarEntityId build() => _build(); + + _$CedarEntityId _build() { + final _$result = _$v ?? + new _$CedarEntityId._( + type: BuiltValueNullFieldError.checkNotNull( + type, r'CedarEntityId', 'type'), + id: BuiltValueNullFieldError.checkNotNull( + id, r'CedarEntityId', 'id')); + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/packages/cedar_common/lib/src/policy/cedar_policy.dart b/packages/cedar_common/lib/src/policy/cedar_policy.dart index 9606d916..43e03f6b 100644 --- a/packages/cedar_common/lib/src/policy/cedar_policy.dart +++ b/packages/cedar_common/lib/src/policy/cedar_policy.dart @@ -4,48 +4,77 @@ library; import 'package:built_collection/built_collection.dart'; import 'package:built_value/built_value.dart'; +import 'package:built_value/json_object.dart'; +import 'package:built_value/serializer.dart'; import 'package:cedar_common/cedar_common.dart'; +import 'package:cedar_common/src/serializers.dart'; part 'cedar_policy.g.dart'; -enum CedarPolicyEffect { - permit, - forbid; +class CedarPolicyEffect extends EnumClass { + const CedarPolicyEffect._(super.name); - factory CedarPolicyEffect.fromJson(String json) => values.byName(json); + static const CedarPolicyEffect permit = _$permit; + static const CedarPolicyEffect forbid = _$forbid; + + static BuiltSet get values => _$CedarPolicyEffectValues; + static CedarPolicyEffect valueOf(String name) => + _$CedarPolicyEffectValueOf(name); + + static CedarPolicyEffect fromJson(String json) => + _$CedarPolicyEffectValueOf(json); String toJson() => name; + + static Serializer get serializer => + _$cedarPolicyEffectSerializer; } -enum CedarPolicyOp { - all('All'), - equals('=='), - in$('in'), - is$('is'); - - const CedarPolicyOp(this.name); - - factory CedarPolicyOp.fromJson(String json) => values.firstWhere( - (op) => op.name == json, - orElse: () => throw ArgumentError.value( - json, - 'json', - 'Invalid CedarPolicyOp. Expected one of: ${values.map((v) => v.name).join(', ')}', - ), - ); +class CedarPolicyOp extends EnumClass { + const CedarPolicyOp._(super.name); - final String name; + @BuiltValueEnumConst(wireName: 'All') + static const CedarPolicyOp all = _$all; - String toJson() => name; + @BuiltValueEnumConst(wireName: '==') + static const CedarPolicyOp equals = _$equals; + + @BuiltValueEnumConst(wireName: 'in') + static const CedarPolicyOp in$ = _$in$; + + @BuiltValueEnumConst(wireName: 'is') + static const CedarPolicyOp is$ = _$is$; + + static BuiltSet get values => _$CedarPolicyOpValues; + static CedarPolicyOp valueOf(String name) => _$CedarPolicyOpValueOf(name); + + static CedarPolicyOp fromJson(String json) => + cedarSerializers.deserializeWith(CedarPolicyOp.serializer, json)!; + + String toJson() => + cedarSerializers.serializeWith(CedarPolicyOp.serializer, this) as String; + + static Serializer get serializer => _$cedarPolicyOpSerializer; } -enum CedarPolicyConditionKind { - when, - unless; +class CedarPolicyConditionKind extends EnumClass { + const CedarPolicyConditionKind._(super.name); - factory CedarPolicyConditionKind.fromJson(String json) => values.byName(json); + static const CedarPolicyConditionKind when = _$when; + static const CedarPolicyConditionKind unless = _$unless; + + static BuiltSet get values => + _$CedarPolicyConditionKindValues; + static CedarPolicyConditionKind valueOf(String name) => + _$CedarPolicyConditionKindValueOf(name); + + static CedarPolicyConditionKind fromJson(String json) => + _$CedarPolicyConditionKindValueOf(json); String toJson() => name; + + static Serializer get serializer => + _$cedarPolicyConditionKindSerializer; } abstract class CedarPolicy implements Built { @@ -69,6 +98,25 @@ abstract class CedarPolicy implements Built { ); } + factory CedarPolicy.fromJson(Map json) { + return CedarPolicy( + effect: CedarPolicyEffect.fromJson(json['effect'] as String), + principal: CedarPolicyPrincipal.fromJson( + json['principal'] as Map, + ), + action: CedarPolicyAction.fromJson( + json['action'] as Map, + ), + resource: CedarPolicyResource.fromJson( + json['resource'] as Map, + ), + conditions: (json['conditions'] as List) + .map((c) => CedarPolicyCondition.fromJson(c as Map)) + .toList(), + annotations: (json['annotations'] as Map?)?.cast(), + ); + } + factory CedarPolicy.build([ void Function(CedarPolicyBuilder) updates, ]) = _$CedarPolicy; @@ -95,24 +143,7 @@ abstract class CedarPolicy implements Built { if (annotations != null) 'annotations': annotations!.toMap(), }; - factory CedarPolicy.fromJson(Map json) { - return CedarPolicy( - effect: CedarPolicyEffect.fromJson(json['effect'] as String), - principal: CedarPolicyPrincipal.fromJson( - json['principal'] as Map, - ), - action: CedarPolicyAction.fromJson( - json['action'] as Map, - ), - resource: CedarPolicyResource.fromJson( - json['resource'] as Map, - ), - conditions: (json['conditions'] as List) - .map((c) => CedarPolicyCondition.fromJson(c as Map)) - .toList(), - annotations: (json['annotations'] as Map?)?.cast(), - ); - } + static Serializer get serializer => _$cedarPolicySerializer; } abstract class CedarPolicyPrincipal @@ -122,11 +153,23 @@ abstract class CedarPolicyPrincipal CedarEntityId? entity, String? entityType, }) { - return CedarPolicyPrincipal.build( - (b) => b + return CedarPolicyPrincipal.build((b) { + b ..op = op - ..entity = entity - ..entityType = entityType, + ..entityType = entityType; + if (entity != null) { + b.entity.replace(entity); + } + }); + } + + factory CedarPolicyPrincipal.fromJson(Map json) { + return CedarPolicyPrincipal( + op: CedarPolicyOp.fromJson(json['op'] as String), + entity: json['entity'] == null + ? null + : CedarEntityId.fromJson(json['entity'] as Map), + entityType: json['entity_type'] as String?, ); } @@ -139,17 +182,17 @@ abstract class CedarPolicyPrincipal static void _validate(CedarPolicyPrincipalBuilder policy) { switch (policy.op) { case CedarPolicyOp.all: - _expectAbsent('entity', policy.entity); + _expectAbsent('entity', policy._entity); _expectAbsent('entityType', policy.entityType); case CedarPolicyOp.equals: - _expectPresent('entity', policy.entity); + _expectPresent('entity', policy._entity); _expectAbsent('entityType', policy.entityType); case CedarPolicyOp.in$: - _expectPresent('entity', policy.entity); + _expectPresent('entity', policy._entity); _expectAbsent('entityType', policy.entityType); case CedarPolicyOp.is$: _expectPresent('entityType', policy.entityType); - _expectAbsent('entity', policy.entity); + _expectAbsent('entity', policy._entity); default: throw ArgumentError.value(policy.op, 'op', 'Invalid op for principal'); } @@ -167,15 +210,8 @@ abstract class CedarPolicyPrincipal if (entityType != null) 'entity_type': entityType, }; - factory CedarPolicyPrincipal.fromJson(Map json) { - return CedarPolicyPrincipal( - op: CedarPolicyOp.fromJson(json['op'] as String), - entity: json['entity'] == null - ? null - : CedarEntityId.fromJson(json['entity'] as Map), - entityType: json['entity_type'] as String?, - ); - } + static Serializer get serializer => + _$cedarPolicyPrincipalSerializer; } abstract class CedarPolicyAction @@ -186,9 +222,10 @@ abstract class CedarPolicyAction List? entities, }) { return CedarPolicyAction.build((b) { - b - ..op = op - ..entity = entity; + b.op = op; + if (entity != null) { + b.entity.replace(entity); + } if (entities != null) { b.entities.addAll(entities); } @@ -214,16 +251,16 @@ abstract class CedarPolicyAction switch (policy.op) { case CedarPolicyOp.all: - _expectAbsent('entity', policy.entity); + _expectAbsent('entity', policy._entity); expectNoEntities(); case CedarPolicyOp.equals: - _expectPresent('entity', policy.entity); + _expectPresent('entity', policy._entity); expectNoEntities(); case CedarPolicyOp.in$: - if (policy.entity != null) { + if (policy._entity != null) { expectNoEntities(); } else if (policy._entities != null) { - _expectAbsent('entity', policy.entity); + _expectAbsent('entity', policy._entity); } else { throw ArgumentError( 'Either entity or entities must be specified', @@ -257,6 +294,9 @@ abstract class CedarPolicyAction .toList(), ); } + + static Serializer get serializer => + _$cedarPolicyActionSerializer; } abstract class CedarPolicyResource @@ -269,8 +309,10 @@ abstract class CedarPolicyResource return CedarPolicyResource.build((b) { b ..op = op - ..entity = entity ..entityType = entityType; + if (entity != null) { + b.entity.replace(entity); + } }); } @@ -283,17 +325,17 @@ abstract class CedarPolicyResource static void _validate(CedarPolicyResourceBuilder policy) { switch (policy.op) { case CedarPolicyOp.all: - _expectAbsent('entity', policy.entity); + _expectAbsent('entity', policy._entity); _expectAbsent('entityType', policy.entityType); case CedarPolicyOp.equals: - _expectPresent('entity', policy.entity); + _expectPresent('entity', policy._entity); _expectAbsent('entityType', policy.entityType); case CedarPolicyOp.in$: - _expectPresent('entity', policy.entity); + _expectPresent('entity', policy._entity); _expectAbsent('entityType', policy.entityType); case CedarPolicyOp.is$: _expectPresent('entityType', policy.entityType); - _expectAbsent('entity', policy.entity); + _expectAbsent('entity', policy._entity); default: throw ArgumentError.value(policy.op, 'op', 'Invalid op for resource'); } @@ -320,6 +362,9 @@ abstract class CedarPolicyResource entityType: json['entity_type'] as String?, ); } + + static Serializer get serializer => + _$cedarPolicyResourceSerializer; } abstract class CedarPolicyCondition @@ -328,7 +373,10 @@ abstract class CedarPolicyCondition required CedarPolicyConditionKind kind, required JsonExpr body, }) { - return _$CedarPolicyCondition._(kind: kind, body: body); + return _$CedarPolicyCondition._( + kind: kind, + bodyJson: JsonObject(body.toJson()), + ); } factory CedarPolicyCondition.build([ @@ -337,18 +385,26 @@ abstract class CedarPolicyCondition CedarPolicyCondition._(); CedarPolicyConditionKind get kind; - JsonExpr get body; + + @BuiltValueField(wireName: 'body') + JsonObject get bodyJson; + + JsonExpr get body => JsonExpr.fromJson(bodyJson.asMap.cast()); Map toJson() => { 'kind': kind.toJson(), - 'body': body.toJson(), + 'body': bodyJson.asMap, }; factory CedarPolicyCondition.fromJson(Map json) => - CedarPolicyCondition( - kind: CedarPolicyConditionKind.fromJson(json['kind'] as String), - body: JsonExpr.fromJson(json['body'] as Map), + CedarPolicyCondition.build( + (b) => b + ..kind = CedarPolicyConditionKind.fromJson(json['kind'] as String) + ..bodyJson = JsonObject(json['body'] as Map), ); + + static Serializer get serializer => + _$cedarPolicyConditionSerializer; } void _expectPresent(String name, Object? value) { diff --git a/packages/cedar_common/lib/src/policy/cedar_policy.g.dart b/packages/cedar_common/lib/src/policy/cedar_policy.g.dart index d284a7df..8cd1c2b7 100644 --- a/packages/cedar_common/lib/src/policy/cedar_policy.g.dart +++ b/packages/cedar_common/lib/src/policy/cedar_policy.g.dart @@ -6,6 +6,505 @@ part of 'cedar_policy.dart'; // BuiltValueGenerator // ************************************************************************** +const CedarPolicyEffect _$permit = const CedarPolicyEffect._('permit'); +const CedarPolicyEffect _$forbid = const CedarPolicyEffect._('forbid'); + +CedarPolicyEffect _$CedarPolicyEffectValueOf(String name) { + switch (name) { + case 'permit': + return _$permit; + case 'forbid': + return _$forbid; + default: + throw new ArgumentError(name); + } +} + +final BuiltSet _$CedarPolicyEffectValues = + new BuiltSet(const [ + _$permit, + _$forbid, +]); + +const CedarPolicyOp _$all = const CedarPolicyOp._('all'); +const CedarPolicyOp _$equals = const CedarPolicyOp._('equals'); +const CedarPolicyOp _$in$ = const CedarPolicyOp._('in\$'); +const CedarPolicyOp _$is$ = const CedarPolicyOp._('is\$'); + +CedarPolicyOp _$CedarPolicyOpValueOf(String name) { + switch (name) { + case 'all': + return _$all; + case 'equals': + return _$equals; + case 'in\$': + return _$in$; + case 'is\$': + return _$is$; + default: + throw new ArgumentError(name); + } +} + +final BuiltSet _$CedarPolicyOpValues = + new BuiltSet(const [ + _$all, + _$equals, + _$in$, + _$is$, +]); + +const CedarPolicyConditionKind _$when = + const CedarPolicyConditionKind._('when'); +const CedarPolicyConditionKind _$unless = + const CedarPolicyConditionKind._('unless'); + +CedarPolicyConditionKind _$CedarPolicyConditionKindValueOf(String name) { + switch (name) { + case 'when': + return _$when; + case 'unless': + return _$unless; + default: + throw new ArgumentError(name); + } +} + +final BuiltSet _$CedarPolicyConditionKindValues = + new BuiltSet(const [ + _$when, + _$unless, +]); + +Serializer _$cedarPolicyEffectSerializer = + new _$CedarPolicyEffectSerializer(); +Serializer _$cedarPolicyOpSerializer = + new _$CedarPolicyOpSerializer(); +Serializer _$cedarPolicyConditionKindSerializer = + new _$CedarPolicyConditionKindSerializer(); +Serializer _$cedarPolicySerializer = new _$CedarPolicySerializer(); +Serializer _$cedarPolicyPrincipalSerializer = + new _$CedarPolicyPrincipalSerializer(); +Serializer _$cedarPolicyActionSerializer = + new _$CedarPolicyActionSerializer(); +Serializer _$cedarPolicyResourceSerializer = + new _$CedarPolicyResourceSerializer(); +Serializer _$cedarPolicyConditionSerializer = + new _$CedarPolicyConditionSerializer(); + +class _$CedarPolicyEffectSerializer + implements PrimitiveSerializer { + @override + final Iterable types = const [CedarPolicyEffect]; + @override + final String wireName = 'CedarPolicyEffect'; + + @override + Object serialize(Serializers serializers, CedarPolicyEffect object, + {FullType specifiedType = FullType.unspecified}) => + object.name; + + @override + CedarPolicyEffect deserialize(Serializers serializers, Object serialized, + {FullType specifiedType = FullType.unspecified}) => + CedarPolicyEffect.valueOf(serialized as String); +} + +class _$CedarPolicyOpSerializer implements PrimitiveSerializer { + static const Map _toWire = const { + 'all': 'All', + 'equals': '==', + 'in\$': 'in', + 'is\$': 'is', + }; + static const Map _fromWire = const { + 'All': 'all', + '==': 'equals', + 'in': 'in\$', + 'is': 'is\$', + }; + + @override + final Iterable types = const [CedarPolicyOp]; + @override + final String wireName = 'CedarPolicyOp'; + + @override + Object serialize(Serializers serializers, CedarPolicyOp object, + {FullType specifiedType = FullType.unspecified}) => + _toWire[object.name] ?? object.name; + + @override + CedarPolicyOp deserialize(Serializers serializers, Object serialized, + {FullType specifiedType = FullType.unspecified}) => + CedarPolicyOp.valueOf( + _fromWire[serialized] ?? (serialized is String ? serialized : '')); +} + +class _$CedarPolicyConditionKindSerializer + implements PrimitiveSerializer { + @override + final Iterable types = const [CedarPolicyConditionKind]; + @override + final String wireName = 'CedarPolicyConditionKind'; + + @override + Object serialize(Serializers serializers, CedarPolicyConditionKind object, + {FullType specifiedType = FullType.unspecified}) => + object.name; + + @override + CedarPolicyConditionKind deserialize( + Serializers serializers, Object serialized, + {FullType specifiedType = FullType.unspecified}) => + CedarPolicyConditionKind.valueOf(serialized as String); +} + +class _$CedarPolicySerializer implements StructuredSerializer { + @override + final Iterable types = const [CedarPolicy, _$CedarPolicy]; + @override + final String wireName = 'CedarPolicy'; + + @override + Iterable serialize(Serializers serializers, CedarPolicy object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + 'effect', + serializers.serialize(object.effect, + specifiedType: const FullType(CedarPolicyEffect)), + 'principal', + serializers.serialize(object.principal, + specifiedType: const FullType(CedarPolicyPrincipal)), + 'action', + serializers.serialize(object.action, + specifiedType: const FullType(CedarPolicyAction)), + 'resource', + serializers.serialize(object.resource, + specifiedType: const FullType(CedarPolicyResource)), + 'conditions', + serializers.serialize(object.conditions, + specifiedType: const FullType( + BuiltList, const [const FullType(CedarPolicyCondition)])), + ]; + Object? value; + value = object.annotations; + if (value != null) { + result + ..add('annotations') + ..add(serializers.serialize(value, + specifiedType: const FullType(BuiltMap, + const [const FullType(String), const FullType(String)]))); + } + return result; + } + + @override + CedarPolicy deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = new CedarPolicyBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case 'effect': + result.effect = serializers.deserialize(value, + specifiedType: const FullType(CedarPolicyEffect))! + as CedarPolicyEffect; + break; + case 'principal': + result.principal.replace(serializers.deserialize(value, + specifiedType: const FullType(CedarPolicyPrincipal))! + as CedarPolicyPrincipal); + break; + case 'action': + result.action.replace(serializers.deserialize(value, + specifiedType: const FullType(CedarPolicyAction))! + as CedarPolicyAction); + break; + case 'resource': + result.resource.replace(serializers.deserialize(value, + specifiedType: const FullType(CedarPolicyResource))! + as CedarPolicyResource); + break; + case 'conditions': + result.conditions.replace(serializers.deserialize(value, + specifiedType: const FullType( + BuiltList, const [const FullType(CedarPolicyCondition)]))! + as BuiltList); + break; + case 'annotations': + result.annotations.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltMap, + const [const FullType(String), const FullType(String)]))!); + break; + } + } + + return result.build(); + } +} + +class _$CedarPolicyPrincipalSerializer + implements StructuredSerializer { + @override + final Iterable types = const [ + CedarPolicyPrincipal, + _$CedarPolicyPrincipal + ]; + @override + final String wireName = 'CedarPolicyPrincipal'; + + @override + Iterable serialize( + Serializers serializers, CedarPolicyPrincipal object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + 'op', + serializers.serialize(object.op, + specifiedType: const FullType(CedarPolicyOp)), + ]; + Object? value; + value = object.entity; + if (value != null) { + result + ..add('entity') + ..add(serializers.serialize(value, + specifiedType: const FullType(CedarEntityId))); + } + value = object.entityType; + if (value != null) { + result + ..add('entity_type') + ..add(serializers.serialize(value, + specifiedType: const FullType(String))); + } + return result; + } + + @override + CedarPolicyPrincipal deserialize( + Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = new CedarPolicyPrincipalBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case 'op': + result.op = serializers.deserialize(value, + specifiedType: const FullType(CedarPolicyOp))! as CedarPolicyOp; + break; + case 'entity': + result.entity.replace(serializers.deserialize(value, + specifiedType: const FullType(CedarEntityId))! as CedarEntityId); + break; + case 'entity_type': + result.entityType = serializers.deserialize(value, + specifiedType: const FullType(String)) as String?; + break; + } + } + + return result.build(); + } +} + +class _$CedarPolicyActionSerializer + implements StructuredSerializer { + @override + final Iterable types = const [CedarPolicyAction, _$CedarPolicyAction]; + @override + final String wireName = 'CedarPolicyAction'; + + @override + Iterable serialize(Serializers serializers, CedarPolicyAction object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + 'op', + serializers.serialize(object.op, + specifiedType: const FullType(CedarPolicyOp)), + ]; + Object? value; + value = object.entity; + if (value != null) { + result + ..add('entity') + ..add(serializers.serialize(value, + specifiedType: const FullType(CedarEntityId))); + } + value = object.entities; + if (value != null) { + result + ..add('entities') + ..add(serializers.serialize(value, + specifiedType: const FullType( + BuiltList, const [const FullType(CedarEntityId)]))); + } + return result; + } + + @override + CedarPolicyAction deserialize( + Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = new CedarPolicyActionBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case 'op': + result.op = serializers.deserialize(value, + specifiedType: const FullType(CedarPolicyOp))! as CedarPolicyOp; + break; + case 'entity': + result.entity.replace(serializers.deserialize(value, + specifiedType: const FullType(CedarEntityId))! as CedarEntityId); + break; + case 'entities': + result.entities.replace(serializers.deserialize(value, + specifiedType: const FullType( + BuiltList, const [const FullType(CedarEntityId)]))! + as BuiltList); + break; + } + } + + return result.build(); + } +} + +class _$CedarPolicyResourceSerializer + implements StructuredSerializer { + @override + final Iterable types = const [ + CedarPolicyResource, + _$CedarPolicyResource + ]; + @override + final String wireName = 'CedarPolicyResource'; + + @override + Iterable serialize( + Serializers serializers, CedarPolicyResource object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + 'op', + serializers.serialize(object.op, + specifiedType: const FullType(CedarPolicyOp)), + ]; + Object? value; + value = object.entity; + if (value != null) { + result + ..add('entity') + ..add(serializers.serialize(value, + specifiedType: const FullType(CedarEntityId))); + } + value = object.entityType; + if (value != null) { + result + ..add('entity_type') + ..add(serializers.serialize(value, + specifiedType: const FullType(String))); + } + return result; + } + + @override + CedarPolicyResource deserialize( + Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = new CedarPolicyResourceBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case 'op': + result.op = serializers.deserialize(value, + specifiedType: const FullType(CedarPolicyOp))! as CedarPolicyOp; + break; + case 'entity': + result.entity.replace(serializers.deserialize(value, + specifiedType: const FullType(CedarEntityId))! as CedarEntityId); + break; + case 'entity_type': + result.entityType = serializers.deserialize(value, + specifiedType: const FullType(String)) as String?; + break; + } + } + + return result.build(); + } +} + +class _$CedarPolicyConditionSerializer + implements StructuredSerializer { + @override + final Iterable types = const [ + CedarPolicyCondition, + _$CedarPolicyCondition + ]; + @override + final String wireName = 'CedarPolicyCondition'; + + @override + Iterable serialize( + Serializers serializers, CedarPolicyCondition object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + 'kind', + serializers.serialize(object.kind, + specifiedType: const FullType(CedarPolicyConditionKind)), + 'body', + serializers.serialize(object.bodyJson, + specifiedType: const FullType(JsonObject)), + ]; + + return result; + } + + @override + CedarPolicyCondition deserialize( + Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = new CedarPolicyConditionBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case 'kind': + result.kind = serializers.deserialize(value, + specifiedType: const FullType(CedarPolicyConditionKind))! + as CedarPolicyConditionKind; + break; + case 'body': + result.bodyJson = serializers.deserialize(value, + specifiedType: const FullType(JsonObject))! as JsonObject; + break; + } + } + + return result.build(); + } +} + class _$CedarPolicy extends CedarPolicy { @override final String? id; @@ -262,9 +761,10 @@ class CedarPolicyPrincipalBuilder CedarPolicyOp? get op => _$this._op; set op(CedarPolicyOp? op) => _$this._op = op; - CedarEntityId? _entity; - CedarEntityId? get entity => _$this._entity; - set entity(CedarEntityId? entity) => _$this._entity = entity; + CedarEntityIdBuilder? _entity; + CedarEntityIdBuilder get entity => + _$this._entity ??= new CedarEntityIdBuilder(); + set entity(CedarEntityIdBuilder? entity) => _$this._entity = entity; String? _entityType; String? get entityType => _$this._entityType; @@ -276,7 +776,7 @@ class CedarPolicyPrincipalBuilder final $v = _$v; if ($v != null) { _op = $v.op; - _entity = $v.entity; + _entity = $v.entity?.toBuilder(); _entityType = $v.entityType; _$v = null; } @@ -299,12 +799,25 @@ class CedarPolicyPrincipalBuilder _$CedarPolicyPrincipal _build() { CedarPolicyPrincipal._validate(this); - final _$result = _$v ?? - new _$CedarPolicyPrincipal._( - op: BuiltValueNullFieldError.checkNotNull( - op, r'CedarPolicyPrincipal', 'op'), - entity: entity, - entityType: entityType); + _$CedarPolicyPrincipal _$result; + try { + _$result = _$v ?? + new _$CedarPolicyPrincipal._( + op: BuiltValueNullFieldError.checkNotNull( + op, r'CedarPolicyPrincipal', 'op'), + entity: _entity?.build(), + entityType: entityType); + } catch (_) { + late String _$failedField; + try { + _$failedField = 'entity'; + _entity?.build(); + } catch (e) { + throw new BuiltValueNestedFieldError( + r'CedarPolicyPrincipal', _$failedField, e.toString()); + } + rethrow; + } replace(_$result); return _$result; } @@ -372,9 +885,10 @@ class CedarPolicyActionBuilder CedarPolicyOp? get op => _$this._op; set op(CedarPolicyOp? op) => _$this._op = op; - CedarEntityId? _entity; - CedarEntityId? get entity => _$this._entity; - set entity(CedarEntityId? entity) => _$this._entity = entity; + CedarEntityIdBuilder? _entity; + CedarEntityIdBuilder get entity => + _$this._entity ??= new CedarEntityIdBuilder(); + set entity(CedarEntityIdBuilder? entity) => _$this._entity = entity; ListBuilder? _entities; ListBuilder get entities => @@ -388,7 +902,7 @@ class CedarPolicyActionBuilder final $v = _$v; if ($v != null) { _op = $v.op; - _entity = $v.entity; + _entity = $v.entity?.toBuilder(); _entities = $v.entities?.toBuilder(); _$v = null; } @@ -417,11 +931,13 @@ class CedarPolicyActionBuilder new _$CedarPolicyAction._( op: BuiltValueNullFieldError.checkNotNull( op, r'CedarPolicyAction', 'op'), - entity: entity, + entity: _entity?.build(), entities: _entities?.build()); } catch (_) { late String _$failedField; try { + _$failedField = 'entity'; + _entity?.build(); _$failedField = 'entities'; _entities?.build(); } catch (e) { @@ -498,9 +1014,10 @@ class CedarPolicyResourceBuilder CedarPolicyOp? get op => _$this._op; set op(CedarPolicyOp? op) => _$this._op = op; - CedarEntityId? _entity; - CedarEntityId? get entity => _$this._entity; - set entity(CedarEntityId? entity) => _$this._entity = entity; + CedarEntityIdBuilder? _entity; + CedarEntityIdBuilder get entity => + _$this._entity ??= new CedarEntityIdBuilder(); + set entity(CedarEntityIdBuilder? entity) => _$this._entity = entity; String? _entityType; String? get entityType => _$this._entityType; @@ -512,7 +1029,7 @@ class CedarPolicyResourceBuilder final $v = _$v; if ($v != null) { _op = $v.op; - _entity = $v.entity; + _entity = $v.entity?.toBuilder(); _entityType = $v.entityType; _$v = null; } @@ -535,12 +1052,25 @@ class CedarPolicyResourceBuilder _$CedarPolicyResource _build() { CedarPolicyResource._validate(this); - final _$result = _$v ?? - new _$CedarPolicyResource._( - op: BuiltValueNullFieldError.checkNotNull( - op, r'CedarPolicyResource', 'op'), - entity: entity, - entityType: entityType); + _$CedarPolicyResource _$result; + try { + _$result = _$v ?? + new _$CedarPolicyResource._( + op: BuiltValueNullFieldError.checkNotNull( + op, r'CedarPolicyResource', 'op'), + entity: _entity?.build(), + entityType: entityType); + } catch (_) { + late String _$failedField; + try { + _$failedField = 'entity'; + _entity?.build(); + } catch (e) { + throw new BuiltValueNestedFieldError( + r'CedarPolicyResource', _$failedField, e.toString()); + } + rethrow; + } replace(_$result); return _$result; } @@ -550,18 +1080,18 @@ class _$CedarPolicyCondition extends CedarPolicyCondition { @override final CedarPolicyConditionKind kind; @override - final JsonExpr body; + final JsonObject bodyJson; factory _$CedarPolicyCondition( [void Function(CedarPolicyConditionBuilder)? updates]) => (new CedarPolicyConditionBuilder()..update(updates))._build(); - _$CedarPolicyCondition._({required this.kind, required this.body}) + _$CedarPolicyCondition._({required this.kind, required this.bodyJson}) : super._() { BuiltValueNullFieldError.checkNotNull( kind, r'CedarPolicyCondition', 'kind'); BuiltValueNullFieldError.checkNotNull( - body, r'CedarPolicyCondition', 'body'); + bodyJson, r'CedarPolicyCondition', 'bodyJson'); } @override @@ -578,14 +1108,14 @@ class _$CedarPolicyCondition extends CedarPolicyCondition { if (identical(other, this)) return true; return other is CedarPolicyCondition && kind == other.kind && - body == other.body; + bodyJson == other.bodyJson; } @override int get hashCode { var _$hash = 0; _$hash = $jc(_$hash, kind.hashCode); - _$hash = $jc(_$hash, body.hashCode); + _$hash = $jc(_$hash, bodyJson.hashCode); _$hash = $jf(_$hash); return _$hash; } @@ -594,7 +1124,7 @@ class _$CedarPolicyCondition extends CedarPolicyCondition { String toString() { return (newBuiltValueToStringHelper(r'CedarPolicyCondition') ..add('kind', kind) - ..add('body', body)) + ..add('bodyJson', bodyJson)) .toString(); } } @@ -607,9 +1137,9 @@ class CedarPolicyConditionBuilder CedarPolicyConditionKind? get kind => _$this._kind; set kind(CedarPolicyConditionKind? kind) => _$this._kind = kind; - JsonExpr? _body; - JsonExpr? get body => _$this._body; - set body(JsonExpr? body) => _$this._body = body; + JsonObject? _bodyJson; + JsonObject? get bodyJson => _$this._bodyJson; + set bodyJson(JsonObject? bodyJson) => _$this._bodyJson = bodyJson; CedarPolicyConditionBuilder(); @@ -617,7 +1147,7 @@ class CedarPolicyConditionBuilder final $v = _$v; if ($v != null) { _kind = $v.kind; - _body = $v.body; + _bodyJson = $v.bodyJson; _$v = null; } return this; @@ -642,8 +1172,8 @@ class CedarPolicyConditionBuilder new _$CedarPolicyCondition._( kind: BuiltValueNullFieldError.checkNotNull( kind, r'CedarPolicyCondition', 'kind'), - body: BuiltValueNullFieldError.checkNotNull( - body, r'CedarPolicyCondition', 'body')); + bodyJson: BuiltValueNullFieldError.checkNotNull( + bodyJson, r'CedarPolicyCondition', 'bodyJson')); replace(_$result); return _$result; } diff --git a/packages/cedar_common/lib/src/policy/cedar_policy_set.dart b/packages/cedar_common/lib/src/policy/cedar_policy_set.dart index 698fce5b..3190770f 100644 --- a/packages/cedar_common/lib/src/policy/cedar_policy_set.dart +++ b/packages/cedar_common/lib/src/policy/cedar_policy_set.dart @@ -1,9 +1,17 @@ +import 'package:built_collection/built_collection.dart'; +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; import 'package:cedar_common/cedar_common.dart'; -final class CedarPolicySet { - const CedarPolicySet({ - this.policies = const {}, - }); +part 'cedar_policy_set.g.dart'; + +abstract class CedarPolicySet + implements Built { + factory CedarPolicySet({ + Map policies = const {}, + }) { + return _$CedarPolicySet._(policies: policies.build()); + } factory CedarPolicySet.fromJson(Map json) { return CedarPolicySet( @@ -15,6 +23,18 @@ final class CedarPolicySet { ); } - final Map policies; + factory CedarPolicySet.build([ + void Function(CedarPolicySetBuilder) updates, + ]) = _$CedarPolicySet; + + const CedarPolicySet._(); + + BuiltMap get policies; // TODO(dnys1): Templates + + Map toJson() => + policies.asMap().map((key, value) => MapEntry(key, value.toJson())); + + static Serializer get serializer => + _$cedarPolicySetSerializer; } diff --git a/packages/cedar_common/lib/src/policy/cedar_policy_set.g.dart b/packages/cedar_common/lib/src/policy/cedar_policy_set.g.dart new file mode 100644 index 00000000..8f6fac8f --- /dev/null +++ b/packages/cedar_common/lib/src/policy/cedar_policy_set.g.dart @@ -0,0 +1,155 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'cedar_policy_set.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +Serializer _$cedarPolicySetSerializer = + new _$CedarPolicySetSerializer(); + +class _$CedarPolicySetSerializer + implements StructuredSerializer { + @override + final Iterable types = const [CedarPolicySet, _$CedarPolicySet]; + @override + final String wireName = 'CedarPolicySet'; + + @override + Iterable serialize(Serializers serializers, CedarPolicySet object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + 'policies', + serializers.serialize(object.policies, + specifiedType: const FullType(BuiltMap, + const [const FullType(String), const FullType(CedarPolicy)])), + ]; + + return result; + } + + @override + CedarPolicySet deserialize( + Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = new CedarPolicySetBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case 'policies': + result.policies.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltMap, const [ + const FullType(String), + const FullType(CedarPolicy) + ]))!); + break; + } + } + + return result.build(); + } +} + +class _$CedarPolicySet extends CedarPolicySet { + @override + final BuiltMap policies; + + factory _$CedarPolicySet([void Function(CedarPolicySetBuilder)? updates]) => + (new CedarPolicySetBuilder()..update(updates))._build(); + + _$CedarPolicySet._({required this.policies}) : super._() { + BuiltValueNullFieldError.checkNotNull( + policies, r'CedarPolicySet', 'policies'); + } + + @override + CedarPolicySet rebuild(void Function(CedarPolicySetBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + CedarPolicySetBuilder toBuilder() => + new CedarPolicySetBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is CedarPolicySet && policies == other.policies; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, policies.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } + + @override + String toString() { + return (newBuiltValueToStringHelper(r'CedarPolicySet') + ..add('policies', policies)) + .toString(); + } +} + +class CedarPolicySetBuilder + implements Builder { + _$CedarPolicySet? _$v; + + MapBuilder? _policies; + MapBuilder get policies => + _$this._policies ??= new MapBuilder(); + set policies(MapBuilder? policies) => + _$this._policies = policies; + + CedarPolicySetBuilder(); + + CedarPolicySetBuilder get _$this { + final $v = _$v; + if ($v != null) { + _policies = $v.policies.toBuilder(); + _$v = null; + } + return this; + } + + @override + void replace(CedarPolicySet other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$CedarPolicySet; + } + + @override + void update(void Function(CedarPolicySetBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + CedarPolicySet build() => _build(); + + _$CedarPolicySet _build() { + _$CedarPolicySet _$result; + try { + _$result = _$v ?? new _$CedarPolicySet._(policies: policies.build()); + } catch (_) { + late String _$failedField; + try { + _$failedField = 'policies'; + policies.build(); + } catch (e) { + throw new BuiltValueNestedFieldError( + r'CedarPolicySet', _$failedField, e.toString()); + } + rethrow; + } + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/packages/cedar_common/lib/src/serializers.dart b/packages/cedar_common/lib/src/serializers.dart new file mode 100644 index 00000000..6acd5eef --- /dev/null +++ b/packages/cedar_common/lib/src/serializers.dart @@ -0,0 +1,20 @@ +import 'package:built_collection/built_collection.dart'; +import 'package:built_value/serializer.dart'; +import 'package:cedar_common/cedar_common.dart'; + +part 'serializers.g.dart'; + +@SerializersFor([ + CedarEntityId, + CedarEntity, + CedarPolicySet, + CedarPolicy, + CedarPolicyEffect, + CedarPolicyOp, + CedarPolicyConditionKind, + CedarPolicyPrincipal, + CedarPolicyAction, + CedarPolicyResource, + CedarPolicyCondition, +]) +final Serializers cedarSerializers = _$cedarSerializers; diff --git a/packages/cedar_common/lib/src/serializers.g.dart b/packages/cedar_common/lib/src/serializers.g.dart new file mode 100644 index 00000000..b682b045 --- /dev/null +++ b/packages/cedar_common/lib/src/serializers.g.dart @@ -0,0 +1,45 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'serializers.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +Serializers _$cedarSerializers = (new Serializers().toBuilder() + ..add(CedarEntity.serializer) + ..add(CedarEntityId.serializer) + ..add(CedarPolicy.serializer) + ..add(CedarPolicyAction.serializer) + ..add(CedarPolicyCondition.serializer) + ..add(CedarPolicyConditionKind.serializer) + ..add(CedarPolicyEffect.serializer) + ..add(CedarPolicyOp.serializer) + ..add(CedarPolicyPrincipal.serializer) + ..add(CedarPolicyResource.serializer) + ..add(CedarPolicySet.serializer) + ..addBuilderFactory( + const FullType(BuiltList, const [const FullType(CedarEntityId)]), + () => new ListBuilder()) + ..addBuilderFactory( + const FullType(BuiltList, const [const FullType(CedarEntityId)]), + () => new ListBuilder()) + ..addBuilderFactory( + const FullType(BuiltMap, + const [const FullType(String), const FullType(CedarValueJson)]), + () => new MapBuilder()) + ..addBuilderFactory( + const FullType( + BuiltList, const [const FullType(CedarPolicyCondition)]), + () => new ListBuilder()) + ..addBuilderFactory( + const FullType( + BuiltMap, const [const FullType(String), const FullType(String)]), + () => new MapBuilder()) + ..addBuilderFactory( + const FullType(BuiltMap, + const [const FullType(String), const FullType(CedarPolicy)]), + () => new MapBuilder())) + .build(); + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/packages/cedar_common/pubspec.yaml b/packages/cedar_common/pubspec.yaml index 72a22802..e5174697 100644 --- a/packages/cedar_common/pubspec.yaml +++ b/packages/cedar_common/pubspec.yaml @@ -8,6 +8,8 @@ environment: dependencies: built_collection: ^5.1.1 built_value: ^8.9.1 + collection: ^1.18.0 + meta: ^1.12.0 dev_dependencies: build_runner: ^2.4.8 diff --git a/packages/corks/lib/src/cork.dart b/packages/corks/lib/src/cork.dart index 11b57ac1..e5a15479 100644 --- a/packages/corks/lib/src/cork.dart +++ b/packages/corks/lib/src/cork.dart @@ -7,7 +7,6 @@ import 'dart:typed_data'; import 'package:cedar_common/cedar_common.dart' as cedar; import 'package:corks/src/interop/proto_interop.dart'; import 'package:corks/src/interop/to_proto.dart'; -import 'package:corks/src/proto/cedar/v3/entity.pb.dart' as proto; import 'package:corks/src/proto/cedar/v3/policy.pb.dart' as proto; import 'package:corks/src/proto/corks/v1/cork.pb.dart' as proto; import 'package:corks/src/signer.dart'; @@ -144,12 +143,12 @@ sealed class Bearer implements Signable { factory Bearer.entity({ required cedar.CedarEntity entity, }) => - EntityBearer(entity: entity.toProto()); + EntityBearer(entity: entity); factory Bearer.entityId({ required cedar.CedarEntityId entityId, }) => - EntityBearer(entity: proto.Entity(uid: entityId.toProto())); + EntityBearer(entity: cedar.CedarEntity(id: entityId)); } final class EntityBearer extends Bearer { @@ -157,10 +156,10 @@ final class EntityBearer extends Bearer { required this.entity, }); - final proto.Entity entity; + final cedar.CedarEntity entity; @override - Uint8List encode() => entity.writeToBuffer(); + Uint8List encode() => entity.toProto().writeToBuffer(); @override SignedBearer signed(Uint8List signature) => SignedBearer( @@ -176,7 +175,7 @@ final class SignedBearer implements Signed, ToProto { }); factory SignedBearer.fromProto(proto.Bearer proto) => SignedBearer( - block: EntityBearer(entity: proto.entity), + block: EntityBearer(entity: proto.entity.fromProto()), signature: Uint8List.fromList(proto.signature), ); @@ -190,7 +189,7 @@ final class SignedBearer implements Signed, ToProto { proto.Bearer toProto() { final message = proto.Bearer(signature: signature); return switch (block) { - EntityBearer(:final entity) => message..entity = entity, + EntityBearer(:final entity) => message..entity = entity.toProto(), }; } } diff --git a/packages/corks/lib/src/interop/proto_interop.dart b/packages/corks/lib/src/interop/proto_interop.dart index 3dbd0a3e..4eaa2474 100644 --- a/packages/corks/lib/src/interop/proto_interop.dart +++ b/packages/corks/lib/src/interop/proto_interop.dart @@ -53,6 +53,7 @@ extension PolicyOpToProto on cedar.CedarPolicyOp { cedar.CedarPolicyOp.equals => PolicyOp.POLICY_OP_EQUALS, cedar.CedarPolicyOp.in$ => PolicyOp.POLICY_OP_IN, cedar.CedarPolicyOp.is$ => PolicyOp.POLICY_OP_IS, + _ => throw UnimplementedError(), }; } @@ -71,6 +72,7 @@ extension PolicyEffectToProto on cedar.CedarPolicyEffect { PolicyEffect toProto() => switch (this) { cedar.CedarPolicyEffect.forbid => PolicyEffect.POLICY_EFFECT_FORBID, cedar.CedarPolicyEffect.permit => PolicyEffect.POLICY_EFFECT_PERMIT, + _ => throw UnimplementedError(), }; } @@ -94,6 +96,7 @@ extension PolicyConditionKindToProto on cedar.CedarPolicyConditionKind { PolicyConditionKind.POLICY_CONDITION_KIND_WHEN, cedar.CedarPolicyConditionKind.unless => PolicyConditionKind.POLICY_CONDITION_KIND_UNLESS, + _ => throw UnimplementedError(), }; } @@ -189,7 +192,7 @@ extension EntityToProto on cedar.CedarEntity { Entity toProto() => Entity( uid: id.toProto(), parents: [for (final parent in parents) parent.toProto()], - attributes: attributes.map((k, v) => MapEntry(k, v.toProto())), + attributes: attributes.asMap().map((k, v) => MapEntry(k, v.toProto())), ); } diff --git a/packages/corks/test/cork_test.dart b/packages/corks/test/cork_test.dart index 04123577..15471fa2 100644 --- a/packages/corks/test/cork_test.dart +++ b/packages/corks/test/cork_test.dart @@ -36,7 +36,7 @@ void main() { test('with id', () async { final cork = await Cork.builder( - id: utf8.encode(jsonEncode(const CedarEntityId('User', 'alice'))), + id: utf8.encode(jsonEncode(CedarEntityId('User', 'alice'))), ).build(Signer(aId, aKey)); expect(await cork.verify(Signer(aId, aKey)), isTrue); expect(await cork.verify(Signer(bId, bKey)), isFalse); @@ -45,7 +45,7 @@ void main() { test('with bearer', () async { final cork = await Cork.builder( bearer: Bearer.entityId( - entityId: const CedarEntityId('User', 'alice'), + entityId: CedarEntityId('User', 'alice'), ), ).build(Signer(aId, aKey)); expect(await cork.verify(Signer(aId, aKey)), isTrue); @@ -54,9 +54,9 @@ void main() { test('with id and bearer', () async { final cork = await Cork.builder( - id: utf8.encode(jsonEncode(const CedarEntityId('User', 'alice'))), + id: utf8.encode(jsonEncode(CedarEntityId('User', 'alice'))), bearer: Bearer.entityId( - entityId: const CedarEntityId('User', 'alice'), + entityId: CedarEntityId('User', 'alice'), ), ).build(Signer(aId, aKey)); expect(await cork.verify(Signer(aId, aKey)), isTrue); From 2726410b0d155692390f7be3e5ffe6b09761480a Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Fri, 8 Mar 2024 13:05:37 -0800 Subject: [PATCH 19/33] Add back @public --- packages/celest/lib/src/grants/grants.dart | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/packages/celest/lib/src/grants/grants.dart b/packages/celest/lib/src/grants/grants.dart index 8b484505..3887943c 100644 --- a/packages/celest/lib/src/grants/grants.dart +++ b/packages/celest/lib/src/grants/grants.dart @@ -14,6 +14,23 @@ import 'package:celest/src/core/entity.dart'; /// ``` const authenticated = _Authenticated(); +/// A grant which provides access to everyone. +/// +/// **NOTE**: Using this grant on a function or library will make it accessible +/// to the public internet. Anyone will be able to call the functions. +/// +/// ## Example +/// +/// ```dart +/// import 'package:celest/celest.dart'; +/// +/// @public +/// Future sayHello() async { +/// print('Hello, stranger!'); +/// } +/// ``` +const public = _Public(); + final class _Role implements Entity { const _Role({ required this.name, @@ -38,3 +55,7 @@ final class _Grant { final class _Authenticated extends _Grant { const _Authenticated() : super(to: const [_Role.authenticated]); } + +final class _Public { + const _Public(); +} From 54558262ba10ecbdaafee67e4bc6f64d6f13c58b Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Fri, 8 Mar 2024 13:05:53 -0800 Subject: [PATCH 20/33] Refactor Auth and create common Celest interface --- .../example/celest/lib/client.dart | 13 +++-- .../example/celest/lib/src/client/auth.dart | 26 ++------- packages/celest_auth/lib/src/auth.dart | 54 +++++++++++-------- .../celest_auth/lib/src/flows/email_flow.dart | 6 +-- packages/celest_auth/pubspec.yaml | 1 + packages/celest_core/lib/celest_core.dart | 3 ++ .../celest_core/lib/src/auth/auth_client.dart | 39 +++----------- .../lib/src/base/base_protocol.dart | 8 +-- .../celest_core/lib/src/base/celest_base.dart | 6 +++ 9 files changed, 67 insertions(+), 89 deletions(-) create mode 100644 packages/celest_core/lib/src/base/celest_base.dart diff --git a/packages/celest_auth/example/celest/lib/client.dart b/packages/celest_auth/example/celest/lib/client.dart index fca02407..b668ada0 100644 --- a/packages/celest_auth/example/celest/lib/client.dart +++ b/packages/celest_auth/example/celest/lib/client.dart @@ -6,6 +6,7 @@ library; // ignore_for_file: no_leading_underscores_for_library_prefixes import 'dart:io' as _$io; +import 'package:celest_core/celest_core.dart'; import 'package:celest_core/src/util/globals.dart'; import 'package:http/http.dart' as _$http; @@ -25,21 +26,19 @@ enum CelestEnvironment { }; } -class Celest { +class Celest with CelestBase { var _initialized = false; late CelestEnvironment _currentEnvironment; + @override late _$http.Client httpClient = _$http.Client(); late Uri _baseUri; final _functions = CelestFunctions(); - late final CelestAuth _auth = CelestAuth( - baseUri: _baseUri, - httpClient: httpClient, - ); + late final CelestAuth _auth = CelestAuth(this); T _checkInitialized(T Function() value) { if (!_initialized) { @@ -52,6 +51,7 @@ class Celest { CelestEnvironment get currentEnvironment => _checkInitialized(() => _currentEnvironment); + @override Uri get baseUri => _checkInitialized(() => _baseUri); CelestFunctions get functions => _checkInitialized(() => _functions); @@ -59,6 +59,9 @@ class Celest { CelestAuth get auth => _checkInitialized(() => _auth); void init({CelestEnvironment environment = CelestEnvironment.local}) { + if (environment != _currentEnvironment) { + _auth.signOut(); + } _currentEnvironment = environment; _baseUri = environment.baseUri; _auth.init(); diff --git a/packages/celest_auth/example/celest/lib/src/client/auth.dart b/packages/celest_auth/example/celest/lib/src/client/auth.dart index 850f36bf..a8573c92 100644 --- a/packages/celest_auth/example/celest/lib/src/client/auth.dart +++ b/packages/celest_auth/example/celest/lib/src/client/auth.dart @@ -6,28 +6,10 @@ library; // ignore_for_file: no_leading_underscores_for_library_prefixes import 'package:celest_auth/src/auth.dart' as _$auth; import 'package:celest_auth/src/flows/email_flow.dart' as _$email_flow; -import 'package:celest_auth/src/state/auth_state.dart' as _$auth_state; -import 'package:http/http.dart' as _$http; +import 'package:celest_core/celest_core.dart'; -class CelestAuth implements _$auth.Auth { - CelestAuth({ - required Uri baseUri, - required _$http.Client httpClient, - }) : _hub = _$auth.AuthImpl( - baseUri: baseUri, - httpClient: httpClient, - ); +extension type CelestAuth._(_$auth.AuthImpl _hub) implements _$auth.Auth { + CelestAuth(CelestBase celest) : _hub = _$auth.AuthImpl(celest); - final _$auth.AuthImpl _hub; - - late final _$email_flow.Email email = _$email_flow.Email(_hub); - - @override - void init() => _hub.init(); - - @override - _$auth_state.AuthState get authState => _hub.authState; - - @override - Stream<_$auth_state.AuthState> get authStateChanges => _hub.authStateChanges; + _$email_flow.Email get email => _$email_flow.Email(_hub); } diff --git a/packages/celest_auth/lib/src/auth.dart b/packages/celest_auth/lib/src/auth.dart index ccdcf377..a90f532c 100644 --- a/packages/celest_auth/lib/src/auth.dart +++ b/packages/celest_auth/lib/src/auth.dart @@ -3,13 +3,11 @@ import 'dart:async'; import 'package:celest_auth/src/flows/auth_flow.dart'; import 'package:celest_auth/src/platform/auth_platform.dart'; import 'package:celest_auth/src/state/auth_state.dart'; -// ignore: implementation_imports +import 'package:celest_core/celest_core.dart'; import 'package:celest_core/src/auth/auth_client.dart'; -// ignore: implementation_imports import 'package:celest_core/src/storage/local/local_storage.dart'; -// ignore: implementation_imports import 'package:celest_core/src/storage/secure/secure_storage.dart'; -import 'package:http/http.dart' as http; +import 'package:stream_transform/stream_transform.dart'; /// Coordinates and delegates to the various [AuthFlow] to orchestrate /// authentication activities. @@ -17,19 +15,21 @@ import 'package:http/http.dart' as http; /// Generated Celest clients extend this class and mix in the various /// [AuthFlow]s supported by the backend. abstract interface class Auth { - /// Initializes Celest Auth. + /// **NOTE**: Must be called before any other getters or methods are accessed. /// - /// Must be called before any other getters or methods are accessed. - void init(); + /// Initializes Celest Auth, returning the initial [AuthState]. + Future init(); AuthState get authState; Stream get authStateChanges; + + /// Signs out the current user, if any. + void signOut(); } final class AuthImpl implements Auth { - AuthImpl({ - required this.baseUri, - required this.httpClient, + AuthImpl( + this.celest, { LocalStorage? localStorage, SecureStorage? secureStorage, }) : localStorage = localStorage ?? LocalStorage(), @@ -41,20 +41,27 @@ final class AuthImpl implements Auth { const Unauthenticated(); // TODO(dnys1): const AuthInitializing(); @override - Stream get authStateChanges => _authStateController.stream; + Stream get authStateChanges => + _authStateController.stream.startWith(_authState); final StreamController _authStateController = - StreamController.broadcast(sync: true); + StreamController.broadcast(); late final StreamSubscription _authStateSubscription; StreamSubscription? _authFlowSubscription; @override - void init() { - _authStateSubscription = - authStateChanges.listen((state) => _authState = state); + Future init() { + return _init ??= Future.sync(() { + _authStateSubscription = + _authStateController.stream.listen((state) => _authState = state); + // TODO(dnys1): Proper init + return authStateChanges.first; + }); } + Future? _init; + Future> requestFlow() async { switch (_authState) { @@ -70,9 +77,10 @@ final class AuthImpl implements Auth { 'User is already authenticated. Sign out before continuing.', ); case Unauthenticated() || NeedsReauthentication(): - await _authFlowSubscription?.cancel(); + unawaited(_authFlowSubscription?.cancel()); final previousState = _authState; final controller = StreamController( + sync: true, onCancel: () => _authStateController.add(previousState), ); _authFlowSubscription = controller.stream.listen( @@ -87,16 +95,18 @@ final class AuthImpl implements Auth { } } - final Uri baseUri; - final http.Client httpClient; + @override + void signOut() { + localStorage.delete('userId'); + secureStorage.delete('cork'); + _authStateController.add(const Unauthenticated()); + } + final CelestBase celest; final LocalStorage localStorage; final SecureStorage secureStorage; - late final AuthClient protocol = AuthClient( - baseUri: baseUri, - httpClient: httpClient, - ); + late final AuthClient protocol = AuthClient(celest); late final AuthPlatform platform = AuthPlatform(protocol: protocol); Future close() async { diff --git a/packages/celest_auth/lib/src/flows/email_flow.dart b/packages/celest_auth/lib/src/flows/email_flow.dart index 30327551..a46e5c52 100644 --- a/packages/celest_auth/lib/src/flows/email_flow.dart +++ b/packages/celest_auth/lib/src/flows/email_flow.dart @@ -8,11 +8,7 @@ import 'package:celest_core/src/auth/auth_protocol.dart'; import 'package:celest_core/src/auth/otp/otp_types.dart'; import 'package:state_notifier/state_notifier.dart'; -final class Email { - Email(this._hub); - - final AuthImpl _hub; - +extension type Email(AuthImpl _hub) { Future signUp({ required String email, }) async { diff --git a/packages/celest_auth/pubspec.yaml b/packages/celest_auth/pubspec.yaml index a39033b8..572a8f97 100644 --- a/packages/celest_auth/pubspec.yaml +++ b/packages/celest_auth/pubspec.yaml @@ -31,6 +31,7 @@ dependencies: shelf: ^1.4.1 shelf_router: ^1.1.4 state_notifier: ^1.0.0 + stream_transform: ^2.1.0 web: ^0.5.0 dev_dependencies: diff --git a/packages/celest_core/lib/celest_core.dart b/packages/celest_core/lib/celest_core.dart index 08c55a9b..61d480d5 100644 --- a/packages/celest_core/lib/celest_core.dart +++ b/packages/celest_core/lib/celest_core.dart @@ -5,6 +5,9 @@ library; export 'src/auth/auth_exception.dart'; export 'src/auth/user.dart'; +/// Base +export 'src/base/celest_base.dart'; + /// Exceptions export 'src/exception/celest_exception.dart'; export 'src/exception/cloud_exception.dart'; diff --git a/packages/celest_core/lib/src/auth/auth_client.dart b/packages/celest_core/lib/src/auth/auth_client.dart index f8b555d5..0a88bbaf 100644 --- a/packages/celest_core/lib/src/auth/auth_client.dart +++ b/packages/celest_core/lib/src/auth/auth_client.dart @@ -3,41 +3,24 @@ import 'package:celest_core/src/auth/auth_protocol.dart'; import 'package:celest_core/src/auth/otp/otp_types.dart'; import 'package:celest_core/src/auth/passkeys/passkey_types.dart'; import 'package:celest_core/src/base/base_protocol.dart'; -import 'package:http/http.dart' as http; final class AuthClient implements AuthProtocol { - AuthClient({ - required this.baseUri, - http.Client? httpClient, - }) : _client = httpClient ?? http.Client(); + AuthClient(this.celest); - final http.Client _client; - final Uri baseUri; + final CelestBase celest; @override - late final PasskeyClient passkeys = PasskeyClient( - baseUri: baseUri, - httpClient: _client, - ); + late final PasskeyClient passkeys = PasskeyClient(celest); @override - late final EmailClient email = EmailClient( - baseUri: baseUri, - httpClient: _client, - ); + late final EmailClient email = EmailClient(celest); } final class PasskeyClient with BaseProtocol implements PasskeyProtocol { - PasskeyClient({ - required this.baseUri, - required this.httpClient, - }); + PasskeyClient(this.celest); @override - final http.Client httpClient; - - @override - final Uri baseUri; + final CelestBase celest; @override Future authenticate({ @@ -63,16 +46,10 @@ final class PasskeyClient with BaseProtocol implements PasskeyProtocol { } final class EmailClient with BaseProtocol implements EmailProtocol { - EmailClient({ - required this.baseUri, - required this.httpClient, - }); - - @override - final http.Client httpClient; + EmailClient(this.celest); @override - final Uri baseUri; + final CelestBase celest; @override Future sendOtp({ diff --git a/packages/celest_core/lib/src/base/base_protocol.dart b/packages/celest_core/lib/src/base/base_protocol.dart index 647c5dff..7338ff19 100644 --- a/packages/celest_core/lib/src/base/base_protocol.dart +++ b/packages/celest_core/lib/src/base/base_protocol.dart @@ -1,17 +1,17 @@ import 'dart:convert'; +import 'package:celest_core/src/base/celest_base.dart'; import 'package:http/http.dart' as http; mixin BaseProtocol { - http.Client get httpClient; - Uri get baseUri; + CelestBase get celest; Future> postJson( String path, Map json, ) async { - final uri = baseUri.resolve(path); - final resp = await httpClient.post( + final uri = celest.baseUri.resolve(path); + final resp = await celest.httpClient.post( uri, body: jsonEncode(json), headers: { diff --git a/packages/celest_core/lib/src/base/celest_base.dart b/packages/celest_core/lib/src/base/celest_base.dart new file mode 100644 index 00000000..dc6d5430 --- /dev/null +++ b/packages/celest_core/lib/src/base/celest_base.dart @@ -0,0 +1,6 @@ +import 'package:http/http.dart' as http; + +abstract mixin class CelestBase { + http.Client get httpClient; + Uri get baseUri; +} From 20fcbdbcb2665b6971baf47de8f9ef763bec27c0 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Fri, 8 Mar 2024 15:30:50 -0800 Subject: [PATCH 21/33] Finish runtime --- .../example/celest/lib/client.dart | 19 ++- .../example/celest/lib/src/client/auth.dart | 19 ++- packages/celest_auth/example/lib/main.dart | 124 ++++++------------ packages/celest_auth/lib/celest_auth.dart | 4 +- packages/celest_auth/lib/src/auth.dart | 100 +------------- packages/celest_auth/lib/src/auth_impl.dart | 103 +++++++++++++++ .../celest_auth/lib/src/flows/auth_flow.dart | 35 +++++ .../celest_auth/lib/src/flows/email_flow.dart | 62 ++++----- .../lib/src/flows/passkey_flow.dart | 4 +- .../celest_auth/lib/src/state/auth_state.dart | 39 ++---- packages/celest_core/lib/_internal.dart | 6 + packages/celest_core/lib/celest_core.dart | 3 - .../celest_core/lib/src/auth/auth_client.dart | 10 +- .../lib/src/auth/auth_protocol.dart | 2 + packages/celest_core/lib/src/auth/user.dart | 12 +- .../lib/src/base/base_protocol.dart | 24 ++++ .../lib/src/http/celest_http_client.dart | 42 ++++++ .../storage/secure/secure_storage.darwin.dart | 2 + 18 files changed, 336 insertions(+), 274 deletions(-) create mode 100644 packages/celest_auth/lib/src/auth_impl.dart create mode 100644 packages/celest_core/lib/_internal.dart create mode 100644 packages/celest_core/lib/src/http/celest_http_client.dart diff --git a/packages/celest_auth/example/celest/lib/client.dart b/packages/celest_auth/example/celest/lib/client.dart index b668ada0..ff63b4f5 100644 --- a/packages/celest_auth/example/celest/lib/client.dart +++ b/packages/celest_auth/example/celest/lib/client.dart @@ -4,9 +4,10 @@ library; // ignore_for_file: no_leading_underscores_for_library_prefixes +import 'dart:async' as _$async; import 'dart:io' as _$io; -import 'package:celest_core/celest_core.dart'; +import 'package:celest_core/_internal.dart'; import 'package:celest_core/src/util/globals.dart'; import 'package:http/http.dart' as _$http; @@ -14,6 +15,8 @@ import 'src/client/auth.dart'; import 'src/client/functions.dart'; import 'src/client/serializers.dart'; +export 'package:celest_auth/celest_auth.dart'; + final Celest celest = Celest(); enum CelestEnvironment { @@ -31,14 +34,20 @@ class Celest with CelestBase { late CelestEnvironment _currentEnvironment; + late final SecureStorage _secureStorage = SecureStorage(); + @override - late _$http.Client httpClient = _$http.Client(); + late _$http.Client httpClient = + CelestHttpClient(secureStorage: _secureStorage); late Uri _baseUri; final _functions = CelestFunctions(); - late final CelestAuth _auth = CelestAuth(this); + late final CelestAuth _auth = CelestAuth( + this, + secureStorage: _secureStorage, + ); T _checkInitialized(T Function() value) { if (!_initialized) { @@ -59,12 +68,12 @@ class Celest with CelestBase { CelestAuth get auth => _checkInitialized(() => _auth); void init({CelestEnvironment environment = CelestEnvironment.local}) { - if (environment != _currentEnvironment) { + if (_initialized && environment != _currentEnvironment) { _auth.signOut(); } _currentEnvironment = environment; _baseUri = environment.baseUri; - _auth.init(); + _$async.scheduleMicrotask(_auth.init); if (!_initialized) { initSerializers(); } diff --git a/packages/celest_auth/example/celest/lib/src/client/auth.dart b/packages/celest_auth/example/celest/lib/src/client/auth.dart index a8573c92..1dbc09a8 100644 --- a/packages/celest_auth/example/celest/lib/src/client/auth.dart +++ b/packages/celest_auth/example/celest/lib/src/client/auth.dart @@ -4,12 +4,19 @@ library; // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'package:celest_auth/src/auth.dart' as _$auth; -import 'package:celest_auth/src/flows/email_flow.dart' as _$email_flow; -import 'package:celest_core/celest_core.dart'; +import 'package:celest_auth/celest_auth.dart' as _$celest_auth; +import 'package:celest_auth/src/auth_impl.dart' as _$auth_impl; +import 'package:celest_core/_internal.dart'; -extension type CelestAuth._(_$auth.AuthImpl _hub) implements _$auth.Auth { - CelestAuth(CelestBase celest) : _hub = _$auth.AuthImpl(celest); +extension type CelestAuth._(_$auth_impl.AuthImpl _hub) + implements _$celest_auth.Auth { + CelestAuth( + CelestBase celest, { + required SecureStorage secureStorage, + }) : _hub = _$auth_impl.AuthImpl( + celest, + secureStorage: secureStorage, + ); - _$email_flow.Email get email => _$email_flow.Email(_hub); + _$auth_impl.Email get email => _$auth_impl.Email(_hub); } diff --git a/packages/celest_auth/example/lib/main.dart b/packages/celest_auth/example/lib/main.dart index 355e8ef5..eb0a6927 100644 --- a/packages/celest_auth/example/lib/main.dart +++ b/packages/celest_auth/example/lib/main.dart @@ -1,9 +1,6 @@ -import 'package:celest_auth/src/flows/email_flow.dart'; import 'package:celest_backend/client.dart'; -import 'package:celest_core/celest_core.dart'; +import 'package:celest_backend/models/person.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_state_notifier/flutter_state_notifier.dart'; -import 'package:http/http.dart' as http; void main() { celest.init(); @@ -17,38 +14,18 @@ class MainApp extends StatefulWidget { State createState() => _MainAppState(); } -enum _Step { idle, signingIn, needsVerification, signedIn } - -final class _State { - _State( - this.step, { - this.verification, - this.user, - }); - - final _Step step; - final EmailSignUpNeedsVerification? verification; - final User? user; -} - class _MainAppState extends State { - final _state = ValueNotifier(_State(_Step.idle)); final _emailController = TextEditingController(); final _otpController = TextEditingController(); - Future? _request; + Future? _request; Future signUp() async { try { - _state.value = _State(_Step.signingIn); - final verify = - await celest.auth.email.signUp(email: _emailController.text); - print('Needs verification'); + await celest.auth.email.signIn(email: _emailController.text); _emailController.clear(); - _state.value = _State(_Step.needsVerification, verification: verify); } on Exception catch (e, st) { - print('Error: $e'); - print('Stacktrace: $st'); - _state.value = _State(_Step.idle); + debugPrint('Error: $e'); + debugPrint('Stacktrace: $st'); } } @@ -59,16 +36,32 @@ class _MainAppState extends State { body: Center( child: Padding( padding: const EdgeInsets.all(20.0), - child: ValueListenableBuilder( - valueListenable: _state, - builder: (context, state, child) { + child: StreamBuilder( + stream: celest.auth.authStateChanges, + builder: (context, snapshot) { + if (snapshot.connectionState == ConnectionState.waiting) { + return const CircularProgressIndicator(); + } + final state = snapshot.data!; return Column( mainAxisAlignment: MainAxisAlignment.center, children: [ - if (state.user case final user?) + if (state case Authenticated(:final user)) Text('Currently signed in: ${user.email}') else const Text('Currently signed out'), + const SizedBox(height: 16), + TextButton( + onPressed: () { + _request = celest.functions.greeting.sayHello( + person: const Person(name: 'Dillon'), + ); + if (context.mounted) { + setState(() {}); + } + }, + child: const Text('Make authenticated request'), + ), if (_request case final request?) ...[ const SizedBox(height: 16), SizedBox( @@ -77,16 +70,10 @@ class _MainAppState extends State { child: FutureBuilder( future: request, builder: (context, snapshot) => switch (snapshot) { - AsyncSnapshot(:final Object error) || - AsyncSnapshot( - data: http.Response( - statusCode: != 200, - body: final Object error - ) - ) => + AsyncSnapshot(:final error?) => Text('Error: $error'), AsyncSnapshot(data: final response?) => - Text('Response: ${response.body}'), + Text('Response: $response'), _ => const CircularProgressIndicator(), }, ), @@ -94,8 +81,8 @@ class _MainAppState extends State { ), ], const SizedBox(height: 16), - ...switch (state.step) { - _Step.needsVerification => [ + ...switch (state) { + EmailNeedsVerification() => [ TextField( key: const ValueKey('otp'), controller: _otpController, @@ -109,45 +96,13 @@ class _MainAppState extends State { ), const SizedBox(height: 16), TextButton( - onPressed: () async { - final user = await state.verification!.verifyOtp( - _otpController.text, - ); - _state.value = _State(_Step.signedIn, user: user); - }, + onPressed: () => state.verifyOtp( + _otpController.text, + ), child: const Text('Verify OTP'), ), - const SizedBox(height: 16), - StateNotifierBuilder( - stateNotifier: state.verification!.canResend, - builder: (context, canResend, child) { - final (resend, resendIn) = canResend; - return TextButton( - onPressed: resend - ? () async { - await state.verification!.resend(); - if (context.mounted) { - ScaffoldMessenger.of(context) - .showSnackBar( - SnackBar( - content: Text( - 'Resent OTP to ${state.verification!.email}', - ), - ), - ); - } - } - : null, - child: resend || resendIn == Duration.zero - ? const Text('Resend OTP') - : Text( - 'Resend OTP (${resendIn.inSeconds})', - ), - ); - }, - ), ], - _Step.idle || _Step.signingIn => [ + Unauthenticated() => [ TextField( key: const ValueKey('email'), controller: _emailController, @@ -161,20 +116,17 @@ class _MainAppState extends State { ), const SizedBox(height: 16), TextButton( - onPressed: - state.step != _Step.signingIn ? signUp : null, - child: const Text('Sign Up'), + onPressed: signUp, + child: const Text('Sign In with Email'), ), ], - _Step.signedIn => [ + Authenticated() => [ TextButton( - onPressed: () { - _state.value = _State(_Step.idle); - }, + onPressed: celest.auth.signOut, child: const Text('Sign out'), ), ], - } + }, ], ); }, diff --git a/packages/celest_auth/lib/celest_auth.dart b/packages/celest_auth/lib/celest_auth.dart index f2689255..25333f3f 100644 --- a/packages/celest_auth/lib/celest_auth.dart +++ b/packages/celest_auth/lib/celest_auth.dart @@ -1,4 +1,4 @@ library; -export 'src/platform/auth_platform.dart'; -export 'src/platform/passkeys/passkey_platform.dart'; +export 'src/auth.dart' show Auth; +export 'src/state/auth_state.dart'; diff --git a/packages/celest_auth/lib/src/auth.dart b/packages/celest_auth/lib/src/auth.dart index a90f532c..f03203b0 100644 --- a/packages/celest_auth/lib/src/auth.dart +++ b/packages/celest_auth/lib/src/auth.dart @@ -1,13 +1,6 @@ import 'dart:async'; -import 'package:celest_auth/src/flows/auth_flow.dart'; -import 'package:celest_auth/src/platform/auth_platform.dart'; -import 'package:celest_auth/src/state/auth_state.dart'; -import 'package:celest_core/celest_core.dart'; -import 'package:celest_core/src/auth/auth_client.dart'; -import 'package:celest_core/src/storage/local/local_storage.dart'; -import 'package:celest_core/src/storage/secure/secure_storage.dart'; -import 'package:stream_transform/stream_transform.dart'; +import 'package:celest_auth/celest_auth.dart'; /// Coordinates and delegates to the various [AuthFlow] to orchestrate /// authentication activities. @@ -20,98 +13,9 @@ abstract interface class Auth { /// Initializes Celest Auth, returning the initial [AuthState]. Future init(); - AuthState get authState; + /// Changes to the authentication state over time. Stream get authStateChanges; /// Signs out the current user, if any. void signOut(); } - -final class AuthImpl implements Auth { - AuthImpl( - this.celest, { - LocalStorage? localStorage, - SecureStorage? secureStorage, - }) : localStorage = localStorage ?? LocalStorage(), - secureStorage = secureStorage ?? SecureStorage(); - - @override - AuthState get authState => _authState; - AuthState _authState = - const Unauthenticated(); // TODO(dnys1): const AuthInitializing(); - - @override - Stream get authStateChanges => - _authStateController.stream.startWith(_authState); - - final StreamController _authStateController = - StreamController.broadcast(); - - late final StreamSubscription _authStateSubscription; - StreamSubscription? _authFlowSubscription; - - @override - Future init() { - return _init ??= Future.sync(() { - _authStateSubscription = - _authStateController.stream.listen((state) => _authState = state); - // TODO(dnys1): Proper init - return authStateChanges.first; - }); - } - - Future? _init; - - Future> - requestFlow() async { - switch (_authState) { - case AuthInitializing(): - await authStateChanges.firstWhere( - (state) => state is! AuthInitializing, - ); - return requestFlow(); - case AuthFlowState(): - throw Exception('Auth flow already in progress'); - case Authenticated(): - throw Exception( - 'User is already authenticated. Sign out before continuing.', - ); - case Unauthenticated() || NeedsReauthentication(): - unawaited(_authFlowSubscription?.cancel()); - final previousState = _authState; - final controller = StreamController( - sync: true, - onCancel: () => _authStateController.add(previousState), - ); - _authFlowSubscription = controller.stream.listen( - (state) => _authStateController.add(state), - onError: (error, stackTrace) { - // TODO(dnys1) - }, - onDone: () => _authFlowSubscription = null, - cancelOnError: true, - ); - return controller.sink; - } - } - - @override - void signOut() { - localStorage.delete('userId'); - secureStorage.delete('cork'); - _authStateController.add(const Unauthenticated()); - } - - final CelestBase celest; - final LocalStorage localStorage; - final SecureStorage secureStorage; - - late final AuthClient protocol = AuthClient(celest); - late final AuthPlatform platform = AuthPlatform(protocol: protocol); - - Future close() async { - await _authStateSubscription.cancel(); - await _authFlowSubscription?.cancel(); - await _authStateController.close(); - } -} diff --git a/packages/celest_auth/lib/src/auth_impl.dart b/packages/celest_auth/lib/src/auth_impl.dart new file mode 100644 index 00000000..f0216501 --- /dev/null +++ b/packages/celest_auth/lib/src/auth_impl.dart @@ -0,0 +1,103 @@ +import 'dart:async'; + +import 'package:celest_auth/celest_auth.dart'; +import 'package:celest_auth/src/flows/auth_flow.dart'; +import 'package:celest_auth/src/platform/auth_platform.dart'; +import 'package:celest_core/_internal.dart'; +import 'package:celest_core/celest_core.dart'; +import 'package:celest_core/src/auth/auth_client.dart'; +import 'package:stream_transform/stream_transform.dart'; + +export 'flows/email_flow.dart'; + +final class AuthImpl implements Auth { + AuthImpl( + this.celest, { + required this.secureStorage, + LocalStorage? localStorage, + }) : localStorage = localStorage ?? LocalStorage(); + + AuthState? _authState; + + @override + Stream get authStateChanges { + final stream = _authStateController.stream; + if (_authState case final currentState?) { + return stream.startWith(currentState); + } + return stream; + } + + final StreamController _authStateController = + StreamController.broadcast(); + + late final StreamSubscription _authStateSubscription; + StreamSubscription? _authFlowSubscription; + + @override + Future init() { + return _init ??= Future.sync(() async { + _authStateSubscription = + _authStateController.stream.listen((state) => _authState = state); + AuthState initialState; + try { + final user = await protocol.userInfo(); + initialState = Authenticated(user); + } on UnauthorizedException { + initialState = const Unauthenticated(); + } + _authStateController.add(initialState); + return initialState; + }); + } + + Future? _init; + + Future requestFlow() async { + final authState = _authState ?? await init(); + switch (authState) { + case AuthFlowInProgress(): + throw Exception('Auth flow already in progress'); + case Authenticated(): + throw Exception( + 'User is already authenticated. Sign out before continuing.', + ); + case Unauthenticated(): + unawaited(_authFlowSubscription?.cancel()); + final previousState = authState; + final controller = StreamController( + sync: true, + onCancel: () => _authStateController.add(previousState), + ); + _authFlowSubscription = controller.stream.listen( + (state) => _authStateController.add(state), + onError: (error, stackTrace) { + // TODO(dnys1) + }, + onDone: () => _authFlowSubscription = null, + cancelOnError: true, + ); + return AuthFlowController(controller.sink); + } + } + + @override + void signOut() { + localStorage.delete('userId'); + secureStorage.delete('cork'); + _authStateController.add(const Unauthenticated()); + } + + final CelestBase celest; + final LocalStorage localStorage; + final SecureStorage secureStorage; + + late final AuthClient protocol = AuthClient(celest); + late final AuthPlatform platform = AuthPlatform(protocol: protocol); + + Future close() async { + await _authStateSubscription.cancel(); + await _authFlowSubscription?.cancel(); + await _authStateController.close(); + } +} diff --git a/packages/celest_auth/lib/src/flows/auth_flow.dart b/packages/celest_auth/lib/src/flows/auth_flow.dart index bdda1a33..88a4a2bc 100644 --- a/packages/celest_auth/lib/src/flows/auth_flow.dart +++ b/packages/celest_auth/lib/src/flows/auth_flow.dart @@ -1,9 +1,44 @@ @internal library; +import 'dart:async'; + +import 'package:celest_auth/src/state/auth_state.dart'; import 'package:meta/meta.dart'; /// Base type for all authentication flows. abstract interface class AuthFlow { void cancel(); } + +final class AuthFlowController { + AuthFlowController(this._sink); + + final StreamSink _sink; + var _isClosed = false; + + Future capture( + Future Function() action, + ) async { + try { + final result = await action(); + if (!_isClosed) { + _sink.add(result); + } + return result; + } on Object catch (e, st) { + if (!_isClosed) { + _sink.addError(e, st); + } + rethrow; + } + } + + void cancel() { + if (_isClosed) { + return; + } + _isClosed = true; + _sink.close(); + } +} diff --git a/packages/celest_auth/lib/src/flows/email_flow.dart b/packages/celest_auth/lib/src/flows/email_flow.dart index a46e5c52..17f4266a 100644 --- a/packages/celest_auth/lib/src/flows/email_flow.dart +++ b/packages/celest_auth/lib/src/flows/email_flow.dart @@ -1,6 +1,6 @@ import 'dart:async'; -import 'package:celest_auth/src/auth.dart'; +import 'package:celest_auth/src/auth_impl.dart'; import 'package:celest_auth/src/flows/auth_flow.dart'; import 'package:celest_auth/src/state/auth_state.dart'; import 'package:celest_core/celest_core.dart'; @@ -9,12 +9,12 @@ import 'package:celest_core/src/auth/otp/otp_types.dart'; import 'package:state_notifier/state_notifier.dart'; extension type Email(AuthImpl _hub) { - Future signUp({ + Future signIn({ required String email, }) async { - final flowSink = await _hub.requestFlow(); - final flow = EmailFlow._(_hub, _EmailFlowController(flowSink)); - return flow._signUp(email: email); + final flowController = await _hub.requestFlow(); + final flow = EmailFlow._(_hub, flowController); + return flow._signIn(email: email); } } @@ -22,18 +22,18 @@ final class EmailFlow implements AuthFlow { EmailFlow._(this._hub, this._flowController); final AuthImpl _hub; - final _EmailFlowController _flowController; + final AuthFlowController _flowController; EmailProtocol get _protocol => _hub.protocol.email; - Future _signUp({ + Future _signIn({ required String email, }) { return _flowController.capture(() async { final parameters = await _protocol.sendOtp( request: OtpSendRequest(email: email), ); - return EmailSignUpNeedsVerification( + return _EmailNeedsVerification( flow: this, email: email, parameters: parameters, @@ -41,7 +41,7 @@ final class EmailFlow implements AuthFlow { }); } - Future _verifyOtp({ + Future _verifyOtp({ required String email, required String otp, }) { @@ -51,23 +51,21 @@ final class EmailFlow implements AuthFlow { ); _hub.secureStorage.write('cork', user.cork); _hub.localStorage.write('userId', user.user.userId); - return EmailAuthenticated(flow: this, user: user.user); + return Authenticated(user.user); }); } @override - void cancel() { - // TODO(dnys1) - throw UnimplementedError(); - } + void cancel() => _flowController.cancel(); } -final class EmailSignUpNeedsVerification extends EmailFlowState { - EmailSignUpNeedsVerification({ - required super.flow, - required this.email, +final class _EmailNeedsVerification extends EmailNeedsVerification { + _EmailNeedsVerification({ + required EmailFlow flow, + required super.email, required OtpParameters parameters, - }) : _parameters = parameters { + }) : _parameters = parameters, + _flow = flow { _resendCountdown = Stream.periodic(const Duration(seconds: 1)).listen((_) { final resendIn = canResendIn; @@ -75,7 +73,7 @@ final class EmailSignUpNeedsVerification extends EmailFlowState { }); } - final String email; + final EmailFlow _flow; OtpParameters _parameters; late final _ResendEligibleNotifier _resendEligible = @@ -88,11 +86,12 @@ final class EmailSignUpNeedsVerification extends EmailFlowState { return resendIn.isNegative ? Duration.zero : resendIn; } + @override Future resend() async { _resendCountdown?.pause(); _resendEligible.setState(false); try { - _parameters = await flow._protocol.resendOtp( + _parameters = await _flow._protocol.resendOtp( request: OtpSendRequest(email: email), ); } finally { @@ -101,8 +100,9 @@ final class EmailSignUpNeedsVerification extends EmailFlowState { } } + @override Future verifyOtp(String otp) async { - final authenticated = await flow._verifyOtp(email: email, otp: otp); + final authenticated = await _flow._verifyOtp(email: email, otp: otp); _close(); return authenticated.user; } @@ -112,6 +112,9 @@ final class EmailSignUpNeedsVerification extends EmailFlowState { _resendCountdown?.cancel(); _resendCountdown = null; } + + @override + void cancel() => _flow.cancel(); } final class _ResendEligibleNotifier extends StateNotifier<(bool, Duration)> { @@ -121,18 +124,3 @@ final class _ResendEligibleNotifier extends StateNotifier<(bool, Duration)> { this.state = (state, canResendIn ?? this.state.$2); } } - -extension type _EmailFlowController(StreamSink _sink) { - Future capture( - Future Function() action, - ) async { - try { - final result = await action(); - _sink.add(result); - return result; - } on Object catch (e, st) { - _sink.addError(e, st); - rethrow; - } - } -} diff --git a/packages/celest_auth/lib/src/flows/passkey_flow.dart b/packages/celest_auth/lib/src/flows/passkey_flow.dart index 6171b1d2..53d4f905 100644 --- a/packages/celest_auth/lib/src/flows/passkey_flow.dart +++ b/packages/celest_auth/lib/src/flows/passkey_flow.dart @@ -1,7 +1,7 @@ -import 'package:celest_auth/celest_auth.dart'; -import 'package:celest_auth/src/auth.dart'; +import 'package:celest_auth/src/auth_impl.dart'; import 'package:celest_auth/src/flows/auth_flow.dart'; import 'package:celest_auth/src/platform/passkeys/passkey_exception_impl.dart'; +import 'package:celest_auth/src/platform/passkeys/passkey_platform.dart'; import 'package:celest_core/celest_core.dart'; import 'package:celest_core/src/auth/auth_protocol.dart'; import 'package:celest_core/src/auth/passkeys/passkey_types.dart'; diff --git a/packages/celest_auth/lib/src/state/auth_state.dart b/packages/celest_auth/lib/src/state/auth_state.dart index 26bcd028..0b6548e0 100644 --- a/packages/celest_auth/lib/src/state/auth_state.dart +++ b/packages/celest_auth/lib/src/state/auth_state.dart @@ -1,49 +1,32 @@ -import 'package:celest_auth/src/flows/auth_flow.dart'; -import 'package:celest_auth/src/flows/email_flow.dart'; import 'package:celest_core/celest_core.dart'; sealed class AuthState { const AuthState(); } -final class AuthInitializing extends AuthState { - const AuthInitializing(); -} - final class Unauthenticated extends AuthState { const Unauthenticated(); } -final class NeedsReauthentication extends AuthState { - const NeedsReauthentication({ - required this.userId, - }); +sealed class AuthFlowInProgress extends AuthState { + const AuthFlowInProgress(); - final String userId; + void cancel(); } -sealed class AuthFlowState extends AuthState { - const AuthFlowState({ - required this.flow, +abstract class EmailNeedsVerification extends AuthFlowInProgress { + const EmailNeedsVerification({ + required this.email, }); - final Flow flow; - - void cancel() => flow.cancel(); -} + final String email; -class EmailFlowState extends AuthFlowState { - const EmailFlowState({required super.flow}); + Future resend(); + Future verifyOtp(String otp); } -final class EmailAuthenticated extends EmailFlowState implements Authenticated { - const EmailAuthenticated({ - required super.flow, - required this.user, - }); - - @override - final User user; +final class AuthenticatedWithEmail extends Authenticated { + const AuthenticatedWithEmail(super.user); } final class Authenticated extends AuthState { diff --git a/packages/celest_core/lib/_internal.dart b/packages/celest_core/lib/_internal.dart new file mode 100644 index 00000000..40a02139 --- /dev/null +++ b/packages/celest_core/lib/_internal.dart @@ -0,0 +1,6 @@ +export 'src/base/celest_base.dart'; +export 'src/http/celest_http_client.dart'; +export 'src/storage/local/local_storage.dart'; +export 'src/storage/memory_storage.dart'; +export 'src/storage/secure/secure_storage.dart'; +export 'src/storage/storage.dart'; diff --git a/packages/celest_core/lib/celest_core.dart b/packages/celest_core/lib/celest_core.dart index 61d480d5..08c55a9b 100644 --- a/packages/celest_core/lib/celest_core.dart +++ b/packages/celest_core/lib/celest_core.dart @@ -5,9 +5,6 @@ library; export 'src/auth/auth_exception.dart'; export 'src/auth/user.dart'; -/// Base -export 'src/base/celest_base.dart'; - /// Exceptions export 'src/exception/celest_exception.dart'; export 'src/exception/cloud_exception.dart'; diff --git a/packages/celest_core/lib/src/auth/auth_client.dart b/packages/celest_core/lib/src/auth/auth_client.dart index 0a88bbaf..31d8081f 100644 --- a/packages/celest_core/lib/src/auth/auth_client.dart +++ b/packages/celest_core/lib/src/auth/auth_client.dart @@ -1,14 +1,22 @@ +import 'package:celest_core/_internal.dart'; import 'package:celest_core/celest_core.dart'; import 'package:celest_core/src/auth/auth_protocol.dart'; import 'package:celest_core/src/auth/otp/otp_types.dart'; import 'package:celest_core/src/auth/passkeys/passkey_types.dart'; import 'package:celest_core/src/base/base_protocol.dart'; -final class AuthClient implements AuthProtocol { +final class AuthClient with BaseProtocol implements AuthProtocol { AuthClient(this.celest); + @override final CelestBase celest; + @override + Future userInfo() async { + final response = await getJson('/_auth/userinfo'); + return User.fromJson(response); + } + @override late final PasskeyClient passkeys = PasskeyClient(celest); diff --git a/packages/celest_core/lib/src/auth/auth_protocol.dart b/packages/celest_core/lib/src/auth/auth_protocol.dart index 79873dbe..e4519f97 100644 --- a/packages/celest_core/lib/src/auth/auth_protocol.dart +++ b/packages/celest_core/lib/src/auth/auth_protocol.dart @@ -5,6 +5,8 @@ import 'package:celest_core/src/auth/passkeys/passkey_types.dart'; abstract interface class AuthProtocol { PasskeyProtocol get passkeys; EmailProtocol get email; + + Future userInfo(); } abstract interface class PasskeyProtocol { diff --git a/packages/celest_core/lib/src/auth/user.dart b/packages/celest_core/lib/src/auth/user.dart index ee919980..a2cc29c8 100644 --- a/packages/celest_core/lib/src/auth/user.dart +++ b/packages/celest_core/lib/src/auth/user.dart @@ -35,10 +35,10 @@ final class User { factory User.fromJson(Map json) { return User( - userId: json['userId'] as String, - displayName: json['displayName'] as String?, + userId: json['sub'] as String, + displayName: json['name'] as String?, email: json['email'] as String, - emailVerified: json['emailVerified'] as bool?, + emailVerified: json['email_verified'] as bool?, ); } @@ -48,10 +48,10 @@ final class User { final bool emailVerified; Map toJson() => { - 'userId': userId, - if (displayName != null) 'displayName': displayName, + 'sub': userId, + if (displayName != null) 'name': displayName, 'email': email, - 'emailVerified': emailVerified, + 'email_verified': emailVerified, }; @override diff --git a/packages/celest_core/lib/src/base/base_protocol.dart b/packages/celest_core/lib/src/base/base_protocol.dart index 7338ff19..468b6d64 100644 --- a/packages/celest_core/lib/src/base/base_protocol.dart +++ b/packages/celest_core/lib/src/base/base_protocol.dart @@ -1,11 +1,32 @@ import 'dart:convert'; +import 'package:celest_core/celest_core.dart'; import 'package:celest_core/src/base/celest_base.dart'; import 'package:http/http.dart' as http; mixin BaseProtocol { CelestBase get celest; + Future> getJson(String path) async { + final uri = celest.baseUri.resolve(path); + final resp = await celest.httpClient.get( + uri, + headers: { + 'accept': 'application/json', + }, + ); + if (resp.statusCode == 401) { + throw UnauthorizedException(); + } + if (resp.statusCode != 200) { + throw http.ClientException( + '${resp.statusCode}: ${resp.body}', + uri, + ); + } + return jsonDecode(resp.body) as Map; + } + Future> postJson( String path, Map json, @@ -19,6 +40,9 @@ mixin BaseProtocol { 'content-type': 'application/json', }, ); + if (resp.statusCode == 401) { + throw UnauthorizedException(); + } if (resp.statusCode != 200) { throw http.ClientException( '${resp.statusCode}: ${resp.body}', diff --git a/packages/celest_core/lib/src/http/celest_http_client.dart b/packages/celest_core/lib/src/http/celest_http_client.dart new file mode 100644 index 00000000..e276eb9f --- /dev/null +++ b/packages/celest_core/lib/src/http/celest_http_client.dart @@ -0,0 +1,42 @@ +import 'dart:isolate'; + +import 'package:celest_core/src/storage/secure/secure_storage.dart'; +import 'package:celest_core/src/storage/storage.dart'; +import 'package:celest_core/src/util/globals.dart'; +import 'package:http/http.dart' as http; + +final class CelestHttpClient extends http.BaseClient { + CelestHttpClient({ + required SecureStorage secureStorage, + http.Client? baseClient, + }) : _secureStorage = secureStorage, + _ownsInner = baseClient == null, + _inner = baseClient ?? http.Client(); + + final SecureStorage _secureStorage; + final bool _ownsInner; + final http.Client _inner; + + @override + Future send(http.BaseRequest request) async { + final cork = await _readStorage(_secureStorage, 'cork'); + if (cork != null) { + request.headers['authorization'] = 'Bearer $cork'; + } + return _inner.send(request); + } + + @override + void close() { + if (_ownsInner) { + _inner.close(); + } + } +} + +Future _readStorage(Storage storage, String key) async { + if (kIsWeb) { + return null; + } + return Isolate.run(() => storage.read(key)); +} diff --git a/packages/celest_core/lib/src/storage/secure/secure_storage.darwin.dart b/packages/celest_core/lib/src/storage/secure/secure_storage.darwin.dart index 699663d7..866ac8c5 100644 --- a/packages/celest_core/lib/src/storage/secure/secure_storage.darwin.dart +++ b/packages/celest_core/lib/src/storage/secure/secure_storage.darwin.dart @@ -81,6 +81,7 @@ final class SecureStoragePlatformDarwin extends SecureStoragePlatform { final query = { ..._baseQuery(arena), kSecAttrAccount: key.toCFString(arena), + kSecMatchLimit: kSecMatchLimitOne, }; final gets = SecItemCopyMatching(query.toCFDictionary(arena), nullptr); if (gets != errSecSuccess && gets != errSecItemNotFound) { @@ -115,6 +116,7 @@ final class SecureStoragePlatformDarwin extends SecureStoragePlatform { final query = { ..._baseQuery(arena), kSecAttrAccount: key.toCFString(arena), + kSecMatchLimit: kSecMatchLimitOne, }; try { _check( From 9dda3fcceb994bfa698eaf39570a48bdb3c8e32b Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Fri, 8 Mar 2024 15:30:59 -0800 Subject: [PATCH 22/33] Cedar cleanup --- packages/cedar_common/lib/src/policy/cedar_policy.dart | 3 +-- packages/cedar_common/pubspec.yaml | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/cedar_common/lib/src/policy/cedar_policy.dart b/packages/cedar_common/lib/src/policy/cedar_policy.dart index 43e03f6b..30af7390 100644 --- a/packages/cedar_common/lib/src/policy/cedar_policy.dart +++ b/packages/cedar_common/lib/src/policy/cedar_policy.dart @@ -7,7 +7,6 @@ import 'package:built_value/built_value.dart'; import 'package:built_value/json_object.dart'; import 'package:built_value/serializer.dart'; import 'package:cedar_common/cedar_common.dart'; -import 'package:cedar_common/src/serializers.dart'; part 'cedar_policy.g.dart'; @@ -84,7 +83,7 @@ abstract class CedarPolicy implements Built { required CedarPolicyPrincipal principal, required CedarPolicyAction action, required CedarPolicyResource resource, - required List conditions, + List conditions = const [], Map? annotations, }) { return _$CedarPolicy._( diff --git a/packages/cedar_common/pubspec.yaml b/packages/cedar_common/pubspec.yaml index e5174697..bc114229 100644 --- a/packages/cedar_common/pubspec.yaml +++ b/packages/cedar_common/pubspec.yaml @@ -9,7 +9,7 @@ dependencies: built_collection: ^5.1.1 built_value: ^8.9.1 collection: ^1.18.0 - meta: ^1.12.0 + meta: ^1.11.0 dev_dependencies: build_runner: ^2.4.8 From 5a7c4f91a2c3bb8658520827071277f761485dce Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Fri, 8 Mar 2024 18:01:21 -0800 Subject: [PATCH 23/33] Add user context --- packages/celest/lib/src/core/context.dart | 26 ++++++++++------- packages/celest/lib/src/runtime/serve.dart | 8 +++++- .../example/celest/functions/greeting.dart | 20 ++++++------- .../celest/lib/src/client/functions.dart | 10 +------ .../celest/lib/src/client/serializers.dart | 19 ------------- .../celest_auth/example/celest/resources.dart | 19 ------------- .../celest/test/functions/greeting_test.dart | 28 +++++++++++++++---- packages/celest_auth/example/lib/main.dart | 10 ++----- 8 files changed, 57 insertions(+), 83 deletions(-) diff --git a/packages/celest/lib/src/core/context.dart b/packages/celest/lib/src/core/context.dart index a0cfff41..c4bcaf13 100644 --- a/packages/celest/lib/src/core/context.dart +++ b/packages/celest/lib/src/core/context.dart @@ -2,8 +2,6 @@ import 'package:celest/celest.dart'; /// The context of a [CloudFunction] invocation. abstract final class Context { - const Context._(); - /// A context reference to the [User] invoking a [CloudFunction]. /// /// ## Example @@ -13,18 +11,26 @@ abstract final class Context { /// ```dart /// @authenticated /// Future sayHello({ - /// @Context.user() required User user, + /// @Context.user required User user, /// }) async { /// print('Hello, ${user.displayName}!'); /// } /// ``` - const factory Context.user() = _ContextKey.user; + /// + /// If a user is injected to a `@public` or private function, then the + /// user parameter must be nullable: + /// + /// ```dart + /// @public + /// Future sayHello({ + /// @Context.user User? user, + /// }) async { + /// print('Hello, ${user?.displayName ?? 'stranger'}!'); + /// } + /// ``` + static const user = _UserContext(); } -final class _ContextKey extends Context { - const _ContextKey._(this.key) : super._(); - - const _ContextKey.user() : this._('user'); - - final String key; +final class _UserContext implements Context { + const _UserContext(); } diff --git a/packages/celest/lib/src/runtime/serve.dart b/packages/celest/lib/src/runtime/serve.dart index 737bd89d..b13e24b4 100644 --- a/packages/celest/lib/src/runtime/serve.dart +++ b/packages/celest/lib/src/runtime/serve.dart @@ -59,8 +59,14 @@ abstract base class CloudFunctionTarget { Future _handler(Request request) async { final bodyJson = await request.decodeJson(); + const contextHeaderPrefix = 'X-Celest-Context-'; final response = await runZoned( - () => handle(bodyJson), + () => handle({ + for (final MapEntry(:key, :value) in request.headers.entries) + if (key.startsWith(contextHeaderPrefix)) + key.substring(contextHeaderPrefix.length): value, + ...bodyJson, + }), zoneSpecification: ZoneSpecification( print: (self, parent, zone, message) { parent.print(zone, '[$name] $message'); diff --git a/packages/celest_auth/example/celest/functions/greeting.dart b/packages/celest_auth/example/celest/functions/greeting.dart index 817360bc..e8343b5c 100644 --- a/packages/celest_auth/example/celest/functions/greeting.dart +++ b/packages/celest_auth/example/celest/functions/greeting.dart @@ -2,24 +2,20 @@ // folder of your Celest project. import 'package:celest/celest.dart'; -import 'package:celest_backend/exceptions/bad_name_exception.dart'; -import 'package:celest_backend/models/person.dart'; /// Says hello to the authenticated [user]. -// @authenticated @authenticated Future sayHello({ - required Person person, - // @Context.user() required User user, + @Context.user required User user, }) async { - if (person.name.isEmpty) { - // Throw a custom exception defined in the `lib/exceptions/` and catch - // it on the frontend. - throw BadNameException('Name cannot be empty'); + if (!user.emailVerified) { + throw UnauthorizedException('Email not verified'); } - // Logging is handled automatically when you print to the console. - print('Saying hello to ${person.name}'); + print('Saying hello to user: $user'); - return 'Hello, ${person.name}!'; + if (user.displayName case final name?) { + return 'Hello, $name!'; + } + return 'Hello!'; } diff --git a/packages/celest_auth/example/celest/lib/src/client/functions.dart b/packages/celest_auth/example/celest/lib/src/client/functions.dart index a5413ac2..48f1df90 100644 --- a/packages/celest_auth/example/celest/lib/src/client/functions.dart +++ b/packages/celest_auth/example/celest/lib/src/client/functions.dart @@ -7,9 +7,6 @@ library; // ignore_for_file: no_leading_underscores_for_library_prefixes import 'dart:convert' as _$convert; import 'package:celest/celest.dart'; -import 'package:celest_backend/exceptions/bad_name_exception.dart' - as _$bad_name_exception; -import 'package:celest_backend/models/person.dart' as _$person; import 'package:celest_core/src/exception/cloud_exception.dart'; import 'package:celest_core/src/exception/serialization_exception.dart'; @@ -38,9 +35,6 @@ class CelestFunctionsGreeting { case r'SerializationException': throw Serializers.instance .deserialize($details); - case r'BadNameException': - throw Serializers.instance - .deserialize<_$bad_name_exception.BadNameException>($details); case _: switch ($statusCode) { case 400: @@ -52,12 +46,10 @@ class CelestFunctionsGreeting { } /// Says hello to the authenticated [user]. - Future sayHello({required _$person.Person person}) async { + Future sayHello() async { final $response = await celest.httpClient.post( celest.baseUri.resolve('/greeting/say-hello'), headers: const {'Content-Type': 'application/json; charset=utf-8'}, - body: _$convert.jsonEncode( - {r'person': Serializers.instance.serialize<_$person.Person>(person)}), ); final $body = (_$convert.jsonDecode($response.body) as Map); diff --git a/packages/celest_auth/example/celest/lib/src/client/serializers.dart b/packages/celest_auth/example/celest/lib/src/client/serializers.dart index f75bf32e..fd4cdea5 100644 --- a/packages/celest_auth/example/celest/lib/src/client/serializers.dart +++ b/packages/celest_auth/example/celest/lib/src/client/serializers.dart @@ -1,29 +1,10 @@ // ignore_for_file: type=lint, unused_local_variable, unnecessary_cast, unnecessary_import -// ignore_for_file: no_leading_underscores_for_library_prefixes import 'package:celest/celest.dart'; -import 'package:celest_backend/exceptions/bad_name_exception.dart' - as _$bad_name_exception; -import 'package:celest_backend/models/person.dart' as _$person; import 'package:celest_core/src/exception/cloud_exception.dart'; import 'package:celest_core/src/exception/serialization_exception.dart'; void initSerializers() { - Serializers.instance.put(Serializer.define< - _$bad_name_exception.BadNameException, Map>( - serialize: ($value) => {r'message': $value.message}, - deserialize: ($serialized) { - return _$bad_name_exception.BadNameException( - ($serialized[r'message'] as String)); - }, - )); - Serializers.instance - .put(Serializer.define<_$person.Person, Map>( - serialize: ($value) => {r'name': $value.name}, - deserialize: ($serialized) { - return _$person.Person(name: ($serialized[r'name'] as String)); - }, - )); Serializers.instance .put(Serializer.define>( serialize: ($value) => {r'message': $value.message}, diff --git a/packages/celest_auth/example/celest/resources.dart b/packages/celest_auth/example/celest/resources.dart index 9e08d4c3..ffc4fd72 100644 --- a/packages/celest_auth/example/celest/resources.dart +++ b/packages/celest_auth/example/celest/resources.dart @@ -3,22 +3,3 @@ // ignore_for_file: type=lint, unused_local_variable, unnecessary_cast, unnecessary_import library; - -import 'package:celest/celest.dart'; - -@Deprecated('Use `Apis` instead.') -typedef apis = Apis; - -abstract final class Apis { - static const greeting = CloudApi(name: r'greeting'); -} - -@Deprecated('Use `Functions` instead.') -typedef functions = Functions; - -abstract final class Functions { - static const greetingSayHello = CloudFunction( - api: r'greeting', - functionName: r'sayHello', - ); -} diff --git a/packages/celest_auth/example/celest/test/functions/greeting_test.dart b/packages/celest_auth/example/celest/test/functions/greeting_test.dart index dc9ec6df..89af06e1 100644 --- a/packages/celest_auth/example/celest/test/functions/greeting_test.dart +++ b/packages/celest_auth/example/celest/test/functions/greeting_test.dart @@ -1,5 +1,4 @@ -import 'package:celest_backend/exceptions/bad_name_exception.dart'; -import 'package:celest_backend/models/person.dart'; +import 'package:celest/celest.dart'; import 'package:test/test.dart'; import '../../functions/greeting.dart'; @@ -7,12 +6,29 @@ import '../../functions/greeting.dart'; void main() { group('greeting', () { test('sayHello', () async { - expect(await sayHello(person: Person(name: 'Celest')), 'Hello, Celest!'); + expect( + await sayHello( + user: User( + userId: '123', + email: 'test@celest.dev', + emailVerified: true, + displayName: 'Celest', + ), + ), + 'Hello, Celest!', + ); }); - test('sayHello (empty name)', () async { + test('sayHello (email not verified)', () async { expect( - sayHello(person: Person(name: '')), - throwsA(isA()), + sayHello( + user: User( + userId: '123', + email: 'test@celest.dev', + emailVerified: false, + displayName: 'Celest', + ), + ), + throwsA(isA()), ); }); }); diff --git a/packages/celest_auth/example/lib/main.dart b/packages/celest_auth/example/lib/main.dart index eb0a6927..e536d496 100644 --- a/packages/celest_auth/example/lib/main.dart +++ b/packages/celest_auth/example/lib/main.dart @@ -1,5 +1,4 @@ import 'package:celest_backend/client.dart'; -import 'package:celest_backend/models/person.dart'; import 'package:flutter/material.dart'; void main() { @@ -53,12 +52,9 @@ class _MainAppState extends State { const SizedBox(height: 16), TextButton( onPressed: () { - _request = celest.functions.greeting.sayHello( - person: const Person(name: 'Dillon'), - ); - if (context.mounted) { - setState(() {}); - } + setState(() { + _request = celest.functions.greeting.sayHello(); + }); }, child: const Text('Make authenticated request'), ), From b1a3bcd8c434e7b4a270dd9a6e292a0a320097c7 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Fri, 8 Mar 2024 18:06:29 -0800 Subject: [PATCH 24/33] Fix init --- packages/celest_auth/lib/src/auth_impl.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/celest_auth/lib/src/auth_impl.dart b/packages/celest_auth/lib/src/auth_impl.dart index f0216501..690a8792 100644 --- a/packages/celest_auth/lib/src/auth_impl.dart +++ b/packages/celest_auth/lib/src/auth_impl.dart @@ -43,10 +43,11 @@ final class AuthImpl implements Auth { try { final user = await protocol.userInfo(); initialState = Authenticated(user); + _authStateController.add(initialState); } on UnauthorizedException { initialState = const Unauthenticated(); + signOut(); } - _authStateController.add(initialState); return initialState; }); } From b17a7ede58d15e50ff458b48caa8a07274c78a98 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Fri, 8 Mar 2024 18:27:20 -0800 Subject: [PATCH 25/33] Fix runtime --- packages/celest/lib/src/runtime/serve.dart | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/celest/lib/src/runtime/serve.dart b/packages/celest/lib/src/runtime/serve.dart index b13e24b4..8b84b29e 100644 --- a/packages/celest/lib/src/runtime/serve.dart +++ b/packages/celest/lib/src/runtime/serve.dart @@ -57,14 +57,20 @@ abstract base class CloudFunctionTarget { init(); } + static const _contextHeaderPrefix = 'X-Celest-Context-'; + static final _contextHeaderMatcher = RegExp( + _contextHeaderPrefix, + caseSensitive: false, + ); + Future _handler(Request request) async { final bodyJson = await request.decodeJson(); - const contextHeaderPrefix = 'X-Celest-Context-'; final response = await runZoned( () => handle({ for (final MapEntry(:key, :value) in request.headers.entries) - if (key.startsWith(contextHeaderPrefix)) - key.substring(contextHeaderPrefix.length): value, + if (key.startsWith(_contextHeaderMatcher)) + '\$${key.substring(_contextHeaderPrefix.length).toLowerCase()}': + value, ...bodyJson, }), zoneSpecification: ZoneSpecification( From 231651da05d041712a79f12258701f88918770f2 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Fri, 8 Mar 2024 21:23:15 -0800 Subject: [PATCH 26/33] Rename cedar_common to cedar_core --- packages/{cedar_common => cedar_core}/.gitignore | 0 packages/{cedar_common => cedar_core}/CHANGELOG.md | 0 packages/{cedar_common => cedar_core}/README.md | 2 +- packages/{cedar_common => cedar_core}/analysis_options.yaml | 0 .../cedar_common.dart => cedar_core/lib/cedar_core.dart} | 0 .../lib/src/ast/cedar_entity.dart | 6 +++--- .../lib/src/ast/cedar_entity.g.dart | 0 .../lib/src/ast/cedar_entity_id.dart | 2 +- .../lib/src/ast/cedar_entity_id.g.dart | 0 .../lib/src/ast/cedar_node.dart | 0 .../lib/src/ast/cedar_schema.dart | 6 +++--- .../lib/src/policy/cedar_policy.dart | 2 +- .../lib/src/policy/cedar_policy.g.dart | 0 .../lib/src/policy/cedar_policy_set.dart | 2 +- .../lib/src/policy/cedar_policy_set.g.dart | 0 .../lib/src/policy/json_expr.dart | 2 +- .../{cedar_common => cedar_core}/lib/src/serializers.dart | 2 +- .../{cedar_common => cedar_core}/lib/src/serializers.g.dart | 0 packages/{cedar_common => cedar_core}/lib/src/util.dart | 0 packages/{cedar_common => cedar_core}/pubspec.yaml | 4 ++-- packages/celest_auth/example/pubspec.yaml | 4 ++-- packages/celest_auth/pubspec.yaml | 2 +- packages/corks/lib/src/cork.dart | 2 +- packages/corks/lib/src/interop/proto_interop.dart | 2 +- packages/corks/lib/src/signer.dart | 1 + packages/corks/pubspec.yaml | 4 ++-- packages/corks/test/cedar_test_todo.dart | 2 +- packages/corks/test/cork_test.dart | 2 +- 28 files changed, 24 insertions(+), 23 deletions(-) rename packages/{cedar_common => cedar_core}/.gitignore (100%) rename packages/{cedar_common => cedar_core}/CHANGELOG.md (100%) rename packages/{cedar_common => cedar_core}/README.md (92%) rename packages/{cedar_common => cedar_core}/analysis_options.yaml (100%) rename packages/{cedar_common/lib/cedar_common.dart => cedar_core/lib/cedar_core.dart} (100%) rename packages/{cedar_common => cedar_core}/lib/src/ast/cedar_entity.dart (90%) rename packages/{cedar_common => cedar_core}/lib/src/ast/cedar_entity.g.dart (100%) rename packages/{cedar_common => cedar_core}/lib/src/ast/cedar_entity_id.dart (97%) rename packages/{cedar_common => cedar_core}/lib/src/ast/cedar_entity_id.g.dart (100%) rename packages/{cedar_common => cedar_core}/lib/src/ast/cedar_node.dart (100%) rename packages/{cedar_common => cedar_core}/lib/src/ast/cedar_schema.dart (98%) rename packages/{cedar_common => cedar_core}/lib/src/policy/cedar_policy.dart (99%) rename packages/{cedar_common => cedar_core}/lib/src/policy/cedar_policy.g.dart (100%) rename packages/{cedar_common => cedar_core}/lib/src/policy/cedar_policy_set.dart (95%) rename packages/{cedar_common => cedar_core}/lib/src/policy/cedar_policy_set.g.dart (100%) rename packages/{cedar_common => cedar_core}/lib/src/policy/json_expr.dart (99%) rename packages/{cedar_common => cedar_core}/lib/src/serializers.dart (89%) rename packages/{cedar_common => cedar_core}/lib/src/serializers.g.dart (100%) rename packages/{cedar_common => cedar_core}/lib/src/util.dart (100%) rename packages/{cedar_common => cedar_core}/pubspec.yaml (74%) diff --git a/packages/cedar_common/.gitignore b/packages/cedar_core/.gitignore similarity index 100% rename from packages/cedar_common/.gitignore rename to packages/cedar_core/.gitignore diff --git a/packages/cedar_common/CHANGELOG.md b/packages/cedar_core/CHANGELOG.md similarity index 100% rename from packages/cedar_common/CHANGELOG.md rename to packages/cedar_core/CHANGELOG.md diff --git a/packages/cedar_common/README.md b/packages/cedar_core/README.md similarity index 92% rename from packages/cedar_common/README.md rename to packages/cedar_core/README.md index 01adc99a..af1c5a57 100644 --- a/packages/cedar_common/README.md +++ b/packages/cedar_core/README.md @@ -1,4 +1,4 @@ -# cedar_common +# cedar_core Base types and utilities of the Cedar language in Dart. diff --git a/packages/cedar_common/analysis_options.yaml b/packages/cedar_core/analysis_options.yaml similarity index 100% rename from packages/cedar_common/analysis_options.yaml rename to packages/cedar_core/analysis_options.yaml diff --git a/packages/cedar_common/lib/cedar_common.dart b/packages/cedar_core/lib/cedar_core.dart similarity index 100% rename from packages/cedar_common/lib/cedar_common.dart rename to packages/cedar_core/lib/cedar_core.dart diff --git a/packages/cedar_common/lib/src/ast/cedar_entity.dart b/packages/cedar_core/lib/src/ast/cedar_entity.dart similarity index 90% rename from packages/cedar_common/lib/src/ast/cedar_entity.dart rename to packages/cedar_core/lib/src/ast/cedar_entity.dart index c060b948..f55c1d13 100644 --- a/packages/cedar_common/lib/src/ast/cedar_entity.dart +++ b/packages/cedar_core/lib/src/ast/cedar_entity.dart @@ -1,9 +1,9 @@ import 'package:built_collection/built_collection.dart'; import 'package:built_value/built_value.dart'; import 'package:built_value/serializer.dart'; -import 'package:cedar_common/src/ast/cedar_entity_id.dart'; -import 'package:cedar_common/src/ast/cedar_node.dart'; -import 'package:cedar_common/src/policy/json_expr.dart'; +import 'package:cedar_core/src/ast/cedar_entity_id.dart'; +import 'package:cedar_core/src/ast/cedar_node.dart'; +import 'package:cedar_core/src/policy/json_expr.dart'; part 'cedar_entity.g.dart'; diff --git a/packages/cedar_common/lib/src/ast/cedar_entity.g.dart b/packages/cedar_core/lib/src/ast/cedar_entity.g.dart similarity index 100% rename from packages/cedar_common/lib/src/ast/cedar_entity.g.dart rename to packages/cedar_core/lib/src/ast/cedar_entity.g.dart diff --git a/packages/cedar_common/lib/src/ast/cedar_entity_id.dart b/packages/cedar_core/lib/src/ast/cedar_entity_id.dart similarity index 97% rename from packages/cedar_common/lib/src/ast/cedar_entity_id.dart rename to packages/cedar_core/lib/src/ast/cedar_entity_id.dart index e53441f0..d3f00ddc 100644 --- a/packages/cedar_common/lib/src/ast/cedar_entity_id.dart +++ b/packages/cedar_core/lib/src/ast/cedar_entity_id.dart @@ -1,6 +1,6 @@ import 'package:built_value/built_value.dart'; import 'package:built_value/serializer.dart'; -import 'package:cedar_common/src/ast/cedar_node.dart'; +import 'package:cedar_core/src/ast/cedar_node.dart'; part 'cedar_entity_id.g.dart'; diff --git a/packages/cedar_common/lib/src/ast/cedar_entity_id.g.dart b/packages/cedar_core/lib/src/ast/cedar_entity_id.g.dart similarity index 100% rename from packages/cedar_common/lib/src/ast/cedar_entity_id.g.dart rename to packages/cedar_core/lib/src/ast/cedar_entity_id.g.dart diff --git a/packages/cedar_common/lib/src/ast/cedar_node.dart b/packages/cedar_core/lib/src/ast/cedar_node.dart similarity index 100% rename from packages/cedar_common/lib/src/ast/cedar_node.dart rename to packages/cedar_core/lib/src/ast/cedar_node.dart diff --git a/packages/cedar_common/lib/src/ast/cedar_schema.dart b/packages/cedar_core/lib/src/ast/cedar_schema.dart similarity index 98% rename from packages/cedar_common/lib/src/ast/cedar_schema.dart rename to packages/cedar_core/lib/src/ast/cedar_schema.dart index 3aae0845..2608dbde 100644 --- a/packages/cedar_common/lib/src/ast/cedar_schema.dart +++ b/packages/cedar_core/lib/src/ast/cedar_schema.dart @@ -1,6 +1,6 @@ -import 'package:cedar_common/src/ast/cedar_entity_id.dart'; -import 'package:cedar_common/src/ast/cedar_node.dart'; -import 'package:cedar_common/src/util.dart'; +import 'package:cedar_core/src/ast/cedar_entity_id.dart'; +import 'package:cedar_core/src/ast/cedar_node.dart'; +import 'package:cedar_core/src/util.dart'; final class CedarSchema implements CedarNode { CedarSchema({ diff --git a/packages/cedar_common/lib/src/policy/cedar_policy.dart b/packages/cedar_core/lib/src/policy/cedar_policy.dart similarity index 99% rename from packages/cedar_common/lib/src/policy/cedar_policy.dart rename to packages/cedar_core/lib/src/policy/cedar_policy.dart index 30af7390..0e0f8505 100644 --- a/packages/cedar_common/lib/src/policy/cedar_policy.dart +++ b/packages/cedar_core/lib/src/policy/cedar_policy.dart @@ -6,7 +6,7 @@ import 'package:built_collection/built_collection.dart'; import 'package:built_value/built_value.dart'; import 'package:built_value/json_object.dart'; import 'package:built_value/serializer.dart'; -import 'package:cedar_common/cedar_common.dart'; +import 'package:cedar_core/cedar_core.dart'; part 'cedar_policy.g.dart'; diff --git a/packages/cedar_common/lib/src/policy/cedar_policy.g.dart b/packages/cedar_core/lib/src/policy/cedar_policy.g.dart similarity index 100% rename from packages/cedar_common/lib/src/policy/cedar_policy.g.dart rename to packages/cedar_core/lib/src/policy/cedar_policy.g.dart diff --git a/packages/cedar_common/lib/src/policy/cedar_policy_set.dart b/packages/cedar_core/lib/src/policy/cedar_policy_set.dart similarity index 95% rename from packages/cedar_common/lib/src/policy/cedar_policy_set.dart rename to packages/cedar_core/lib/src/policy/cedar_policy_set.dart index 3190770f..2e0fbd54 100644 --- a/packages/cedar_common/lib/src/policy/cedar_policy_set.dart +++ b/packages/cedar_core/lib/src/policy/cedar_policy_set.dart @@ -1,7 +1,7 @@ import 'package:built_collection/built_collection.dart'; import 'package:built_value/built_value.dart'; import 'package:built_value/serializer.dart'; -import 'package:cedar_common/cedar_common.dart'; +import 'package:cedar_core/cedar_core.dart'; part 'cedar_policy_set.g.dart'; diff --git a/packages/cedar_common/lib/src/policy/cedar_policy_set.g.dart b/packages/cedar_core/lib/src/policy/cedar_policy_set.g.dart similarity index 100% rename from packages/cedar_common/lib/src/policy/cedar_policy_set.g.dart rename to packages/cedar_core/lib/src/policy/cedar_policy_set.g.dart diff --git a/packages/cedar_common/lib/src/policy/json_expr.dart b/packages/cedar_core/lib/src/policy/json_expr.dart similarity index 99% rename from packages/cedar_common/lib/src/policy/json_expr.dart rename to packages/cedar_core/lib/src/policy/json_expr.dart index 2a43cb09..56a948cf 100644 --- a/packages/cedar_common/lib/src/policy/json_expr.dart +++ b/packages/cedar_core/lib/src/policy/json_expr.dart @@ -1,6 +1,6 @@ import 'dart:convert'; -import 'package:cedar_common/src/ast/cedar_entity_id.dart'; +import 'package:cedar_core/src/ast/cedar_entity_id.dart'; import 'package:collection/collection.dart'; import 'package:meta/meta.dart'; diff --git a/packages/cedar_common/lib/src/serializers.dart b/packages/cedar_core/lib/src/serializers.dart similarity index 89% rename from packages/cedar_common/lib/src/serializers.dart rename to packages/cedar_core/lib/src/serializers.dart index 6acd5eef..84d4b1e5 100644 --- a/packages/cedar_common/lib/src/serializers.dart +++ b/packages/cedar_core/lib/src/serializers.dart @@ -1,6 +1,6 @@ import 'package:built_collection/built_collection.dart'; import 'package:built_value/serializer.dart'; -import 'package:cedar_common/cedar_common.dart'; +import 'package:cedar_core/cedar_core.dart'; part 'serializers.g.dart'; diff --git a/packages/cedar_common/lib/src/serializers.g.dart b/packages/cedar_core/lib/src/serializers.g.dart similarity index 100% rename from packages/cedar_common/lib/src/serializers.g.dart rename to packages/cedar_core/lib/src/serializers.g.dart diff --git a/packages/cedar_common/lib/src/util.dart b/packages/cedar_core/lib/src/util.dart similarity index 100% rename from packages/cedar_common/lib/src/util.dart rename to packages/cedar_core/lib/src/util.dart diff --git a/packages/cedar_common/pubspec.yaml b/packages/cedar_core/pubspec.yaml similarity index 74% rename from packages/cedar_common/pubspec.yaml rename to packages/cedar_core/pubspec.yaml index bc114229..3ab9a247 100644 --- a/packages/cedar_common/pubspec.yaml +++ b/packages/cedar_core/pubspec.yaml @@ -1,5 +1,5 @@ -name: cedar_common -description: Base types and utilities of the Cedar language in Dart. +name: cedar_core +description: Base types and utilities of the Cedar policy language. version: 0.1.0 environment: diff --git a/packages/celest_auth/example/pubspec.yaml b/packages/celest_auth/example/pubspec.yaml index 2b752a67..946fe7b8 100644 --- a/packages/celest_auth/example/pubspec.yaml +++ b/packages/celest_auth/example/pubspec.yaml @@ -14,8 +14,8 @@ dependencies: flutter_state_notifier: ^1.0.0 dependency_overrides: - cedar_common: - path: ../../cedar_common + cedar_core: + path: ../../cedar_core celest: path: ../../celest celest_auth: diff --git a/packages/celest_auth/pubspec.yaml b/packages/celest_auth/pubspec.yaml index 572a8f97..4dc44b45 100644 --- a/packages/celest_auth/pubspec.yaml +++ b/packages/celest_auth/pubspec.yaml @@ -17,7 +17,7 @@ dependencies: async: ^2.11.0 built_collection: ^5.1.1 built_value: ^8.9.1 - cedar_common: ^0.1.0 + cedar_core: ^0.1.0 celest_core: ^0.2.0 chunked_stream: ^1.4.2 corks: ^0.1.0 diff --git a/packages/corks/lib/src/cork.dart b/packages/corks/lib/src/cork.dart index e5a15479..96df444c 100644 --- a/packages/corks/lib/src/cork.dart +++ b/packages/corks/lib/src/cork.dart @@ -4,7 +4,7 @@ import 'dart:convert'; import 'dart:math'; import 'dart:typed_data'; -import 'package:cedar_common/cedar_common.dart' as cedar; +import 'package:cedar_core/cedar_core.dart' as cedar; import 'package:corks/src/interop/proto_interop.dart'; import 'package:corks/src/interop/to_proto.dart'; import 'package:corks/src/proto/cedar/v3/policy.pb.dart' as proto; diff --git a/packages/corks/lib/src/interop/proto_interop.dart b/packages/corks/lib/src/interop/proto_interop.dart index 4eaa2474..3276d454 100644 --- a/packages/corks/lib/src/interop/proto_interop.dart +++ b/packages/corks/lib/src/interop/proto_interop.dart @@ -3,7 +3,7 @@ library; import 'dart:typed_data'; -import 'package:cedar_common/cedar_common.dart' as cedar; +import 'package:cedar_core/cedar_core.dart' as cedar; import 'package:corks/src/proto/cedar/v3/entity.pb.dart'; import 'package:corks/src/proto/cedar/v3/entity_id.pb.dart'; import 'package:corks/src/proto/cedar/v3/expr.pb.dart'; diff --git a/packages/corks/lib/src/signer.dart b/packages/corks/lib/src/signer.dart index 92cccb64..bcd065a8 100644 --- a/packages/corks/lib/src/signer.dart +++ b/packages/corks/lib/src/signer.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'dart:typed_data'; +import 'package:corks/corks_proto.dart' as proto; import 'package:crypto/crypto.dart'; import 'package:meta/meta.dart'; diff --git a/packages/corks/pubspec.yaml b/packages/corks/pubspec.yaml index 58de4309..657f9417 100644 --- a/packages/corks/pubspec.yaml +++ b/packages/corks/pubspec.yaml @@ -7,8 +7,8 @@ environment: sdk: ^3.3.0 dependencies: - cedar_common: - path: ../cedar_common + cedar_core: + path: ../cedar_core crypto: ^3.0.3 fixnum: ^1.1.0 meta: ^1.10.0 diff --git a/packages/corks/test/cedar_test_todo.dart b/packages/corks/test/cedar_test_todo.dart index 958bccd0..34c19a2b 100644 --- a/packages/corks/test/cedar_test_todo.dart +++ b/packages/corks/test/cedar_test_todo.dart @@ -1,6 +1,6 @@ // TODO(dnys1): Get this working with a dependency on cedar_dart. -// import 'package:cedar_common/cedar_common.dart' as cedar; +// import 'package:cedar_core/cedar_core.dart' as cedar; // import 'package:cedar_dart/testing/cedar_test_corpus.dart'; // import 'package:corks/src/interop/proto_interop.dart'; // import 'package:test/test.dart'; diff --git a/packages/corks/test/cork_test.dart b/packages/corks/test/cork_test.dart index 15471fa2..dd4a3e2d 100644 --- a/packages/corks/test/cork_test.dart +++ b/packages/corks/test/cork_test.dart @@ -2,7 +2,7 @@ import 'dart:convert'; import 'dart:math'; import 'dart:typed_data'; -import 'package:cedar_common/cedar_common.dart'; +import 'package:cedar_core/cedar_core.dart'; import 'package:corks/corks.dart'; import 'package:test/test.dart'; From a843a895b61789e0a87cb9e3e5ebc431c1017bd4 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Fri, 8 Mar 2024 21:23:26 -0800 Subject: [PATCH 27/33] Improve security of corks --- packages/corks/lib/src/cork.dart | 138 ++++++-------- .../corks/lib/src/proto/corks/v1/cork.pb.dart | 179 +++++------------- .../lib/src/proto/corks/v1/cork.pbjson.dart | 53 ++---- packages/corks/lib/src/signer.dart | 91 +++++---- packages/corks/proto/corks/v1/cork.proto | 23 +-- 5 files changed, 181 insertions(+), 303 deletions(-) diff --git a/packages/corks/lib/src/cork.dart b/packages/corks/lib/src/cork.dart index 96df444c..8aaf96d7 100644 --- a/packages/corks/lib/src/cork.dart +++ b/packages/corks/lib/src/cork.dart @@ -5,10 +5,9 @@ import 'dart:math'; import 'dart:typed_data'; import 'package:cedar_core/cedar_core.dart' as cedar; +import 'package:corks/corks_proto.dart' as proto; import 'package:corks/src/interop/proto_interop.dart'; -import 'package:corks/src/interop/to_proto.dart'; -import 'package:corks/src/proto/cedar/v3/policy.pb.dart' as proto; -import 'package:corks/src/proto/corks/v1/cork.pb.dart' as proto; +import 'package:corks/src/proto/google/protobuf/any.pb.dart' as proto; import 'package:corks/src/signer.dart'; import 'package:crypto/crypto.dart'; import 'package:meta/meta.dart'; @@ -70,14 +69,16 @@ final class Cork { if (Digest(signer.keyId) != Digest(keyId)) { return false; } - - await signer.sign(SignableBytes(id)); - - if (bearer case final bearer?) { - await signer.sign(bearer.block); + await signer.sign(id); + if (bearer != null) { + if (!await bearer.verify(signer)) { + return false; + } } for (final caveat in _caveats) { - await signer.sign(caveat.block); + if (!await caveat.verify(signer)) { + return false; + } } return Digest(await signer.close()) == Digest(signature); } @@ -112,19 +113,23 @@ final class CorkBuilder { final Bearer? _bearer; final List _caveats = []; - void addPolicyCaveat(cedar.CedarPolicy policy) => - _caveats.add(_PolicyCaveat(policy: policy.toProto())); + void addPolicyCaveat(cedar.CedarPolicy policy) { + if (policy.effect != cedar.CedarPolicyEffect.forbid) { + throw ArgumentError('Policy must have effect "forbid"'); + } + _caveats.add(Caveat.policy(policy: policy)); + } Future build(Signer signer) async { - await signer.sign(SignableBytes(_id)); + await signer.sign(_id); SignedBearer? signedBearer; if (_bearer case final bearer?) { - signedBearer = await signer.sign(bearer); + signedBearer = SignedBearer(await bearer.sign(signer)); } final signedCaveats = []; for (final caveat in _caveats) { - signedCaveats.add(await signer.sign(caveat)); + signedCaveats.add(SignedCaveat(await caveat.sign(signer))); } return Cork._( id: _id, @@ -137,7 +142,7 @@ final class CorkBuilder { } @immutable -sealed class Bearer implements Signable { +sealed class Bearer with Signable { const Bearer(); factory Bearer.entity({ @@ -159,87 +164,64 @@ final class EntityBearer extends Bearer { final cedar.CedarEntity entity; @override - Uint8List encode() => entity.toProto().writeToBuffer(); - - @override - SignedBearer signed(Uint8List signature) => SignedBearer( - block: this, - signature: signature, - ); + proto.Entity toProto() => entity.toProto(); } -final class SignedBearer implements Signed, ToProto { - const SignedBearer({ - required this.block, - required this.signature, - }); - - factory SignedBearer.fromProto(proto.Bearer proto) => SignedBearer( - block: EntityBearer(entity: proto.entity.fromProto()), - signature: Uint8List.fromList(proto.signature), - ); - - @override - final Bearer block; +extension type SignedBearer(SignedBlock _block) implements SignedBlock { + SignedBearer.fromProto(proto.SignedBlock proto) + : _block = SignedBlock.fromProto(proto); - @override - final Uint8List signature; - - @override - proto.Bearer toProto() { - final message = proto.Bearer(signature: signature); - return switch (block) { - EntityBearer(:final entity) => message..entity = entity.toProto(), - }; + Bearer get bearer { + final any = proto.Any( + typeUrl: typeUrl, + value: block, + ); + final entity = proto.Entity(); + if (!any.canUnpackInto(entity)) { + throw ArgumentError('Invalid bearer type: $typeUrl'); + } + any.unpackInto(entity); + return Bearer.entity( + entity: entity.fromProto(), + ); } } @immutable -sealed class Caveat implements Signable { +sealed class Caveat with Signable { const Caveat(); + + factory Caveat.policy({ + required cedar.CedarPolicy policy, + }) => + PolicyCaveat(policy: policy); } -final class _PolicyCaveat extends Caveat { - const _PolicyCaveat({ +final class PolicyCaveat extends Caveat { + const PolicyCaveat({ required this.policy, }); - final proto.Policy policy; + final cedar.CedarPolicy policy; @override - SignedCaveat signed(Uint8List signature) => SignedCaveat( - block: this, - signature: signature, - ); - - @override - Uint8List encode() => policy.writeToBuffer(); + proto.Policy toProto() => policy.toProto(); } -final class SignedCaveat implements Signed, ToProto { - const SignedCaveat({ - required this.block, - required this.signature, - }); +extension type SignedCaveat(SignedBlock _block) implements SignedBlock { + SignedCaveat.fromProto(proto.SignedBlock proto) + : _block = SignedBlock.fromProto(proto); - factory SignedCaveat.fromProto(proto.Caveat proto) => SignedCaveat( - block: _PolicyCaveat(policy: proto.policy), - signature: Uint8List.fromList(proto.signature), - ); - - @override - final Caveat block; - - @override - final Uint8List signature; - - @override - proto.Caveat toProto() { - final message = proto.Caveat( - signature: signature, + Caveat get caveat { + final any = proto.Any( + typeUrl: typeUrl, + value: block, ); - return switch (block) { - _PolicyCaveat(:final policy) => message..policy = policy, - }; + final policy = proto.Policy(); + if (!any.canUnpackInto(policy)) { + throw ArgumentError('Invalid caveat type: $typeUrl'); + } + any.unpackInto(policy); + return PolicyCaveat(policy: policy.fromProto()); } } diff --git a/packages/corks/lib/src/proto/corks/v1/cork.pb.dart b/packages/corks/lib/src/proto/corks/v1/cork.pb.dart index d9923cd9..b4c15a56 100644 --- a/packages/corks/lib/src/proto/corks/v1/cork.pb.dart +++ b/packages/corks/lib/src/proto/corks/v1/cork.pb.dart @@ -13,15 +13,12 @@ import 'dart:core' as $core; import 'package:protobuf/protobuf.dart' as $pb; -import '../../cedar/v3/entity.pb.dart' as $4; -import '../../cedar/v3/policy.pb.dart' as $5; - class Cork extends $pb.GeneratedMessage { factory Cork({ $core.List<$core.int>? id, $core.List<$core.int>? keyId, - Bearer? bearer, - $core.Iterable? caveats, + SignedBlock? bearer, + $core.Iterable? caveats, $core.List<$core.int>? signature, }) { final $result = create(); @@ -49,8 +46,8 @@ class Cork extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Cork', package: const $pb.PackageName(_omitMessageNames ? '' : 'corks.v1'), createEmptyInstance: create) ..a<$core.List<$core.int>>(1, _omitFieldNames ? '' : 'id', $pb.PbFieldType.OY) ..a<$core.List<$core.int>>(2, _omitFieldNames ? '' : 'keyId', $pb.PbFieldType.OY) - ..aOM(3, _omitFieldNames ? '' : 'bearer', subBuilder: Bearer.create) - ..pc(4, _omitFieldNames ? '' : 'caveats', $pb.PbFieldType.PM, subBuilder: Caveat.create) + ..aOM(3, _omitFieldNames ? '' : 'bearer', subBuilder: SignedBlock.create) + ..pc(4, _omitFieldNames ? '' : 'caveats', $pb.PbFieldType.PM, subBuilder: SignedBlock.create) ..a<$core.List<$core.int>>(5, _omitFieldNames ? '' : 'signature', $pb.PbFieldType.OY) ..hasRequiredFields = false ; @@ -95,18 +92,18 @@ class Cork extends $pb.GeneratedMessage { void clearKeyId() => clearField(2); @$pb.TagNumber(3) - Bearer get bearer => $_getN(2); + SignedBlock get bearer => $_getN(2); @$pb.TagNumber(3) - set bearer(Bearer v) { setField(3, v); } + set bearer(SignedBlock v) { setField(3, v); } @$pb.TagNumber(3) $core.bool hasBearer() => $_has(2); @$pb.TagNumber(3) void clearBearer() => clearField(3); @$pb.TagNumber(3) - Bearer ensureBearer() => $_ensure(2); + SignedBlock ensureBearer() => $_ensure(2); @$pb.TagNumber(4) - $core.List get caveats => $_getList(3); + $core.List get caveats => $_getList(3); @$pb.TagNumber(5) $core.List<$core.int> get signature => $_getN(4); @@ -118,116 +115,32 @@ class Cork extends $pb.GeneratedMessage { void clearSignature() => clearField(5); } -enum Bearer_Bearer { - entity, - notSet -} - -class Bearer extends $pb.GeneratedMessage { - factory Bearer({ +class SignedBlock extends $pb.GeneratedMessage { + factory SignedBlock({ + $core.List<$core.int>? block, + $core.List<$core.int>? typeUrl, $core.List<$core.int>? signature, - $4.Entity? entity, }) { final $result = create(); - if (signature != null) { - $result.signature = signature; + if (block != null) { + $result.block = block; } - if (entity != null) { - $result.entity = entity; + if (typeUrl != null) { + $result.typeUrl = typeUrl; } - return $result; - } - Bearer._() : super(); - factory Bearer.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory Bearer.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); - - static const $core.Map<$core.int, Bearer_Bearer> _Bearer_BearerByTag = { - 2 : Bearer_Bearer.entity, - 0 : Bearer_Bearer.notSet - }; - static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Bearer', package: const $pb.PackageName(_omitMessageNames ? '' : 'corks.v1'), createEmptyInstance: create) - ..oo(0, [2]) - ..a<$core.List<$core.int>>(1, _omitFieldNames ? '' : 'signature', $pb.PbFieldType.OY) - ..aOM<$4.Entity>(2, _omitFieldNames ? '' : 'entity', subBuilder: $4.Entity.create) - ..hasRequiredFields = false - ; - - @$core.Deprecated( - 'Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' - 'Will be removed in next major version') - Bearer clone() => Bearer()..mergeFromMessage(this); - @$core.Deprecated( - 'Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - Bearer copyWith(void Function(Bearer) updates) => super.copyWith((message) => updates(message as Bearer)) as Bearer; - - $pb.BuilderInfo get info_ => _i; - - @$core.pragma('dart2js:noInline') - static Bearer create() => Bearer._(); - Bearer createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); - @$core.pragma('dart2js:noInline') - static Bearer getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); - static Bearer? _defaultInstance; - - Bearer_Bearer whichBearer() => _Bearer_BearerByTag[$_whichOneof(0)]!; - void clearBearer() => clearField($_whichOneof(0)); - - @$pb.TagNumber(1) - $core.List<$core.int> get signature => $_getN(0); - @$pb.TagNumber(1) - set signature($core.List<$core.int> v) { $_setBytes(0, v); } - @$pb.TagNumber(1) - $core.bool hasSignature() => $_has(0); - @$pb.TagNumber(1) - void clearSignature() => clearField(1); - - @$pb.TagNumber(2) - $4.Entity get entity => $_getN(1); - @$pb.TagNumber(2) - set entity($4.Entity v) { setField(2, v); } - @$pb.TagNumber(2) - $core.bool hasEntity() => $_has(1); - @$pb.TagNumber(2) - void clearEntity() => clearField(2); - @$pb.TagNumber(2) - $4.Entity ensureEntity() => $_ensure(1); -} - -enum Caveat_Block { - policy, - notSet -} - -class Caveat extends $pb.GeneratedMessage { - factory Caveat({ - $core.List<$core.int>? signature, - $5.Policy? policy, - }) { - final $result = create(); if (signature != null) { $result.signature = signature; } - if (policy != null) { - $result.policy = policy; - } return $result; } - Caveat._() : super(); - factory Caveat.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory Caveat.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); - - static const $core.Map<$core.int, Caveat_Block> _Caveat_BlockByTag = { - 2 : Caveat_Block.policy, - 0 : Caveat_Block.notSet - }; - static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Caveat', package: const $pb.PackageName(_omitMessageNames ? '' : 'corks.v1'), createEmptyInstance: create) - ..oo(0, [2]) - ..a<$core.List<$core.int>>(1, _omitFieldNames ? '' : 'signature', $pb.PbFieldType.OY) - ..aOM<$5.Policy>(2, _omitFieldNames ? '' : 'policy', subBuilder: $5.Policy.create) + SignedBlock._() : super(); + factory SignedBlock.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SignedBlock.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SignedBlock', package: const $pb.PackageName(_omitMessageNames ? '' : 'corks.v1'), createEmptyInstance: create) + ..a<$core.List<$core.int>>(1, _omitFieldNames ? '' : 'block', $pb.PbFieldType.OY) + ..a<$core.List<$core.int>>(2, _omitFieldNames ? '' : 'typeUrl', $pb.PbFieldType.OY) + ..a<$core.List<$core.int>>(3, _omitFieldNames ? '' : 'signature', $pb.PbFieldType.OY) ..hasRequiredFields = false ; @@ -235,45 +148,49 @@ class Caveat extends $pb.GeneratedMessage { 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version') - Caveat clone() => Caveat()..mergeFromMessage(this); + SignedBlock clone() => SignedBlock()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version') - Caveat copyWith(void Function(Caveat) updates) => super.copyWith((message) => updates(message as Caveat)) as Caveat; + SignedBlock copyWith(void Function(SignedBlock) updates) => super.copyWith((message) => updates(message as SignedBlock)) as SignedBlock; $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') - static Caveat create() => Caveat._(); - Caveat createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static SignedBlock create() => SignedBlock._(); + SignedBlock createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static Caveat getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); - static Caveat? _defaultInstance; - - Caveat_Block whichBlock() => _Caveat_BlockByTag[$_whichOneof(0)]!; - void clearBlock() => clearField($_whichOneof(0)); + static SignedBlock getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SignedBlock? _defaultInstance; @$pb.TagNumber(1) - $core.List<$core.int> get signature => $_getN(0); + $core.List<$core.int> get block => $_getN(0); @$pb.TagNumber(1) - set signature($core.List<$core.int> v) { $_setBytes(0, v); } + set block($core.List<$core.int> v) { $_setBytes(0, v); } @$pb.TagNumber(1) - $core.bool hasSignature() => $_has(0); + $core.bool hasBlock() => $_has(0); @$pb.TagNumber(1) - void clearSignature() => clearField(1); + void clearBlock() => clearField(1); @$pb.TagNumber(2) - $5.Policy get policy => $_getN(1); + $core.List<$core.int> get typeUrl => $_getN(1); @$pb.TagNumber(2) - set policy($5.Policy v) { setField(2, v); } + set typeUrl($core.List<$core.int> v) { $_setBytes(1, v); } @$pb.TagNumber(2) - $core.bool hasPolicy() => $_has(1); + $core.bool hasTypeUrl() => $_has(1); @$pb.TagNumber(2) - void clearPolicy() => clearField(2); - @$pb.TagNumber(2) - $5.Policy ensurePolicy() => $_ensure(1); + void clearTypeUrl() => clearField(2); + + @$pb.TagNumber(3) + $core.List<$core.int> get signature => $_getN(2); + @$pb.TagNumber(3) + set signature($core.List<$core.int> v) { $_setBytes(2, v); } + @$pb.TagNumber(3) + $core.bool hasSignature() => $_has(2); + @$pb.TagNumber(3) + void clearSignature() => clearField(3); } diff --git a/packages/corks/lib/src/proto/corks/v1/cork.pbjson.dart b/packages/corks/lib/src/proto/corks/v1/cork.pbjson.dart index d679e58f..edcbef9e 100644 --- a/packages/corks/lib/src/proto/corks/v1/cork.pbjson.dart +++ b/packages/corks/lib/src/proto/corks/v1/cork.pbjson.dart @@ -19,8 +19,8 @@ const Cork$json = { '2': [ {'1': 'id', '3': 1, '4': 1, '5': 12, '10': 'id'}, {'1': 'key_id', '3': 2, '4': 1, '5': 12, '10': 'keyId'}, - {'1': 'bearer', '3': 3, '4': 1, '5': 11, '6': '.corks.v1.Bearer', '9': 0, '10': 'bearer', '17': true}, - {'1': 'caveats', '3': 4, '4': 3, '5': 11, '6': '.corks.v1.Caveat', '10': 'caveats'}, + {'1': 'bearer', '3': 3, '4': 1, '5': 11, '6': '.corks.v1.SignedBlock', '9': 0, '10': 'bearer', '17': true}, + {'1': 'caveats', '3': 4, '4': 3, '5': 11, '6': '.corks.v1.SignedBlock', '10': 'caveats'}, {'1': 'signature', '3': 5, '4': 1, '5': 12, '10': 'signature'}, ], '8': [ @@ -30,42 +30,23 @@ const Cork$json = { /// Descriptor for `Cork`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List corkDescriptor = $convert.base64Decode( - 'CgRDb3JrEg4KAmlkGAEgASgMUgJpZBIVCgZrZXlfaWQYAiABKAxSBWtleUlkEi0KBmJlYXJlch' - 'gDIAEoCzIQLmNvcmtzLnYxLkJlYXJlckgAUgZiZWFyZXKIAQESKgoHY2F2ZWF0cxgEIAMoCzIQ' - 'LmNvcmtzLnYxLkNhdmVhdFIHY2F2ZWF0cxIcCglzaWduYXR1cmUYBSABKAxSCXNpZ25hdHVyZU' - 'IJCgdfYmVhcmVy'); - -@$core.Deprecated('Use bearerDescriptor instead') -const Bearer$json = { - '1': 'Bearer', - '2': [ - {'1': 'signature', '3': 1, '4': 1, '5': 12, '10': 'signature'}, - {'1': 'entity', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Entity', '9': 0, '10': 'entity'}, - ], - '8': [ - {'1': 'bearer'}, - ], -}; - -/// Descriptor for `Bearer`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List bearerDescriptor = $convert.base64Decode( - 'CgZCZWFyZXISHAoJc2lnbmF0dXJlGAEgASgMUglzaWduYXR1cmUSKgoGZW50aXR5GAIgASgLMh' - 'AuY2VkYXIudjMuRW50aXR5SABSBmVudGl0eUIICgZiZWFyZXI='); - -@$core.Deprecated('Use caveatDescriptor instead') -const Caveat$json = { - '1': 'Caveat', + 'CgRDb3JrEg4KAmlkGAEgASgMUgJpZBIVCgZrZXlfaWQYAiABKAxSBWtleUlkEjIKBmJlYXJlch' + 'gDIAEoCzIVLmNvcmtzLnYxLlNpZ25lZEJsb2NrSABSBmJlYXJlcogBARIvCgdjYXZlYXRzGAQg' + 'AygLMhUuY29ya3MudjEuU2lnbmVkQmxvY2tSB2NhdmVhdHMSHAoJc2lnbmF0dXJlGAUgASgMUg' + 'lzaWduYXR1cmVCCQoHX2JlYXJlcg=='); + +@$core.Deprecated('Use signedBlockDescriptor instead') +const SignedBlock$json = { + '1': 'SignedBlock', '2': [ - {'1': 'signature', '3': 1, '4': 1, '5': 12, '10': 'signature'}, - {'1': 'policy', '3': 2, '4': 1, '5': 11, '6': '.cedar.v3.Policy', '9': 0, '10': 'policy'}, - ], - '8': [ - {'1': 'block'}, + {'1': 'block', '3': 1, '4': 1, '5': 12, '10': 'block'}, + {'1': 'type_url', '3': 2, '4': 1, '5': 12, '10': 'typeUrl'}, + {'1': 'signature', '3': 3, '4': 1, '5': 12, '10': 'signature'}, ], }; -/// Descriptor for `Caveat`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List caveatDescriptor = $convert.base64Decode( - 'CgZDYXZlYXQSHAoJc2lnbmF0dXJlGAEgASgMUglzaWduYXR1cmUSKgoGcG9saWN5GAIgASgLMh' - 'AuY2VkYXIudjMuUG9saWN5SABSBnBvbGljeUIHCgVibG9jaw=='); +/// Descriptor for `SignedBlock`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List signedBlockDescriptor = $convert.base64Decode( + 'CgtTaWduZWRCbG9jaxIUCgVibG9jaxgBIAEoDFIFYmxvY2sSGQoIdHlwZV91cmwYAiABKAxSB3' + 'R5cGVVcmwSHAoJc2lnbmF0dXJlGAMgASgMUglzaWduYXR1cmU='); diff --git a/packages/corks/lib/src/signer.dart b/packages/corks/lib/src/signer.dart index bcd065a8..961bceb3 100644 --- a/packages/corks/lib/src/signer.dart +++ b/packages/corks/lib/src/signer.dart @@ -1,47 +1,57 @@ import 'dart:async'; +import 'dart:convert'; import 'dart:typed_data'; import 'package:corks/corks_proto.dart' as proto; +import 'package:corks/src/interop/to_proto.dart'; import 'package:crypto/crypto.dart'; import 'package:meta/meta.dart'; -abstract interface class Signable { - S signed(Uint8List signature); - Uint8List encode(); -} - -final class SignableBytes implements Signable { - const SignableBytes(this.bytes); - - final Uint8List bytes; - - @override - Uint8List encode() => bytes; - - @override - SignedBytes signed(Uint8List signature) => SignedBytes( - block: this, - signature: signature, - ); +mixin Signable implements ToProto { + Future sign(Signer signer) async { + final proto = toProto(); + final typeUrl = utf8.encode(proto.info_.qualifiedMessageName); + await signer.sign(typeUrl); + final bytes = proto.writeToBuffer(); + final signature = await signer.sign(bytes); + return SignedBlock( + block: bytes, + typeUrl: proto.info_.qualifiedMessageName, + signature: signature, + ); + } } @immutable -abstract interface class Signed { - Signable get block; - Uint8List get signature; -} - -final class SignedBytes implements Signed { - const SignedBytes({ +final class SignedBlock implements ToProto { + const SignedBlock({ required this.block, + required this.typeUrl, required this.signature, }); - @override - final SignableBytes block; + factory SignedBlock.fromProto(proto.SignedBlock proto) => SignedBlock( + block: Uint8List.fromList(proto.block), + typeUrl: utf8.decode(proto.typeUrl), + signature: Uint8List.fromList(proto.signature), + ); - @override + Future verify(Signer signer) async { + await signer.sign(utf8.encode(typeUrl)); + final signature = await signer.sign(block); + return Digest(signature) == Digest(signature); + } + + final Uint8List block; + final String typeUrl; final Uint8List signature; + + @override + proto.SignedBlock toProto() => proto.SignedBlock( + block: block, + typeUrl: utf8.encode(typeUrl), + signature: signature, + ); } abstract interface class Signer { @@ -49,36 +59,35 @@ abstract interface class Signer { const Signer._(); Uint8List get keyId; - Future sign(Signable block); + Future sign(Uint8List bytes); Future close(); } final class _Signer extends Signer { _Signer(this.keyId, Uint8List key) - : _hmac = Hmac(sha256, key), + : hmac = Hmac(sha256, key), super._(); @override final Uint8List keyId; - Hmac _hmac; - late Uint8List _signature; - var _closed = false; + Hmac hmac; + late Uint8List signature; + var closed = false; @override - Future sign(Signable block) async { - if (_closed) { + Future sign(Uint8List bytes) async { + if (closed) { throw StateError('Signer is closed'); } - final bytes = block.encode(); - _signature = await Future(() => _hmac.convert(bytes).bytes as Uint8List); - _hmac = Hmac(sha256, _signature); - return block.signed(_signature); + signature = await Future(() => hmac.convert(bytes).bytes as Uint8List); + hmac = Hmac(sha256, signature); + return signature; } @override Future close() async { - _closed = true; - return _signature; + closed = true; + return signature; } } diff --git a/packages/corks/proto/corks/v1/cork.proto b/packages/corks/proto/corks/v1/cork.proto index 179c0725..8d8d1c48 100644 --- a/packages/corks/proto/corks/v1/cork.proto +++ b/packages/corks/proto/corks/v1/cork.proto @@ -2,27 +2,16 @@ syntax = "proto3"; package corks.v1; -import "cedar/v3/entity.proto"; -import "cedar/v3/policy.proto"; - message Cork { bytes id = 1; bytes key_id = 2; - optional Bearer bearer = 3; - repeated Caveat caveats = 4; + optional SignedBlock bearer = 3; + repeated SignedBlock caveats = 4; bytes signature = 5; } -message Bearer { - bytes signature = 1; - oneof bearer { - cedar.v3.Entity entity = 2; - } -} - -message Caveat { - bytes signature = 1; - oneof block { - cedar.v3.Policy policy = 2; - } +message SignedBlock { + bytes block = 1; + bytes type_url = 2; + bytes signature = 3; } From 6b03d741ccb476ef69cb19b27cd2f9b079df0113 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Fri, 8 Mar 2024 21:42:56 -0800 Subject: [PATCH 28/33] Rename cedar_core to cedar --- packages/{cedar_core => cedar}/.gitignore | 0 packages/{cedar_core => cedar}/CHANGELOG.md | 0 packages/cedar/README.md | 5 +++++ packages/{cedar_core => cedar}/analysis_options.yaml | 0 .../lib/cedar_core.dart => cedar/lib/cedar.dart} | 4 ++-- .../{cedar_core => cedar}/lib/src/ast/cedar_entity.dart | 6 +++--- .../{cedar_core => cedar}/lib/src/ast/cedar_entity.g.dart | 0 .../{cedar_core => cedar}/lib/src/ast/cedar_entity_id.dart | 2 +- .../lib/src/ast/cedar_entity_id.g.dart | 0 packages/{cedar_core => cedar}/lib/src/ast/cedar_node.dart | 0 .../{cedar_core => cedar}/lib/src/ast/cedar_schema.dart | 6 +++--- .../{cedar_core => cedar}/lib/src/policy/cedar_policy.dart | 2 +- .../lib/src/policy/cedar_policy.g.dart | 0 .../lib/src/policy/cedar_policy_set.dart | 2 +- .../lib/src/policy/cedar_policy_set.g.dart | 0 .../{cedar_core => cedar}/lib/src/policy/json_expr.dart | 2 +- packages/{cedar_core => cedar}/lib/src/serializers.dart | 2 +- packages/{cedar_core => cedar}/lib/src/serializers.g.dart | 0 packages/{cedar_core => cedar}/lib/src/util.dart | 0 packages/{cedar_core => cedar}/pubspec.yaml | 2 +- packages/cedar_core/README.md | 5 ----- packages/celest_auth/example/pubspec.yaml | 4 ++-- packages/celest_auth/pubspec.yaml | 2 +- packages/corks/lib/src/cork.dart | 2 +- packages/corks/lib/src/interop/proto_interop.dart | 2 +- packages/corks/pubspec.yaml | 4 ++-- packages/corks/test/cedar_test_todo.dart | 6 +++--- packages/corks/test/cork_test.dart | 2 +- 28 files changed, 30 insertions(+), 30 deletions(-) rename packages/{cedar_core => cedar}/.gitignore (100%) rename packages/{cedar_core => cedar}/CHANGELOG.md (100%) create mode 100644 packages/cedar/README.md rename packages/{cedar_core => cedar}/analysis_options.yaml (100%) rename packages/{cedar_core/lib/cedar_core.dart => cedar/lib/cedar.dart} (72%) rename packages/{cedar_core => cedar}/lib/src/ast/cedar_entity.dart (90%) rename packages/{cedar_core => cedar}/lib/src/ast/cedar_entity.g.dart (100%) rename packages/{cedar_core => cedar}/lib/src/ast/cedar_entity_id.dart (97%) rename packages/{cedar_core => cedar}/lib/src/ast/cedar_entity_id.g.dart (100%) rename packages/{cedar_core => cedar}/lib/src/ast/cedar_node.dart (100%) rename packages/{cedar_core => cedar}/lib/src/ast/cedar_schema.dart (98%) rename packages/{cedar_core => cedar}/lib/src/policy/cedar_policy.dart (99%) rename packages/{cedar_core => cedar}/lib/src/policy/cedar_policy.g.dart (100%) rename packages/{cedar_core => cedar}/lib/src/policy/cedar_policy_set.dart (96%) rename packages/{cedar_core => cedar}/lib/src/policy/cedar_policy_set.g.dart (100%) rename packages/{cedar_core => cedar}/lib/src/policy/json_expr.dart (99%) rename packages/{cedar_core => cedar}/lib/src/serializers.dart (90%) rename packages/{cedar_core => cedar}/lib/src/serializers.g.dart (100%) rename packages/{cedar_core => cedar}/lib/src/util.dart (100%) rename packages/{cedar_core => cedar}/pubspec.yaml (94%) delete mode 100644 packages/cedar_core/README.md diff --git a/packages/cedar_core/.gitignore b/packages/cedar/.gitignore similarity index 100% rename from packages/cedar_core/.gitignore rename to packages/cedar/.gitignore diff --git a/packages/cedar_core/CHANGELOG.md b/packages/cedar/CHANGELOG.md similarity index 100% rename from packages/cedar_core/CHANGELOG.md rename to packages/cedar/CHANGELOG.md diff --git a/packages/cedar/README.md b/packages/cedar/README.md new file mode 100644 index 00000000..73d4f385 --- /dev/null +++ b/packages/cedar/README.md @@ -0,0 +1,5 @@ +# cedar + +Base types and utilities of the Cedar language in Dart. + +This is separate from `package:cedar` so that the types can be used without bundling the native assets of `package:cedar`. diff --git a/packages/cedar_core/analysis_options.yaml b/packages/cedar/analysis_options.yaml similarity index 100% rename from packages/cedar_core/analysis_options.yaml rename to packages/cedar/analysis_options.yaml diff --git a/packages/cedar_core/lib/cedar_core.dart b/packages/cedar/lib/cedar.dart similarity index 72% rename from packages/cedar_core/lib/cedar_core.dart rename to packages/cedar/lib/cedar.dart index d03d05d8..85028b63 100644 --- a/packages/cedar_core/lib/cedar_core.dart +++ b/packages/cedar/lib/cedar.dart @@ -1,7 +1,7 @@ /// Base types and utilities of the Cedar language in Dart. /// -/// This is separate from `package:cedar_dart` so that the types can be used -/// without bundling the native assets of `package:cedar_dart`. +/// This is separate from `package:cedar_ffi` so that the types can be used +/// without bundling the native assets of `package:cedar_ffi`. library; export 'src/ast/cedar_entity.dart'; diff --git a/packages/cedar_core/lib/src/ast/cedar_entity.dart b/packages/cedar/lib/src/ast/cedar_entity.dart similarity index 90% rename from packages/cedar_core/lib/src/ast/cedar_entity.dart rename to packages/cedar/lib/src/ast/cedar_entity.dart index f55c1d13..9e905e38 100644 --- a/packages/cedar_core/lib/src/ast/cedar_entity.dart +++ b/packages/cedar/lib/src/ast/cedar_entity.dart @@ -1,9 +1,9 @@ import 'package:built_collection/built_collection.dart'; import 'package:built_value/built_value.dart'; import 'package:built_value/serializer.dart'; -import 'package:cedar_core/src/ast/cedar_entity_id.dart'; -import 'package:cedar_core/src/ast/cedar_node.dart'; -import 'package:cedar_core/src/policy/json_expr.dart'; +import 'package:cedar/src/ast/cedar_entity_id.dart'; +import 'package:cedar/src/ast/cedar_node.dart'; +import 'package:cedar/src/policy/json_expr.dart'; part 'cedar_entity.g.dart'; diff --git a/packages/cedar_core/lib/src/ast/cedar_entity.g.dart b/packages/cedar/lib/src/ast/cedar_entity.g.dart similarity index 100% rename from packages/cedar_core/lib/src/ast/cedar_entity.g.dart rename to packages/cedar/lib/src/ast/cedar_entity.g.dart diff --git a/packages/cedar_core/lib/src/ast/cedar_entity_id.dart b/packages/cedar/lib/src/ast/cedar_entity_id.dart similarity index 97% rename from packages/cedar_core/lib/src/ast/cedar_entity_id.dart rename to packages/cedar/lib/src/ast/cedar_entity_id.dart index d3f00ddc..59dfb278 100644 --- a/packages/cedar_core/lib/src/ast/cedar_entity_id.dart +++ b/packages/cedar/lib/src/ast/cedar_entity_id.dart @@ -1,6 +1,6 @@ import 'package:built_value/built_value.dart'; import 'package:built_value/serializer.dart'; -import 'package:cedar_core/src/ast/cedar_node.dart'; +import 'package:cedar/src/ast/cedar_node.dart'; part 'cedar_entity_id.g.dart'; diff --git a/packages/cedar_core/lib/src/ast/cedar_entity_id.g.dart b/packages/cedar/lib/src/ast/cedar_entity_id.g.dart similarity index 100% rename from packages/cedar_core/lib/src/ast/cedar_entity_id.g.dart rename to packages/cedar/lib/src/ast/cedar_entity_id.g.dart diff --git a/packages/cedar_core/lib/src/ast/cedar_node.dart b/packages/cedar/lib/src/ast/cedar_node.dart similarity index 100% rename from packages/cedar_core/lib/src/ast/cedar_node.dart rename to packages/cedar/lib/src/ast/cedar_node.dart diff --git a/packages/cedar_core/lib/src/ast/cedar_schema.dart b/packages/cedar/lib/src/ast/cedar_schema.dart similarity index 98% rename from packages/cedar_core/lib/src/ast/cedar_schema.dart rename to packages/cedar/lib/src/ast/cedar_schema.dart index 2608dbde..03a1f374 100644 --- a/packages/cedar_core/lib/src/ast/cedar_schema.dart +++ b/packages/cedar/lib/src/ast/cedar_schema.dart @@ -1,6 +1,6 @@ -import 'package:cedar_core/src/ast/cedar_entity_id.dart'; -import 'package:cedar_core/src/ast/cedar_node.dart'; -import 'package:cedar_core/src/util.dart'; +import 'package:cedar/src/ast/cedar_entity_id.dart'; +import 'package:cedar/src/ast/cedar_node.dart'; +import 'package:cedar/src/util.dart'; final class CedarSchema implements CedarNode { CedarSchema({ diff --git a/packages/cedar_core/lib/src/policy/cedar_policy.dart b/packages/cedar/lib/src/policy/cedar_policy.dart similarity index 99% rename from packages/cedar_core/lib/src/policy/cedar_policy.dart rename to packages/cedar/lib/src/policy/cedar_policy.dart index 0e0f8505..5088927e 100644 --- a/packages/cedar_core/lib/src/policy/cedar_policy.dart +++ b/packages/cedar/lib/src/policy/cedar_policy.dart @@ -6,7 +6,7 @@ import 'package:built_collection/built_collection.dart'; import 'package:built_value/built_value.dart'; import 'package:built_value/json_object.dart'; import 'package:built_value/serializer.dart'; -import 'package:cedar_core/cedar_core.dart'; +import 'package:cedar/cedar.dart'; part 'cedar_policy.g.dart'; diff --git a/packages/cedar_core/lib/src/policy/cedar_policy.g.dart b/packages/cedar/lib/src/policy/cedar_policy.g.dart similarity index 100% rename from packages/cedar_core/lib/src/policy/cedar_policy.g.dart rename to packages/cedar/lib/src/policy/cedar_policy.g.dart diff --git a/packages/cedar_core/lib/src/policy/cedar_policy_set.dart b/packages/cedar/lib/src/policy/cedar_policy_set.dart similarity index 96% rename from packages/cedar_core/lib/src/policy/cedar_policy_set.dart rename to packages/cedar/lib/src/policy/cedar_policy_set.dart index 2e0fbd54..1cdb6c06 100644 --- a/packages/cedar_core/lib/src/policy/cedar_policy_set.dart +++ b/packages/cedar/lib/src/policy/cedar_policy_set.dart @@ -1,7 +1,7 @@ import 'package:built_collection/built_collection.dart'; import 'package:built_value/built_value.dart'; import 'package:built_value/serializer.dart'; -import 'package:cedar_core/cedar_core.dart'; +import 'package:cedar/cedar.dart'; part 'cedar_policy_set.g.dart'; diff --git a/packages/cedar_core/lib/src/policy/cedar_policy_set.g.dart b/packages/cedar/lib/src/policy/cedar_policy_set.g.dart similarity index 100% rename from packages/cedar_core/lib/src/policy/cedar_policy_set.g.dart rename to packages/cedar/lib/src/policy/cedar_policy_set.g.dart diff --git a/packages/cedar_core/lib/src/policy/json_expr.dart b/packages/cedar/lib/src/policy/json_expr.dart similarity index 99% rename from packages/cedar_core/lib/src/policy/json_expr.dart rename to packages/cedar/lib/src/policy/json_expr.dart index 56a948cf..71831527 100644 --- a/packages/cedar_core/lib/src/policy/json_expr.dart +++ b/packages/cedar/lib/src/policy/json_expr.dart @@ -1,6 +1,6 @@ import 'dart:convert'; -import 'package:cedar_core/src/ast/cedar_entity_id.dart'; +import 'package:cedar/src/ast/cedar_entity_id.dart'; import 'package:collection/collection.dart'; import 'package:meta/meta.dart'; diff --git a/packages/cedar_core/lib/src/serializers.dart b/packages/cedar/lib/src/serializers.dart similarity index 90% rename from packages/cedar_core/lib/src/serializers.dart rename to packages/cedar/lib/src/serializers.dart index 84d4b1e5..a2afb173 100644 --- a/packages/cedar_core/lib/src/serializers.dart +++ b/packages/cedar/lib/src/serializers.dart @@ -1,6 +1,6 @@ import 'package:built_collection/built_collection.dart'; import 'package:built_value/serializer.dart'; -import 'package:cedar_core/cedar_core.dart'; +import 'package:cedar/cedar.dart'; part 'serializers.g.dart'; diff --git a/packages/cedar_core/lib/src/serializers.g.dart b/packages/cedar/lib/src/serializers.g.dart similarity index 100% rename from packages/cedar_core/lib/src/serializers.g.dart rename to packages/cedar/lib/src/serializers.g.dart diff --git a/packages/cedar_core/lib/src/util.dart b/packages/cedar/lib/src/util.dart similarity index 100% rename from packages/cedar_core/lib/src/util.dart rename to packages/cedar/lib/src/util.dart diff --git a/packages/cedar_core/pubspec.yaml b/packages/cedar/pubspec.yaml similarity index 94% rename from packages/cedar_core/pubspec.yaml rename to packages/cedar/pubspec.yaml index 3ab9a247..c3a3f720 100644 --- a/packages/cedar_core/pubspec.yaml +++ b/packages/cedar/pubspec.yaml @@ -1,4 +1,4 @@ -name: cedar_core +name: cedar description: Base types and utilities of the Cedar policy language. version: 0.1.0 diff --git a/packages/cedar_core/README.md b/packages/cedar_core/README.md deleted file mode 100644 index af1c5a57..00000000 --- a/packages/cedar_core/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# cedar_core - -Base types and utilities of the Cedar language in Dart. - -This is separate from `package:cedar_dart` so that the types can be used without bundling the native assets of `package:cedar_dart`. diff --git a/packages/celest_auth/example/pubspec.yaml b/packages/celest_auth/example/pubspec.yaml index 946fe7b8..737a9577 100644 --- a/packages/celest_auth/example/pubspec.yaml +++ b/packages/celest_auth/example/pubspec.yaml @@ -14,8 +14,8 @@ dependencies: flutter_state_notifier: ^1.0.0 dependency_overrides: - cedar_core: - path: ../../cedar_core + cedar: + path: ../../cedar celest: path: ../../celest celest_auth: diff --git a/packages/celest_auth/pubspec.yaml b/packages/celest_auth/pubspec.yaml index 4dc44b45..52cc6fc5 100644 --- a/packages/celest_auth/pubspec.yaml +++ b/packages/celest_auth/pubspec.yaml @@ -17,7 +17,7 @@ dependencies: async: ^2.11.0 built_collection: ^5.1.1 built_value: ^8.9.1 - cedar_core: ^0.1.0 + cedar: ^0.1.0 celest_core: ^0.2.0 chunked_stream: ^1.4.2 corks: ^0.1.0 diff --git a/packages/corks/lib/src/cork.dart b/packages/corks/lib/src/cork.dart index 8aaf96d7..5386e448 100644 --- a/packages/corks/lib/src/cork.dart +++ b/packages/corks/lib/src/cork.dart @@ -4,7 +4,7 @@ import 'dart:convert'; import 'dart:math'; import 'dart:typed_data'; -import 'package:cedar_core/cedar_core.dart' as cedar; +import 'package:cedar/cedar.dart' as cedar; import 'package:corks/corks_proto.dart' as proto; import 'package:corks/src/interop/proto_interop.dart'; import 'package:corks/src/proto/google/protobuf/any.pb.dart' as proto; diff --git a/packages/corks/lib/src/interop/proto_interop.dart b/packages/corks/lib/src/interop/proto_interop.dart index 3276d454..4913e609 100644 --- a/packages/corks/lib/src/interop/proto_interop.dart +++ b/packages/corks/lib/src/interop/proto_interop.dart @@ -3,7 +3,7 @@ library; import 'dart:typed_data'; -import 'package:cedar_core/cedar_core.dart' as cedar; +import 'package:cedar/cedar.dart' as cedar; import 'package:corks/src/proto/cedar/v3/entity.pb.dart'; import 'package:corks/src/proto/cedar/v3/entity_id.pb.dart'; import 'package:corks/src/proto/cedar/v3/expr.pb.dart'; diff --git a/packages/corks/pubspec.yaml b/packages/corks/pubspec.yaml index 657f9417..2d9d5162 100644 --- a/packages/corks/pubspec.yaml +++ b/packages/corks/pubspec.yaml @@ -7,8 +7,8 @@ environment: sdk: ^3.3.0 dependencies: - cedar_core: - path: ../cedar_core + cedar: + path: ../cedar crypto: ^3.0.3 fixnum: ^1.1.0 meta: ^1.10.0 diff --git a/packages/corks/test/cedar_test_todo.dart b/packages/corks/test/cedar_test_todo.dart index 34c19a2b..73720212 100644 --- a/packages/corks/test/cedar_test_todo.dart +++ b/packages/corks/test/cedar_test_todo.dart @@ -1,7 +1,7 @@ -// TODO(dnys1): Get this working with a dependency on cedar_dart. +// TODO(dnys1): Get this working with a dependency on cedar. -// import 'package:cedar_core/cedar_core.dart' as cedar; -// import 'package:cedar_dart/testing/cedar_test_corpus.dart'; +// import 'package:cedar/cedar.dart' as cedar; +// import 'package:cedar/testing/cedar_test_corpus.dart'; // import 'package:corks/src/interop/proto_interop.dart'; // import 'package:test/test.dart'; diff --git a/packages/corks/test/cork_test.dart b/packages/corks/test/cork_test.dart index dd4a3e2d..0d289274 100644 --- a/packages/corks/test/cork_test.dart +++ b/packages/corks/test/cork_test.dart @@ -2,7 +2,7 @@ import 'dart:convert'; import 'dart:math'; import 'dart:typed_data'; -import 'package:cedar_core/cedar_core.dart'; +import 'package:cedar/cedar.dart'; import 'package:corks/corks.dart'; import 'package:test/test.dart'; From 7bbe42d714acb543c698ad40ee37a7388e233299 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Fri, 8 Mar 2024 22:11:56 -0800 Subject: [PATCH 29/33] Add authorizer interface to cedar --- packages/cedar/lib/cedar.dart | 3 ++ .../cedar_authorization_request.dart | 26 ++++++++++++++++ .../cedar_authorization_response.dart | 30 +++++++++++++++++++ .../src/authorization/cedar_authorizer.dart | 8 +++++ 4 files changed, 67 insertions(+) create mode 100644 packages/cedar/lib/src/authorization/cedar_authorization_request.dart create mode 100644 packages/cedar/lib/src/authorization/cedar_authorization_response.dart create mode 100644 packages/cedar/lib/src/authorization/cedar_authorizer.dart diff --git a/packages/cedar/lib/cedar.dart b/packages/cedar/lib/cedar.dart index 85028b63..17393dbc 100644 --- a/packages/cedar/lib/cedar.dart +++ b/packages/cedar/lib/cedar.dart @@ -8,6 +8,9 @@ export 'src/ast/cedar_entity.dart'; export 'src/ast/cedar_entity_id.dart'; export 'src/ast/cedar_node.dart'; export 'src/ast/cedar_schema.dart'; +export 'src/authorization/cedar_authorization_request.dart'; +export 'src/authorization/cedar_authorization_response.dart'; +export 'src/authorization/cedar_authorizer.dart'; export 'src/policy/cedar_policy.dart'; export 'src/policy/cedar_policy_set.dart'; export 'src/policy/json_expr.dart'; diff --git a/packages/cedar/lib/src/authorization/cedar_authorization_request.dart b/packages/cedar/lib/src/authorization/cedar_authorization_request.dart new file mode 100644 index 00000000..6629aafd --- /dev/null +++ b/packages/cedar/lib/src/authorization/cedar_authorization_request.dart @@ -0,0 +1,26 @@ +import 'package:cedar/cedar.dart'; + +/// {@template cedar.cedar_authorization_request} +/// A request for authorization to a [CedarEngine]. +/// {@endtemplate} +final class CedarAuthorizationRequest { + /// {@macro cedar.cedar_authorization_request} + const CedarAuthorizationRequest({ + this.principal, + this.action, + this.resource, + this.context, + }); + + /// The principal component of the request. + final CedarEntityId? principal; + + /// The action component of the request. + final CedarEntityId? action; + + /// The resource component of the request. + final CedarEntityId? resource; + + /// The context of the request. + final Map? context; +} diff --git a/packages/cedar/lib/src/authorization/cedar_authorization_response.dart b/packages/cedar/lib/src/authorization/cedar_authorization_response.dart new file mode 100644 index 00000000..6dffe37f --- /dev/null +++ b/packages/cedar/lib/src/authorization/cedar_authorization_response.dart @@ -0,0 +1,30 @@ +import 'package:cedar/cedar.dart'; + +/// The decision of an authorization request. +enum CedarAuthorizationDecision { allow, deny } + +/// {@template cedar.cedar_authorization_response} +/// The response to a [CedarAuthorizer] request. +/// {@endtemplate} +final class CedarAuthorizationResponse { + /// {@macro cedar.cedar_authorization_response} + const CedarAuthorizationResponse({ + required this.decision, + List? reasons, + List? errors, + }) : reasons = reasons ?? const [], + errors = errors ?? const []; + + /// The decision of the authorization request. + final CedarAuthorizationDecision decision; + + /// The policy IDs of the policies that contributed to the decision. + /// + /// If no policies applied to the request, this will be empty. + final List reasons; + + /// The policy IDs which caused evaluation errors during the request. + /// + /// If no errors occurred, this will be empty. + final List errors; +} diff --git a/packages/cedar/lib/src/authorization/cedar_authorizer.dart b/packages/cedar/lib/src/authorization/cedar_authorizer.dart new file mode 100644 index 00000000..8eb75f55 --- /dev/null +++ b/packages/cedar/lib/src/authorization/cedar_authorizer.dart @@ -0,0 +1,8 @@ +import 'package:cedar/cedar.dart'; + +abstract interface class CedarAuthorizer { + /// Responds to an authorization [request]. + CedarAuthorizationResponse isAuthorized( + CedarAuthorizationRequest request, + ); +} From 0963cca661bc78e73caa6bdadca00d70018bb7c6 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Fri, 8 Mar 2024 22:16:12 -0800 Subject: [PATCH 30/33] add back annotation --- .../src/authorization/cedar_authorization_response.dart | 9 ++++++++- packages/cedar/pubspec.yaml | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/cedar/lib/src/authorization/cedar_authorization_response.dart b/packages/cedar/lib/src/authorization/cedar_authorization_response.dart index 6dffe37f..d91d3a85 100644 --- a/packages/cedar/lib/src/authorization/cedar_authorization_response.dart +++ b/packages/cedar/lib/src/authorization/cedar_authorization_response.dart @@ -1,7 +1,14 @@ import 'package:cedar/cedar.dart'; +import 'package:json_annotation/json_annotation.dart'; /// The decision of an authorization request. -enum CedarAuthorizationDecision { allow, deny } +enum CedarAuthorizationDecision { + @JsonValue('Allow') + allow, + + @JsonValue('Deny') + deny, +} /// {@template cedar.cedar_authorization_response} /// The response to a [CedarAuthorizer] request. diff --git a/packages/cedar/pubspec.yaml b/packages/cedar/pubspec.yaml index c3a3f720..4bebfe8d 100644 --- a/packages/cedar/pubspec.yaml +++ b/packages/cedar/pubspec.yaml @@ -9,6 +9,7 @@ dependencies: built_collection: ^5.1.1 built_value: ^8.9.1 collection: ^1.18.0 + json_annotation: ^4.8.1 meta: ^1.11.0 dev_dependencies: From e53bca46bdb40694169bd013df543cbdb079aa9d Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Sat, 9 Mar 2024 08:06:59 -0800 Subject: [PATCH 31/33] clean up --- packages/cedar/lib/cedar.dart | 2 +- .../lib/src/authorization/cedar_authorization_request.dart | 2 +- .../lib/src/authorization/cedar_authorization_response.dart | 6 +++--- packages/cedar/pubspec.yaml | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/cedar/lib/cedar.dart b/packages/cedar/lib/cedar.dart index 17393dbc..9ce90586 100644 --- a/packages/cedar/lib/cedar.dart +++ b/packages/cedar/lib/cedar.dart @@ -1,4 +1,4 @@ -/// Base types and utilities of the Cedar language in Dart. +/// Core types and interfaces of the Cedar policy language in Dart. /// /// This is separate from `package:cedar_ffi` so that the types can be used /// without bundling the native assets of `package:cedar_ffi`. diff --git a/packages/cedar/lib/src/authorization/cedar_authorization_request.dart b/packages/cedar/lib/src/authorization/cedar_authorization_request.dart index 6629aafd..5c2655cb 100644 --- a/packages/cedar/lib/src/authorization/cedar_authorization_request.dart +++ b/packages/cedar/lib/src/authorization/cedar_authorization_request.dart @@ -22,5 +22,5 @@ final class CedarAuthorizationRequest { final CedarEntityId? resource; /// The context of the request. - final Map? context; + final Map? context; } diff --git a/packages/cedar/lib/src/authorization/cedar_authorization_response.dart b/packages/cedar/lib/src/authorization/cedar_authorization_response.dart index d91d3a85..86c3f702 100644 --- a/packages/cedar/lib/src/authorization/cedar_authorization_response.dart +++ b/packages/cedar/lib/src/authorization/cedar_authorization_response.dart @@ -20,7 +20,7 @@ final class CedarAuthorizationResponse { List? reasons, List? errors, }) : reasons = reasons ?? const [], - errors = errors ?? const []; + errorMessages = errors ?? const []; /// The decision of the authorization request. final CedarAuthorizationDecision decision; @@ -30,8 +30,8 @@ final class CedarAuthorizationResponse { /// If no policies applied to the request, this will be empty. final List reasons; - /// The policy IDs which caused evaluation errors during the request. + /// Any evaluation errors which occurred during the request. /// /// If no errors occurred, this will be empty. - final List errors; + final List errorMessages; } diff --git a/packages/cedar/pubspec.yaml b/packages/cedar/pubspec.yaml index 4bebfe8d..4d3d0fa0 100644 --- a/packages/cedar/pubspec.yaml +++ b/packages/cedar/pubspec.yaml @@ -1,5 +1,5 @@ name: cedar -description: Base types and utilities of the Cedar policy language. +description: Core types and interfaces of the Cedar policy language in Dart. version: 0.1.0 environment: From 0a1a7704e93b8ea6e9879c20ae6deb6b41bb3a64 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Sat, 9 Mar 2024 08:11:39 -0800 Subject: [PATCH 32/33] workaround nullability issue --- packages/corks/lib/src/cork.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/corks/lib/src/cork.dart b/packages/corks/lib/src/cork.dart index 5386e448..a87bdd69 100644 --- a/packages/corks/lib/src/cork.dart +++ b/packages/corks/lib/src/cork.dart @@ -71,7 +71,8 @@ final class Cork { } await signer.sign(id); if (bearer != null) { - if (!await bearer.verify(signer)) { + // TODO(dnys1): https://github.com/dart-lang/sdk/issues/54664 + if (!await bearer!.verify(signer)) { return false; } } From 3ef8df60ddfa3a39981ea77ed46545e5c6e37b51 Mon Sep 17 00:00:00 2001 From: Dillon Nys Date: Sat, 9 Mar 2024 08:40:52 -0800 Subject: [PATCH 33/33] fix type url --- packages/corks/lib/src/signer.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/corks/lib/src/signer.dart b/packages/corks/lib/src/signer.dart index 961bceb3..94d1c52b 100644 --- a/packages/corks/lib/src/signer.dart +++ b/packages/corks/lib/src/signer.dart @@ -10,13 +10,13 @@ import 'package:meta/meta.dart'; mixin Signable implements ToProto { Future sign(Signer signer) async { final proto = toProto(); - final typeUrl = utf8.encode(proto.info_.qualifiedMessageName); - await signer.sign(typeUrl); + final typeUrl = 'dev.celest/${proto.info_.qualifiedMessageName}'; + await signer.sign(utf8.encode(typeUrl)); final bytes = proto.writeToBuffer(); final signature = await signer.sign(bytes); return SignedBlock( block: bytes, - typeUrl: proto.info_.qualifiedMessageName, + typeUrl: typeUrl, signature: signature, ); }